Saat mendengar ataupun membaca kata algoritma, sebagian besar orang pasti akan berpikir bahwa kata tersebut berkaitan dengan bahasa pemrograman, matematika, ataupun ilmu komputer.
Pemikiran dan anggapan tersebut memang tidak salah, namun apa pengertian algoritma yang sebenarnya? Nah, pada kesempatan kali ini, kita akan membahas Algoritma – Pengertian, Sejarah, ciri-ciri, Jenis-jenis, dan Fungsi dari algoritma itu sendiri. Untuk itu, baca artikel tentang algoritma ini hingga selesai.
Pengertian Algoritma
Algoritma adalah logika, metode dan tahapan “urutan” sistematis yang digunakan untuk memecahkan suatu permasalahan. Algoritma dapat juga diartikan sebagai urutan langkag secara sistematis dan logis. Dalam perkembangannya, algoritma banyak dipakai di bidang komputer.
Secara spesifik, pengertian algoritma ialah suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara matematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.
Jadi berdasarkan definisi ini, dapat dikatakan algoritma merupakan langkah penyelesaian suatu masalah yang menghasilkan solusi dalam bentuk program komputer. Namun penting diketahui bahwa algoritma tidaklah tergantung oleh suatu bahasa pemrograman tertentu, artinya suatu algoritma harus dapat diwujudkan oleh bahasa pemrograman komputer apapun.
Algoritma dapat disajikan dalam dua bentuk yaitu dalam bentuk tulisan/bahasa dan dalam bentuk gambar. Penyajian algoritma dalam bentuk tulisan haruslah menggunakan bahasa yang dapat dimengerti manusia dalam menyajikan langkah-langkah algoritma. Penyajian algoritma dalam bentuk tulisan juga dapat dilakukan menggunakan pseudocode.
Pseudocode berasal dari kata pseudo yang berarti “mirip atau menyerupai” dan code yang berarti “kode program”. Contoh bahasa pemrograman yang digunakan untuk menyatakan pseudocode ialah BASIC, Pascal, C, dan lain-lain. Sedangkan, penyajian algoritma dalam bentuk gambar sering disebut flow chart.
Sejarah Algoritma
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 “Algorithmi de numero Indorum”.
Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
Masalah timbul pada saat akan menuangkan bagaimana proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti yang diharapkan. Programer komputer akan lebih nyaman menuangkan prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu membuat gambaran (diagram alur) diatas kertas.
Ciri-ciri Algoritma
Adapun ciri algoritma sebagai berikut:
- Ada Input
- Ada proses
- Ada Output
- Memiliki Instruksi-Instruksi yang jelas dan tidak Ambigu
- Harus mempunyai Stoping Role
Fungsi Algoritma
Berikut ini terdapat beberapa fungsi algoritma, terdiri atas:
- Menggunakan fungsi algoritma bisa digunakan untuk memecahkan program yang rumit.
- Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi program yang lebih sederhana.
- Fungsi algoritma bisa digunakan secara berulang atau lebih dari satu kali penggunaan.
- Memudahkan dalam pembuatan program.
- Bisa mengatasi segala masalah dengan logika dan urut.
- Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga devide and conguer.
- Meminimalisir penulisan program yang berulang-ulang.
- Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat lebih mudah untuk dipahami ataupun dikembangkan.
- Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa mendapatkan alur yang jelas.
- Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul saja tanpa harus merubah dan mengganggu modul yang lain.
- Dokumentasi yang lebih mudah.
Jenis-Jenis Algoritma
Berikut ini terdapat beberapa jenis-jenis algoritma, terdiri atas:
1. Divide and Conquer
Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkanpermasalahan-permasalahan kecil yang terbentuk.
2. Dynamic programming
Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
3. Metode serakah
Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
4. Sistem Flowchart
Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Sistem flow chart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.
5. Pseudo Code (Kode Semu)
Pseudo Code (kode semu) merupakan metode yang cukup efisien untuk menggambarkan suatu algoritma . Pseudo Code dituliskan dengan menggunakan bahasa yang mudah dipahami (boleh menggunakan bahasa Indonesia) agar alur logika yang digambarkan dapat dimengeti oleh orang awam sekalipun.
Flowchart Pseudo Code (kode semu) disusun dengan tujuan untuk menggambarkan tahap-tahap penyelesaian suatu masalah dengan kata-kata (teks). Metode ini mempunyai kelemahan, dimana penyusunan algoritma dengan kode semu sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kdang sulit dipahami oleh orang lain.
Oleh karena itu kemudian dikembangkan suatu metode lain yang dapat menggambarkan suatu algoritma program secara lebih mudah dan sederhana yaitu dengan menggunakan flowchart (diagram alir).
Manfaat Algoritma
Adapun manfaat algoritma sendiri yaitu untuk membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pada pola pikirnya masing-masing.
Sifat Algoritma
Adapun sifat algoritma sebagai berikut:
- Tidak menggunakan syimbol atau syintaks dari suatu bahasa pemograman.
- Tidak tergantung pada suatu bahasa pemograman.
- Notasi-notasinya dapat digunakan untuk seluruh bahasa pemograman.
Struktur Dasar Algoritma
Struktut algoritma adalah urutan bagaimana pemrosesan instruksi dalam algoritma dilakukan dan juga bagaimana struktur instruksi algoritma tersebut dibagun.
Struktur dasar algoritma dibagi menjadi 3 bagian sebagai berikut:
1. Runtunan (Sequence)
Sequence atau runtunan dalam struktur algoritma adalah bahwa instruksi-insturksi dalam algoritma diproses secara beruntun langkah demi langkah dari awal sampai akhir dimulai dari langkah pertama hingga langkah terakhir.
Harus selalu diingat, bahwa Runtunan ini juga berlaku di dalam bahsa pemrograman, ketika instruksi bahasa pemrograman yang kita tulis di proses oleh komputer, maka komputer akan memproses dan menterjemahkan bahasa pemrograman tersebut secara beruntun dari awal hingga akhir dimulai dari instruksi pada baris pertama hingga baris terakhir.
Dengan struktur runtunan ini, akan menentukan bagaimana insturksi harus ditulis, intruksi mana yang harus didahulukan dan intruksi mana yang harus diakhirkan.
2. Pemilihan (Selection)
Pada umumnya instruksi algoritma setidaknya akan mengandung pemilihan, atau selection, instruksi ini akan muncul apabila ada kasus yang memiliki 2 atau lebih alternatif penyelesaian.
Misalkan dalam kehidupan sekali-kali, untuk kasus menyalakan komputer. Langkah-langkah cara menyalakan komputer sebenarnya sangat mudah, namun pada prosesnya bisa terjadi 2 atau lebih alternatif penyelesaian.
Contoh:
langkah 1: colokan kabel listrik,
langkah 2: tekan tombol power pada cashing.
langkah 3: jika setelah power ditekan komputer mati, maka periksa listrik atau periksa kabel dll, jika komputer menyala, lanjutkan ke langkah berikutnya.
….
….
Langkah 3 di atas merupakan salah satu bentuk pemilihan atau selection, bahwa pada saat proses menyalakan komputer bisa kemungkinan terjadi 2 kondisi, komputer tatap mati atau hidup, dimana kedua kondisi tersebut akan memiliki alternatif penyelesaian yang berbeda.
Di dalam struktur algoritma pemilihan atau selection tersebut akan kerap sekali ditemukan, sehingga struktur algoritma tidak lepas dari pemilihan/ selection. pemilihan atau selection dipelajari di bab algoritma Selection / Flow Control).
3. Pengulangan (Repitition)
Struktur dasar algoritma yang ketiga adalah pengulangan atau repitition, artinya kasus-kasus pemecahan masalah dalam algoritma maupun bahasa pemrograman pada kenyataannya tidak akan lepas dari kasus-kasus yang membutuhkan pengulangan.
Di algoritma sendiri untuk mengatasi kasus pengulangan data, memiliki intruksi tersendiri, dengan intruksi tersebut pengulangan akan lebih mudah ditulis secara singkat dan praktis daripada harus di tulis satu-persatu.
Demikian info kali ini terkait Algoritma – Pengertian, Sejarah, ciri-ciri, Jenis-jenis, dan Fungsi. semoga apa yang di jelaskan di atas dapat dimengerti dan diterapkan dalam kehidupan sehari