<p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Berikut ini bentuk dasar algoritma:</span></span></span></p> <ul> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Algoritma Sekuensial (Sequence Algorithm)</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Algoritma Perulangan (Looping Algorithm)</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Algoritma Percabangan atau Bersyarat (Conditional Algorithm)</span></span></span></li> </ul> <h2 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Pengertian Algoritma Menurut Para Ahli</strong></span></span></span></h2> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Supaya dapat lebih memahami mengenai apa itu algoritma, maka kita bisa merujuk pada beberapa pendapat para ahli dibawah ini:</span></span></span></p> <h3 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>1. Menurut Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi</strong></span></span></span></h3> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <h3 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>2. Menurut Donald Ervin Knuth</strong></span></span></span></h3> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Donald Ervin Knuth menyatakan bahwa, definisi algoritma ini merupakan sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi di dalam menyelesaikan suatu masalah tertentu.</span></span></span></p> <h3 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>3. Menurut S. E. Goodman dan S.T. Hedetniemi</strong></span></span></span></h3> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <h3 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>4. Menurut Seymour Lipschutz dan Marc Lipson</strong></span></span></span></h3> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <h3 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>5. Menurut Marvin Minsky</strong></span></span></span></h3> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <h3 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>6. Menurut Andrey Andreyevich Markov</strong></span></span></span></h3> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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.</span></span></span></p> <h2 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Kriteria Algoritma</strong></span></span></span></h2> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Algoritma ini mempunyai 5 (lima) ciri utama yang saling berhubungan satu dengan lainnya. Menurut Donald E. Knuth, adapun kriteria algoritma ini diantaranya sebagai berikut:</span></span></span></p> <ul> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Ada Input</strong>, ini merupakan suatu permasalahan yang dihadapi serta akan dicarikan solusinya. Algoritma ini mempunyai nol atau lebih input (masukan).</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Ada Proses</strong>, merupakan suatu rencana atau langkah-langkah yang harus dilakukan untuk dapat mencapai tujuan akhir.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Ada Output</strong>, merupakan suatu solusi atau tampilan akhir yang didapatkan dari suatu algoritma. Algoritma ini memiliki minimal satu output.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Ada intruksi-intruksi yang jelas dan juga tidak ambigu</strong>, merupakan suatu instrukti yang jelas di dalam algoritma sehingga tidak terjadi kesalahan di dalam menghasilkan output.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Ada tujuan akhir yang dicapai</strong>, merupakan suatu akhir dari program yang mana program tersebut akan berhenti ketika tujuan akhir itu telah tercapai.</span></span></span></li> </ul> <h2 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Tujuan dan Fungsi Algoritma</strong></span></span></span></h2> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>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:</span></span></span></p> <ul> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Untuk membantu menyederhanakan suatu program yang rumit dan besar.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Untuk memudahkan di dalam membuat sebuah program untuk masalah tertentu.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Algoritma dapat/bisa digunakan berkali-kali untuk menyelesaikan suatu permasalahan.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Membantu dialam memecahkan suatu permasalahan dengan logika dan sistematis.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Untuk meminimalisir penulisan program secara berulang-ulang.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Supaya bisa/dapat melakukan pendekatan top-down dan divide and conquer.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Untuk nosa memudahkan membuat program yang lebih rapih serta terstruktur sehingga akan lebih mudah dipahami serta dikembangkan.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Memudahkan proses modifikasi pada program karena dapat dilakukan hanya pada satu modul itu tanpa harus mengubah modiul lainnya.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Pada saat terjadi kesalahan, algoritma itu dapat membantu dalam menemukannya karena alur kerja yang jelas.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Memudahkan suatu proses dokumentasi.</span></span></span></li> </ul> <h2 style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Klasifikasi Algoritma</strong></span></span></span></h2> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Algoritma ini dapat diklasifikasikan dengan berdasarkan implementasinya. Mengacu pada pengertian algoritma yang diuraikan di atas, dibawah ini merupakan klasifikasi algoritma diantaranya sebagai berikut:</span></span></span></p> <ul> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Rekursi dan Iterasi</strong>; 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.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Logical</strong>; Algoritma logical ini merupakan suatu algoritma yang dapat memposisikan diri seperti logika deduksi yang terkontrol.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Serial, Parallel, atau Terdistribusi</strong>; 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.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Deterministik atau Non-deterministik</strong>; 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.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Tepat atau Perkiraan;</strong> 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.</span></span></span></li> <li style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'><strong>Algoritma Quantum</strong>; Algoritma quantum ini merupakan suatu algoritma yang menggunakan model realistik dari komputasi quantum.</span></span></span></li> </ul> <p style='text-align:justify'><span style='font-size:14px'><span style='font-family:Arial,Helvetica,sans-serif'><span style='color:#000000'>Sekian dan terima kasih sudah membaca mengenai Pengertian Algoritma, Fungsi, Tujuan, Kriteria dan Klasifikasinya, semoga apa yang diuraikan diatas dapat bermanfaat untuk anda.</span></span></span></p>