MENGENAL ALGORITMA

Suatu gambaran tentang algoritma, akan kita lihat dari dua sudut pandang, yaitu pertama dari sudut pandang sejarah algoritma dan yang kedua dari sudut pandang istilah algoritma.


Menurut Sejarah

Algoritma ditemukan oleh seorang ahli matematika dari Uzbekistan, yang bernama Abu Ja'far Muhammad Ibnu Al-Kwarizmi (770-840). Dalam bukunya yang berjudul "Al-jabr W'al Muqabala" (DitDit dan Riya. 2005:1), beliau telah menjelaskan langkah-langkah dalam penyelesaian berbagai persoalan aritmatika. Berkat buku tersebut, selanjutnya beliau dianggap sebagai Bapak pencetus Algoritma. Kata "Algoritma", kemungkinan diambil dari kata "Al-Kwarizmi" yang kemudian berubah menjadi "Algorizm", selanjutnya panggilan ini dipakai untuk menyebut konsep "Algorithm" yang ditemukan (Suarga.2006:1).


Menurut Istilah

Beberapa pendapat tentang istilah algoritma adalah sebagai berikut:

  1. Algoritma adalah prosedur tahap demi tahap untuk pemecahan masalah (Anonim.1989:34)
  2. Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika (Antony Pranata.2000:8)
  3. lgoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis (Suagra.2006:1)

Berdasarkan beberapa pendapat tentang istilah-istilah algoritma tersebut di atas, maka dapat diambil simpulan sebagai berikut:

Algoritma adalah suatu prosedur tahap demi tahap atau urutan langkah-langkah atau instruksi-instruksi yang berhingga dari mulai dengan sampai dengan selesai yang tersusun secara logis dan sistematis untuk mendapatkan pemecahan suatu masalah, baik pemecahan yang benar maupun yang salah.


Sifat algoritma

Algoritma mempunyai sifat. Sifat utama dari suatu algoitma adalah sebagai berikut:

  1. Mempunyai masukan (input)
  2. Menghasilkan luaran (output)
  3. Langkah-langkah yang ditulis terdefinisi dengan jelas (definiteness)
  4. Memberi luaran setelah melakukan sejumlah langkah yang terbatas (finiteness)
  5. Setiap langkah bisa dilaksanakan untuk memberikan penyelesaian yang sesuai dengan harapan (effectiveness)
  6. Langkah-langkah dalam algoritma harus berlaku umum (generality) pada masalah yang sama dengan kasus yang berbeda

Salah satu unsur dari yang tersebut di atas tidak terpenuhi, maka ia dikatakan bukan suatu algoritma.


MENGAPA PEMECAHAN SUATU MASALAH PERLU ALGORITMA

Mengapa pemecahan suatu masalah itu membutuhkan algoritma? Beberapa alasan perlunya suatu algoritma untuk pemecahan suatu masalah sebagai berikut:

  1. Untuk mengetahui unjuk kerja dari pemecahan masalah itu. Unjuk kerja pemecahan suatu masalah ini dapat kita lihat dari sisi tahapan-tahapan yang dikerjakan, yang diawali dari tahapan mulai sampai dengan tahapan selesai. Tahapan pemecahan masalah tersebut harus dikerjakan secara berurutan, tahap demi tahap, dan tidak boleh tumpang tindih (over lapping). Sehingga pemecahan masalah dapat berhasil guna
  2. Untuk keperluan pembelajaran. Pembelajaran kepada manusia maupun mesin. Karena itu, bentuk algoritma pemecahan suatu masalah itu harus mempunyai sifat yang umum. Artinya bahwa untuk masalah yang sama dengan kasus yang berbeda, algoritma tersebut masih tetap dapat dipakai sebagai pemecahannya
  3. Untuk mendapatkan cara, teknik atau proses sistematis dari atau untuk pemecahan suatu masalah
  4. Untuk menetapkan satu algoritma yang terbaik sebagai pemecahan suatu masalah yang dihadapi

KAPAN ALGORITMA ITU KITA PERLUKAN?

Pernyataan berikutnya yang perlu kita jawab tentang algoritma adalah kapan algoritma pemecahan masalah itu kita perlukan? Berdasarkan konsep dasar algoritma, bahwa sebagai langkah awal dari aktivitas pemecahan suatu masalah, maka semua masalah yang kita hadapi, pemecahannya perlu menggunakan algoritma.

Kategori masalah yang perlu algoritma

Kalau demikian, kapan algoritma itu kita butuhkan? Kita membutuhkan algoritma saat kita menghadapi sebuah masalah yang memenuhi kategori sebagai berikut:

  1. Masalah masuk dalam kategori yang rumit. Dimana dalam pemecahan masalahnya mempunyai lebih dari satu proses pengerjaan
  2. Membutuhkan waktu yang relatif lama dalam penguraian pemecahan masalah
  3. Membutuhkan berbagai pengetahuan pendukung lain
  4. Mempunyai satu atau lebih variabel yang nilainya belum pasti

Mengapa demikian? Alasanya adalah karena algoritma-algoritma yang tercipta dari suatu masalah, nantinya akan kita ajarkan baik kepada manusia maupun mesin, dalam hal ini adalah komputer.

Selain dari pada itu, suatu algoritma yang sudah tercipta, masih perlu kita analisis lagi. Tujuan menganalisis algoritma ini tentunya adalah untuk mengukur ke absahannya, yaitu terstruktur, efektif dan efisien.