tugas ke 12
# Data array Linear search
data = [3, 9, 11, 15, 17, 23, 31, 35]
# Fungsi Linear Search
def linear_search(arr, x):
for i, value in enumerate(arr):
if value == x:
return i
return -1
# Kasus 1: Mencari X = 23
print("Kasus 1:", linear_search(data, 23))
# Kasus 2: Mencari X = 31
print("Kasus 2:", linear_search(data, 31))
OUTPUT :
kasus 1: 5
kasus 2:6Tentu! Berikut adalah versi kode
Linear Search (Sederhana)
# Data array binary search
data = [3, 9, 11, 15, 17, 23, 31, 35]
# Fungsi Linear Search
def linear_search(arr, x):
for i, value in enumerate(arr):
if value == x:
return i
return -1
# Kasus 1: Mencari X = 23
print("Kasus 1:", linear_search(data, 23))
# Kasus 2: Mencari X = 31
print("Kasus 2:", linear_search(data, 31))
Binary Search (Sederhana)
# Data array harus terurut
data = [3, 9, 11, 15, 17, 23, 31, 35]
# Fungsi Binary Search
def binary_search(arr, x):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == x:
return mid
elif arr[mid] < x:
left = mid + 1
else:
right = mid - 1
return -1
# Kasus 1: Mencari X = 23
print("Kasus 1:", binary_search(data, 23))
# Kasus 2: Mencari X = 11
print("Kasus 2:", binary_search(data, 11))
OUTPUT :
.
Penjelasan
1. Linear Search:
• Tidak perlu variabel tambahan, cukup iterasi langsung melalui array.
• Menggunakan fungsi enumerate() untuk mendapatkan indeks dan nilai elemen secara bersamaan.
2. Binary Search:
• Memanfaatkan variabel left dan right untuk mempersempit pencarian.
• Hanya menggunakan satu perulangan while untuk membuatnya lebih ringkas.
Kedua versi ini lebih pendek tetapi tetap mudah dipahami. Jika perlu modifikasi lebih lanjut, silakan beri tahu!
Komentar
Posting Komentar