Algoritma Binary Search


Algoritma Binary Search

Kalau kamu udah kenal sama Linear Search, sekarang saatnya naik level ke algoritma yang lebih cepat dan efisien: Binary Search. Ini adalah algoritma pencarian yang super populer dan sering dipakai di dunia nyata, terutama kalau datanya udah diurutkan.

Daftar Isi

  1. Apa Itu Binary Search?
  2. Syarat Binary Search
  3. Cara Kerja Binary Search
  4. Ilustrasi Gampangnya
  5. Contoh Kode dalam Python
  6. Kapan Pakai Binary Search?
  7. Kelebihan Binary Search
  8. Kekurangan Binary Search
  9. Binary vs Linear Search

Binary Search adalah algoritma pencarian yang membagi data menjadi dua bagian setiap langkahnya. Jadi, daripada cek satu-satu kayak Linear Search, Binary Search langsung “lompat” ke tengah dan terus potong datanya jadi setengah sampai ketemu yang dicari.

⚠️ Data HARUS dalam keadaan terurut. Kalau datanya belum diurutkan, hasilnya bisa kacau.

  1. Tentukan nilai tengah dari list.
  2. Bandingkan nilai tengah dengan target.
  3. Kalau cocok → selesai.
  4. Kalau target lebih kecil → cari di kiri.
  5. Kalau target lebih besar → cari di kanan.
  6. Ulangi langkah 1–5 pada bagian yang dipilih.

4. Ilustrasi Gampangnya

Bayangin kamu cari kata di kamus. Kamu gak mulai dari halaman 1, kan? Biasanya kamu buka di tengah, lalu sesuaikan: "Oh, hurufnya masih terlalu ke depan" → geser ke kanan. Nah, itu prinsip Binary Search.

5. Contoh Kode dalam Python


def binary_search(arr, target):
    low = 0
    high = len(arr) - 1

    while low <= high:
        mid = (low + high) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1

    return -1  # target tidak ditemukan
  • Kalau datanya udah diurutkan.
  • Kalau kamu butuh kecepatan tinggi dalam pencarian.
  • Kalau kamu sedang optimasi program biar lebih efisien.
  • Jauh lebih cepat daripada Linear Search untuk data besar.
  • Efisien: kompleksitas waktunya O(log n).
  • Data HARUS sudah diurutkan terlebih dahulu.
  • Susah diterapkan di data yang tidak disimpan secara berurutan (misalnya linked list).
Fitur Binary Search Linear Search
Data harus terurut? Ya Tidak
Kecepatan (data besar) Sangat cepat (logaritmik) Lambat (linear)
Kompleksitas logika Sedang Sangat mudah

Kesimpulan: Binary Search adalah pilihan utama kalau kamu punya data yang sudah terurut dan ingin pencarian super cepat. Tapi inget, kalau datanya belum berurutan, kamu harus urutin dulu. Cocok banget buat optimasi program atau aplikasi skala besar.

0 comments :

Post a Comment