Dalam ilmu komputer dan rekayasa sistem, algoritma adalah fondasi utama yang mendikte seberapa efisien, aman, dan skalabel sebuah aplikasi dijalankan. Namun, dengan ratusan algoritma yang eksis saat ini, insinyur sering kesulitan memilih algoritma terbaik untuk kasus penggunaan spesifik mereka.
Untuk mempermudah penjelajahan, cetak biru arsitektur visual di bawah memetakan taksonomi klasifikasi algoritma modern yang membagi 300+ algoritma ke dalam tiga paradigma era utama: Classic (🔵), Modern (🟢), dan Frontier/Research (🔴).

Kode Era Kategori: 🔵 Classic | 🟢 Modern | 🔴 Research/Frontier
1. Sorting & Ordering
Comparison-Based
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Bubble Sort | 🔵 Classic | O(n²) | Edukasi, data kecil |
| Selection Sort | 🔵 Classic | O(n²) | Memory terbatas |
| Insertion Sort | 🔵 Classic | O(n²) | Data kecil / hampir terurut |
| Merge Sort | 🔵 Classic | O(n log n) | General purpose, linked lists |
| Quick Sort | 🔵 Classic | O(n log n) avg | General purpose |
| Heap Sort | 🔵 Classic | O(n log n) | Real-time systems |
| Shell Sort | 🔵 Classic | O(n log² n) | Embedded systems |
| Tim Sort | 🟢 Modern | O(n log n) | Python, Java standard library |
| Intro Sort | 🟢 Modern | O(n log n) | C++ std::sort |
| Gnome Sort | 🔵 Classic | O(n²) | Pembelajaran/sederhana |
| Pancake Sort | 🔵 Classic | O(n) flips | Matematika diskrit, robotika |
| Block Sort | 🟢 Modern | O(n log n) | In-place stable sort berkinerja tinggi |
Non-Comparison (Linear)
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Counting Sort | 🔵 Classic | O(n + k) | Integer data, range kecil |
| Radix Sort | 🔵 Classic | O(nk) | Integer/string sorting |
| Bucket Sort | 🔵 Classic | O(n + k) | Distribusi data seragam |
Parallel / Distributed
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Bitonic Sort | 🔵 Classic | O(log² n) parallel | GPU computing, hardware |
| Odd-Even Sort | 🔵 Classic | O(n) parallel | Parallel computing |
| Sample Sort | 🟢 Modern | O(n log n / p) | Distributed computing, MapReduce |
2. Searching
Array / List Search
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Linear Search | 🔵 Classic | O(n) | Data tak terurut |
| Binary Search | 🔵 Classic | O(log n) | Data terurut, lookup cepat |
| Interpolation Search | 🔵 Classic | O(log log n) | Data terdistribusi seragam |
| Exponential Search | 🔵 Classic | O(log n) | Unbounded arrays |
| Fibonacci Search | 🔵 Classic | O(log n) | Arsitektur tanpa division |
| Jump Search | 🔵 Classic | O(√n) | Pencarian pada array terurut dengan step konstan |
| Ternary Search | 🔵 Classic | O(log n) | Mencari nilai ekstrim fungsi unimodal |
String Search
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| KMP (Knuth-Morris-Pratt) | 🔵 Classic | O(n + m) | String matching |
| Boyer-Moore | 🔵 Classic | O(n/m) best | Text search, grep |
| Rabin-Karp | 🔵 Classic | O(n + m) | Plagiarism detection |
| Aho-Corasick | 🔵 Classic | O(n + m + z) | Antivirus, network IDS |
| Z Algorithm | 🔵 Classic | O(n) | Bioinformatics, text |
| Suffix Array | 🟢 Modern | O(n log n) | Full-text search, bioinformatics |
Graph / Tree Search
Pada grafis perbandingan arsitektur pencarian rute di bawah, visualisasikan bagaimana Dijkstra mengeksplorasi jalan secara radial melingkar ke segala arah tanpa petunjuk, sementara A* Search melangkah secara fokus dan cepat menuju node target menggunakan rumus heuristik $f(n) = g(n) + h(n)$:

| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| BFS (Breadth-First Search) | 🔵 Classic | O(V + E) | Shortest path (unweighted), web crawling |
| DFS (Depth-First Search) | 🔵 Classic | O(V + E) | Topological sort, cycle detection |
| A* | 🔵 Classic | O(b^d) | Game AI, GPS navigation |
| Dijkstra | 🔵 Classic | O((V+E) log V) | GPS, network routing |
| Bidirectional Search | 🔵 Classic | O(b^(d/2)) | Path planning |
| IDA* | 🔵 Classic | O(b^d) | Memory-constrained AI |
3. Graph Algorithms
Shortest Path
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Bellman-Ford | 🔵 Classic | O(VE) | Routing protocols (BGP) |
| Floyd-Warshall | 🔵 Classic | O(V³) | Network analysis |
| Johnson's Algorithm | 🔵 Classic | O(V² log V + VE) | Sparse graphs |
| SPFA | 🟢 Modern | O(kE) | Competitive programming |
Spanning Tree
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Kruskal's | 🔵 Classic | O(E log E) | Network design |
| Prim's | 🔵 Classic | O(E log V) | Dense graph, network |
| Borůvka's | 🔵 Classic | O(E log V) | Parallel MST |
Flow & Matching
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Ford-Fulkerson | 🔵 Classic | O(Ef) | Network flow, bipartite matching |
| Edmonds-Karp | 🔵 Classic | O(VE²) | Network optimization |
| Dinic's Algorithm | 🔵 Classic | O(V²E) | Large flow networks |
| Hungarian Algorithm | 🔵 Classic | O(n³) | Task scheduling, matching |
| Hopcroft-Karp | 🔵 Classic | O(E√V) | Bipartite matching |
| Edmonds' Blossom Algorithm | 🔵 Classic | O(V²E) | Maximum matching pada graf umum |
Connectivity & Structure
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Tarjan's SCC | 🔵 Classic | O(V + E) | Compiler optimization, graph analysis |
| Kosaraju's | 🔵 Classic | O(V + E) | Social network analysis |
| Topological Sort | 🔵 Classic | O(V + E) | Build systems, task scheduling |
| Union-Find (DSU) | 🔵 Classic | O(α(n)) | Kruskal, connectivity queries |
| PageRank | 🟢 Modern | O(k·(V+E)) | Web search, citation analysis |
| HITS | 🟢 Modern | O(k·(V+E)) | Web analysis |
| Louvain Method | 🟢 Modern | O(n log n) | Social networks, clustering |
| Girvan-Newman | 🟢 Modern | O(m²n) | Community detection |
| Hierholzer's Algorithm | 🔵 Classic | O(V + E) | Menemukan sirkuit/jalur Eulerian |
| Karger's Algorithm | 🟢 Modern | O(V² log³ V) | Minimum cut berbasis probabilitas |
4. Dynamic Programming
Classic DP
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Fibonacci DP | 🔵 Classic | O(n) | Edukasi, baseline |
| Knapsack (0/1) | 🔵 Classic | O(nW) | Resource allocation, finance |
| Knapsack (Unbounded) | 🔵 Classic | O(nW) | Coin change, cutting stock |
| Longest Common Subsequence | 🔵 Classic | O(nm) | diff tool, bioinformatics |
| Longest Increasing Subsequence | 🔵 Classic | O(n log n) | Sequence analysis |
| Edit Distance (Levenshtein) | 🔵 Classic | O(nm) | Spell check, fuzzy search, NLP |
| Matrix Chain Multiplication | 🔵 Classic | O(n³) | Compiler optimization |
| Coin Change | 🔵 Classic | O(nA) | Finance, combinatorics |
| Rod Cutting | 🔵 Classic | O(n²) | Manufacturing, optimization |
| Kadane's Algorithm | 🔵 Classic | O(n) | Menemukan maximum subarray sum |
Interval & Advanced DP
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Interval DP | 🔵 Classic | O(n³) | Parsing, triangulation |
| Bitmask DP | 🔵 Classic | O(2ⁿ·n) | TSP, assignment problems |
| DP on Trees | 🔵 Classic | O(n) | Graph problems, competitive programming |
| Digit DP | 🔵 Classic | O(d·10·2) | Competitive programming, number theory |
| Broken Profile DP | 🔴 Research | O(n·m·2^m) | Tiling, grid problems |
| CYK Algorithm | 🔵 Classic | O(n³·|G|) | Parsing Context-Free Grammar |
5. Machine Learning
Classical ML
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Linear Regression | 🔵 Classic | O(n²d) | Regresi, forecasting |
| Logistic Regression | 🔵 Classic | O(nd·iter) | Klasifikasi, credit scoring |
| Naive Bayes | 🔵 Classic | O(nd) | Spam filter, NLP |
| k-NN | 🔵 Classic | O(nd) | Rekomendasi, klasifikasi |
| SVM (Support Vector Machine) | 🔵 Classic | O(n²d) | Klasifikasi teks, bioinformatics |
| Decision Tree | 🔵 Classic | O(n²d) | Interpretable ML, tabular data |
| Random Forest | 🟢 Modern | O(k·n log n) | Tabular data, feature importance |
| Gradient Boosting | 🟢 Modern | O(k·n log n) | Kaggle winner, tabular data |
| XGBoost | 🟢 Modern | O(k·n log n) | Industri, kompetisi data science |
| LightGBM | 🟢 Modern | O(k·n log n) | Large-scale tabular data |
| CatBoost | 🟢 Modern | O(k·n log n) | Categorical data |
| AdaBoost | 🔵 Classic | O(N·M) | Algoritma boosting klasik berkinerja tinggi |
Clustering
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| k-Means | 🔵 Classic | O(nkd·iter) | Segmentasi, compression |
| DBSCAN | 🔵 Classic | O(n log n) | Geospatial, anomaly detection |
| Hierarchical Clustering | 🔵 Classic | O(n³) | Bioinformatics, dendrogram |
| Gaussian Mixture Models | 🔵 Classic | O(n·k·d²) | Density estimation |
| HDBSCAN | 🟢 Modern | O(n log n) | High-dimensional data |
| OPTICS | 🟢 Modern | O(n log n) | Variable density clusters |
| Isolation Forest | 🟢 Modern | O(n log n) | Deteksi anomali pada data tabular |
| Spectral Clustering | 🟢 Modern | O(n³) | Clustering grafis berbasis nilai eigen matriks laplacian |
Dimensionality Reduction
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| PCA | 🔵 Classic | O(n²d) | Feature reduction, visualization |
| LDA | 🔵 Classic | O(nd²) | Classification preprocessing |
| ICA | 🔵 Classic | O(n²d) | Signal processing, fMRI |
| t-SNE | 🟢 Modern | O(n log n) | ML visualization |
| UMAP | 🟢 Modern | O(n^1.14) | Embedding visualization, preprocessing |
| Autoencoder | 🟢 Modern | O(depends) | Anomaly detection, generation |
6. Deep Learning
Architectures
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| MLP / Feedforward | 🔵 Classic | O(n·d·h) | Tabular data, classification |
| CNN (Convolutional Neural Network) | 🟢 Modern | O(n·k²·c) | Computer vision |
| RNN / LSTM / GRU | 🟢 Modern | O(n·h²) | NLP, time series (pre-Transformer) |
| Transformer | 🟢 Modern | O(n²d) | NLP, CV, multimodal AI |
| Vision Transformer (ViT) | 🟢 Modern | O(n²d) | Image classification, detection |
| Graph Neural Network (GNN) | 🟢 Modern | O(E·h) | Social networks, drug discovery, fraud |
| Diffusion Models | 🔴 Research | O(T·n) | Image/audio/video generation |
| State Space Models (Mamba) | 🔴 Research | O(n) | Long-context NLP, genomics |
| Mixture of Experts (MoE) | 🔴 Research | O(n·k/E) | LLM scaling (GPT-4, Mixtral) |
| Kolmogorov-Arnold Networks (KAN) | 🔴 Research | O(n·p²) | Scientific ML, interpretability |
Training Algorithms
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Backpropagation | 🔵 Classic | O(n·d) | Semua neural network training |
| SGD (Stochastic Gradient Descent) | 🔵 Classic | O(d) | DL training baseline |
| Adam | 🟢 Modern | O(d) | Default optimizer DL |
| AdamW | 🟢 Modern | O(d) | LLM training |
| LoRA / QLoRA | 🟢 Modern | O(n·r) | LLM fine-tuning |
| RLHF | 🟢 Modern | O(n·d) | ChatGPT, Claude, Gemini |
| Lion | 🔴 Research | O(d) | Large model training |
| DPO (Direct Preference Optimization) | 🔴 Research | O(n·d) | LLM alignment |
| RMSprop | 🟢 Modern | O(d) | Optimizer adaptif untuk DL |
| AdaGrad | 🟢 Modern | O(d) | Optimizer adaptif berbasis gradien historis |
Generative Models
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| GAN (Generative Adversarial Network) | 🟢 Modern | O(n·d) | Image synthesis, deepfake |
| VAE (Variational Autoencoder) | 🟢 Modern | O(n·d) | Generation, representation learning |
| Flow Models (Normalizing Flows) | 🟢 Modern | O(n·d) | Audio generation, density estimation |
| Score Matching | 🔴 Research | O(n·T) | Generative modeling |
| Consistency Models | 🔴 Research | O(n) | Fast image generation |
| NeRF | 🔴 Research | O(varies) | Rekonstruksi 3D scene menggunakan neural network |
| 3D Gaussian Splatting | 🔴 Research | O(N) | Rendering/rekonstruksi 3D real-time |
7. Cryptography
Symmetric Encryption
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| AES | 🟢 Modern | O(n) | TLS, file encryption, disk encryption |
| DES / 3DES | 🔵 Classic | O(n) | Legacy systems (deprecated) |
| ChaCha20 | 🟢 Modern | O(n) | TLS 1.3, mobile |
| Blowfish / Twofish | 🟢 Modern | O(n) | Password hashing (Bcrypt) |
| Bcrypt / Scrypt | 🟢 Modern | O(work factor) | Hashing password dengan ketahanan brute-force tinggi |
Asymmetric / Public Key
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| RSA | 🔵 Classic | O(k³) | TLS, digital signatures, key exchange |
| Diffie-Hellman | 🔵 Classic | O(k²) | TLS, SSH key exchange |
| Elliptic Curve (ECC) | 🟢 Modern | O(k²) | Bitcoin, TLS, modern cryptography |
| EdDSA (Ed25519) | 🟢 Modern | O(k²) | SSH, Signal protocol |
| ElGamal | 🔵 Classic | O(k²) | GPG encryption |
| DSA | 🔵 Classic | O(k³) | Standar federal AS terdahulu untuk tanda tangan digital |
Hash Functions
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| MD5 | 🔵 Classic | O(n) | Checksum saja (bukan security) |
| SHA-1 | 🔵 Classic | O(n) | Legacy systems (deprecated) |
| SHA-256 / SHA-3 | 🟢 Modern | O(n) | TLS, Bitcoin, digital signatures |
| BLAKE2 | 🟢 Modern | O(n) | File integrity, general hashing |
| BLAKE3 | 🟢 Modern | O(n) | High-performance hashing |
| Argon2 | 🟢 Modern | O(n·m) | Password storage |
Post-Quantum Cryptography
Ilustrasi alur migrasi di bawah menggambarkan ancaman komputer kuantum yang mampu meretakan algoritma asimetris klasik (RSA & ECC) menggunakan Algoritma Shor, serta peta pertahanan tangguh berbasis kisi matematika (Lattice-based) seperti CRYSTALS-Kyber dan CRYSTALS-Dilithium:

| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| CRYSTALS-Kyber | 🔴 Research | O(n log n) | Post-quantum key exchange (NIST standard) |
| CRYSTALS-Dilithium | 🔴 Research | O(n log n) | Post-quantum signatures (NIST standard) |
| NTRU | 🔴 Research | O(n log n) | Post-quantum encryption |
| SPHINCS+ | 🔴 Research | O(log² n) | Post-quantum signatures |
| McEliece Cryptosystem | 🔵 Classic | O(n²) | Skema kunci publik berbasis kode koreksi kesalahan |
8. Optimization
Gradient-Based
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Gradient Descent | 🔵 Classic | O(d·iter) | ML training, optimization |
| Newton's Method | 🔵 Classic | O(d³·iter) | Logistic regression, SciPy |
| L-BFGS | 🔵 Classic | O(d·iter) | ML, scientific computing |
| Conjugate Gradient | 🔵 Classic | O(n√κ) | FEM, large-scale linear systems |
| Nelder-Mead Method | 🔵 Classic | O(iter) | Optimasi multidimensi tanpa gradien |
Metaheuristic
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Simulated Annealing | 🔵 Classic | O(iter) | TSP, circuit design |
| Genetic Algorithm | 🔵 Classic | O(gen·pop) | Scheduling, parameter tuning |
| Particle Swarm Optimization | 🟢 Modern | O(gen·pop) | Continuous optimization |
| Differential Evolution | 🟢 Modern | O(gen·pop) | Global optimization, ML tuning |
| Ant Colony Optimization | 🟢 Modern | O(iter·n²) | Routing, scheduling |
| CMA-ES | 🟢 Modern | O(d²·iter) | Robotics, neuroevolution |
| Bayesian Optimization | 🟢 Modern | O(n³) | Hyperparameter tuning, AutoML |
| Tabu Search | 🔵 Classic | O(iter) | Metaheuristik pencarian lokal dengan memori tabu |
| Hill Climbing | 🔵 Classic | O(iter) | Optimasi heuristik lokal sederhana |
Linear & Integer Programming
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Simplex Method | 🔵 Classic | O(2^n) worst | LP, operations research |
| Interior Point Methods | 🟢 Modern | O(n³·L) | Large-scale LP, SDP |
| Branch and Bound | 🔵 Classic | O(2^n) worst | ILP, TSP exact solution |
| Cutting Plane | 🔵 Classic | O(poly) | ILP, combinatorial optimization |
| Column Generation | 🟢 Modern | O(poly) | Airline scheduling, crew |
9. Compression & Coding
Lossless
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Huffman Coding | 🔵 Classic | O(n log n) | ZIP, JPEG, PNG |
| Arithmetic Coding | 🔵 Classic | O(n) | HEVC, modern compressors |
| LZ77 / LZ78 | 🔵 Classic | O(n) | ZIP, gzip, deflate |
| LZW | 🔵 Classic | O(n) | GIF, TIFF, PDF |
| BWT (Burrows-Wheeler Transform) | 🔵 Classic | O(n log n) | bzip2, SAM format |
| Deflate | 🟢 Modern | O(n) | PNG, gzip, HTTP compression |
| Brotli | 🟢 Modern | O(n) | Web compression (HTTP) |
| Zstandard (zstd) | 🟢 Modern | O(n) | Linux kernel, databases |
| ANS / rANS | 🟢 Modern | O(n) | zstd, HEVC, JPEG XL |
| LZMA | 🟢 Modern | O(n) | Kompresi rasio tinggi pada format 7z/xz |
| Run-Length Encoding (RLE) | 🔵 Classic | O(n) | Kompresi lossless paling sederhana berbasis sekuens berulang |
Lossy
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| DCT (JPEG) | 🔵 Classic | O(n log n) | JPEG, MP3, video codecs |
| Wavelet (JPEG 2000) | 🟢 Modern | O(n) | Medical imaging, JPEG 2000 |
| VQ (Vector Quantization) | 🔵 Classic | O(n·k) | Speech coding, image |
| Neural Image Compression | 🔴 Research | O(n·d) | Next-gen image compression |
Error Correction
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Hamming Code | 🔵 Classic | O(n) | RAM ECC, legacy telecom |
| Reed-Solomon | 🔵 Classic | O(n log n) | QR code, CD/DVD, storage |
| Turbo Codes | 🟢 Modern | O(n) | 3G/4G LTE, deep space |
| LDPC | 🟢 Modern | O(n) | 5G, WiFi 802.11, deep space |
| Polar Codes | 🔴 Research | O(n log n) | 5G NR control channel |
| BCH Code | 🔵 Classic | O(n log n) | Kode koreksi error aljabar linier |
10. Number Theory & Math
Prime & Factorization
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Sieve of Eratosthenes | 🔵 Classic | O(n log log n) | Number theory, competitive programming |
| Sieve of Atkin | 🔵 Classic | O(n / log log n) | Large prime generation |
| Miller-Rabin | 🔵 Classic | O(k log²n) | RSA key generation |
| Pollard's Rho | 🔵 Classic | O(n^¼) | Integer factorization |
| AKS Primality Test | 🟢 Modern | O(log^6 n) | Theoretical CS, verification |
| GNFS (General Number Field Sieve) | 🟢 Modern | O(sub-exp) | Breaking RSA, cryptanalysis |
GCD & Modular Arithmetic
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Euclidean Algorithm | 🔵 Classic | O(log min) | Number theory, fractions |
| Extended Euclidean | 🔵 Classic | O(log min) | RSA, modular arithmetic |
| Fast Modular Exponentiation | 🔵 Classic | O(log e) | RSA, primality testing |
| CRT (Chinese Remainder Theorem) | 🔵 Classic | O(n²) | RSA optimization, number theory |
| Binary GCD | 🔵 Classic | O(log² n) | FPB cepat menggunakan operasi bitwise |
| Montgomery Modular Multiplication | 🔵 Classic | O(log² n) | Perkalian modular cepat untuk kriptografi |
Transform & FFT
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| FFT (Cooley-Tukey) | 🔵 Classic | O(n log n) | Signal processing, polynomial multiplication |
| NTT (Number Theoretic Transform) | 🔵 Classic | O(n log n) | Competitive programming, crypto |
| Walsh-Hadamard Transform | 🔵 Classic | O(n log n) | Coding theory, competitive programming |
| Schönhage-Strassen | 🟢 Modern | O(n log n log log n) | Big number libraries (GMP) |
| Harvey-Hoeven | 🔴 Research | O(n log n) | Theoretical breakthrough 2019 |
| Strassen's Algorithm | 🔵 Classic | O(n^2.807) | Perkalian matriks cepat sub-kubik |
11. Computational Geometry
Convex Hull
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Graham Scan | 🔵 Classic | O(n log n) | GIS, computer graphics |
| Jarvis March (Gift Wrapping) | 🔵 Classic | O(nh) | Output-sensitive, small h |
| Chan's Algorithm | 🔵 Classic | O(n log h) | Optimal convex hull |
| QuickHull | 🔵 Classic | O(n log n) avg | GPU, point cloud |
| Andrew's Monotone Chain | 🔵 Classic | O(n log n) | Varian Graham Scan yang lebih praktis untuk Convex Hull |
Proximity & Intersection
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Closest Pair of Points | 🔵 Classic | O(n log n) | GIS, collision detection |
| Line Sweep (Shamos-Hoey / Bentley-Ottmann) | 🔵 Classic | O(n log n) | CAD, GIS |
| Voronoi Diagram (Fortune's) | 🔵 Classic | O(n log n) | GIS, network planning |
| Delaunay Triangulation | 🔵 Classic | O(n log n) | Mesh generation, FEM |
| KD-Tree / R-Tree | 🔵 Classic | O(log n) | Databases, GIS, ML (k-NN) |
| Bowyer-Watson Algorithm | 🔵 Classic | O(n log n) avg | Pembentukan Delaunay Triangulation |
Polygon Operations
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Point in Polygon | 🔵 Classic | O(n) | GIS, game collision |
| Sutherland-Hodgman Clipping | 🔵 Classic | O(n) | Computer graphics, GIS |
| Boolean Polygon Operations | 🟢 Modern | O(n log n) | CAD, GIS, vector graphics |
| Cohen-Sutherland | 🔵 Classic | O(1) avg | Pemotongan garis 2D pada viewport grafika komputer |
12. String & Text Processing
String Structures
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Trie | 🔵 Classic | O(m) | Autocomplete, spell check, IP routing |
| Suffix Tree (Ukkonen's) | 🔵 Classic | O(n) | Bioinformatics, full-text search |
| Suffix Automaton | 🔵 Classic | O(n) | Substring counting, LCS |
| Ternary Search Trie | 🟢 Modern | O(log n) | Autocomplete, symbol tables |
| FM-Index | 🟢 Modern | O(m log n) | Genome alignment, bioinformatics |
| Patricia Trie (Radix Tree) | 🔵 Classic | O(k) | Trie terkompresi hemat memori |
| Manacher's Algorithm | 🔵 Classic | O(n) | Menemukan palindrom terpanjang dalam string |
NLP Algorithms
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| TF-IDF | 🔵 Classic | O(nd) | Search engine, information retrieval |
| BM25 | 🟢 Modern | O(n) | Elasticsearch, search engines |
| Word2Vec | 🟢 Modern | O(n·w·d) | NLP, semantic similarity |
| FastText | 🟢 Modern | O(n·w·d) | Multilingual NLP |
| Byte Pair Encoding (BPE) | 🟢 Modern | O(n·v) | GPT, BERT, semua LLM tokenizer |
| BERT / RoBERTa | 🟢 Modern | O(n²d) | NLP semua task |
| GPT Architecture | 🟢 Modern | O(n²d) | LLM, text generation |
| RAG (Retrieval-Augmented Generation) | 🟢 Modern | O(n·k) | Enterprise AI, knowledge bases |
| WordPiece / SentencePiece | 🟢 Modern | O(n) | Subword tokenization yang digunakan BERT/T5 |
13. Scheduling & Systems
CPU Scheduling
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| FIFO / FCFS | 🔵 Classic | O(1) | Batch processing |
| Round Robin | 🔵 Classic | O(n) | OS process scheduling |
| SJF / SRTF | 🔵 Classic | O(n log n) | Batch job scheduling |
| Priority Scheduling | 🔵 Classic | O(log n) | Real-time OS, QoS |
| EDF (Earliest Deadline First) | 🔵 Classic | O(n log n) | Real-time OS, multimedia |
| CFS (Completely Fair Scheduler) | 🟢 Modern | O(log n) | Linux kernel default |
Task & Job Scheduling
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| List Scheduling | 🔵 Classic | O(n log n) | Parallel computing |
| Critical Path Method (CPM/PERT) | 🔵 Classic | O(V + E) | Project management |
| Job Shop Scheduling | 🔵 Classic | NP-hard | Manufacturing, operations research |
| Disk Scheduling (SCAN/C-SCAN) | 🔵 Classic | O(n log n) | Pengaturan pergerakan head disk |
Memory Management
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| LRU Cache | 🔵 Classic | O(1) | CPU cache, web cache, CDN |
| LFU Cache | 🔵 Classic | O(1) | Cache replacement |
| ARC Cache | 🟢 Modern | O(1) | ZFS, storage systems |
| Mark-and-Sweep GC | 🔵 Classic | O(n) | Java GC, JavaScript V8 |
| Generational GC | 🟢 Modern | O(n_young) | JVM, .NET CLR, Python |
| Clock Page Replacement | 🔵 Classic | O(1) | Aproksimasi praktis LRU untuk OS |
| MVCC | 🟢 Modern | O(1) | Kontrol konkurensi non-blocking database modern |
14. Distributed Systems
Consensus & Coordination
Visualisasi interaktif di bawah membedah mekanisme konsensus Raft—mulai dari proses pemilihan pemimpin (Leader Election via RequestVote RPC) hingga replikasi entri log transaksi terdistribusi secara konsisten (Log Replication via AppendEntries RPC):

| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Paxos | 🔵 Classic | O(n) | Chubby, Zookeeper |
| Raft | 🟢 Modern | O(n) | etcd, TiKV, CockroachDB |
| PBFT (Practical Byzantine Fault Tolerance) | 🔵 Classic | O(n²) | Blockchain, distributed ledger |
| Viewstamped Replication | 🔵 Classic | O(n) | Distributed databases |
| Zab (Zookeeper Atomic Broadcast) | 🟢 Modern | O(n) | Apache Zookeeper |
| SWIM Protocol | 🟢 Modern | O(1) | Protokol keanggotaan kelompok terdistribusi berbasis gosip |
Hashing & Partitioning
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Consistent Hashing | 🟢 Modern | O(log n) | Cassandra, DynamoDB, CDN |
| Rendezvous Hashing | 🟢 Modern | O(n) | Content distribution |
| Jump Hash | 🟢 Modern | O(log n) | Google internal sharding |
| Maglev Hashing | 🔴 Research | O(n log n) | Google Maglev load balancer |
Clock & Ordering
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Lamport Timestamps | 🔵 Classic | O(1) | Distributed systems, causality |
| Vector Clocks | 🔵 Classic | O(n) | Dynamo, Riak, Voldemort |
| Hybrid Logical Clock (HLC) | 🟢 Modern | O(1) | CockroachDB, yugabyte |
| TrueTime (Google) | 🔴 Research | O(1) | Google Spanner |
| Chandy-Lamport Algorithm | 🔵 Classic | O(e) | Pengambilan snapshot terdistribusi yang konsisten |
| Bully Algorithm | 🔵 Classic | O(n²) | Pemilihan pemimpin terdistribusi |
Replication & Consistency
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Two-Phase Commit (2PC) | 🔵 Classic | O(n) | Distributed transactions |
| Three-Phase Commit (3PC) | 🔵 Classic | O(n) | Distributed transactions |
| Merkle Tree | 🔵 Classic | O(log n) | Git, Bitcoin, distributed sync |
| Gossip Protocol | 🟢 Modern | O(log n) | Cassandra, membership, health |
| CRDT (Conflict-free Replicated Data Types) | 🟢 Modern | O(1) | Collaborative editing, Riak |
15. AI & Decision Making
Reinforcement Learning
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Q-Learning | 🔵 Classic | O(|S|·|A|) | Game AI, robotics |
| SARSA | 🔵 Classic | O(|S|·|A|) | RL pada masalah kontinu |
| MCTS (Monte Carlo Tree Search) | 🔵 Classic | O(iter) | Board games, planning, LLM decoding |
| DQN (Deep Q-Network) | 🟢 Modern | O(n·d) | Game AI, Atari |
| PPO (Proximal Policy Optimization) | 🟢 Modern | O(n·d) | ChatGPT RLHF, robotics, games |
| SAC (Soft Actor-Critic) | 🟢 Modern | O(n·d) | Continuous control, robotics |
| AlphaZero / MuZero | 🔴 Research | O(b^d) | Board games, planning |
Classical AI Search
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Minimax | 🔵 Classic | O(b^d) | Board games AI |
| Alpha-Beta Pruning | 🔵 Classic | O(b^(d/2)) | Chess engines |
| Expectimax | 🔵 Classic | O(b^d) | Stochastic games, Pacman |
| Uniform Cost Search (UCS) | 🔵 Classic | O(b^(1 + [C*/ε])) | Pencarian rute terpendek graf berbobot dasar AI |
| Iterative Deepening DFS (IDDFS) | 🔵 Classic | O(b^d) | Pencarian kombinasi efisiensi ruang DFS dan kelengkapan BFS |
| Beam Search | 🔵 Classic | O(B · L) | Pencarian heuristik dengan lebar terbatas untuk LLM decoding |
| POMDP Planning | 🔴 Research | O(exp) | Autonomous driving, robotics |
Planning
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| STRIPS / PDDL | 🔵 Classic | O(exp) | AI planning systems |
| FastForward (FF) | 🟢 Modern | O(n) | AI planning benchmarks |
| RRT / RRT* | 🟢 Modern | O(n log n) | Robot motion planning |
| PRM (Probabilistic Roadmap) | 🟢 Modern | O(n log n) | Robot path planning |
16. Bioinformatics
Sequence Analysis
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Smith-Waterman | 🔵 Classic | O(mn) | DNA alignment, BLAST |
| Needleman-Wunsch | 🔵 Classic | O(mn) | Protein alignment |
| BLAST | 🟢 Modern | O(mn/w) | NCBI database search |
| Bowtie / BWA | 🟢 Modern | O(m) | Genome sequencing alignment |
| HISAT2 | 🟢 Modern | O(m log n) | RNA-seq, transcriptomics |
| Hirschberg's Algorithm | 🔵 Classic | O(mn) | Global alignment hemat memori |
| ClustalW | 🟢 Modern | O(n²) | Phylogenetics, MSA |
| MUSCLE | 🟢 Modern | O(n² log n) | Multiple sequence alignment |
Assembly & Annotation
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| OLC Assembly | 🔵 Classic | O(n²) | Long-read genome assembly |
| De Bruijn Graph Assembly | 🟢 Modern | O(n) | NGS genome assembly |
| Viterbi Algorithm | 🔵 Classic | O(T·K²) | Hidden Markov Model, gene prediction |
| CRF (Conditional Random Field) | 🟢 Modern | O(T·K²) | NER, gene annotation |
Structural & Evolutionary
| Algoritma | Era | Kompleksitas | Penggunaan |
|---|---|---|---|
| Neighbor Joining | 🔵 Classic | O(n³) | Evolutionary biology, phylogenetics |
| UPGMA / WPGMA | 🔵 Classic | O(n²) | Phylogenetics |
| Rosetta | 🟢 Modern | O(n³) | Protein design, drug discovery |
| Fitch's Algorithm | 🔵 Classic | O(N) | Rekonstruksi status leluhur pada pohon filogenetik |
| AlphaFold2 | 🔴 Research | O(n²) | Protein structure prediction, drug discovery |
Ringkasan Statistik
| Kategori | Jumlah Algoritma |
|---|---|
| Sorting & Ordering | 18 |
| Searching | 19 |
| Graph Algorithms | 23 |
| Dynamic Programming | 16 |
| Machine Learning | 26 |
| Deep Learning | 27 |
| Cryptography | 22 |
| Optimization | 19 |
| Compression & Coding | 21 |
| Number Theory & Math | 18 |
| Computational Geometry | 15 |
| String & Text Processing | 16 |
| Scheduling & Systems | 17 |
| Distributed Systems | 21 |
| AI & Decision Making | 18 |
| Bioinformatics | 17 |
| Total | 313 |
Referensi & Sumber Lanjutan:
- CLRS — Introduction to Algorithms (Cormen et al.)
- Algorithm Design (Kleinberg & Tardos)
- The Art of Computer Programming (Knuth)
- Papers With Code — paperswithcode.com
- NIST Post-Quantum Cryptography — csrc.nist.gov