Sejarah Algoritma
Istilah algoritma, mungkin bukan sesuatu yang asing bagi
kita. Teman-teman ada yang tahu arti kata ‘algoritma’? Ditinjau dari asal-usul
katanya, kata ‘Algoritma’ mempunyai sejarah yang agak aneh. Orang hanya
menemukan kata Algorism yang berarti proses menghitung dengan angka Arab.
Seseorang dikatakan ‘Algorist’ jika menghitung menggunakan angka Arab. Para
ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan.
Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal
dari nama penulis buku Arab terkenal, yaitu Abu Abdullah Muhammad Ibnu
Musa Al-Khuwarizmi dibaca orang barat menjadi Algorism.
Penemunya
adalah seorang ahli matematika dari Uzbekistan yang bernama Abu Abdullah
Muhammad Ibn Musa al-Khwarizmi. Di literatur barat, beliau lebih terkenal
dengan sebutan Algorism. Panggilan inilah yang kemudian dipakai untuk menyebut
konsep algoritma yang ditemukannya. Abu Abdullah Muhammad Ibn Musa al-Khwarizmi
(770-840) lahir di Khwarizm (Kheva), kota di selatan sungai Oxus (sekarang
Uzbekistan) tahun 770 masehi. Kedua orangtuanya kemudian pindah ke sebuah
tempat di selatan kota Baghdad (Irak), ketika ia masih kecil. Khwarizm dikenal
sebagai orang yang memperkenalkan konsep algoritma dalam matematika, konsep
yang diambil dari nama belakangnya.
Al
khwarizmi juga adalah penemu dari beberapa cabang ilmu matematika yang dikenal
sebagai astronom dan geografer. Ia adalah salah satu ilmuwan matematika
terbesar yang pernah hidup, dan tulisan-tulisannya sangat berpengaruh pada jamannya.
Teori aljabar juga adalah penemuan dan buah pikiran Al khwarizmi. Nama aljabar
diambil dari bukunya yang terkenal dengan judul “Al Jabr Wa Al Muqabilah”. Ia
mengembangkan tabel rincian trigonometri yang memuat fungsi sinus, kosinus dan
kotangen serta konsep diferensiasi.
Pengertian Algoritma
Abu
Ja’far Mohammad Ibnu Musa Al Khawarizmi, pertama dan pelopor logika algoritma.
Logika berasal dari kata Yunani Kuno. Pengertiannya yaitu hasil pertimbangan
akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa.
Definisi
Algoritma
1.
Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh.
2.
Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3.
Suatu motode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata
(Webster dictionary).
Jadi,
intinya Algoritma merupakan langkah-langkah yang
disusun secara tertulis dan berurutan untuk menyelesaikan suatu masalah. Dalam
menuliskan algoritma, dapat digunakan bahasa
natural atau menggunakan notasi matematika, sehingga masih belum dapat
dijalankan pada komputer. Dalam kehidupan sehari-hari,
kita sudah melakukan penyusunan algoritma untuk menyelesaikan
permasalahan atau tantangan yang dihadapi. Sebagai
contoh, pada saat diminta untuk membuat
telur dadar. Sebelum membuat algoritmanya, kita
perlu mendefinisikan masukan (input) dan
luaran (output) terlebih dahulu, dimana input berupa
telur mentah, dan output berupa telur dadar yang sudah matang.
Susunan
algoritmanya sebagai berikut:
1.
Nyalakan
api kompor
2.
Tuangkan
minyak ke dalam wajan
3.
Pecahkan
telur ayam ke dalam mangkok
4.
Tambahkan
garam secukupnya
5.
Aduk
campuran telur dan garam
6.
Tuang
adonan telur ke dalam wajan
7.
Masak
telur hingga matang
Algoritma akan lebih
baik jika ditulis secara sistematis menggunakan
beberapa skema.
Program/Pemrograman adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman, sehingga siap untuk dijalankan pada mesin komputer. Membuat program seperti memberitahukan apa yang harus dilakukan kepada orang lain. Sebagai contoh, pada saat kita memberitahukan algoritma membuat telur dadar kepada orang lain, kita sudah melakukan pemrograman. Pemrograman membuat telur dadar kepada orang lain akan lebih mudah karena orang tersebut sudah mengetahui apa itu telur dadar. Pada langkah yang ke-3 diminta untuk memecahkan telur, bagaimana cara orang tersebut memecahkan telur, dan seterusnya.
Program/Pemrograman adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman, sehingga siap untuk dijalankan pada mesin komputer. Membuat program seperti memberitahukan apa yang harus dilakukan kepada orang lain. Sebagai contoh, pada saat kita memberitahukan algoritma membuat telur dadar kepada orang lain, kita sudah melakukan pemrograman. Pemrograman membuat telur dadar kepada orang lain akan lebih mudah karena orang tersebut sudah mengetahui apa itu telur dadar. Pada langkah yang ke-3 diminta untuk memecahkan telur, bagaimana cara orang tersebut memecahkan telur, dan seterusnya.
- Karakteristik Algoritma
1.
Algoritma
harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh,
dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika
n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3,
dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti
mengindikasikan bahwa program tersebut berisi algoritma yang salah.
2.
Setiap
langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous).
Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan
bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa
sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud
dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis
“bagilah p dengan 10 buah bilangan bulat positif”
3.
Algoritma
memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan
kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah
masukan, yaitu m dan n.
4.
Algoritma
mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau
besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1
keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari
kedua bilangan.
5.
Algoritma
harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di
kerjakan dalam sejumlah waktu yang masuk akal.
Algoritma dapat dituliskan
ke dalam berbagai bentuk, namun struktur yang rapi dan mengikuti aturan
tertentu akan membuat algoritma lebih mudah untuk dibaca dan dipahami.
Selanjutnya, algoritma yang telah tersusun rapi akan diimplementasikan ke bahasa
pemrograman. Algoritma dapat dituliskan ke dalam berbagai bentuk, namun dan
mengikuti aturan tertentu akan membuat algoritma lebih mudah untuk dibaca dan
dipahami. Sekian dari saya, semoga bermanfaat J.
Tidak ada komentar:
Posting Komentar