Wednesday, June 15, 2011

KONSEP DAN SIFAT ALGORITMA



1. Konsep Algoritma

Algoritma merupakan pondasi yang harus di kuasai oleh setiap mahasiswa yang ingin menyelesaikan suatu masalah secara berstruktur, efektif dan efisien, teristimewa lagi bagi mahasiswa yang ingin menyusun program komputer untuk menyelesaikan suatu persoalan.

Definisi

Algoritma
1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata    terbatas, tetapi tersusun secara logis dan sistematis.
2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan                  langkah-langkah tertentu dan terbatas jumlahnya.

Catatan Sejarah

Abu Ja'far Muhammad Ibnu Musa Al-Kwarizmi, penulis buku "Aljabar wal muqabala" beberapa abad yang lalu (pada abad IX), dianggap sebagai pencetus pertaman algoritma karena di dalam buku tersebut Abu Ja'far menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan aritmatika (aljabar), Kemungkinan besar kata "algoritma" diambil dari kata "Al-Kwarizmi" yang kemudian berbubah menjadi "Algirism", selanjutnya menjadi "Algorithm".

Ciri Algoritma

Donald E. Knuth, seorang penulis beberapa buku algoritma abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu:

1. Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (not ambiguous).
3. Memiliki masukan atau kondisi awal.
4. Memiliki keluaran atau kondisi akhir.
5. Algoritma harus efektif, bila diikuti benar-benar akan menyelesaikan persoalan.

Sifat Algoritma

Berdasarkan ciri algoritma yang dipaparkan oleh Donald Knuth dan definisi algortima maka akan dapat disimpulkan sifat utama suatu algoritma, yaitu sebagai berikut :

1. Input : Suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan dan bisa berupa nilai-nilai pengibah yang diambil dari himpunan khusus.
2. output : Suatu algoritma akan menghasilkan output setelah dilaksanakan, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
3. Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
4. Finiteness : Suatu algoritma harus memberi kondisi nilai akhir atau output setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang diberikan.
5. Effectiveness : Setiap langkah dalam algoritma bisa dilaksanakan dalam selang waktu tertentu sehingga pada akhirnya memberi solusi sesuai yang diharapkan.
6. Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan, tidak hanya untuk himpunan tertentu.

Agar bentuk algoritma dan proses penyusunanya dapat mulai dipahami maka berikut ini akan diuraikan proses pembuatan algoritma mulai bentuk yang menggunakan bahasa sehari-hari, disusul penjelasan format algoritma yang dapat dijadikan acuan, dan beberapa contoh pembuatan algoritma yang mengikuti format tersebut.

Contoh : Susun algoritma untuk mencari angka terbesar (maksimum) dari suatu kumpulan bilangan bulat yang terbatas jumlahnya.

Solusi :
1. Anggaplah angka pertama dalam kumpulan tersebut adalah yang terbesar (maksimum).
2. Bandingkan angka maksimum ini dengan angka berikut dalam kumpulan. Bila angka tersebut lebih besar maka jadikanlah maksimum.
3. Ulangi langkah 2 ini sehingga tidak lagi ada angka yang tersisa dalam himpunan.
4. Hentikan pembandingan setelah semua angka selesai dibandingkan sehingga angka terbesar dalam himpunan tersebut adalah maksimum terakhir.

Solusi tersebut dalam bentuk simbol instruksi adalah sebagai berikut :
1. Andaikan N = banyaknya angka dalam himpunan.
2. Index = 1
3. Maksimum = angka (index)
4. Selama index < N, lakukan :
              a. index = index + 1
              b. bila angka (index) > maksimum maka maksimum = angka (index)
              c. ulangi lagi untuk index berikutnya
5. Angka terbesar dalam himpunan adalah maksimum terakhir.

Suatu algoritma tertentu dapat ditulis dengan menggunakan bahasa sehari-hari seperti contoh diatas. Namun, algoritma seperti ini masih sulit untuk langsung diterjemahkan apabila akan diimplementasikan ke dalam suatu bahasa pemrograman komputer. Setiap algoritma tentu saja memerlukan suatu langkah "peralihan" ke suatu bahasa program ketika akan dilaksanakan denga menggunakan komputer sehingga semakin dekat bentuk algoritma ini kedalam bentuk program komputer maka semakin mudah diterjemahkan. Suatu algoritma seperti ini hanya bisa digunakan untuk bahsa program tertentu dan terpaksa diubah kembali untuk disesuaikan apabila akan diimplementasikan dengan bahsa program yang lain.  

0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More