fbpx

Struktur Data : Sequential Search

Sequential search disebut juga Pencarian Beruntun.

Sequential/Linear Search membandingkan setiap elemen array satu per satu secara beruntun, mulai dari elemen pertama, sampai elemen yang dicari ditemukan atau sampai seluruh elemen sudah diperiksa.

Secara umum, Sequential search lambat. Waktu pencarian sebanding dengan jumlah elemen array. Pada kasus X tidak terdapat dalam Array, kita harus memeriksa seluruh elemen array.

Bayangkan bila array berukuran 100.000 elemen. Bila satu pemeriksaan elemen array membutuhkan waktu 0,01 detik, maka untuk 100.000 kali pemeriksaan
membutuhkan waktu 1000 detik atau 16,7 menit!

Algoritma sequential search tidak praktis untuk data berukuran besar. Algoritma yang lebih cepat dari sequential search adalah algoritma binary search


Mencari elemen โ€œ33โ€ dengan memeriksa elemen satu per satu. Sehingga ditemukan bahwa elemen โ€œ33โ€ berada pada indeks ke-6.


Sequential Search pada array tidak terurut

Pencarian dilakukan dengan memeriksa setiap elemen Array mulai dari elemen pertama sampai elemen yang dicari ketemu atau sampai seluruh elemen telah diperiksa.

  • Misal nilai yang dicari adalah: X = 21. maka elemen yang diperiksa: 13, 16, 14, 21 (ditemukan!). Indeks Array yang dikembalikan: Y = 5
  • Misal nilai yang dicari adalah: X = 13. maka elemen yang diperiksa: 13 (ditemukan!). Indeks Array yang dikembalikan: Y = 0
  • Misal nilai yang dicari adalah: X = 15. maka elemen yang diperiksa: 13, 16, 14, 21, 76, 21 (tidak ditemukan!). Indeks Array yang dikembalikan: Y = -1

Sequential Search pada array terurut

Apabila array sudah terurut, maka proses pencarian dapat dibuat lebih efisien. Caranya yaitu dengan menghilangkan langkah pencarian yang tidak perlu yaitu jika nilai elemen array yang diperiksa sudah melewati nilai X yang dicari maka bisa di-stop


Sequential Search Menggunakan Sentinel

Merupakan pengembangan dari sequential search. Sentinel adalah elemen fiktif yang ditambahkan sesudah elemen terakhir dari array. Jika elemen terakhir array adalah A[N], maka sentinel dipasang pada elemen A[N+1].

Sentinel nilainya sama dengan nilai data yang dicari. Sehingga proses pencarian selalu menemukan data yang dicari. Periksa kembali letak data tersebut ditemukan, apakah:

  • Di antara elemen array sesungguhnya (dari A[0] sampai A[N])
  • Pada elemen fiktif A[N+1] yang berarti sesungguhnya X tidak ada di dalam array A

Programmer harus hati-hati dengan pendefinisian batas indeks array, tidak boleh menambahkan data melebihi rentang indeks. Misal untuk array ini kita harus deklarasikan panjangnya lebih dari 5 karena kita harus punya tempat
untuk sentinel.

  • Data yang dicari = 9
  • Tempatkan data yang dicari pada sentinel
  • Telusuri array seperti sequential search tanpa sentinel, jika data ditemukan pada sentinel maka data yang dicari tidak ada/tidak ditemukan. Tetapi, jika data yang dicari ditemukan bukan pada sentinel maka data ditemukan.

Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Searching, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up