Daftar isi
Jika mendengar kata algoritma, mungkin membuat kita mengingat tentang pemrograman, developer, dan semisalnya. Padahal sebenarnya algoritma merupakan sebuah proses atau metode yang bisa diterapkan dalam banyak bidang kehidupan, bahkan dalam kegiatan sehari-hari yang sederhana sekalipun.
Pada kesempatan kali ini, akan dibahas lebih jauh mengenai apa itu algoritma, baik pengertian, sejarah, ciri, fungsi, dan jenisnya.
Pengertian Algoritma
Dalam Kamus Besar Bahasa Indonesia (KBBI), Algoritma atau Algoritme didefinisikan sebagai sebuah prosedur sistematis untuk memecahkan masalah matematis dalam langkah-langkah terbatas. Definisi lainnya yang disebutkan dalam KBBI adalah bahwa algoritme adalah urutan logis pengambilan keputusan untuk pemecahan masalah.
Pengertian lain dari algoritma adalah sebagaimana yang dipaparkan oleh beberapa ahli, sebagai berikut:
- Menurut Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi, Algoritma adalah suatu metode khusus untuk menyelesaikan sebuah persoalan
- Menurut Goodman Hedet Niemi, Algoritma adalah urutan terbatas dari operasi-operasi terdefinisi dengan baik, yang mana masing-masing membutuhkan memori dan waktu terbatas untuk menyelesaikan suatu masalah.
- Thomas H. Cormen menyebutkan algoritma sebagai prosedur komputasi yang mengambil beberapa nilai sebagai input kemudian diproses sebagai output. Dengan kata lain, algoritma adalah urutan langkah komputasi yang mengubah input menjadi output
- Menurut Donald E. Knuth, Algoritma merupakan sekumpulan aturan berhingga yang memberikan sederet operasi untuk menyelesaikan suatu jenis masalah yang khusus.
- Rinaldi Munir mendeskripsikan algoritma sebagau urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Dari pengertian diatas, secara sederhana algoritma bisa diartikan sebagai suatu proses atau metode penyelesaian masalah dengan langkah-langkah yang sistematis.
Sejarah Algoritma
Cikal bakal algoritma berawal dari sebuah kitab berjudul al-Jam’a wa-l-tafrīq bi-ḥisāb al-Hind yang ditulis oleh seorang ilmuwan muslim yang bernama Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Dalam kitab tersebut merupakan buku ilmu pengetahuan pertama yang ditulis dengan menggunakan sistem bilangan desimal.
Kitab tersebut banyak diterjemahkan ke dalam bahasa latin dengan judul Algoritmi de numero Indorum. Dalam lileratur barat Al-Khawarizmi dikenal dengan nama Algorizm. Sebutan tersebut kemudian digunakan untuk menyebut konsep algoritma sebagaimana yang dikenal saat ini.
Pada tahun 1928, seorang matematikawan berkebangsaan Jerman yang bernama David Hilbert mendefinisikan arti dari metoda efektif (kalkulasi efektif). Hilbert mengutarakan sebagian formulasi dari konsep dasar algoritma yang selanjutnya menjadi algoritma modern dimulai dengan upaya memecahkan permasalahan.
Pada tahun 1950, Euclide, seorang matematikawan Yunani, menulis sebuah buku yang ia beri judul Element. Di dalam buku tersebut ia menjelaskan prosedur untuk mencari pembagi bersama terbesar diantara dua bilangan bulat. Euclide memang tidak menyebut metodenya sebagai algoritma, namun para ahli menyatakan bahwa prosedur yang digunakan Euclide tersebut merupakan metode algoritma.
Ciri-Ciri Algoritma
Dalam Rinaldi Munir (2007) disebutkan bahwa menurut Donald E. Knuth, algoritma setidaknya memiliki lima ciri-ciri penting, yakni:
- Algoritma berhenti atau berakhir setelah mengerjakan beberapa langkah terbatas (Finiteness atau mempunyai akhir).
- Setiap langkah harus didefinisikan dengan tepat (presisi) dan tidak ambigu (bermakna ganda).
- Memiliki nol atau lebih input (masukan) yang diberikan kepada algoritma untuk diproses
- Memiliki nol atau lebih output (keluaran), baik berupa pesan atau besaran yang memiliki hubungan dengan input.
- Algoritma harus efektif dan efisien, setiap langkahnya sederhana dan dapat dikerjakan dalam waktu yang masuk akal.
Fungsi Algoritma
Diantara fungsi dari algoritma adalah:
- Memudahkan dalam memecahkan masalah yang rumit
- Menyederhanakan masalah yang rumit
- Dapat digunakan berulang kali, sehingga tidak perlu membuat algoritma berulang kali.
- Memudahkan dalam kegiatan pemrograman atau membuat program, salah satunya dengan membuat flowchart terlebih dahulu.
- Mengatasi masalah dengan logika
Jenis-Jenis Algoritma
Berdasarkan strukturnya ada 3 jenis algoritma, yaitu sebagai berikut:
1. Sequence
Algoritma sequence ditandai dengan adanya serangkaian langkah dimana setiap langkan akan diselesaikan atau dieksekusi satu demi satu
2. Branching
Algoritma branching atau dikenal dengan algoritma seleksi ditandai dengan adanya permasalahan “jika”…”maka” yang menghasilkan 2 output, yaitu A jika kondisi benar dan B jika kondisi salah.
3. Loop
Algoritma loop atau algoritma tipe pengulangan merupakan algoritma yang ditandai dengan permasalahan “while” dan “for”. Proses yang berulang bisa tejadi dalam algoritma jenis ini, akan tetapi harus berakhir setelah sejumlah loop dalam kondisi tersebut.
Contoh Penerapan Algoritma
Sebagaimana telah disebutkan sebelumnya bahwa logika algoritma bisa diterapkan dalam berbagai bidang ilmu dan juga dalam kegiatan keseharian.
Contoh penerapan algoritma dalam kegiatan keseharian misalnya dalam membuat juice. Saat seseorang hendak membuat juice buah mangga misalnya, maka ia harus melakukan prosedur atau langkah-langkah sebagai berikut:
- Siapkan peralatan yang diperlukan, seperti buah, air, madu/gula/susu, gelas, pisau, sendok, dan blender.
- Kupas dan potong buah dalam potongan kecil.
- Masukkan potongan buah ke dalam blender.
- Tambahkan air dan madu/susu/gula
- Tutup blender dengan benar
- Hubungkan blender ke stop kontak
- Tekan tombol untuk mulai memblender buah
- Tunggu beberapa saat hingga buah hancur sempurna
- Tuang juice ke dalam gelas dan siap disajikan (selesai)
Dalam bidang matematika, algoritma bisa digunakan untuk menyelesaikan sebuah permasalahan hitungan. Sebagai contoh untuk menyelesaikan sistem persamaan dari dua variabel:
2x + 3y = 7
3x + 3y = 9
Maka dikerjakan dengan prosedur atau langkah-langkah sebagai berikut:
- Tentukan nilai x dengan mengeliminasi y dari persamaan tersebut
2x + 3y = 7
3x + 3y = 9
——————- –
-x = -2 à x=2
- Tentukan nilai y dengan memasukkan atau subtitusi nilai x yang telah diketahui ke dalam salah satu persamaan
2x + 3y = 7
2(2) + 3y = 7
4 + 3y = 7
3y = 7-4
3y = 3
Y = 1
- Nilai x dan y telah diketahui (selesai)
Kesimpulan Pembahasan
Ada beberapa pengertian dari algoritma yang disampaikan oleh para ahli. Secara singkat, algoritma bisa diartikan sebagai metode atau prosedur berupa langkah-langkah yang logis dan sistematis untuk menyelesaikan suatu masalah.
Kata algoritma merupakan istilah untuk menyebut seorang ilmuwan muslim bernama Al-Khawarizmi, yang mana karya beliau al-Jam’a wa-l-tafrīq bi-ḥisāb al-Hind diterjemahkan dalam bahasa latin Algoritmi de numero Indorum. Perkembangan algoritma selanjutnya adalah dengan digunakannya prosedur algoritma dalam karya seorang matematikawan Yunani bernama Euclide yang berjudul Elemen, yang mana prosedur yang digunakannya pada perkembangannya menjadi awal algoritma modern.
Diantara ciri-ciri algoritma adalah: Finiteness atau memiliki akhir, setiap langkahnya tepat/presisi dan tidak ambigu, memiliki input, memiliki output, serta efektif dan efisien. Fungsi utama algoritma adalah untuk menyelesaikan suatu permasalahan dan menyederhanakan permasalahan yang rumit. Adapun jenis-jenis logaritma terdiri dari logaritma sequence, branching, dan loop.