Pembelajaran Searching Algorithm Berdasarkan Tingkat Sekolah
Berikut urutan lengkap belajar algoritma pencarian (searching algorithms) dengan rekomendasi tingkat pendidikan (SMP/SMA/Kuliah) dan penyesuaian untuk kebutuhan olimpiade komputer:
1. Tingkat SMP (Dasar)
(Pengenalan logika pencarian sederhana)
-
Linear Search
-
Cocok untuk pemula.
-
Contoh: Cari angka dalam daftar belum terurut.
-
Kompleksitas: O(n).
-
-
Sequential Search pada Array/Linked List
-
Variasi linear search dengan penekanan struktur data dasar.
-
2. Tingkat SMA (Menengah)
(Fokus efisiensi dan aplikasi kompetitif)
3. Binary Search
-
Wajib untuk OSN/kompetisi.
-
Syarat: Data terurut.
-
Contoh soal: Mencari akar persamaan atau nilai optimal.
-
Jump Search
-
Pengenalan konsep lompatan blok (O(√n)).
-
-
Interpolation Search
-
Untuk data terurut dengan distribusi merata (O(log log n)).
-
-
BFS (Breadth-First Search) & DFS (Depth-First Search)
-
Pencarian di graf/pohon (misal: jalur terpendek, labirin).
-
-
Ternary Search
-
Optimasi fungsi unimodal (contoh: cari titik maks/min parabola).
-
3. Tingkat SMA Lanjut/Olimpiade
(Algoritma kompetitif dan struktur data khusus)
8. Exponential Search
-
Untuk data tak terbatas atau stream.
-
Binary Search pada Jawaban (Binary Search the Answer)
-
Teknik advanced di OSN/IOI.
-
Contoh: "Cari nilai minimal maksimum beban truk."
-
-
String Searching
-
Knuth-Morris-Pratt (KMP) atau Boyer-Moore (jarang di OSN, tapi penting untuk pemahaman).
-
4. Tingkat Kuliah (Advanced)
(Struktur data kompleks dan optimasi)
11. Pencarian di Hash Tables
- O(1) dengan fungsi hash.
-
Pencarian di Pohon (BST, AVL, B-Tree)
-
BST dasar (O(log n)), B-Tree untuk database.
-
-
A Search Algorithm*
-
Pathfinding dengan heuristic (game/AI).
-
-
Simulated Annealing
-
Optimasi stochastic (untuk masalah NP-hard).
-
Rekomendasi Khusus Olimpiade SMA
-
Fokus utama: Binary Search, BFS/DFS, Ternary Search.
-
Sekunder: Jump/Interpolation Search (jika waktu cukup).
-
Abaikan dulu: Simulated Annealing, algoritma hash tingkat lanjut.
Contoh Pembagian Materi per Kelas
Kelas | Algoritma | Contoh Aplikasi |
---|---|---|
SMP | Linear Search | Cari nama dalam daftar. |
SMA 1 | Binary Search, BFS/DFS | Soal OSN: Labirin/jalur terpendek. |
SMA 2 | Ternary Search, KMP | Optimasi fungsi, pattern matching. |
Kuliah | A*, B-Tree, Simulated Annealing | Game AI, sistem database. |