Algoritma



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