Kamis, 31 Agustus 2017

Sifat Algoritma



Berdasarkan ciri algoritma yang dipaparkan di tulisan terdahulu dan definisi algoritma, dapat disimpulkan bahwa sifat utama suatu algoritma adalah sebagai berikut:

1. Memiliki Input (masukan).
Suatu algoritma memiliki input atau kondisi awal sebelum dilaksanakan, bisa berupa nilai peubah (variable) yang diambil dari himpunan khusus dan bisa juga berupa suatu konstanta.
2. Memiliki Output (keluaran).
Suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
3. Definiteness.
Langkah-langkah yang dituliskan dlaam algoritma terdifinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.

4. Finiteness
Suatu algoritma harus memberi kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan.
5. Effectiveness
Setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai yang diharapkan.
6. Generality
Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu

Agar bentuk algoritma dan proses penyusunannya dapat mulai dipahami maka berikut ini akan diuraikan proses pembuatan algoritma mulai dari bentuk yang menggunakan Bahasa sehari-hari, disusul penjelasan format algoritma yang dapat dijadikan acuan dan beberapa contoh pembuatan algoritma yang mengikuti suatu format tertentu.

Contoh :
Buatlah algoritma untuk melakukan pencaran angka terbesar dari sekelompok data bilangan bulat yang jumlahnya terbatas.

Solusi dengan Bahasa sehari-hari :
1. Ambil angka pertama, angka pertama ini dianggap sebagai bilangan yang paling besar.
2. Ambil angka kedua, bandingkan dengan angka pertama, jika angka kedua lebih besar dari angka pertama, maka jadikan angka kedua sebagai angka terbesar, jika tidak, abaikan.
3. Ambil angka ketiga, bandingkan dengan angka terbesar tadi, jika angka ketiga lebih besar dari angka terbesar tadi, maka jadikan angka ketiga sebagai angka terbesar, jika tidak, abaikan.
4. Ulangi langkah 3 ini sampai tidak ada lagi angka yang tersisa dalam himpunan input yang telah ditentukan tadi.
5. Hentikan perbandingan setelah semua angka selesai dibandingkan, maka angka terbesar dalam himpunan tersebut adalah angka yang didapat setelah seluruh angka dibandingkan.

Uraian diatas adalah langkah-langkah algoritma yang dinyatakan dalam Bahasa sehari-hari (Bahasa Indonesia), untuk memudahkan pengertian maka algoritma tersebut harus dinyatakan dalam notasi sebagai berikut :

1. N=banyaknya angka dalam himpunan.
2. Indeks = 1
3. Maksimum = angka (indeks)
4. Selama indeks < n, lakukan
a.       Bila angka(indeks) > maksimum, maka
                                                               i.      Maksimum = angka(indeks)
                                                             ii.      Indeks = indeks + 1
                                                           iii.      Ulangi langkah 4 untuk indeks berikut
b.       Bila angka(indeks)<= maksimum, maka
                                                               i.      Indeks = indeks + 1
                                                             ii.      Ulangi langkah 4 untuk indeks berikut
5. Angka terakhir dalam himpunan = maksimum (angka yang ada dalam variable maksimum).

Notasi algoritma seperti diatas tentu masih sulit diimplementasikan kedalam suatu Bahasa pemrograman, oleh karena itu maka notasi algoritma yang baik adalah notasi dalam bentuk Bahasa pemrograman yang simple dan mendekati kedalam bentuk Bahasa program computer yang akan digunakan, kebanyakan programmer lebih menyukai algoritma dalam bentuk Bahasa pemrograman C karena Bahasa tersebut cukup simple dalam notasinya.

Sekian dulu pembahasan mengenai sifat algoritma, untuk kelanjutannya akan dibahas pada postingan berikutnya.

1 komentar: