Buatlah program pencarian menggunakan metode binary search adapaun hal menjadi

Berikut ini adalah pertanyaan dari dewadedek13 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

Buatlah program pencarian menggunakan metode binary search adapaun hal menjadi kriteria penilaian 1. Program dapat berjalan dengan baik sesuai algoritma yang digunakan 2. Buatlah deskripsi dari program program 3. Buatlah komentar dari setiap baris program yang dibangun.​

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Jawaban:

Penjelasan:

# mengimport module 'time' untuk mengukur waktu eksekusi program

import time

# fungsi binary_search untuk melakukan pencarian dengan metode binary search

def binary_search(list_data, item):

 # menentukan indeks awal dan akhir dari list_data

 low = 0

 high = len(list_data) - 1

 

 # looping sampai indeks low tidak lebih kecil dari indeks high

 while low <= high:

   # menghitung indeks tengah dari list_data

   mid = (low + high) // 2

   # mencari nilai tengah dari list_data

   mid_value = list_data[mid]

   

   # jika nilai tengah sama dengan item, maka item ditemukan

   # dan mengembalikan indeksnya

   if mid_value == item:

     return mid

   

   # jika nilai tengah lebih besar dari item, maka item berada

   # di sebelah kiri (indeks terkecil sampai indeks tengah - 1)

   # sehingga mengubah nilai indeks high menjadi mid - 1

   elif mid_value > item:

     high = mid - 1

     

   # jika nilai tengah lebih kecil dari item, maka item berada

   # di sebelah kanan (indeks tengah + 1 sampai indeks terbesar)

   # sehingga mengubah nilai indeks low menjadi mid + 1

   else:

     low = mid + 1

     

 # jika item tidak ditemukan, maka mengembalikan nilai -1

 return -1

# list data yang akan dicari

data = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

# mencari item yang berada pada indeks ke-3 (nilainya 5)

item = 5

# mengukur waktu sebelum melakukan pencarian dengan binary search

start_time = time.time()

# melakukan pencarian dengan binary search

result = binary_search(data, item)

# mengukur waktu setelah pencarian selesai

end_time = time.time()

# menampilkan hasil pencarian dan waktu yang dibutuhkan

print(f"Hasil pencarian: {result}")

print(f"Waktu yang dibutuhkan: {end_time - start_time} detik")

Semoga dengan pertanyaan yang sudah terjawab oleh dodosan dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Tue, 28 Mar 23