Kembali
Kompleksitas Algoritma
Kompleksitas Algoritma (Big O Notation)
Menganalisis seberapa efisien kode program saat jumlah data (N) membesar.
Jumlah Data (N) = 10
O(1) - Konstan
1 op
Sangat Cepat! Waktu eksekusi tidak peduli berapa banyak datanya. Contoh: Mengambil elemen pertama dari Array.
O(log n) - Logaritmik
3 op
Sangat Efisien! Membelah data jadi dua tiap langkah. Contoh: Binary Search.
O(n) - Linear
10 op
Biasa. Waktu naik sejajar dengan jumlah data. Contoh: Looping array dari awal sampai akhir (Linear Search).
O(n log n) - Linearithmic
33 op
Lumayan. Biasa ditemukan pada algoritma sorting efisien. Contoh: Merge Sort, Quick Sort.
O(n²) - Kuadratik
100 op
Mengerikan untuk data besar! Waktu melonjak drastis. Contoh: Nested Loop (loop di dalam loop), Bubble Sort.
"Programmer yang baik bukan hanya yang kodenya bisa jalan, tapi yang kodenya efisien."
Uji Beban (Load Test)
Geser Jumlah Data (N):
N=1N=10N=100
Bahaya O(n²)
Saat N = 100, algoritma ini butuh 10.000 operasi! Bayangkan jika user aplikasi Anda ada 1 Juta, server pasti langsung crash/hang.
Keajaiban O(log n)
Mencari 1 orang dari 1 Juta data base hanya butuh maksimal 20 operasi pembelahan! Sangat luar biasa efisien.