Apa itu Algoritma ? Pertanyaan ini mungkin masih kerap kali menganjal di benak teman-teman, apalagi bagi teman-teman yang baru kuliah di jurusan Teknik Informatika, pasti tidak asing lagi dengan kata Algoritma
Berikut Adhaiskhazifa mencoba membahas tentang penjelasan dari Pengertian, Sejarah dan Klasifikasi Algoritma.
Apa Itu Algoritma? Pengertian, Sejarah, Klasifikasi, Fungsi dan Contoh Algoritma
Pengertian Algoritma
Algoritma adalah serangkaian aturan dan langkah-langkah yang logis dan sistematis yang digunakan untuk mencari solusi dalam menyelesaikan suatu masalah tertentu.
Algoritma memiliki beberapa langkah dan instruksi-instruksi yang digunakan dalam penyelesaian masalah, serta memiliki Input (kondisi awal) atau masukan permasalahan, deskripsi, proses atau eksekusi dan output yang merupakan hasil dari eksekusi algoritma yang telah dilakukan.
Algoritma dapat diimplementasikan dalam berbagai kegiatan kehidupan sehari-hari seperti membuat algoritma untuk memasak nasi goreng, memasak air, membuat kopi dan lain sebagainya.
Pada umumnya algoritma digunakan dalam bidang ilmu komputer terutama dalam pemrograman dengan tujuan sebagai prosedur agar mempermudah menyelesaikan suatu masalah yang akan di konversi kan untuk perancangan sebuah program aplikasi. Algoritma dapat digunakan untuk menyelesaikan suatu masalah untuk melakukan perhitungan, mengolah data, penalaran, serta analisa dalam pengembangan perangkat lunak.
Pengertian Algoritma menurut Para Ahli
Algoritma menurut para ahli pun memiliki pengertian yang beragam, agar teman-teman lebih memahami apa itu algoritma, kita dapat melihat pendapat dari para ahli berikut yang menjelaskan tentang pengertian algoritma.
1. Al-Khawarizmi
Menurut ilmuan ternama islam yakni Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi atau yang lebih dikenal dengan nama Al-Khawarizmi Algoritma adalah suatu metode khusus yang digunakan untuk menyelesaikan permasalahan.
2. Seymour Saul Lipschutz dan Marc Lipson
Menurut Seymour Saul Lipschutz dan Marc Lipson yang merupakan praktisi matematika dan komputer memiliki definsi dari algoritma yaitu suatu daftar langkah demi langkah yang terhingga dari instruksi-instruksi yang terdefinisikan dengan jelas yang digunakan untuk memecahkan permasalahan tertentu.
3. Donald Ervin Knuth
Menurut Donald Ervin Knuth, Algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu masalah tertentu.
4. Marvin Minsky
Marvin Minsky seorang pakar Artificial Intelligence berpendapat algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya bagaimana untuk bertindak.
5. Andrey Andreyevich Markov
Seorang ahli matematika dari Rusia yakni Andrey Andreyevich Markov memahami algoritma sebagai hal umum untuk dipahami sebagai suatu keputusan yang tepat untuk mendefinisikan proses komputasi yang mengarahkan dari data awal hingga hasil yang diinginkan.
6. S. E. Goodman dan S.T. Hedetniemi
Menurut Goodman dan Hedetniemi Algoritma adalah urutan terbatas dari operasi-operasi yang terdefinisi dengan baik, dimana masing-masing membutuhkan memori dan waktu yang terbatas untuk menyelesaikan suatu masalah.
Sejarah Algoritma
Algoritma pertama kali dikenalkan melalui buku seorang ilmuan yang bernama Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi yang berjudul Kitab "Al-Jabar Wal-Muqabala" yang artinya “Buku Pemugaran dan Pengurangan”, dimana dalam buku tersebut algoritma tertulis dengan kata algorism, dan dari buku ini juga awal mula dari pengembangan ilmu aljabar atau dalam bukunya tertulis algebra
Jika melihat sejarahnya bahwa dalam buku nya Al-Khuwarizmi bahwa kata algoritma berasal dari kata algorism, lantas mengapa kata algorism berubah menjadi kata algorithm hingga saat ini.
Kata algorithm muncul karena pada saat itu terdapat kekeliruan dalam aritmetic dan algorism yang mana orang mengartikan kalau algorism adalah perhitungan dengan bahasa atau angka arab, sehingga mulai saat itu secara perlahan dilakukan prubahan pada kata algorism, dimana akhiran -sm diubah menjadi -thm dan dikenallah kata algorithm yang digunakan untuk sebuah proses perhitungan dan metode dalam komputasi, yang nama algorithm memiliki beberapa pertimbangan dalam prosesnya yang mempengaruhi dalam penentuan hasil output nya.
Kata algorithm jika kita serap dalam bahasa Indonesia memiliki arti Algoritma yang memiliki makna sama namun dengan penyebutan yang sedikit berbeda dengan tujuan agar lebih mudah dipahami dan diucapkan oleh masyarakat Indonesia.
Klasifikasi Algoritma
Melihat dari implementasi dan penerapannya dalam pemecahan masalah algoritma dapat di klasifikasikan sebagai berikut :
1. Algoritma Rekursi dan Iterasi
Algoritma Rekursi merupakan sebuah algoritma yang dapat memanggil dirinya secara berulang dalam struktur algoritma dalam keadaan tertentu.
Sedangkan Algoritma Iterasi adalah algoritma yang menggunakan konstruksi secara berulang ketika ada penambahan aktifitas dalam struktur algoritma.
2. Algoritma Logical
Algoritma logical merupakan algoritma yang dapat memposisikan dirinya dalam sebuah struktur sebagai logika deduksi yang dapat diatur dan di kontrol dalam penggunaannya.
3. Algoritma Serial, Paralel, dan Terdistribusi
Algoritma serial adalah algoritma yang hanya dapat menjalankan satu instruksi saja dalam satu waktu tertentu.
Algoritma paralel merupakan kebalikan dari algoritma serial dimana paralel adalah algoritma yang dapat menjalankan banyak perintah dalam waktu yang sama. Sedangkan Algoritma Terdistribusi adalah penggabungan dari serial dengan paralel dimana algoritma terdistribusi menjalankan satu atau pun banyak perintah dengan kondisi tertentu dengan koneksi yang terhubung ke mesin jaringan nantinya
4. Algoritma Deterministik dan Non Deterministik
Algoritma Deterministik adalah algoritma yang dapat menyelesaikan atau pun memecahkan suatu masalah dengan solusi yang tepat.
Sedangkan Algoritma Non Deterministik adalah algoritma menyelesaikan suatu masalah dengan hasil solusi berupa terkaan atau pun kiraan.
5.Algoritma Tepat dan Perkiraan
Dalam menyelesaikan atau memecahkan suatu masalah solusi yang diperoleh dari algoritma bisa saja tepat atau pun setidaknya berupa solusi penerkaan yang mendekati kearah benar. Sehingga dalam merumuskan hal tersebut dapat menggunakan algoritma Deterministik dan Non Deterministik atau pun secara acak.
Suatu algoritma mungkin saja memiliki solusi yang tepat, atau setidaknya mempunyai perkiraan yang mendekati solusi yang benar. Dalam merumuskannya dapat dilakukan dengan strategi deterministic atau pun secara acak.
6.Algoritma Quantum
Algoritma Quantum adalah algoritma yang memanfaatkan model nyata dari sebuah komputasi quantum.
Kriteria Algoritma
Dalam mencari solusi untuk pemecahan suatu masalah, algoritma memiliki kriteria-kriteria yang saling berhubungan antara satu dengan lain, kriteria algoritma terbagi atas :
1.Input
Input dalam algoritma adalah pokok permasalahan yang dihadapi dan akan dicari solusinya, sehingga nanti permasalahan tersebut dapat dijadikan sebagai input dalam algoritma, algoritma dapat memiliki satu atau lebih input.
2.Proses
Proses dalam algoritma dapat berupa langkah-langkah yang dilakukan dalam mencari solusi terhadap permasalahan.
3.Output
Output adalah solusi yang diperoleh untuk penyelesaian dari permasalahan. Dalam algoritma setidaknya harus ada satu output dari hasil input dan proses.
4.Instruksi
Proses algoritma harus ada instruksi-instruksi yang jelas agar dapat menyelesaikan suatu masalah dengan tepat dan cepat, dan tidak mengakibatkan kesalahan saat memperoleh output nantinya.
5.Tujuan
Dalam membuat sebuah algoritma harus ada tujuan karena tanpa tujuan sebuah algoritma akan memiliki banyak proses serta instruksi-instruksi yang tidak penting sehingga menghasilkan output yang tidak sesuai dengan pokok permasalahan.
Kaidah dan Sifat Algoritma
Sebenarnya tidak ada kaidah tertentu maupun sifat-sifat yang terlalu mengatur dalam sebuah algoritma, meskipun begitu harus ada kaidah-kaidah tertentu dalam penerapan algoritma seperti berikut :
1. Memiliki Ruang lingkup dengan batasan tertentu yang artinya penggunaan algoritma harus jelas dan sesuai dengan kebutuhan.
2. Antara input dan output dalam algoritma harus saling berkaitan jangan sampai dalam menggunakan algoritma kita mendapatkan perbedaan antara input dan output nya
3. Instruksi dan langkah yang berhingga
4. Proses yang jelas sesuai aturan
5. Efektif dan efisien
Keuntungan Algoritma
Pada dasarnya keuntungan dari algoritma adalah dapat mencari solusi untuk memecahkan suatu masalah. Namun lebih dari pada itu keuntungan algoritma secara rinci adalah sebagai berikut:
1. Penulisan dan pembuatan algoritma tidak harus tergantung pada bahasa pemrograman tertentu.
2. Memudahkan dalam menyelesaikan suatu masalah yang mudah maupun yang rumit.
3. Dapat membuat suatu struktur program yang besar kedalam suatu yang lebih sederhana.
4. Dapat digunakan berulang kali dalam mencari solusi permasalahan.
5. Setiap notasinya dapat di terjemaahkan kedalam bahasa program apapun.
6. Dapat meminimalisir dalam penulisan sebuah program yang besar.
7. Dapat menyelesaikan suatu masalah dengan logika yang sistematis dan sederhana.
8. Dapat membuat satu program lebih terstruktur dan mudah dipahami.
9. Dengan menggunakan algoritma ketika adanya sebuah kesalahan dalam program akan lebih mudah menemukannya karena memiliki alur yang jelas.
10. Dengan adanya algoritma dalam program maka akan lebih mudah dalam memodifikasi sebuah program yang besar .
11. Algoritma mudah untuk di dokumentasikan.
12. Lebih mudah melakukan pendekatan top-down struktur dan devide satu permasalahan.
Contoh Penerapan Algoritma
Algoritma tidak harus berkutat pada pemrograman dan matematika saja, dalam kehidupan sehari-hari pun dapat digunakan algoritma, sebagai contoh algoritma dalam kehidupan sehari-hari adalah ketika seseorang ingin membuat kopi dengan Tora Bika Cappucino maka algoritma nya adalah sebagai berikut :
1. Pertama-tama siapkan terlebih dahulu alat dan bahan seperti Tora Bika Cappucino, gelas, sendok, air, pemanas air.
2. Panaskan air dengan pemanas air.
3. Tunggu hingga air mendidih.
4. Tuangkan Tora Bika Cappucino kedalam gelas.
5. Tuangkan air panas kedalam gelas yang telah dimasukkan Tora Bika Cappucino.
6. Aduk hingga merata.
7. Tora Bika Cappucino siap untuk disajikan.
Sekian artikel dari Pengertian, Sejarah, Klasifikasi, Fungsi dan Contoh Algoritma. Kesimpulannya adalah algoritma digunakan untuk mempermudah pekerjaan kita dalam memecahkan suatu masalah serta dapat membuat sebuah proses yang terstruktur dan sistematis dalam mencari solusi dari permasalahan yang akan dipecahkan.
Semoga artikel ini dapat menambah wawasan teman-teman tentang Pengertian, Sejarah dan Klasifikasi Algoritma.
Terima Kasih !!!