projasaweb logo

Apa Itu Algoritma? Contohnya dan Syaratnya

Estimasi Waktu Baca 4 Menit

Algoritma adalah prosedur langkah demi langkah untuk memecahkan masalah atau mencapai tujuan tertentu. (kamus Merriam Webster)

Algoritma selalu menyajikan serangkaian langkah tapi tidak selalu berhubungan dengan komputer atau matematika. Cakupan algoritma sangat besar. Anda dapat menemukan algoritma yang memecahkan masalah dalam sains, kedokteran, keuangan, produksi dan pasokan industri, dan komunikasi.

Algoritma dapat diterapkan pada setiap bagian dari kehidupan kita. Setiap kali urutan tindakan untuk mencapai sesuatu itu terdefinisi dengan baik, dan efektif, Anda dapat menganggapnya sebagai suatu algoritma.

Misalnya, Anda dapat mengubah sesuatu yang sepele dan sederhana seperti membuat roti panggang menjadi sebuah algoritma. Anda dapat menggunakan algoritma untuk dijalankan dalam kehidupan sehari-hari. Anda bisa membuat algoritma untuk menyikat gigi, misalnya :

  • Buka tabung pasta gigi
  • Ambil sikat gigi Anda
  • Tekan tabung pasta gigi hingga pastanya keluar
  • Oleskan pasta gigi ke sikat gigi Anda
  • Masukkan sikat ke dalam mulut Anda
  • Mulai menyikat selama 5 menit
  • dll.

Meskipun begitu, tidak semua rangkaian tatacara atau proses itu dapat disebut sebagai sebuah algoritma. Ada beberapa syarat yang harus dipenuhi untuk itu.

Syarat Algoritma

syarat algoritma menurut algorithms for dummies
syarat algoritma menurut algorithms for dummies

Tidak semua tatacara atau proses itu bisa dikatakan sebagai algortima. Menurut John Paul Mueller dan Luca Massaron dalam buku Algorithms For Dummies, ada beberapa syarat agar suatu proses dapat merepresentasikan suatu algoritma.

  • Terbatas. Algoritma harus menyelesaikan suatu masalah tertentu, sehingga ada batasan yang jelas mengenai keberhasilan suatu algoritma.
  • Terdefinisi dengan baik. Serangkaian langkah harus tepat dan menyajikan langkah-langkah yang dapat dipahami. Apalagi jika melibatkan komputer, Anda harus yakin bahwa komputer dapat memahami langkah-langkah yang akan dijalankan.
  • Efektif. Suatu algoritma harus dapat menyelesaikan semua kasus masalah yang sesuai dengan tujuan pembuatannya. Meskipun Anda harus mengantisipasi beberapa kegagalan, insiden kegagalan jarang terjadi dan hanya terjadi dalam situasi yang dapat diterima untuk penggunaan algoritma yang dimaksud.

Ekspresi Algoritma

Algoritma dapat diekspresikan dalam berbagai jenis cara menulis atau notasi yaitu :

Bahasa Alami (natural language)

Bahasa alami atau bahasa biasa merupakan bahasa yang biasa kita gunakan. Bahasa alami adalah bahasa apa pun yang telah berkembang secara alami pada manusia melalui penggunaan dan pengulangan tanpa perencanaan yang disengaja.

Contoh ekspresi algoritma menggunakan bahasa alami dapat Anda lihat pada contoh di awal bahas kita, yaitu algoritma untuk menyikat gigi yang dibahas pada paragraf ke empat dari artikel ini.

Pseudocode

Pseudocode adalah deskripsi bahasa sederhana tentang langkah-langkah dalam suatu algoritma atau sistem lain.

Structured Basic style pseudocode:

Sub fizzbuzz()
  For i = 1 to 100
    print_number = True
    If i is divisible by 3 Then
      Print "Fizz"
      print_number = False
    End If
    If i is divisible by 5 Then
      Print "Buzz"
      print_number = False
    End If
    If print_number = True Then print i
    Print a newline
  Next i
End Sub

Flowchart

Flowchart adalah jenis diagram yang mewakili alur kerja atau proses. Flowchart juga dapat didefinisikan sebagai representasi diagram dari suatu algoritma, pendekatan langkah demi langkah untuk menyelesaikan tugas.

ekspresi algoritma euclid dengan flowchart
ekspresi algoritma euclid dengan flowchart (sumber : Wikipedia)

Bahasa Pemrograman 

Bahasa pemrograman adalah seperangkat aturan yang mengubah string, atau elemen lain ke berbagai jenis output kode mesin mengimplementasikan algoritma.

ekspresi algoritma bahasa pemrograman python
ekspresi algoritma bahasa pemrograman python (sumber : w3schools)

Masih ada beberapa cara menuliskan algoritma selain empat cara yang telah disebut di atas, seperti drakon-chart dan tabel kontrol. Tapi yang patut dicatat adalah ekspresi bahasa alami dari algoritma cenderung bertele-tele dan ambigu sehingga jarang digunakan untuk algoritma yang kompleks dan teknis. Untuk menghindari ambiguitas sebaiknya jangan menggunakan bahasa alami. 

Asal Usul Algoritma

Kata Algoritma itu berasal dari bahasa Inggris yaitu algorithm. Sedangkan Algorithm itu sendiri berasal dari bahasa Latin yaitu algoritmi. Sedangkan algoritmi itu merupakan terjemahan Latin dari bahasa Arab yaitu Al-Khwārizmī. Kata Al-Khwārizmī diambil dari seorang ilmuwan bernama Muḥammad ibn Mūsā al-Khwārizmī. Namanya adalah Muhammad ibn Musa, sedangkan Al-Khwārizmī berarti penduduk asli Khwarezm, yang sekarang berada di Khiva, Uzbekistan.

perangko muḥammad ibn mūsā al khwārizmī
Prangko terbitan 6 September 1983 di Uni Soviet memperingati ulang tahun al-Khwārizmī yang ke-1200 (sumber : wikipedia)

Muḥammad ibn Mūsā al-Khwārizmī hidup sekitar tahun 780–850 masehi. Ia adalah muslim Persia yang ahli dibidang matematika, astronomi, geografi dan sarjana di House of Wisdom atau Grand Library of Baghdad atau Bayt al-Ḥikmah di Baghdad.

Ia menulis sebuah risalah dalam bahasa Arab pada abad ke-9, yang diterjemahkan ke dalam bahasa Latin pada abad ke-12 dengan judul Algoritmi de numero Indorum. Judul ini berarti “Algoritmi pada bilangan orang India”, di mana “Algoritmi” adalah Latinisasi penerjemah dari nama Al-Khawarizmi. Dari sinilah kemudian muncul istilah algorithm.

Al-Khwarizmi adalah matematikawan yang karyanya paling banyak dibaca di Eropa pada akhir Abad Pertengahan, terutama melalui bukunya The Compendious Book on Calculation by Completion and Balancing (al-Kitāb al-Mukhtaṣar fī Ḥisāb al-Jabr wal-Muqābalah). Inilah yang biasa kita kenal dengan istilah Aljabar.

Tapi jangan salah, konsep algoritma telah ada sejak jaman dahulu, berikut ini adalah beberapa contoh penggunaan algoritma kuno menurut buku “A History of Algorithms” karya Jean-Luc Chabert :

buku a history of algorithms
buku A History of Algorithms
  • Algoritma pembagian digunakan oleh matematikawan Sumeria kuno 2500 SM.
  • Algoritma perhitungan invers oleh matematikawan Babilonia 1900 SM,
  • Algoritma matematika dari Mesir Kuno pada Rhind Papyrus 1550 SM.
  • Algoritma dalam saringan Eratosthenes untuk menemukan bilangan prima dari Yunani Kuno 240 SM
  • Algoritma persamaan tak tentu oleh Aryabhata dari India Kuno pada abad 5M
  • Algoritma kriptografi untuk pemecahan kode berdasarkan analisis frekuensi oleh matematikawan Arab, al-Kindi pada abad 9M.
  • Dan masih banyak lagi yang lainnya

 

Photo of author

Kanada Kurniawan

Merupakan founder dari Projasaweb. Aktif menulis tentang SEO, SEM dan Social Media serta perkembangan terbaru digital marketing.
Photo of author

Kanada Kurniawan

Merupakan founder dari Projasaweb. Aktif menulis tentang SEO, SEM dan Social Media serta perkembangan terbaru digital marketing.

Tinggalkan komentar

Share via