Pengertian Algoritma
Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah.
Terdapat beberapa definisi lain dari algoritma -
tetapi pada prinsipnya adalah sama, dengan definisi yang diungkapkan di atas -
yang kita kutip dari berbagai literatur, antara lain:
Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data
masukan menjadi keluaran.
Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu
memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang
terbatas.
Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang menggunakan
beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut
keluaran. Jadi, algoritma adalah deretan langkah komputasi yang
mentransformasikan masukan menjadi keluaran.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara
primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan
diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat
menyebabkan kejadian.
Algoritma merupkan urutan perintah atau
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan
logis.
Syarat Algoritma
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.
Sejarah Algoritma
Algoritma berasal dari nama penulis buku, yakni Abu
Ja`far Muhammad Ibnu Musa Al-Khwarizmi yang berasal dari Uzbekistan. Orang
Barat menyebut Al-Khwarizmi dengan Algorism.
Pada saat itu, Al-Khwarizmi menulis buku dengan judul Al Jabar wal-Muqabala
yang artinya `Buku Pemugaran dan Pengurangan` (The book of Restoration and
Reduction). Dari judul buku tersebut, kita juga memperoleh kata “aljabar” atau
biasa dikenal dengan algebra.
Abu Abdullah Ibnu Musa al-Khawarizmi (770M-840M) lahir di Khawarizm (Kheva),
kota yang berada di selatan Sungai Oxus (sekarang disebut Uzbekistan) pada 770
M. Al Khawarizmi merupakan salah satu ilmuan terkenal di zamannya. Ada beberapa
cabang ilmu matematika yang berhasil ditemukannya, antara lain yang dikenal
sebagai astronom dan geografer.
Awalnya, algoritma merupakan istilah yang merujuk kepada aturan-aturan
aritmetis yang berguna untuk menyelesaikan persoalan dengan menggunakan
bilangan numeric Arab.
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:
1.
Jika tidak ada angka dalam deret makan tidak ada
bilangan terbesar.
2.
Asumsikan item pertama dalam deret adalah yang
terbesar.
3.
Untuk setiap sisa angka dalam deret, jika angka
tersebut besar dari angka terbesar sekarang, anggap angka tersebut menjadi yang
terbesar dalam deret.
4.
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 |
|
Sumber:
- kutip buku Algoritma dan pemrograman Rinaldi munir.(hal 3, 10 dan 11)
- Website online wikipedia diakses: tanggal 29/09/2015 pukul 23.40
- Andikafisma blog diakses: tanggal 30/09/2015 pukul 00.15
- Pemrograman Komputer: tanggal 30/09/2015 pukul 00.15