BINARY SEARCH
Definisi
Binary Search,
atau metode pencarian secara biner hanya bisa dilakukan jika data sudah
terurut. Keunggulan dari proses binary search ini adalah sistem pencariannya
yang relatif cepat dan efisien walaupun ada banyak data sekalipun. karena data
dicari dari depan, tengah dan belakang. Tetapi sintaks dan algoritmanya
sedikit lebih rumit, karena kita harus mengurutkan data terlebih dahulu. Pengurutan
data disini bisa kalian lakukan dengan metode ascending ataupun descending
Ilustrasi
Algoritma
def
binarysearch(a,x):
j = 0
i = len(a)-1
k = False
counter = 0
global middle
while j <= i and not k:
middle = (j + i) // 2
if a[middle] == x:
k = True
else :
if x < a[middle]:
i=middle -1
else :
j = middle + 1
counter = counter + 1
Kode Program
def
binarysearch(alist,value):
first = 0
last = len(alist)-1
found = False
counter = 0
global middle
while first <= last and not found:
middle = (first + last) // 2
if alist[middle] == value:
found = True
else :
if value < alist[middle]:
last = middle -1
else :
first = middle + 1
counter = counter + 1
if found == True:
print("Angka ditemukan dalam
list")
print("Listnya",alist)
print("ada di index ke",middle)
print("Angka ditemukan di dalam
pencarian ke", counter)
else :
print("Angka tidak ada dalam
list")
return
m=[2,6,4,12,10,13]
list.sort(m)
binarysearch(m,10)