Intro
Hai semua! Apakah kalian pernah mendengar tentang algoritma binary search? Algoritma ini biasa digunakan dalam pemrograman komputer untuk mencari data dalam sebuah array atau list dengan lebih efisien. Sebenarnya, binary search ini sangat sederhana dan mudah dipahami, tapi seringkali kita kesulitan ketika harus menerapkannya dalam soal-soal yang lebih kompleks. Oleh karena itu, dalam artikel ini, saya akan memberikan contoh soal dan jawaban binary search yang dapat membantu kalian memahami cara kerja algoritma ini dengan lebih baik.
Apa itu Binary Search?
Sebelum kita membahas contoh soal dan jawaban binary search, mari kita pahami dulu apa itu algoritma binary search. Pada dasarnya, binary search adalah algoritma pencarian data dalam sebuah array atau list dengan cara membagi data menjadi dua bagian, lalu membandingkan data yang dicari dengan data di tengah-tengah array tersebut. Jika data yang dicari lebih kecil dari data di tengah-tengah array, maka kita hanya perlu mencari di setengah kiri array saja. Sebaliknya, jika data yang dicari lebih besar dari data di tengah-tengah array, maka kita hanya perlu mencari di setengah kanan array saja. Proses ini terus diulang hingga data yang dicari ditemukan atau tidak ditemukan sama sekali.
Contoh Soal dan Jawaban Binary Search 1
Mari kita mulai dengan contoh soal dan jawaban binary search yang pertama. Misalkan kita memiliki sebuah array yang sudah diurutkan secara ascending seperti berikut ini:
arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Kita ingin mencari apakah angka 8 terdapat dalam array tersebut. Berikut adalah implementasi algoritma binary search untuk mencari angka 8:
low = 0
high = len(arr)-1
while low <= high:
mid = (low + high) // 2
if arr[mid] == 8:
print(“Angka 8 ditemukan di index ke-“, mid)
break
elif arr[mid] < 8:
low = mid + 1
else:
high = mid – 1
Output dari implementasi di atas adalah “Angka 8 ditemukan di index ke-3”. Jadi, angka 8 terdapat pada index ke-3 dalam array tersebut.
Contoh Soal dan Jawaban Binary Search 2
Selanjutnya, mari kita coba contoh soal dan jawaban binary search yang sedikit lebih kompleks. Misalkan kita memiliki sebuah array yang tidak terurut seperti berikut ini:
arr = [3, 9, 5, 8, 1, 6, 2, 7, 4, 10]
Kita ingin mencari apakah angka 5 terdapat dalam array tersebut. Pertama-tama, kita harus mengurutkan array tersebut terlebih dahulu. Berikut adalah implementasi algoritma selection sort untuk mengurutkan array tersebut:
for i in range(len(arr)):
min_idx = i
for j in range(i+1, len(arr)):
if arr[min_idx] > arr[j]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
Setelah array sudah diurutkan, maka kita dapat menggunakan algoritma binary search untuk mencari angka 5. Berikut adalah implementasi algoritma binary search untuk mencari angka 5:
low = 0
high = len(arr)-1
while low <= high:
mid = (low + high) // 2
if arr[mid] == 5:
print(“Angka 5 ditemukan di index ke-“, mid)
break
elif arr[mid] < 5:
low = mid + 1
else:
high = mid – 1
Output dari implementasi di atas adalah “Angka 5 ditemukan di index ke-2”. Jadi, angka 5 terdapat pada index ke-2 setelah array diurutkan.
Penutup
Nah, itulah contoh soal dan jawaban binary search yang dapat saya berikan. Dengan memahami contoh-contoh di atas, saya harap kalian dapat lebih mudah dalam menerapkan algoritma binary search pada soal-soal yang lebih kompleks. Ingat, latihan terus dan jangan lupa untuk selalu berusaha keras dalam belajar pemrograman. Semoga artikel ini bermanfaat untuk kalian semua. Sampai jumpa!