Minggu, 09 April 2017

Apa itu Algoritma?

Animasi Pengurutan (Metode Quick Sort)

Algoritma? Apa itu Algoritma? Algoritma adalah prosedur langkah demi langkah untuk menyelesaikan suatu perhitungan. "Algoritma" berasal dari kata "Algoritmi", bentuk latin dari al-Khwarizmi (Muḥammad ibn Mūsā al-Khwārizmī), seorang ahli dalam bidang matematika, astronomi, astrologi, dan geografi yang berasal dari Persia.

Algoritma sangatlah penting dalam pembuatan suatu program komputer. Biasanya sebuah algoritma dihubungkan dengan pengolahan informasi, data dibaca dari sumber masukan, ditulis ke perangkat keluaran, dan/atau disimpan untuk pengolahan selanjutnya.

Untuk beberapa proses komputasi, algoritma harus ditentukan secara teliti, yaitu dijabarkan dengan cara ia bakal berlaku untuk semua kemungkinan yang dapat timbul. Setiap langkah tambahan harus secara sistematis dihadapi, kasus per kasus. Karena algoritma adalah kumpulan dari langkah-langkah yang tepat, urutan dari komputasi selalu penting bagi berfungsinya algoritma. Instruksi dijelaskan dimulai "dari atas" dan terus "ke bawah".

Algoritma dapat digambarkan dengan banyak notasi, termasuk bahasa alamiah, pseudocode, diagram alur, atau bahasa pemrograman. Ekspresi bahasa alamiah terhadap algoritma cenderung lebih banyak dan rancu, sehingga jarang digunakan untuk algoritma yang kompleks. Pseudocode dan diagram alur adalah cara yang terstruktur untuk menggambarkan algoritma yang mencegah banyaknya kerancuan pada pernyataan-pernyataan bahasa alamiah. Sedangkan bahasa pemrograman ditujukan untuk mengekspresikan algoritma dalam sebuah bentuk yang dapat dieksekusi oleh komputer.

Knuth menganjurkan kita bahwa "cara terbaik untuk belajar algoritma adalah mencobanya ... langsung ambil pulpen dan kertas dan bekerja lewat contoh". lalu bagaimana dengan eksekusi yang sebenarnya? Programmer harus menerjemahkan algoritma ke dalam bahasa yang mana komputer dapat mengeksekusi secara efektif.

Salah satu contoh algoritma sederhana adalah menemukan bilangan terbesar dalam sebuah deretan angka (tak berurut). Solusinya membutuhkan pemeriksaan setiap angka dalam deret, tetapi hanya sekali. Dari hal ini muncullah algoritma sederhana, yang bisa dinyatakan dalam kalimat bahasa deskripsi tingkat tinggi:
  1. Jika tidak ada angka dalam deret maka tidak ada bilangan terbesar
  2. Asumsikan item pertama dalam deret adalah yang terbesar
  3. Untuk setiap sisa angka dalam deret, anggap angka tersebut menjadi yang terbesar dalam deret
  4. Bila tidak ada lagi angka yang tersisa pada deret untuk diperiksa, anggap angka terbesar sekarang menjadi angka yang terbesar dalam deret


Referensi:
  • https://id.wikipedia.org/wiki/Algoritma
  • https://id.wikipedia.org/wiki/Al-Khawarizmi