Kata
algoritma (algorithm) berasal dari nama matematikawan Persia pada abad 9 Abu
Abdullah Muhammad bin Musa Al-Khawarizmi. Kata aslinya algorism mengacu pada
aturan dari melakukan aritmetika, menggunakan bilangan arab dan berkembang
menjadi algoritma pada abad 18. Kata ini sekarang berevolusi unutk mencantumkan
semua prosedur-prosedur khusus unutk memecahkan masalah atau mengerjakan tugas.
Algoritma
adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis (teknik dasar untuk menyelesaikan suatu pekerjaan). Masalah dapat
berupa apa saja, dengan catatan untuk setiap masalah, ada syarat kondisi awal
yang harus dipenuhi sebelum menjalankan algoritma. Konsep algoritma kadang
disetarakan dengan resep. Sebuah resep kadang memiliki daftar bahan atau bumbu
yang akan digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan
tersebut. Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka
resep tersebut tidak akan dapat dikerjakan. Demikian juga bila urutan
pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan diperoleh.
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan syarat yang
sama. Tingkat kerumitan dari suatu algoritma merupakan seberapa banyak
komputasi yang dibutuhkan oleh algoritma tersebut untuk menyelesaikan masalah.
Umumnya, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang
singkat memiliki tingkat kerumitan yang rendaah, sementara algoritma yang
membutuhkan waktu lama untuk menyelesaikan suatu permasalahan membutuhkan
tingkat kerumitan yang tinggi.
Perhatikan
contoh berikut ini :
1.
Start
2.
Baca dara alas dan tinggi (dalam hal ini penyelesaian
rumus segitiga)
3.
Luas adalah alas kali tinggi kali 0.5
4.
Tampilkan luas
5.
Stop
Algoritma diatas adalah algoritma yang sangat
sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan
ataupun pemilihan. Semua langkah hanya dilakukan satu kali.
Sekilas algoritma diatas benar, namun apabila
dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak
ada pembatasan pada nilai data untuk alas dan tinggi. Bagaimana jika nilai data
alas dan tinggi adalah bilangan 0 atau bilangan negative? Tentunya hasil yang
keluar tidak sesuai dengan yang diharapkan. Dalam kasus ini kita perlu
menambahakan langakah untuk memastikan nilai alas dan tinggi memenuhi syarat,
misalnya dengan melakukan pengecekan pada input yang masuk. Apabila input nilai
alas dan tinggi kurang dari 0 maka program tidak akan dijalankan, sehingga
algoritma diatas dapat berubah menjadi seperti berikut ini:
1. Start
2. Baca data
alas dan tinggi
3. Periksa
data alas dan tinggi, jika alas dan tinggi lebih besar dari nol maka lanjutkan
ke langkah 4 jika tidak maka stop
4. Luas adalah
alas kali tinggi kali 0.5
5. Tampilkan
luas
6. Stop
Dari penjelasan diatas dapat
diambil kesimpulan pokok tentang algoritma.
1.
Algoritma harus benar
2.
Algoritma harus berhenti
3.
Algoritma memberikan hasil yang benar
Tidak ada komentar:
Posting Komentar