Friday, October 5, 2012

Definisi Algoritma

Secara umum algoritma didefinisikan sebagai urutan langkah penyelesaian suatu permasalahan secara sistematis. Kata Algoritma berasal dari nama seorang penulis buku Arab yg terkenal yaitu Abu Ja'far Mohammed Ibnu Musa Al-Khuwarizmi. Beliau adalah seoarang ilmuwan Persia yg menulis kitab AL-Jabr wal-Muqabala (rules of restoration and reduction) sekitar tahun 825 M. Kata Al-Khuwarizmi ketika diucapkan oleh orang barat menjadi Algorism. Kata algorism sering dikelirukan dgn arithmetic, dimana akhiran -sm berubah menjadi -thm. Karena hal ini maka kata algorism berubah menjadi algorithm, dalam bahasa indonesia dikenal dengan istilah algoritma.
Algoritma dapat didefinisikan sebagai berikut :
  • Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Dalam hal ini yg ditekanakan adalah urutan langkah logis, yg berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat (Dari Microsft Press Computer and International Dictionary 1997,1998)
  • Algoritma adalah alur pemikiran dalam menyelesaikan suatu pekerjaan yg dituangkan secara tertulis, Dalam hal ini yg ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang bisa jauh berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yg artinya dapat berupa kalimat, gambar atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1).

Dalam pemilihan suatu algoritma, beberapa hal yg harus dipertimbangkan adalah :
  1. Algoritma haruslah benar
  2. Kita harus tahu seberapa baik hasil yg diperoleh dari algoritma yg kita pilih
  3. Efisiensi algoritma
Secara umum algoritma memiliki ciri-ciri sebagai berikut :
  1. Ada input
  2. Ada proses
  3. Ada output
  4. Memiliki instruksi yg jelas dan tidak ambigu
  5. Harus mempunyai stopping role
Sedangkan sifat algoritma adalah :
  1. Tidak menggunakan simbol / sintaks dari suatu bahasa pemrograman
  2. Tidak tergantung pada suatu bahasa pemrograman
  3. Notasi-notasinya dapat digunakan untuk seluruh bahasa pemrograman
Menurut Donald E.Knuth, sebuah algoritma harus memenuhi kriteria sebagai berikut,
  1. Input : algoritma dapat memiliki nol / lebih inputan daru luar
  2. Output : algoritma harus memiliki minimal satu buah output keluaran
  3. Definiteness (pasti) : algoritma memiliki instruksi-instruksi yg jelas & tdk ambigu
  4. Finiteness (ada batas) : algoritma harus memiliki titik berhenti / stopping role
  5. Effectiveness (tepat & efisien) : algoritma sebisa mungkin harus dapat dilaksanakan & efektif. 
Agar proses dalam suatu algoritma dapat dijalankan oleh pemroses, maka algoritma harus dinyatakan dalam bentuk yg dimengerti oleh pemroses. Jadi setiap pemroses harus :
  1. Mengerti setiap langkah dlm suatu algoritma
  2. Mengerjakan operasi yg sesuai dgn langkah dalam algoritma. 

No comments:

Post a Comment