Praktikum Algoritma: Linear Search dengan Python 😎
Source: Dev.to
Apa Itu Linear Search? 🤔
Linear search adalah cara mencari suatu nilai (disebut target) di dalam sebuah list (daftar) dengan memeriksa satu per satu elemen dari awal sampai akhir.
- Kalau ketemu → Kembalikan posisi (index) nya.
- Kalau nggak ketemu → Bilang “Nggak ada nih!” (biasanya return
-1).
Kelebihan: Super simple, nggak perlu list‑nya urut.
Kekurangan: Lambat kalau list‑nya panjang banget (harus cek semua kalau target di akhir atau tidak ada).

Ilustrasi di atas menunjukkan bagaimana linear search bekerja: mulai dari index 0, cek satu‑satu sampai ketemu target.
Cara Kerja Linear Search Langkah demi Langkah 📝
Misal list kita: [10, 20, 30, 40, 50] dan target: 30
- Mulai dari index 0:
10 == 30? Tidak. - Index 1:
20 == 30? Tidak. - Index 2:
30 == 30? Ya! Ketemu di posisi 2.
Jika target 60: cek semua sampai akhir → tidak ketemu.

Gambar ini lebih detail lagi, step by step seperti detektif mencari barang hilang! 🕵️♂️
Implementasi di Python 🐍
Kita buat fungsi sederhana bernama linear_search.
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 tidak ketemu
Contoh 1: Cari Angka di List Bilangan Bulat 👍
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 😢")
Output: Ketemu! 23 ada di index 2
Contoh 2: Cari Huruf di List String (Nama Buah)
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 😭")
Output: Yummy! Mangga ada di urutan ke-4 (index 3)
Contoh 3: Tidak Ketemu (Return -1)
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 🦁")
Output: Singa nggak ada di kebun binatang ini 🦁
Contoh 4: List Kosong atau Target di Awal/Akhir
# 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
Bonus: Bandingkan dengan Binary Search 🔍
Linear search cocok untuk list kecil atau tidak urut. Kalau list sudah urut, lebih cepat pakai binary search (seperti membuka kamus di tengah‑tengah).

Gambar ini menunjukkan perbedaan: linear cek semua, binary memotong setengah‑setengah.
Latihan Buat Kamu! 💪
- Modifikasi kode agar fungsi mengembalikan berapa kali target muncul (jika ada duplikat).
- Buat linear search untuk list nama temanmu, lalu cari nama sendiri.
- Coba timing: pakai list besar (misalnya 1000 elemen) dan ukur waktu dengan modul
time.
Selamat praktikum! Jika sudah paham linear search, kamu selangkah lebih dekat menjadi programmer handal. Jika ada yang bingung, tanya saja atau coba‑coba sendiri. Have fun coding! 🎉🐍