Contoh Soal Binary Search

Made Santika March 7, 2024

Pencarian biner adalah algoritma pencarian yang efisien untuk menemukan elemen tertentu dalam larik yang diurutkan. Algoritma ini memecah larik menjadi dua bagian secara berulang dan membandingkan elemen tengah dengan elemen yang dicari.

Dalam artikel ini, kita akan mengeksplorasi konsep pencarian biner secara mendalam, memberikan contoh soal yang diuraikan langkah demi langkah, dan membahas aplikasi dunia nyata dari teknik yang ampuh ini.

Pengertian Pencarian Biner

contoh soal binary search terbaru

Pencarian biner adalah algoritma pencarian yang efisien untuk mencari elemen dalam larik yang terurut. Algoritma ini membagi larik menjadi dua bagian secara berulang dan membandingkan elemen tengah dengan elemen yang dicari.

Misalnya, untuk mencari elemen 15 dalam larik [1, 3, 5, 10, 15, 20, 25], pencarian biner akan bekerja sebagai berikut:

  1. Bandingkan 15 dengan elemen tengah (10). Karena 15 lebih besar dari 10, cari di bagian kanan.
  2. Bandingkan 15 dengan elemen tengah bagian kanan (20). Karena 15 lebih kecil dari 20, cari di bagian kiri.
  3. Bandingkan 15 dengan elemen tengah bagian kiri (15). Elemen ditemukan.

Langkah-Langkah Pencarian Biner

Pencarian biner adalah algoritma yang efisien untuk menemukan elemen dalam daftar yang diurutkan. Algoritma ini bekerja dengan membagi daftar menjadi dua bagian secara berulang dan membandingkan elemen target dengan elemen tengah.

Langkah-Langkah Pencarian Biner

Berikut adalah langkah-langkah dalam pencarian biner:

  1. Inisialisasi indeks awal (low) dan indeks akhir (high) dari daftar.
  2. Hitung indeks tengah (mid) dari daftar.
  3. Bandingkan elemen target dengan elemen pada indeks tengah.
    • Jika elemen target sama dengan elemen pada indeks tengah, kembalikan indeks tengah.
    • Jika elemen target lebih kecil dari elemen pada indeks tengah, perbarui indeks akhir menjadi mid
      – 1.
    • Jika elemen target lebih besar dari elemen pada indeks tengah, perbarui indeks awal menjadi mid + 1.
  4. Jika indeks awal lebih besar dari indeks akhir, kembalikan

    1 (menunjukkan bahwa elemen target tidak ditemukan).

  5. Ulangi langkah 2-4 hingga elemen target ditemukan atau indeks awal lebih besar dari indeks akhir.

Contoh Soal Pencarian Biner

Berikut adalah beberapa contoh soal pencarian biner:

Contoh 1

  • Diberikan sebuah array terurut berikut: [1, 3, 5, 7, 9, 11, 13, 15]
  • Cari elemen 7 menggunakan pencarian biner.

Contoh 2

  • Diberikan sebuah array terurut berikut: [2, 4, 6, 8, 10, 12, 14, 16]
  • Cari elemen 15 menggunakan pencarian biner.

Contoh 3

  • Diberikan sebuah array terurut berikut: [1, 3, 5, 7, 9, 11, 13, 15, 17]
  • Cari elemen 10 menggunakan pencarian biner.

Ilustrasi Pencarian Biner

Pencarian biner adalah algoritma pencarian yang bekerja pada array yang diurutkan. Algoritma ini membagi array menjadi dua bagian yang sama secara berulang dan membandingkan nilai tengah dengan nilai yang dicari.

Berikut ilustrasi grafis cara kerja pencarian biner:

Ilustrasi Pencarian Biner

Langkah-langkah Pencarian Biner

  1. Mulai dengan indeks awal (0) dan indeks akhir (n-1), di mana n adalah jumlah elemen dalam array.
  2. Hitung indeks tengah (mid) sebagai (start + end) / 2.
  3. Bandingkan nilai pada indeks tengah (arr[mid]) dengan nilai yang dicari (x).
  4. Jika arr[mid] = x, maka nilai tersebut ditemukan pada indeks mid.
  5. Jika arr[mid] < x, maka nilai tersebut berada di bagian kanan array, jadi perbarui indeks awal menjadi mid + 1.
  6. Jika arr[mid] > x, maka nilai tersebut berada di bagian kiri array, jadi perbarui indeks akhir menjadi mid

    1.

  7. Ulangi langkah 2-6 hingga indeks awal lebih besar dari indeks akhir atau nilai tersebut ditemukan.

Variasi Pencarian Biner

tree binary complete example consider understand process above again help array learning easy image004 clip

Pencarian biner adalah algoritme efisien yang digunakan untuk mencari elemen dalam array yang diurutkan.

Variasi pencarian biner mencakup:

Pencarian Interpolasi

Pencarian interpolasi adalah variasi pencarian biner yang menggunakan rumus interpolasi untuk memperkirakan posisi elemen yang dicari. Rumus ini mempertimbangkan jarak antara elemen pertama dan terakhir serta nilai elemen yang dicari.

Keunggulan pencarian interpolasi:

  • Lebih cepat daripada pencarian biner standar untuk array yang sangat besar.
  • Tidak memerlukan array yang berukuran sama.

Pencarian Eksponensial

Pencarian eksponensial adalah variasi pencarian biner yang digunakan ketika ukuran array tidak diketahui atau sangat besar. Algoritme ini berulang kali menggandakan indeks pencarian hingga indeks yang melebihi nilai elemen yang dicari ditemukan.

Keunggulan pencarian eksponensial:

  • Efisien untuk array yang sangat besar atau ukurannya tidak diketahui.
  • Mudah diimplementasikan.

Keunggulan dan Kelemahan Pencarian Biner

Pencarian biner adalah algoritma pencarian yang efisien untuk menemukan elemen tertentu dalam sebuah array yang diurutkan. Algoritma ini membagi array menjadi dua bagian pada setiap iterasi, membuang setengah dari array, dan mengulangi proses pada setengah yang berisi elemen target.

Keunggulan Pencarian Biner

  • Efisiensi: Pencarian biner memiliki kompleksitas waktu O(log n), yang jauh lebih efisien daripada pencarian linier yang memiliki kompleksitas waktu O(n).
  • Mudah Diimplementasikan: Algoritma pencarian biner relatif mudah diimplementasikan dalam berbagai bahasa pemrograman.

Kelemahan Pencarian Biner

  • Membutuhkan Array Terurut: Pencarian biner hanya dapat digunakan pada array yang sudah diurutkan.
  • Tidak Cocok untuk Data Besar: Meskipun efisien untuk array kecil hingga menengah, pencarian biner mungkin tidak efisien untuk array yang sangat besar karena kompleksitas waktu logaritmiknya.
  • Tidak Berfungsi pada Data Duplikat: Jika array berisi elemen duplikat, pencarian biner mungkin tidak menemukan semua kemunculan elemen target.

Situasi yang Cocok dan Tidak Cocok untuk Pencarian Biner

Pencarian biner cocok untuk situasi berikut:

  • Ketika array yang dicari berukuran kecil hingga menengah.
  • Ketika array sudah diurutkan.
  • Ketika diperlukan pencarian yang efisien.

Pencarian biner tidak cocok untuk situasi berikut:

  • Ketika array yang dicari sangat besar.
  • Ketika array tidak diurutkan.
  • Ketika array berisi elemen duplikat.

Aplikasi Pencarian Biner

contoh soal binary search terbaru

Pencarian biner memiliki banyak aplikasi di dunia nyata, di berbagai bidang seperti ilmu komputer, teknik, dan keuangan.

Dalam ilmu komputer, pencarian biner digunakan dalam:

  • Algoritma penyortiran, seperti penggabungan (merge sort) dan penyortiran cepat (quick sort)
  • Pencarian data dalam database besar
  • Pengambilan informasi dalam indeks yang diurutkan, seperti kamus atau direktori

Dalam teknik, pencarian biner digunakan dalam:

  • Sistem kontrol untuk mengoptimalkan kinerja
  • Pemrosesan sinyal untuk menganalisis data
  • Pemodelan dan simulasi untuk memprediksi perilaku sistem

Dalam keuangan, pencarian biner digunakan dalam:

  • Analisis data pasar untuk mengidentifikasi tren dan pola
  • Penetapan harga aset dan derivatif
  • Manajemen risiko untuk mengoptimalkan portofolio

Penutup

Pencarian biner adalah teknik yang sangat efisien untuk menemukan elemen dalam larik yang diurutkan. Algoritma ini cepat, mudah diimplementasikan, dan memiliki berbagai aplikasi di berbagai bidang. Memahami konsep dan langkah-langkah pencarian biner sangat penting untuk memanfaatkan kekuatannya dalam memecahkan masalah yang melibatkan pencarian data yang efisien.

Pertanyaan Umum (FAQ)

Apakah pencarian biner dapat digunakan untuk larik yang tidak diurutkan?

Tidak, pencarian biner hanya berlaku untuk larik yang diurutkan.

Apa perbedaan antara pencarian biner dan pencarian linier?

Pencarian biner jauh lebih efisien daripada pencarian linier untuk larik besar karena kompleksitas waktunya adalah O(log n) dibandingkan dengan O(n) untuk pencarian linier.

Dalam aplikasi apa pencarian biner sering digunakan?

Pencarian biner digunakan dalam berbagai aplikasi, seperti pencarian tabel, pencarian dalam basis data, dan pencarian dalam daftar yang diurutkan.

blank

Made Santika

Berbagi banyak hal terkait teknologi termasuk Internet, App & Website.

Leave a Comment

Artikel Terkait