Pengertian Sequential Search
Sequential search adalah teknik pencarian data yang dilakukan dengan cara membandingkan setiap elemen data satu per satu, mulai dari elemen pertama hingga elemen yang dicari ditemukan. Proses ini terus berlanjut hingga data ditemukan atau seluruh elemen telah diperiksa.
Algoritma ini termasuk salah satu algoritma pencarian yang paling sederhana dan sering digunakan dalam situasi di mana data tidak memiliki struktur tertentu.
Fungsi Sequential Search
- Digunakan untuk mencari data dengan melakukan proses membandingkan setiap elemen larik secara beruntun satu persatu, mulai dari elemen pertama, sampai elemen yang dicari ditemukan, atau seluruh elemen sudah diperiksa .
- Dapat digunakan untuk pengelolaan data, seperti fungsi pencarian data barang pada master data barang .
- Dalam konteks pengujian kecepatan pencarian, Algoritma Sequential Search dapat digunakan dengan fungsi microtime untuk mengevaluasi kecepatan pencarian data
Cara Kerja Sequential Search
Algoritma Sequential Search bekerja dengan melakukan perbandingan satu persatu secara beruntun dalam kumpulan data dengan data yang dicari sampai data tersebut ditemukan atau tidak ditemukan.
Proses pencarian ini hanya melakukan pengulangan data dari 1 sampai dengan jumlah data (N). Setiap pengulangan, dilakukan perbandingan data ke-i dengan data yang sedang dicari. Jika data sama dengan yang dicari, berarti data telah berhasil ditemukan. Sebaliknya, jika sampai akhir pengulangan tidak ada data yang sama dengan yang dicari, berarti data tidak ditemukan.
Langkah-langkah urutan Algoritma Sequential Search:
- i <- 0
- Ketemu <- false
- Selama (tidak ketemu) dan ( i < N ) kerjakan baris 4.
- Jika ( Data [i]=key ) maka ketemu <- true. Jika tidak, i ditambah 1. Jika ketemu, maka i adalah indeks dari data yang dicari.
Contoh Penerapan Algoritma Sequential Search
def sequential_search(data, target):
i = 0
found = False
while not found and i < len(data):
if data[i] == target:
found = True
else:
i += 1
if found:
return i # Mengembalikan indeks elemen yang ditemukan
else:
return -1 # Mengembalikan -1 jika elemen tidak ditemukan
# Contoh penggunaan
data_list = [4, 2, 7, 1, 9, 5, 8]
target_element = 7
result = sequential_search(data_list, target_element)
if result != -1:
print(f”Elemen {target_element} ditemukan pada indeks {result}.”)
else:
print(f”Elemen {target_element} tidak ditemukan dalam list.”)
Penjelasan program di atas:
- Fungsi sequential_search: Menerima list data dan elemen target yang dicari. Melakukan pencarian sekuensial dengan menggunakan algoritma Sequential Search.
- Iterasi While:Selama belum ditemukan (not found) dan indeks i masih dalam rentang data, lakukan perulangan.
- Pemeriksaan Elemen:Pada setiap iterasi, periksa apakah elemen pada indeks ke-i sama dengan elemen yang dicari (target).
- Penentuan Hasil:Jika elemen ditemukan, fungsi mengembalikan indeks elemen tersebut.
Jika elemen tidak ditemukan, fungsi mengembalikan -1.
Contoh Penggunaan:
Sebuah list data_list dibuat sebagai himpunan data.
Elemen yang dicari adalah 7.
Hasil pencarian disimpan dalam variabel result dan kemudian ditampilkan.
Dalam contoh ini, kita dapat melihat bahwa elemen 7 ditemukan pada indeks ke-2 dalam list data_list
Kelebihan dan Kekurangan Algoritma Sequential Search
Kelebihan:
- Proses pencarian menggunakan Sequential Search cenderung lebih cepat dan efisien untuk jumlah data yang terbatas atau tidak terlalu banyak
- Algoritma yang digunakan juga lebih sederhana atau tidak terlalu rumit.
- Untuk data yang jumlahnya terbatas, pencarian relatif lebih cepat .
- Jika data yang dicari berada di awal atau dekat awal, proses pencarian dapat lebih efisien .
Kekurangan:
- Kurang efisien dan kurang cepat untuk mencari suatu data dalam jumlah yang besar .
- Algoritma Sequential Search kurang efisien jika data yang dicari berada di posisi akhir .
- Tidak baik untuk pencarian data dalam jumlah yang besar karena algoritma pemrogramannya lebih rumit dibandingkan dengan Binary Search .
- Jika data yang dicari berada di posisi akhir, pencarian secara sekuensial dari awal sampai akhir menjadi kelemahan