Jenis-jenis Algoritma

Sebelum memasuki jenis-jenis algoritma kita harus mengetahui apa definisi dari algoritma itu sendiri. Algoritma adalah serangkaian langkah atau prosedur logis, sistematis, dan terstruktur yang disusun untuk menyelesaikan masalah tertentu atau mencapai tujuan khusus, baik dalam komputasi maupun kehidupan sehari-hari. Algoritma harus memiliki instruksi yang jelas, efisien, dan memiliki titik henti agar menghasilkan output yang tepat dari input yang diberikan. Jenis-jenis algoritma pemrograman dikelompokkan berdasarkan fungsi dan pendekatannya, meliputi algoritma dasar (sekuensial, percabangan, perulangan), algoritma pencarian (Linear, Binary), pengurutan (Bubble, Quick, Merge Sort), rekursif, greedy, dan dynamic programming. Algoritma ini memecahkan masalah dengan mengurutkan data, mencari informasi, atau mengoptimalkan solusi, seperti pada AI dan rute peta.

  1. Algoritma Sekuensial(Sequential): Langkah-langkah dijalankan secara urut dari atas ke bawah.
  2. Algoritma Percabangan(Branching/Selection): Langkah yang diambil bergantung pada kondisi tertentu .
  3. Algoritma Perulangan(Iteration): Menjalankan perintah berulang kali selama kondisi terpenuhi.
  4. Algoritma Pencarian (Searching): Mencari elemen data. Contoh: Linear Search (sederhana) dan Binary Search (cepat pada data terurut).
  5. Algoritma Pengurutan (Sorting): Mengatur data berurutan. Contoh: Bubble Sort, Merge Sort, Quick Sort.
  6. Algoritma Graf (Graph): Menemukan rute terpendek atau hubungan antar data. Contoh: Dijkstra, BFS, DFS.
  7. Algoritma Kriptografi: Mengamankan data dengan enkripsi.
  8. Algoritma Rekursif(Recursive): Fungsi memanggil dirinya sendiri untuk memecah masalah besar menjadi sub-masalah kecil (Contoh: Faktorial, Fibonacci).
  9. Algoritma Greedy: Mengambil keputusan terbaik pada setiap tahapan (lokal optimal) dengan harapan mencapai solusi terbaik keseluruhan (global optimal).
  10. Algoritma Dynamic Programming: Memecah masalah menjadi sub-masalah, menyimpan hasilnya, dan menghindari perhitungan ulang.
  11. Algoritma Brute Force: Mencoba semua kemungkinan solusi sampai menemukan yang tepat.
  12. Supervised Learning: Belajar dari data berlabel.
  13. Unsupervised Learning: Menemukan pola dalam data tidak berlabel.
  1. Algoritma Sekuensial(Sequential): Langkah-langkah dijalankan secara urut dari atas ke bawah.
  2. Algoritma Percabangan(Branching/Selection): Langkah yang diambil bergantung pada kondisi tertentu .
  3. Algoritma Perulangan(Iteration): Menjalankan perintah berulang kali selama kondisi terpenuhi.
  4. Algoritma Pencarian (Searching): Mencari elemen data. Contoh: Linear Search (sederhana) dan Binary Search (cepat pada data terurut).
  5. Algoritma Pengurutan (Sorting): Mengatur data berurutan. Contoh: Bubble Sort, Merge Sort, Quick Sort.
  6. Algoritma Graf (Graph): Menemukan rute terpendek atau hubungan antar data. Contoh: Dijkstra, BFS, DFS.
  7. Algoritma Kriptografi: Mengamankan data dengan enkripsi.
  8. Algoritma Rekursif(Recursive): Fungsi memanggil dirinya sendiri untuk memecah masalah besar menjadi sub-masalah kecil (Contoh: Faktorial, Fibonacci).
  9. Algoritma Greedy: Mengambil keputusan terbaik pada setiap tahapan (lokal optimal) dengan harapan mencapai solusi terbaik keseluruhan (global optimal).
  10. Algoritma Dynamic Programming: Memecah masalah menjadi sub-masalah, menyimpan hasilnya, dan menghindari perhitungan ulang.
  11. Algoritma Brute Force: Mencoba semua kemungkinan solusi sampai menemukan yang tepat.
  12. Supervised Learning: Belajar dari data berlabel.
  13. Unsupervised Learning: Menemukan pola dalam data tidak berlabel.
  1. Algoritma Sekuensial(Sequential): Langkah-langkah dijalankan secara urut dari atas ke bawah.
  2. Algoritma Percabangan(Branching/Selection): Langkah yang diambil bergantung pada kondisi tertentu .
  3. Algoritma Perulangan(Iteration): Menjalankan perintah berulang kali selama kondisi terpenuhi.
  4. Algoritma Pencarian (Searching): Mencari elemen data. Contoh: Linear Search (sederhana) dan Binary Search (cepat pada data terurut).
  5. Algoritma Pengurutan (Sorting): Mengatur data berurutan. Contoh: Bubble Sort, Merge Sort, Quick Sort.
  6. Algoritma Graf (Graph): Menemukan rute terpendek atau hubungan antar data. Contoh: Dijkstra, BFS, DFS.
  7. Algoritma Kriptografi: Mengamankan data dengan enkripsi.
  8. Algoritma Rekursif(Recursive): Fungsi memanggil dirinya sendiri untuk memecah masalah besar menjadi sub-masalah kecil (Contoh: Faktorial, Fibonacci).
  9. Algoritma Greedy: Mengambil keputusan terbaik pada setiap tahapan (lokal optimal) dengan harapan mencapai solusi terbaik keseluruhan (global optimal).
  10. Algoritma Dynamic Programming: Memecah masalah menjadi sub-masalah, menyimpan hasilnya, dan menghindari perhitungan ulang.
  11. Algoritma Brute Force: Mencoba semua kemungkinan solusi sampai menemukan yang tepat.
  12. Supervised Learning: Belajar dari data berlabel.
  13. Unsupervised Learning: Menemukan pola dalam data tidak berlabel.