SEJARAH ALGORITMA
Algoritma merupakan urutan langkah logis yang digunakan untuk menyelesaikan suatu masalah. Singkatnya, sebuah masalah harus diselesaikan dengan beberapa langkah yang logis. Contohnya seperti aktivitas memasak air. Algoritmanya tentu saja berhubungan dengan aktivitas dalam memasak air.
Asal usul Algoritma berasal dari kata “algorist” yang berarti langkah menghitung dengan memanfaatkan angka arab. Sementara itu, orang bisa dikatakan algorist apabila melakukan penghitungan dengan angka arab.
Ahli sejarah mematika menemukan asal kata algoritma. Ahli sejarah tersebut menjelaskan asal kata algoritma yaitu berasal dari nama penulis buku arab. Nama penulis buku arab yang dimaksud adalah Abu Jafar Muhammad Ibnu Musa Al Khuwarismi.
Kemudian, Al Khuwarizmi dibaca oleh orang barat pada kala itu menjadi Algorism. Buku yang ditulis oleh Al Khuwarizmi yang kemudian menjadi referensi dalam algoritma orang barat yait Al Jabar Wal Muqabala. Bila diterjemahkan buku tersebut merupakan buku tentang pengurangan dan pemugaran. Konon dari judul buku tokoh ternama tersebut masyarakat modern mengenal istilah aljabar.
Beberapa syarat yang harus dimiliki oleh algoritma yaitu :
1. General, artinya algoritma yang dibuat harus bersifat umum, tidak bersifat kasuistis.
2. Finiteness, algoritma harus mempunyai akhir.
3. Efisien, Algoritma yang dibuat harus efisien, karena dalam satu permasalahn yang ada dapat ditemukan kemungkinan solusi, harus dipilih yang paling efisien.
Pada tahun 1950, kata algoritma pertama kali digunakan pada "algoritma Euclidean" (Euclid`s algorithm). Euclid, seorang matematikawan Yunani (lahir pada tahun 350 M), dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n [KNU73] (tentu saja Eulid tidak menyebut metodenya itu sebagai algoritma, baru di abad modernlah orang-orang menyebut metodenya itu sebagai "algoritma Euclidean"). Pembagi bersama terbesar dari dua buah bilangan bulat tak negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan tersebut.
Misalnya, m= 80 dan n =12. Semua faktor pembagi 80 adalah
1,2,4,5,8,10,16,20,40,80
dan semua faktor pembagi 12 adalah
1,2,3,4,6,12,
maka gcd(80,12) = 4.
Langkah-langkah mencari gcd(80,12) dengan algoritma Euclidean sebagai berikut:
80 dibagi 12 hasilnya =6, sisa 8 (atau:80 =6.12+8)
12 dibagi 8 hasilnya = 1, sisa = 4 (atau:12 =1.8+4)
8 dibagi 4 hasilnya = 2, sisa =0 (atau:8 =4.2+0)
karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0, yaitu
4, menjadi gcd(80,12). Jadi, gcd(80,12) = gcd(12,8) = gcd(8,4) = gcd(4,0)=4.
Contoh Algoritma.
Salah satu dari algoritma sederhana adalah menemukan bilangan terbesar dalam sebuah deretan angka (tak berurut). Solusinya membutuhkan pemeriksaan setiap angka dalam deret, tapi hanya sekali. Dari hal ini munculah algoritma sederhana, yang bisa dinyatakan dalam kalimat bahasa deskripsi tingkat-tinggi, sebagai:
Deskripsi tingkat-tinggi:- Jika tidak ada angka dalam deret makan tidak ada bilangan terbesar.
- Asumsikan item pertama dalam deret adalah yang terbesar.
- Untuk setiap sisa angka dalam deret, jika angka tersebut besar dari angka terbesar sekarang, anggap angka tersebut menjadi yang terbesar dalam deret.
- Bila tidak ada lagi angka yang tersisa pada deret untuk diperiksa, anggap angka terbesar sekarang menjadi angka yang terbesar dalam deret.
Deskripsi (Quasi-)formal: Ditulis dalam kalimat yang lebih dekat dengan bahasa tingkat-tinggi dari program komputer, berikut ini adalah kode formal dari algoritma dalam pseudokode atau kode pijin:
Algoritma LargestNumber
Masukan: Deret angka L.
Keluaran: Angka terbesar dalam daftar L. |
terbesar ← Lnull untuk setiap item dalam L, lakukan
jika item > terbesar, maka
terbesar ← item
kembalikan terbesar |
Komentar
Posting Komentar