Pengertian Algoritma
Apakah anda pernah berpikir ketika menghadapai suatu permasalahan/pekerjaan bagaimana cara yang paling efektif dan efisien untuk menyelesaikannya?
pasti terlintas di pikiran anda langkah-langkah apa yang di perlukan untuk menyelesaikan permasalahan atau pekerjaan tersebut. ini adalah bagian dari Algoritma.
Jadi, secara umum Algoritma adalah susunan langkah-langkah secara sistematis dan terstruktur untuk menyelesaikan suatu permasalahan.
Pengertian Algoritma Menurut Para Ahli
Adapun pengertian Algoritma menurut para ahli di bawah ini :
- Algoritma berasal dari kata algoris dan ritmis yang pertama kali diperkenalkan oleh Abu Ja’far Muhammad ibn Musa Al Khwarizmi atau yang sering kita kenal dengan nama Al Khwarizmi pada 825 M di dalam buku Al-Jabr Wa-al Muqabla. Dalam bidang pemrograman, algoritma didefinisikan sebagai metode yang terdiri dari serangkaian langkah yang terstruktur dan sistematis untuk meyelesaikan masalah dengan bantuan komputer (Jando & Nani, 2018, 5.)
- Algoritma menurut (Kani, 2020, 1.19) adalah suatu upaya dengan urutan operasi yang disusun secara logis dan sistematis untuk menyelesaikan suatu masalah untuk menghasilkan suatu output tertentu.
Algoritma tidak hanya digunakan untuk keperluan komputer tapi bisa juga digunakan untuk penyelesaian aktivitas sehari-hari, contohnya seperti : ketika anda akan menghadiri acara pernikahan anda akan di hadapkan mulai dari pakaian apa yang akan anda kenakan, menggunakan batik atau kemeja selanjutnya anda akan berangkat dengan pasangan atau tidak, anda akan dihadapkan dengan transportasi apa yang akan anda gunakan dengan transportasi umum atau pribadi dan berangkat melalui jalan apa yang akan anda pilih menggunakan jalan raya, Tol, atau jalan memotong. serangkaian proses yang terjadi dalam aktivitas tersebut bisa dikatakan sebagai penerapan AlGORITMA.
Dalam ilmu komputer Algoritma digunakan untuk membuat suatu program yang bisa dijalankan oleh komputer, bagi yang telah mendalami algoritma biasanya dalam setiap aktivitas baik yang berkaitan dengan komputer atau tidak, setidaknya akan lebih memperhatikan hal-hal berikut ini :
- efisiensi : semakin kompleks suatu algoritma biasanya banyak waktu yang akan dihabiskan ketika melakukan eksekusi, dan semakin banyak waktu yang di perlukan tentu semakin banyak load CPU dan memori yang digunakan.
- Abstraksi : Algoritma yang tersusun dengan baik dan jelas mampu memperlihatkan permasalahan yang kompleks menjadi terlihat lebih mudah dan sederhana.
- Reusability : Algoritma bukan merupakan program melainkan metode, sehingga bisa digunakan berulang kali tanpa melihat bahasa pemrograman apa yang digunakan.
Karakteristik Algoritma
Menurut Donald E. Knuth di dalam Art of Computer Programming (Knuth, 1973) sebuah algoritma mempunya 5 karakter khusus antara lain :
- Harus berhenti setelah mengerjakan serangkaian langkah tertentu.
- Setiap langkah didefinisikan dengan tepat dan tidak boleh ambigu.
- Algoritma memiliki input.
- Algoritma memiliki ouput.
- Algoritma harus efektif.
Notasi Algoritma
Agar bisa dibaca baik itu oleh programer atau orang umum algoritma perlu di tuangkan kedalam suatu notasi algoritma, setiap orang mempunyai kebebasan dalam menuliskan notasi algoritma selama yang membaca bisa memahami maksud dari pembuat. di bawah ini cara cara penulisan notasi algoritma diantaranya :
- Narasi : menyatakan langkah langkah algoritma dalam kalimat deskriptif dan dijelaskan dengan gamblang.
- Flowchart : bagan alir yang menggambarkan aliran instruksi dari algoritma dengan pemanfaatan visualisasi.
- Pseudocode : Pseudocode adalah istilah dalam pemrograman untuk menuliskan sebuah sintaks, statement, algoritma, dan lainnya dalam bahasa yang bisa dipahami oleh manusia. Sederhananya, pseudocode merupakan bentuk representasi dari kode kita nantinya dengan versi yang human readable, bukan computer readable.
Daftar Pustaka :
Jando, E., & Nani, P. A. (2018). Algoritma dan pemrograman dengan bahasa java. Penerbit ANDI.
Knuth, D.E. (1973). The Art of Computer Programing (Vol. 1). Addison-wesley,Inc.
Ma’shum Abdul Jabbar, S. M. (2021). Pengenalan Algoritma dan Pemrograman. Pengenalan Algoritma dan Pemrograman, 1–5.