Tools
Praktikum Algoritma: Linear Search dengan Python 😎
2025-12-18
0 views
admin
Apa Itu Linear Search? 🤔 ## Cara Kerja Linear Search Langkah demi Langkah 📝 ## Implementasi di Python 🐍 ## Contoh 1: Cari Angka di List Bilangan Bulat 👍 ## Contoh 2: Cari Huruf di List String (Nama Buah) ## Contoh 3: Nggak Ketemu (Return -1) ## Contoh 4: List Kosong atau Target di Awal/Akhir ## Bonus: Bandingkan dengan Binary Search 🔍 ## Latihan Buat Kamu! 💪 Halo, teman-teman mahasiswa! Selamat datang di praktikum super seru tentang Linear Search (pencarian linier). Ini adalah algoritma pencarian yang paling sederhana di dunia pemrograman. Bayangkan kamu lagi nyari kunci rumah di tas yang berantakan – kamu cek satu per satu dari atas sampai ketemu. Nah, itu mirip linear search! Kita akan belajar step by step dengan bahasa yang santai, banyak contoh gampang, kode Python yang mudah dicopy-paste, dan ilustrasi keren biar cepat paham. Siap? Yuk langsung gas! 🚀 Linear search adalah cara mencari suatu nilai (disebut target) di dalam sebuah list (daftar) dengan memeriksa satu per satu elemen dari awal sampai akhir. Kelebihan: Super simple, nggak perlu list-nya urut.
Kekurangan: Lambat kalau list-nya panjang banget (harus cek semua kalau target di akhir atau nggak ada). Ilustrasi di atas nunjukin gimana linear search kerja: mulai dari index 0, cek satu-satu sampai ketemu target. Misal list kita: [10, 20, 30, 40, 50] dan target: 30 Kalau target 60: Cek semua sampai akhir → Nggak ketemu. Gambar ini lebih detail lagi, step by step seperti detektif nyari barang hilang! 🕵️♂️ Kita buat fungsi sederhana bernama linear_search. Gampang banget kan? Pakai loop for dan index i. Output: Ketemu! 23 ada di index 2 Coba jalankan di Python kamu sendiri! Bayangkan kamu punya daftar buah dan nyari "Mangga". Output: Yummy! Mangga ada di urutan ke-4 (index 3) Seru kan? Bisa dipakai buat nyari apa aja! Output: Singa nggak ada di kebun binatang ini 🦁 Linear search cocok buat list kecil atau nggak urut. Kalau list sudah urut, lebih cepat pakai binary search (seperti buka kamus di tengah-tengah). Gambar ini nunjukin perbedaan: Linear cek semua, binary potong setengah-setengah. Keren ya! Selamat praktikum! Kalau sudah paham linear search, kamu sudah selangkah lebih dekat jadi programmer handal. Kalau ada yang bingung, tanya aja atau coba-coba sendiri. Have fun coding! 🎉🐍 Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse COMMAND_BLOCK:
def linear_search(arr, target): for i in range(len(arr)): # Loop dari 0 sampai panjang list - 1 if arr[i] == target: # Kalau elemen ke-i sama dengan target return i # Kembalikan index-nya return -1 # Kalau loop selesai berarti nggak ketemu Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK:
def linear_search(arr, target): for i in range(len(arr)): # Loop dari 0 sampai panjang list - 1 if arr[i] == target: # Kalau elemen ke-i sama dengan target return i # Kembalikan index-nya return -1 # Kalau loop selesai berarti nggak ketemu COMMAND_BLOCK:
def linear_search(arr, target): for i in range(len(arr)): # Loop dari 0 sampai panjang list - 1 if arr[i] == target: # Kalau elemen ke-i sama dengan target return i # Kembalikan index-nya return -1 # Kalau loop selesai berarti nggak ketemu CODE_BLOCK:
daftar_angka = [15, 7, 23, 42, 9, 31]
target = 23 hasil = linear_search(daftar_angka, target)
if hasil != -1: print(f"Ketemu! {target} ada di index {hasil}")
else: print(f"{target} nggak ada di list 😢") Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
daftar_angka = [15, 7, 23, 42, 9, 31]
target = 23 hasil = linear_search(daftar_angka, target)
if hasil != -1: print(f"Ketemu! {target} ada di index {hasil}")
else: print(f"{target} nggak ada di list 😢") CODE_BLOCK:
daftar_angka = [15, 7, 23, 42, 9, 31]
target = 23 hasil = linear_search(daftar_angka, target)
if hasil != -1: print(f"Ketemu! {target} ada di index {hasil}")
else: print(f"{target} nggak ada di list 😢") CODE_BLOCK:
daftar_buah = ["Apel", "Pisang", "Jeruk", "Mangga", "Durian"]
target = "Mangga" hasil = linear_search(daftar_buah, target)
if hasil != -1: print(f"Yummy! {target} ada di urutan ke-{hasil + 1} (index {hasil})")
else: print("Buahnya habis stok 😭") Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
daftar_buah = ["Apel", "Pisang", "Jeruk", "Mangga", "Durian"]
target = "Mangga" hasil = linear_search(daftar_buah, target)
if hasil != -1: print(f"Yummy! {target} ada di urutan ke-{hasil + 1} (index {hasil})")
else: print("Buahnya habis stok 😭") CODE_BLOCK:
daftar_buah = ["Apel", "Pisang", "Jeruk", "Mangga", "Durian"]
target = "Mangga" hasil = linear_search(daftar_buah, target)
if hasil != -1: print(f"Yummy! {target} ada di urutan ke-{hasil + 1} (index {hasil})")
else: print("Buahnya habis stok 😭") CODE_BLOCK:
daftar_hewan = ["Kucing", "Anjing", "Kelinci", "Burung"]
target = "Singa" hasil = linear_search(daftar_hewan, target)
if hasil != -1: print(f"Ketemu hewan {target}!")
else: print(f"{target} nggak ada di kebun binatang ini 🦁") Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
daftar_hewan = ["Kucing", "Anjing", "Kelinci", "Burung"]
target = "Singa" hasil = linear_search(daftar_hewan, target)
if hasil != -1: print(f"Ketemu hewan {target}!")
else: print(f"{target} nggak ada di kebun binatang ini 🦁") CODE_BLOCK:
daftar_hewan = ["Kucing", "Anjing", "Kelinci", "Burung"]
target = "Singa" hasil = linear_search(daftar_hewan, target)
if hasil != -1: print(f"Ketemu hewan {target}!")
else: print(f"{target} nggak ada di kebun binatang ini 🦁") COMMAND_BLOCK:
# Target di awal
list1 = [100, 200, 300]
print(linear_search(list1, 100)) # Output: 0 # Target di akhir
print(linear_search(list1, 300)) # Output: 2 # List kosong
list_kosong = []
print(linear_search(list_kosong, 5)) # Output: -1 Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK:
# Target di awal
list1 = [100, 200, 300]
print(linear_search(list1, 100)) # Output: 0 # Target di akhir
print(linear_search(list1, 300)) # Output: 2 # List kosong
list_kosong = []
print(linear_search(list_kosong, 5)) # Output: -1 COMMAND_BLOCK:
# Target di awal
list1 = [100, 200, 300]
print(linear_search(list1, 100)) # Output: 0 # Target di akhir
print(linear_search(list1, 300)) # Output: 2 # List kosong
list_kosong = []
print(linear_search(list_kosong, 5)) # Output: -1 - Kalau ketemu → Kembalikan posisi (index) nya.
- Kalau nggak ketemu → Bilang "Nggak ada nih!" (biasanya return -1). - Mulai dari index 0: 10 == 30? Tidak.
- Index 1: 20 == 30? Tidak.
- Index 2: 30 == 30? Ya! Ketemu di posisi 2. - Modifikasi kode biar fungsi mengembalikan berapa kali target muncul (kalau ada duplikat).
- Buat linear search untuk list nama temanmu, terus cari nama sendiri.
- Coba timing: Pakai list besar (1000 elemen) dan ukur waktu pakai time module.
how-totutorialguidedev.toaipython