Skip to main content

Pengenalan Algoritma, Mulai Pengertian Algoritma? Dan bagaimana Algoritma dalam Kehidupan Sehari-hari?

1.1. Pendahuluan 

Komputer adalah alat bantu untuk menyelesaikan masalah. Namun, masalah yang ingin diselesaikan tidak dapat langsung “disodorkan” begitu saja ke komputer. Sebagai contoh, andaikan anda mempunyai data nilai ujian sekumpulan mahasiswa. Anda ingin mengurutkan semua data tersebut dari nilai tertinggi hingga nilai terendah. Misalkan anda ketikkan semua nilai ujian dengan menggunakan sebuah program pengolah kata, lalu dibawahnya dituliskan perintah kepada komputer untuk mengurutkan seperti berikut:

30, 27, 36, 91, 64, 76, 74, 32

Urutkan mulai dari nilai terbesar hingga nilai terkecil.

Apakah komputer Anda mengerjakan masalah pengurutan tersebut? Tentu saja tidak, karena komputer tidak “mengerti” perintah anda di atas dan tidak “tahu” bagaimana cara mengurutkan sekumpulan nilai tersebut.

Agar komputer dapat menyelesaikan masalah tersebut, maka Anda perlu merumuskan langkah-langkah penyelesaian tersebut dalam suatu rangkaian instruksi. Komputerlah yang akan mengerjakan rangkaian instruksi tersebut, karena komputer dapat mengerjakannya dengan cepat, akurat, bahkan berulang-ulang tanpa kenal lelah dan bosan. Sekumpulan instruksi yang merupakan penyelesaian masalah itu dinamakan program. Program “dimasukkan” ke dalam komputer, komputer mengerjakan instruksi di dalam program tersebut, lalu memberikan hasil atau keluaran yang diinginkan.

Misalkan program yang berisi rangkaian instruksi untuk mengurutkan sekumpulan data tersebut anda rumuskan kembali sebagai berikut:

                Langkah 1       : Cari nilai terbesar diantara N buah data

Langkah 2 : Tempatkan nilai terbesar tersebut pada posisi yang tepat (dengan cara mempertukarkan)

                Langkah 3       : Ulangi langkah 1 untuk N – 1 buah data yang lain.

Instruksi di atas masih belum bisa dijalankan oleh komputer karena bahasanya tidak dimengerti oleh komputer. Agar program dapat dilaksanakan oleh komputer, maka program tersebut harus ditulis dalam suatu bahasa yang dimengerti oleh komputer. Sebagaimana dalam kehidupan manusia, kita hanya dapat memberikan perintah kepada orang lain dalam bahasa yang dimengerti olehnya. Karena komputer adalah mesin, maka program harus ditulis dalam bahasa yang khusus dibuat untuk “berkomunikasi” dengan komputer. Bahasa komputer yang digunakan dalam menulis program dinamakan bahasa pemrograman.


Kumpulan Trik-Trik Menarik Komputer


Saat ini, dengan berkembangnya teknik pemrograman terstruktur, orang tidak lagi memecahkan masalah dengan langsung menulis programnya dalam bahasa pemrograman. Orang mulai memikirkan suatu cara penyelesaian masalah yang akan diprogram dengan menekankan pada desain atau rancangan yang mewakili pemecahan masalah tersebut. Desain ini independen dari bahasa pemrograman yang digunakan dari komputer yang menjalankan program. Desain menyajikan cara berpikir si pemrogram dalam menyelesaikan masalah. Desain berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif. Urutan langkah-langkah yang sistematis untuk menyelesaikan sebuah masalah dinamakan algoritma. 

Notasi yang digunakan untuk menuliskan algoritma disebut notasi algoritma. Notasi algoritma bukan notasi bahasa pemrograman, karena itu program dalam notasi algoritma tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, program dalam notasi algoritma harus ditranslasikan (diterjemahkan) ke dalam notasi bahasa pemrograman yang dipilih.

1.2. Algoritma

Ditinjau dari asal usul kata, kata algoritma sendiri mempunyai sejarah yang tidak lazim. Kata ini tidak muncul di dalam kamus webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab. Anda dikatakan algorist jika anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini namu hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad Ibnu Musa alKhuwarizmi (al-Khuwarizmi dibaca orang Barat menjadi algorism). Al-Khuwarizmi menulis buku yang berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The Book of Restoration and Reduction). Perubahan kata dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

Pada tahun 1950, kata algoritma sering dihubungkan dengan ‘Algoritma Euclidean’ (Euclid’s algorithm), yaitu proses untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua buah bilangan bulat, m dan n. Misalnya m=80 dan n=12. Faktor pembagi 80 adalah 1,2,4,5,8,10,16,20,40,80 dan faktor pembagi 12 adalah 1,2,3,4,6,12, maka pbt(80,12)=4. Langkah-langkahnya adalah sebagai berikut:

80/12 = 8, sisa 8

12/8 = 1, sisa 4 8/4 = 2 sisa 0 karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0 yaitu 4, menjadi pbt(80,12). Jadi pbt(80,12) = pbt(12/8) = pbt(8,4) = pbt(4,0) = 4. Algoritma EUCLIDEAN dapat dituliskan sebagai berikut:


Algoritma EUCLIDEAN


Diberikan dua buah bilangan bulat tak negatif m dan n (m ≥ n). Carilah pembagi bersama terbesar (pbt) dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.

DESKRIPSI :

1.     Jika n = 0 maka M adalah jawabannya;

Stop

Tetapi jika n ≠ 0,

Lanjutkan ke langkah 2.

2.     Bagilah m dengan n dan misalkan r adalah sisanya.

3.     Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1.

Dengan menggunakan m = 80 dan n=12, maka pbt(80,12) dihitung dengan algoritma EUCLIDEAN di atas sebagai berikut:

 

1. (1) Karena n = 12, maka lanjutkan ke langkah 2 2. (1) Hitung m/n = 80/12 = 6, sisanya r=8.

3. (1) Nilai mbaru=nlama=12 dan nbaru=r=8, lanjut ke langkah 1.

1. (2) Karena n = 8, maka lanjutkan ke langkah 2 2. (2) Hitung m/n = 12/8 = 1, sisanya r=4.

3. (2) Nilai mbaru=nlama=8 dan nbaru=r=4, lanjut ke langkah 1.

1.    (3) Karena n = 4, maka lanjutkan ke langkah 2

2.    (3) Hitung m/n = 8/4 = 2, sisanya r=0.

3.    (3) Nilai mbaru=nlama=4 dan nbaru=r=0, lanjut ke langkah 1.

1. (4) Karena n = 0, maka m = 4 adalah jawabannya. Stop.

 

Jadi pbt(80,12)=4

 

Definisi :

       Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

       Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.

       Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika atau matematika 

       Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.

Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.

Sebagai contoh, tinjau persoalan mempertukarkan isi dua buah bejana, A dan B. Bejana A berisi larutan yang berwarna merah dan bejana B berisi larutan berwarna biru. Kita ingin mempertukarkan isi kedua bejana itu sedemikian rupa sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.

Seseorang menuliskan langkah-langkah pertukaran isi kedua bejana sebagai berikut:

Algoritma TUKAR ISI BEJANA 1

Diberikan dua buah bejana, A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.

DESKRIPSI:

1.     Tuangkan larutan dari bejana A ke dalam bejana B.

2.     Tuangkan larutan dari bejana B ke dalam bejana A.

Algoritma di atas tidak meghasilkan pertukaran yang benar. Untuk mempertukarkan isi dua buah bejana, kita memerlukan sebuah bejana tambahan yang diperlukan sebagai tempat penampungan sementara. Sebuat bejana tambahan tersebut bejana C. dengan menggunakan bejana bantuan C ini, algoritma mempertukarkan isi dua buah bejana yang benar adalah sebagai berikut:

Algoritma TUKAR ISI BEJANA 2

Diberikan dua buah bejana, A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.

DESKRIPSI:

1.     Tuangkan larutan dari bejana A ke dalam bejana C.

2.     Tuangkan larutan dari bejana B ke dalam bejana A. 3. Tuangkan larutan dari bejana C ke dalam bejana B.

Contoh algoritma mempertukarkan isi bejana di atas memberikan dua pesan penting. Pertama, algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.

Menurut Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, algoritma harus mempunyai lima ciri penting:

1.    Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas (berhingga). Barisan instruksi yang dibuat dalam suatu urutan tertentu, dimaksudkan agar masalah yang dihadapi dapat diselesaikan. Banyaknya instruksi atau langkah itu haruslah berhingga. Jika tidak demikian, proses yang dilakukan akan memerlukan waktu yang relatif lebih lama dan diperoleh hasil yang tidak diperlukan atau tidak berhubungan dengan masalah yang ada, bahkan mungkin proses akan terus berlangsung walaupun solusi yang diharapkan telah diperoleh. Hasil akhir yang didapat merupakan solusinya atau informasi tidak ditemukannya solusi. Dengan kata lain, baik dalam kondisi ada solusi ataupun tidak, proses tetap akan berhenti. Sebagai contoh, tinjau kembali algoritma EUCLIDEAN. Pada langkah 1, jika n = 0, algoritma berhenti. Jika n ≠ 0, maka nilai n selalu berkurang sebagai akibat langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti adalah program yang berisi algoritma yang salah. Suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi disebut semi algoritma.

2.    Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous). Pembaca harus mengerti apa yang dimaksud dengan “m dan n adalah bilangan bulat tak-negatif”. Contoh lainnya, pernyataan “bagilah P dengan sejumlah beberapa buah bilang bulat positif” dapat bermakna ganda.

3.    Algoritma memiliki nol atau lebih masukan (input). Masukan adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja. Algoritma EUCLIDEAN mempunyai dua buah masukan, m dan n, sedangkan algoritma TUKAR ISI BEJANA memiliki masukan larutan bejana A dan larutan bejana B.

4.    Algoritma mempunya nol atau lebih keluaran (output). Keluaran adalah besaran yang memiliki hubungan dengan masukan. Keluaran tersebut tentunya harus merupakan solusi dari masalah yang sedang diselesaikan. Algoritma EUCLIDEAN mempunyai satu keluaran yaitu n pada langkah 2 yang merupakan pembagi bersama terbesar dari kedua masukannya. Algoritma TUKAR ISI BEJANA tidak memiliki keluaran sama sekali.

5.    Algoritma harus efektif dan efisien. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. Suatu algoritma dikatakan efektif jika algoritma tersebut dapat menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan. Dengan kata lain suatu algoritma harus tepat guna. Suatu algoritma dikatakan efisien jika waktu proses dari algoritma relatif lebih singkat dan penggunaan memorinya lebih sedikit.

Masalah disebut dapat diselesaikan secara algoritma jika dapat ditulis program komputer yang dapat menghasilkan jawaban benar untuk sembarang masukan (yang dispesifikasikan) dalam waktu yang berhingga dan menggunakan ruang memori yang tersedia.

 

Pada beberapa sumber lain, ada tambahan ciri dari algoritma:

6.    Algoritma harus terstruktur. Urutan baris langkah-langkahnya yang digunakan harus disusun sedemikian rupa agar proses penyelesaiannya tidak berbelit-belit, sehingga memungkinkan waktu prosesnya akan menjadi relatif lebih singkat. Hal ini akan memperlihatkan bahwa bagian-bagian dari proses tersebut dapat dibedakan secara jelas (bagian input, proses dan output). Dengan demikian memudahkan kita didalam melakukan pemeriksaan ulang.

 

          Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam  waktu yang realtif singkat dan penggunaan memori yang relatif sedikit (efisien)     dengan langkah yang berhingga dan prosesnya berakhir baik dalam keadaan  diperoleh suatu solusi maupun tidak adanya solusi.

 

 

Algoritma Merupakan Jantung Ilmu Informatika

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang di acu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Berikut adalah beberapa contoh algoritma dalam kehidupan sehari-hari.


Tabel 1.1. Contoh Algoritma dalam Kehidupan Sehari-hari


Langkah-langkah pada algoritma haruslah logis. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot, atau alat-alat mekanik/elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebut. Melaksanakan algoritma berarti mengerjakan langkahlangkah di dalam algoritma tersebut.

Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:

1.    Mengerti setiap langkah dalam algoritma.

2.    Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

 

Comments

Popular posts from this blog

Perlunya Belajar Grafik Komputer Di Dunia Komputer

Mengapa perlu belajar grafik Komputer? Pertanyaan itu mungkin sering kita dengar atau bahkan kita sendiri yang pernah menanyakan pertanyaan tersebut. Dilihat dari pengertiannya Grafika Komputer  merupakan proses untuk menciptakan suatu gambar berdasarkan deskripsi obyek maupun latar belakang yang terkandung pada gambar tersebut. Dengan belajar Grafik Komputer setiap orang akan dibekali dengan kemampuan agar dapat berpikir secara kreatif, logis, dan mampu membuat grafik itu sendiri yang dapat diterapkan di kehidupan sehari-hari, dengan mengembangkan gagasan dan ide yang dimilikinya.

Hubungan E-Commerce Terhadap Supply Chain Management

Sebelum kita membahas "Hubungan E-commrce Terhadap Supply Chain Managemen",ada baiknya kita ketahui dulu apa tujuan dari masing-masing bagian?     Tujuan E-commerce Tujuan suatu perusahaan menggunakan sistim E-Commerce adalah dengan menggunakan E-Commerce maka perusahaan dapat lebih efisien dan efektif dalam meningkatkan keuntungannya. Tujuan Supply Chain Management Tujuan dari supply chain adalah untuk memastikan sebuah produk berada pada tempat dan waktu yang tepat untuk memenuhi permintaan konsumen tanpa menciptakan stok yang berlebihan atau kekurangan serta memberikan keuntungan besar bagi perusahaan. Jadi setelah kita mengetahui Tujuannya,Maka dengan mudah kita dapat mengetahui hubungannya?

E-Commerce Dapat Mengurangi Siklus Waktu

E-Commerce dapat mengurangi siklus waktu, meningkatkan kinerja karyawan dan memberikan dukungan terhadap fasilitasi pelanggan. Telah kita ketahuai saat ini Penggunaan internet sangat banyak,termasuk penggunaan untuk hal bisnis tertentu,sehingga dengan mudahnya orang dapat berbelanja lewat jaringan internet ini,atau kata modern (System online). Tentu saja dengan begini orang tidak lagi repot-repot kepasar,mencari cari barang yang di inginkan,tinggal klik pilihan,dan mengirim atau meregistrasi saja ke rekning penjual,maka anda tinggal tunggu barangnya datang krumah anda.