Praktikum Algoritma: Linear Search dengan Python 😎

Published: (December 18, 2025 at 01:36 AM EST)
3 min read
Source: Dev.to

Source: Dev.to

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 Linear Search

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

  1. Mulai dari index 0: 10 == 30? Tidak.
  2. Index 1: 20 == 30? Tidak.
  3. Index 2: 30 == 30? Ya! Ketemu di posisi 2.

Jika target 60: cek semua sampai akhir → tidak ketemu.

Step by step linear search

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

Linear search cocok untuk list kecil atau tidak urut. Kalau list sudah urut, lebih cepat pakai binary search (seperti membuka kamus di tengah‑tengah).

Perbandingan Linear vs Binary Search

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! 🎉🐍

Back to Blog

Related posts

Read more »

Leetcode 39 Combination Sum

Problem Statement Given an array of distinct integers candidates and a target integer target, return all unique combinations of candidates where the chosen num...