Algoritma
Apa itu Algoritma?
Algoritma adalah suatu langkah atau metode yang sudah direncanakan dengan matang sehingga sudah berurutan dan tersusun dengan rapi sert abiasanya digunakan untuk memecahkan suatu permasalahan dengan cara memberikan instruksi untuk melakukan tindakan.
Ada pula yang mengatakan bahwa agoritma merupakan proses atau serangkaian aturan yang harus diikuti dalam perhitungan atau operasi pemecahan masalah lainnya, terutama oleh komputer. Untuk lebih jelasnya simak pengertian algoritma menurut para ahli di bawah ini:
Definisi Algoritma Menurut Ahli
Berikut ini beberapa definisi algoritma menurut para ahli, diantaranya :
1. Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi
Algoritma adalah suatu metode khusus yang digunakan untuk menyelesaikan masalah.
2. Donald Ervin Knuth
Algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu masalah tertentu.
3. S. E Goodmand dan S.T 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.
4. Seymour Lipschutz dan Marc Lipson
Algoritma adalah suatu daftar langkah demi langkah yang terhingga dari instruksi-instruksi yang terdefinisikan dengan jelas yang digunakan untuk memecahkan permasalahan tertentu.
5. Marvin Minsky
Algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya bagaimana untuk bertindak.
6. Kani
Algoritma adalah suatu usaha dengan sebuah uruan operasi yang sudah disusun secara sistematis dan logis dan dapat dimanfaatkan untuk menyelesaikan sebuah permasalahan demi menciptakan sebuah output tertentu.
7. Sismoro
Algoritma adalah sekumpulan instruksi atau langkah-langkah yang sudah dituliskan secara sistematis dan digunakan untuk menyelesaikan suatu persoalan atau suatu permasalahan matematika dan logika dengan bantuan komputer.
Ciri-Ciri Algoritma
Algoritma sendiri memiliki lima ciri utama, diantaranya:
1. Input
Ciri pertama dari algoritma adalah adanya input. Input merupakan permasalahan yang dihadapi dan akan dicarikan solusinya. Algoritma memiliki nilai nol atau lebih input (masukan). Di dalam algoritma minimal memiliki nilai 0 atau lebih.
2. Proses
Ciri yang kedua adanya proses. Proses ini merupakan langkah-langkah yang harus dilakukan untuk mencapai tujuan akhir.
3. Output
Output merupakan solusi atau tampilan akhir yang didapatkan dari suatu algoritma. Algoritma ini memiliki satu output.
4. Instruksinya jelas
Ciri algoritma yang keempat yakni memiliki instruksi yang jelas dan tidak ambigu. Instruksi yang jelas bertujuan untuk mengurangi kesalahan dalam menghasilkan output.
5. Ada tujuan yang ingin dicapai
Ciri algoritma yang terakhir yakni adanya tujuan yang ingin dicapai. Tujuan ini adalah akhir dari program dimana program akan berhenti ketika tujuan akhir telah tercapai.
Manfaat Algoritma
Algoritma memiliki beberapa manfaat dalam penerapannya, diantaranya yakni:
- Membantu menyederhanakan program yang rumit dan besar.
- Memudahkan dalam membuat sebuah program untuk masalah tertentu.
- Algoritma dapat digunakan berkali-kali untuk menyelesaikan permasalahan yang sama.
- Membantu memecahkan suatu permasalahan dengan logika dan sistematis.
- Meminimalisir penulisan program secara berulang-ualng.
- Agar dapat melakukan pendekatan top-down dan devide and conquer.
- Memudahkan proses modifikasi pada program karena bisa dilakukan hanya pada satu modul tanpa harus mengubah modul lainnya.
- Ketika terjadi kesalahan, algoritma dapat membantu menemukannya karena alur kerja yang jelas.
- Memudahkan proses dokumentasi.
Jenis-Jenis Algoritma
Dr. Christoph Koutschan, seorang ahli matematika dan komputer asal Jerman, ada 32 algoritma yang penting dalam ilmu komputer. Namun, jika dilihat dari fungsinya, ada beberapa jenis algoritma:
1. Algoritma Rekursi
Algoritma rekursi (recursive algorithm) adalah jenis algoritma yang akan melakukan pengulangan hingga sebuah masalah mendapatkan solusi. Selain itu, algoritma yang memanggil dirinya sendiri secara berulang-ulang hingga masalah terpecahkan.
2. Algoritma Divide and Conquer
Algoritma divide and conquer adalah jenis algoritma yang membagi sebuah permasalahan menjadi beberapa bagian. Tahap dari algoritma divide dan conquer yakni membagi masalah menjadi beberapa bagian yang sama, kemudian mencari sebuah solusi utama setelah mendapatkan solusi untuk bagian-bagian kecilnya.
3. Algoritma dynamic programming
Algoritma dynamic programming merupakan algoritma yang bekerja dengan cara mencari solusi dari setiap bagian terkecil masalah, yang kemudian hasilnya ini akan disimpan untuk memecahkan masalah baru di masa depan.
4. Algoritma greedy
Algoritma greedy merupakan algoritma yang digunakan ketika menemukan masalah pada optimasi. Cara kerja algoritma yang satu ini yakni dengan menemukan solusi optimal untuk lokal tanpa memperhatikan akibat yang akan diterimanya, sehingga dapat menemukan solusi optimal pada tingkat global.
5. Algoritma brute force
Algoritma brute force ini adalah jenis algoritma dengan konsep paling sederhana. Algoritma ini menggunakan pengulangan dari setiap solusi yang ditemukan untuk menemukan solusi paling tepat terkait dengan permasalahan yang ada.
6. Algoritma backtracking
Algoritma backtracking bekerja dengan cara rekursif saat hendak memecahkan permasalahan.
Struktur Algoritma
Selanjutnya, algoritma sendiri memiliki beberapa strktur di dalamnya :
- Algoritma sekuensial atau sequence algorithm terdiri dari beberapa pemerintah dan tersusun secara beraturan untuk memunculkan beberapa instruksi tertentu.
- Algotitma pengulangan atau looping algorithm, yakni algoritma yang digunakan untuk menyampaikan beberapa perintah dan menyesuaikan dengan syarat-syarat yang telah ditentukan.
- Algoritma percabangan/bersuarat atau conditional algorithm. Algoritma yang satu ini digunakan untuk algoritma yang mampu memilih beberapa pilihan tertentu yang telah diperintahkan.
Contoh-Contoh Algoritma
Pada akhirnya, algoritma digunakan bukan hanya untuk bidang ilmu komputer saja tetai juga bisa dimanfaatkan dalam kegiatan sehari-hari manusia. Mulailah dengan suatu musalah yang terjadi di dalam kehidupan sehari-hari, contohnya yakni:
1. Membuat Kopi Instan
Seperti yang sudah disampaikan sebelumnya, algoritma bisa digunakan untuk memecahkan masalah yang berkaitan dengan kehidupan sehari-hari seperti membuat kopi instan. Contoh algoritmanya sebagai berikut :
- Buka kemasan kopi sachetnya.
- Tungkan kopi ke dalam gelas.
- Siapkan air panas.
- Tuangkan air panas ke dalam gelas berisi kopi.
- Aduk kopi hingga merata.
- Kopi instan siap diminum.
Berikut ini hasil flowchart dari membuat kopi instan:
2. Mengirim SMS
Contoh algoritma mengirim SMS, jika dituliskan yakni:
- Buka menu SMS pada ponsel
- Pilih kontak atau nomor telepon
- Ketik oesan yang akan dikirim
- Tekan tombol kirim
- SMS akan terkirim
Berikut ini contoh flowchart dari mengirim SMS
Kesimpulan
Pada intinya lagoritma ini merupakan suatu cara atau metode atau prosedur yang dapat dimanfaatkan untuk memecahkan suatu permasalahan yang sedang terjadi. Pemecahan masalah ini bisa dari berbagai bidang, baik bidang komputer, matematika, pemrosesan data, penalaran, atau bahkan perhitungan. Ada beberapa yang menjadi ciri dari algoritma yakni input, proses, output, instruksinya jelas, dan ada tujuannya.
Algoritma juga mencakup perhitungan, penalaran, dan pemrosesan data yang dapat disajikan dalam bahasa alami, kode, diagram alur (flowchart), dan lain-lain. Contoh algoritma di atas merupakan bagian dari algoritma yang tujuannya untuk menyelesaikan permasalahan. Suatu algoritma ini bisa diekspresikan dan dianalisis melalui diagram seperti contoh.
Nah, itulah beberapa penjelasan mengenai algoritma yang perlu Anda ketahui. Mulai dari pengertian atau definisi algoritma menurut para ahli, apa saja ciri atau karakteristiknya, apa saja jenis-jenis dari algoritma, apa saja manfaat dari algoritma dan bagaimana contoh penerapan dari algoritma.