Abu Ja'far Muhammad Ibnu Musa Al-Khuwarizmi (780M-850M) |
1. Sejarah Algoritma
Dilihat dari istilahnya algoritma, berasal
dari nama seorang matematikawan muslim bernama Abu Ja’far Muhammad Ibnu Musa
Al-Khuwarizmi (780 M-850), yang oleh orang barat menyebut Al-Khuwarizm sebagai Algorism,
yang diartikan proses menghitung dengan angka arab. Salah satu karya beliau
yang monumental adalah buku berjudul Kitab Al Jabar Wal-Muqabala yang
artinya “Buku pemugaran dan pengurangan” (The book of restoration and
reduction), yang menjadi cikal bakal istilah “Aljabar” (Algebra)
yang dipakai hingga sekarang ini. Seiring dengan perkembangan jaman isitilah
„Algorism‟ berubah menjadi algorithm yang kemudian diartikan sebagai
metode perhitungan (komputasi) secara umum. Dalam bahasa Indonesia, kata algorithm
diserap menjadi algoritma.
2. Definisi Algoritma
Menurut definisi, algoritma adalah urutan
langkah-langkah penyelesaian masalah yang disusun secara sistematis dan logis.
Dalam beberapa konteks, algoritma dapat diartikan urutan langkah-langkah yang
spesifik (tertentu) untuk melakukan suatu pekerjaan. Jadi algoritma tidak hanya
diartikan sebatas pada perhitungan dengan komputer saja tapi dapat diartikan
lebih luas dalam kehidupan sehari-hari. Resep masakan adalah contoh algoritma
yang ada di kehidupan sehari-hari. petunjuk pemasangan AC, petunjuk perakitan
komputer, petunjuk installasi software, panduan pengisian token listrik, Jadwal
acara kegiatan adalah berbagai bentuk algoritma yang ada di kehidupan
sehari-hari.
Menurut makna yang pertama, algoritma adalah langkah-langkah
logis penyelesaian masalah, artinya langkah-langkah dalam suatu algoritma harus
logis, sesuai dengan tujuan yang akan dicapai dan dapat ditentukan nilai
kebenarannya. Sebagai contoh dalam sebuah resep masakah, ada sebuah langkah
“Rebus bahan x selama 30 menit” atau dalam merakit komputer, “sambungkan kabel
VGA monitor dengan komputer”. Dua langkah ini adalah langkah yang logis, karena
jelas diketahui kebenarannya. Kalau si A merebus selama 15 menit saja maka
dapat dikatakan langkahnya tidak sesuai atau salah, atau misalkan kabel VGA
tidak tersambung maka jelas bahwa langkahnya tidak sesuai.
Langkah yang logis
juga dapat diartikan pula tidak ambigu. Langkah “tambahkan garam secukupnya”,
merupakan contoh langkah atau proses yang ambigu atau bermakna ganda. Secukupnya
bisa berarti setengah sendok teh, satu sendok teh atau satu sendok makan, tidak
ada kriteria yang pasti, maka antara satu orang pengguna dengan yang bisa
menghasilkan output yang tidak sama, dalam hal ini rasanya. Demikian juga
misalkan dalam suatu algoritma ada perintah “Tambahkan x dengan sebuah
bilangan”, juga bermakna ambigu karena bilangan seperti apa yang harus
ditambhakan apakah bilangan asli atau real, genap atau ganjil, tidak ada nilai
yang pasti.
Selain itu penyusunan langkah-langkah harus sistematis, atau
terstruktur menurut aturan/sistem tertentu sesuai denga tujuan yang dicapai.
Artinya langkah-langkah yang ada pada algoritma harus dapat diikuti atau
ditelusuri dengan baik sehingga mencapai hasil akhir yang diinginkan. Oleh
karena itu dalam suatu algoritma,
biasanya setiap langkah diberikan nomer agar pengguna algoritma dapat mengikuti
setiap instruksi yang diberikan dengan baik. Selain itu langkah-langkah dalam
algoritma juga harus terbatas, artinya ia akan berhenti setelah melakukan sejumlah
langkah. Karena tujuan dari algoritma adalah mencari penyelesaian. Jika sebuah algoritma
mempunyai langkah yang tidak terbatas, ini berarti usaha mencari penyelesaian
yang tidak kunjung berhasil. Maka dapat dikatakan algoritma tersebut sia-sia
atau tidak berguna.
3. Struktur Algoritma
Inti dari algoritma adalah menemukan solusi dari suatu
permasalahan. Untuk menyelesaikan masalah, algoritma membutuhkan spesifikasi
input (masukan) sesuai yang diperlukan, memprosesnya melalui serangkaian
langkah-langkah dan menghasilkan output sebagai solusi dari permasalahan.
Stukturya adalah sebagai berikut:
1. 1. Nama
Nama menjelaskan tentang tujuan
algoritma tersebut dibuat, seperti: Algoritma_VolumeBalok, Algoritma_GajiPegawai,
Algoritma_Tiket_AirLines, dan algoritma lainnya.
2. 2. Deklarasi
Bagian deklarasi merupakan tahap
persiapan dari algoritma. Pada bagian ini dijelaskan kebutuhan agar algoritma
dapat berjalan. Istilah lainnya di sinilah alat dan bahan didefinisikan. Dalam
algoritma pemrograman, bagian deklarasi menjelaskan input (masukan) apa saja
yang akan diproses oleh algoritma termasuk jenis data input (tipe data), juga
output apa yang akan dihasilkan serta semua hal yang akan dipakai dalam algoritma.
Yang didefiniskan dalam algoritma ini termasuk variabel, tipe data, konstanta, nama
prosedur, tipe, dan fungsi.
3.
3. Deskripsi
Pada bagian ini dijelaskan serangkaian
langkah-langkah (instruksi) atau pernyataan
(statement) untuk
memproses alat dan bahan atau inputan untuk menghasilkan output
sesuai yang diharapkan.
Langkah-langkah dalam algoritma dituliskan dari atas ke bawah.
Urutan penulisan menentukan urutan
perintah