1. Apakah itu Algoritma?
Ditinjau dari asal-usul katanya, kata
Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung
dengan angka arab. Anda dikatakan algorist jika Anda 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 yang terkenal yaitu Abu
Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. 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).
Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata
dari 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, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai
metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata
aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
2. Definisi
Algoritma
“Algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan
logis”. Kata logis merupakan kata kunci dalam algoritma.
Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah
atau benar. Dalam beberapa
konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.
Pertimbangan dalam pemilihan algoritma adalah,
pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari
sejumlah masukan yang diberikan. Tidak peduli
sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah
algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus
diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh
algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan
masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan).
Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan
nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma.
Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori.
Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi
jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma
tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang
cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka
semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa
membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun
terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran
yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan
cepat.
0 komentar:
Posting Komentar