Search (Pencarian) adalah suatu hal yang dilakukan oleh setiap orang untuk mendapatkan atau menemukan suatu data yang diinginkan. Search yang akan kita bahas disini adalah suatu tipe pencarian data dalam suatu bahasa pemrograman python, dimana tipe pencarian (search) ini terbagi menjadi 2 (dua) macam, yaitu sebagai berikut.
1. Linear Search
2. Binary Search
Apa itu linear search?
Linear search adalah suatu sistem pencarian data, dimana suatu data yang ingin dicari oleh user menggunakan sistem pencarian secara satu persatu diantara data yang ada.
Source Code Linear Search :
banyak = int(input("Berapa banyak data yang anda inginkan :"))
data = []
temp = False
def inputdata(banyak):
for i in range (banyak):
i += 1
inputan = int(input("Masukan Data ke- %d :" % i))
data.append(inputan)
print (data)
return data
inputdata(banyak)
def linsearch(data):
print (data)
cari = int(input("Angka berapa yang anda cari :"))
temp = False
ulang = 0
for i in range(len(data)):
ulang +=1
if data[i]== cari:
temp = True
print ("%d >>>> Ada, diposisi %d" %(cari,i))
print ("jumlah perulangan",ulang)
if data[i]>cari :
break
if (temp==False):
print ("%d >>>> Mohon maaf data tidak ada" %(cari))
print ("jumlah perulangan",ulang)
linsearch(data)
Apa itu binary search?
Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu.
Source Code Binary Search :
banyak = int(input("Berapa banyak data yang anda inginkan :"))
data = []
temp = False
def inputdata(banyak):
for i in range (banyak):
i += 1
inputan = int(input("Masukan Data ke- %d :" % i))
data.append(inputan)
return data
inputdata(banyak)
print ("=".center(80,"="))
print ("Soal No. 1")
def binsearch(data,cari):
first = 0
last = len(data)-1
ulang2 = 0
while first <= last:
ulang2+= 1
middle = (first + last) // 2
if cari == data[middle]:
posisi = middle
return [posisi, ulang2]
elif cari<data[middle]:
last = middle -1
else:
first = middle + 1
return [-1, ulang2]
cari = int(input("Angka berapa yang anda cari :"))
panggil = binsearch(data,cari)
if panggil[0]==-1:
print("Angka Yang anda cari tidak ditemukan")
print ("Jumlah perulangan :",panggil[1])
else:
print ("angka yang anda cari ditemukan")
print ("Posisi :",panggil[0])
print ("Jumlah perulangan :",panggil[1])
Oke...
Selamat Mencoba...
Tidak ada komentar:
Posting Komentar