PENJELASAN ALGORITMA

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.

CONTOH ALGORITMA DALAM KEHIDUPAN SEHARI-HARI PERTAMA adalah terkait dengan cara membuat kopi. Yaitu berisi panduan mulai dari membuka kemasan kopi, menyeduh air, mencampurkan gula hingga mencampurkannya dengan air panas. Setelah semua tercampur rata, kopi siap dihidangkan, sebelum disantap harus diaduk terlebih dahulu.

JENIS-JENIS ALGORITMA 

1. Algoritma Brute Force

Algoritma Brute Force merupakan jenis algoritma yang paling dasar dan paling sederhana. Contoh: Jika ada kunci PIN 4 digit. Digit yang akan dipilih dari 0-9 maka brute force akan mencoba semua kemungkinan kombinasi satu persatu seperti 0001, 0002, 0003, 0004, dan seterusnya sampai kita mendapatkan PIN yang tepat. Dalam kasus terburuk, dibutuhkan 10.000 percobaan untuk menemukan kombinasi yang tepat.

2. Algoritma Recursive

Jenis algoritma ini didasarkan pada rekursi. Dalam rekursi, suatu masalah diselesaikan dengan memecahnya menjadi submasalah dengan tipe yang sama dan memanggil diri sendiri berulang-ulang sampai masalah diselesaikan dengan bantuan kondisi dasar.

3. Algoritma Divide and Conquer

Tujuan algoritma Divide and Conquer adalah untuk memecahkan masalah dalam dua bagian, yakni:

Membagi masalah menjadi submasalah dengan jenis yang sama. Menyelesaikan masalah yang lebih kecil secara mandiri dan kemudian menambahkan hasil gabungan untuk menghasilkan jawaban akhir untuk masalah tersebut.Contoh dari algoritma Divide and Conquer adalah Binary Search, Merge Sort, Quick Sort, dan Strassen’s Matrix Multiplication.

4. Algoritma Dynamic Programming

Jenis algoritma ini juga dikenal sebagai teknik memoisasi karena menyimpan hasil yang dihitung sebelumnya untuk menghindari penghitungan berulang kali. Contoh algoritma Dynamic Programming di antaranya Knapsack Problem, Weighted Job Scheduling, Algoritma Floyd Warshall, dll.

5. Algoritma Greedy

Dalam algoritma greedy, solusi dibangun bagian demi bagian. Keputusan untuk memilih bagian selanjutnya dilakukan atas dasar bahwa hal itu memberikan manfaat langsung. Beberapa contoh dari algoritma Greedy adalah algoritma jalur terpendek Dijkstra, algoritma Prim, algoritma Kruskal, Huffman Coding, dsb.

6. Algoritma Backtracking

Algoritma backtracking adalah jenis algoritma yang masalahnya diselesaikan dengan cara inkremental. Beberapa algoritma backtracking adalah Hamiltonian Cycle, M-Coloring Problem, N Queen Problem, dan Rat in Maze Problem.

7. Algoritma Sorting

Algoritma sorting digunakan untuk mengurutkan data baik dalam urutan ascending ataupun descending (urutan naik atau menurun).Contoh algoritma sorting adalah Bubble Sort, Insertion Sort, Merge Sort, Selection Sort, dan Quick Sort.

8. Algoritma Searching

Algoritma searching adalah algoritma yang digunakan untuk mencari kunci tertentu pada kumpulan data. Beberapa contoh algoritma searching adalah Binary Search dan Linier Search.

9. Algoritma Hashing

Algoritma hashing bekerja layaknya algoritma searching tetapi menggunakan indeks dengan ID kunci. Dalam hashing, kita menetapkan kunci untuk data tertentu. Contoh masalah yang dapat diselesaikan melalui algoritma Hashing adalah verifikasi kata sandi.





Komentar