Di dalam ilmu komputer sera matematika, pengertian algoritma ini ialah suatu urutan dari beberapa langkah logis serta sistematis yang digunakan di dalam menyelesaikan masalah tertentu.
Pendapat lain juga mengatakan definisi algoritma ini ialah suatu proses atau serangkaian aturan yang harus diikuti di dalam perhitungan atau operasi pemecahan masalah lainnya, terutama itu oleh komputer. Dengan kata lain, seluruh susunan logis yang diurutkan dengan berdasarkan sistematika tertentu serta digunakan untuk memecahkan suatu masalah itu bisa/dapat disebut dengan algoritma.
Algoritma ini digunakan untuk melakukan penghitungan, penalaran otomatis, serta juga mengolah data pada komputer dengan menggunakan software. Dalam algoritma itu terdapat rangkaian terbatas dari beberapa intruksi di dalam menghitung suatu fungsi yang apabila dieksekusi serta diproses akan menghasilkan output, lalu berhenti pada kondisi akhir yang sudah ditentukan.
Berikut ini bentuk dasar algoritma:
- Algoritma Sekuensial (Sequence Algorithm)
- Algoritma Perulangan (Looping Algorithm)
- Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
Pengertian Algoritma Menurut Para Ahli
Supaya dapat lebih memahami mengenai apa itu algoritma, maka kita bisa merujuk pada beberapa pendapat para ahli dibawah ini:
1. Menurut Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi
Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi (ahli matematika dari Uzbekistan) menyatakan bahwa, pengertian algoritma ini merupakan suatu metode khusus yang digunakan di dalam menyelesaikan permasalahan.
2. Menurut Donald Ervin Knuth
Donald Ervin Knuth menyatakan bahwa, definisi algoritma ini merupakan sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi di dalam menyelesaikan suatu masalah tertentu.
3. Menurut S. E. Goodman dan S.T. Hedetniemi
Goodman serta Hedetniemi menyatakan bahwa, pengertian algoritma ini merupakan suatu urutan terbatas dari operasi-operasi yang terdefinisi dengan baik, yang mana masing-masing membutuhkan memori serta waktu yang terbatas di dalam menyelesaikan suatu masalah.
4. Menurut Seymour Lipschutz dan Marc Lipson
Seymour Lipschutz dan Marc Lipson (praktisi matematika serta komputer)menyatakan bahwa, pengertian algoritma ini merupakan suatu daftar langkah demi langkah yang terhingga dari intruksi-intruksi yang terdefinisikan itu dengan jelas yang digunakan untuk dapat memecahkan permasalahan tertentu.
5. Menurut Marvin Minsky
Marvin Minsky merupakan pakar Artificial Intelligence menyatakan bahwa, pengertian algoritma ini merupakan seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya ialah bagaimana untuk bertindak.
6. Menurut Andrey Andreyevich Markov
Andrey Andreyevich Markov (ahli matematika dari Rusia) menyatakan bahwa, pengertian algoritma ini merupakan hal umum untuk dipahami ialah sebagai suatu keputusan yang tepat untuk dapat mendefinisikan proses komputasi yang mengarahkan dari data awal hingga hasil yang diinginkan.
Kriteria Algoritma
Algoritma ini mempunyai 5 (lima) ciri utama yang saling berhubungan satu dengan lainnya. Menurut Donald E. Knuth, adapun kriteria algoritma ini diantaranya sebagai berikut:
- Ada Input, ini merupakan suatu permasalahan yang dihadapi serta akan dicarikan solusinya. Algoritma ini mempunyai nol atau lebih input (masukan).
- Ada Proses, merupakan suatu rencana atau langkah-langkah yang harus dilakukan untuk dapat mencapai tujuan akhir.
- Ada Output, merupakan suatu solusi atau tampilan akhir yang didapatkan dari suatu algoritma. Algoritma ini memiliki minimal satu output.
- Ada intruksi-intruksi yang jelas dan juga tidak ambigu, merupakan suatu instrukti yang jelas di dalam algoritma sehingga tidak terjadi kesalahan di dalam menghasilkan output.
- Ada tujuan akhir yang dicapai, merupakan suatu akhir dari program yang mana program tersebut akan berhenti ketika tujuan akhir itu telah tercapai.
Tujuan dan Fungsi Algoritma
Pada dasarnya tujuan serta fungsi utama dari algoritma ialah untuk memecahkan suatu masalah. Lebih jelasnya, dibawah ini merupakan tujuan dan fungsi algoritma diantaranya sebagai berikut:
- Untuk membantu menyederhanakan suatu program yang rumit dan besar.
- Untuk memudahkan di dalam membuat sebuah program untuk masalah tertentu.
- Algoritma dapat/bisa digunakan berkali-kali untuk menyelesaikan suatu permasalahan.
- Membantu dialam memecahkan suatu permasalahan dengan logika dan sistematis.
- Untuk meminimalisir penulisan program secara berulang-ulang.
- Supaya bisa/dapat melakukan pendekatan top-down dan divide and conquer.
- Untuk nosa memudahkan membuat program yang lebih rapih serta terstruktur sehingga akan lebih mudah dipahami serta dikembangkan.
- Memudahkan proses modifikasi pada program karena dapat dilakukan hanya pada satu modul itu tanpa harus mengubah modiul lainnya.
- Pada saat terjadi kesalahan, algoritma itu dapat membantu dalam menemukannya karena alur kerja yang jelas.
- Memudahkan suatu proses dokumentasi.
Klasifikasi Algoritma
Algoritma ini dapat diklasifikasikan dengan berdasarkan implementasinya. Mengacu pada pengertian algoritma yang diuraikan di atas, dibawah ini merupakan klasifikasi algoritma diantaranya sebagai berikut:
- Rekursi dan Iterasi; Algoritma rekursi ini merupakan algoritma yang memanggil dirinya sendiri dengan secara berulang-ulang. Sedangkan untuk algoritma iterasi ini ialah algoritma yang memakai konstrukti berulang yang mana terkadang terdapat data tambahan pada struktur yang dibuat.
- Logical; Algoritma logical ini merupakan suatu algoritma yang dapat memposisikan diri seperti logika deduksi yang terkontrol.
- Serial, Parallel, atau Terdistribusi; Algoritma serial ini merupakan suatu algoritma yang menjalankan satu instruksi saja. Algoritam parallel ini merupakan suatu algoritma yang dapat mengerjakan suatu perintah itu dalam waktu yang sama. Sedangkan algoritma terdistribusi ini merupakan suatu algoritma yang memakai banyak mesin yang terkoneksi dengan jaringan.
- Deterministik atau Non-deterministik; Algoritma deterministik ini merupakan suatu algoritma yang bisa/dapat memecahkan suatu masalah dengan keputusan yang tepat. Sedangkan untuk algoritma Non-deterministik ini merupakan suatu algoritma yang memecahkan suatu masalah dengan metode penerkaan.
- Tepat atau Perkiraan; Suatu algoritma itu mungkin saja mempunyai solusi yang tepat, atau setidaknya mempunyai/memiliki suatu perkiraan yang mendekati solusi yang benar. Dalam merumuskannya itu dapat dilakukan dengan strategi deterministic ataupun secara acak.
- Algoritma Quantum; Algoritma quantum ini merupakan suatu algoritma yang menggunakan model realistik dari komputasi quantum.
Sekian dan terima kasih sudah membaca mengenai Pengertian Algoritma, Fungsi, Tujuan, Kriteria dan Klasifikasinya, semoga apa yang diuraikan diatas dapat bermanfaat untuk anda.