📈 Notasi O Besar (Big O)

Definisi

Notasi O Besar adalah cara untuk mengukur seberapa baik kinerja sebuah algoritma saat ukuran input (data yang diproses) bertambah besar.

Pertanyaan Utama

"Seberapa cepat waktu yang dibutuhkan algoritma ini jika datanya menjadi 10× atau 1.000× lebih besar?"

🎯 Kenapa Kita Membutuhkan Notasi O Besar?

Kita tidak bisa hanya mengukur waktu dalam detik, karena:

  • Bergantung pada Komputer: Algoritma yang sama akan berjalan lebih cepat di komputer yang canggih
  • Bergantung pada Input: Waktu eksekusi tergantung pada berapa banyak data yang harus diproses

Notasi O Besar mengabaikan detail mesin dan fokus pada tingkat pertumbuhan waktu eksekusi.

🧠 Konsep Kunci: Tingkat Pertumbuhan

Bayangkan dua algoritma untuk mengurutkan daftar nama:

Algoritma A: N² + 5N + 10 operasi → O(N²)
Algoritma B: N + 100 operasi → O(N)

Ketika N = 1.000.000:

  • Algoritma A: N² mendominasi → O(N²)
  • Algoritma B: N mendominasi → O(N)

Jelas bahwa O(N) akan jauh lebih cepat!

💡 Intinya:

Notasi O Besar mengukur skalabilitas algoritma dengan fokus pada komponen yang paling dominan dalam waktu eksekusi.

🧠 Teorema (Theorem)

Definisi

Teorema adalah pernyataan yang telah dibuktikan kebenarannya secara logis berdasarkan aksioma (asumsi dasar) atau teorema lain yang sudah terbukti sebelumnya.

Sederhananya

Teorema adalah fakta yang sudah pasti benar karena kita bisa menunjukkan langkah-langkah pembuktian yang tidak terbantahkan.

Konsep Penjelasan Singkat Contoh (Ilmu Komputer)
Aksioma Pernyataan dasar yang diasumsikan benar tanpa perlu pembuktian "Setiap program bisa direpresentasikan sebagai mesin Turing"
Algoritma Serangkaian langkah untuk menyelesaikan masalah Langkah-langkah dalam Quick Sort untuk mengurutkan daftar
Teorema Pernyataan yang harus dibuktikan kebenarannya Teorema Ketidaklengkapan Gödel, Teorema Master

🎯 Teorema Penting dalam Ilmu Komputer

Teorema Master: Berguna untuk menganalisis kompleksitas waktu algoritma divide and conquer seperti Merge Sort.

Teorema Church-Turing: Menetapkan batas teoritis dari apa yang dapat dilakukan komputer.

Teorema Ketidaklengkapan Gödel: Menunjukkan bahwa dalam sistem formal yang kompleks, akan selalu ada pernyataan yang benar tetapi tidak dapat dibuktikan.

💡 Intinya:

Teorema memberikan jaminan matematis. Jika kita bisa membuktikan bahwa sebuah algoritma akan selalu selesai dalam waktu O(N log N), maka kita punya jaminan bahwa algoritma itu efisien.