Anda di halaman 1dari 7

1.

Metode Pencarian Beruntun/Linear (Sequential Search)


Metode pencarian beruntun (sequential search) atau pencarian lurus (linear search), adalah
proses pencarian yang sangat sederhana dengan cara membandingkan setiap elemen larik
(array) satu persatu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari
ditemukan, atau seluruh elemen telah diperiksa. Terdapat dua versi algoritma pencarian
beruntun atau pencarian linear. Diumpamakan, kita memiliki sekumpulan data dalam suatu
array seperti berikut: Data
70 65 85 44 75 25 55 10 50

0 1 2 3 4 5 6 7 8
Visualisasi data array diatas bernama data dan bertipe integer dan kita mendeklarasikannya
dengan cara sebagai berikut :
Int data [9];
Array diatas bernama data, terdiri dari 9 elemen mulai nomor indeks 0 hingga indeks 9, tipe
data dari array berupa tipe integer (int).
Dalam pencarian beruntun, data yang dicari disimpan pada suatu variabel, misalnya
data_dicari yang harus dideklarasikan sebagai variabel bertipe integer juga. Setelah
data_dicari memiliki nilai (nilai yang akan dicari dalam array), maka kita membandingkan
setiap data pada array mulai dari indeks ke 0 hingga indeks terakhir. Salah satu bentuk
algoritma pencarian beruntun/linear adalah seperti berikut, dimana pencarian dilakukan
terhadap suatu array-A dan nilai yang dicari adalah x. Algoritma berikut ditulis dalam bentuk
algoritma bahasa verbal dan algoritma kode semu (psedudo-code) :
Algoritma pencarian linear (array A, Nilai x)
Langkah 1 : diawali dengan setel ke 1
Langkah 2 : jika i > n maka lanjutkan ke langkah 7
Langkah 3 : jika A[i]=x maka lanjutkan ke langkah 6
Langkah 4: setel i ke posisi i +1
Langkah 5 : lanjutkan ke langkah 2
Langkah 6 : elemen cetak x ditemukan di indeks ke-1 dan lanjutkan ke langkah 8
Langkah 7 : elemen cetak tidak ditemukan
Langkah 8 : keluar
Pseudocode (kode semu)
Prosedur linear_search (daftar, nilai)
awal_prosedur untuk setiap item dalam
daftar jika cocok item == nilai
mengembalikan lokasi item berakhir jika
berakhir untul akhir_prosedur
untuk mengetahui tentang implementasi pencarian linier dalam bahasa pemrograman C
misalnya kita memiliki array bernama data dengan banyak elemen 6 (N=6). Array diisi secara
langsung dari dalam program dengan contoh-contoh nilai sembarang
2. Metode Pencarian Binary
Salah satu syarat agar binary search dapat dilakukan adalah data sudah dalam keadaan urut.
Dengan kata lain, apabila data belum dalam keadaan urut, binary search tidak dapat
dilakukan. Prinsip dari binary search dapat dijelaskan sebagai berikut :
 Mula-mula diambil posisi awal 0 dan posisi akhir = N – 1, kemudian dicari posisi
data tengah dengan rumus (posisi awal + posisi akhir)/2. Kemudian data yang dicari
dibandingkan dengan data tengah.
 Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan
posisi tengah – 1
 Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama dengan
posisi tengah +1. Jika data sama, berarti ketemu.
Salah satu syarat agar pencarian biner dapat dilakukan adalah data sudah dalam keadaan urut.
Dengan kata lain, apabila data belum dalam keadaan urut, pencarian biner tidak dapat
dilakukan. Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggunakan pencarian
biner. Misalnya saat ingin mencari suatu kata dalam kamus prinsip dari pencarian biner dapat
dijelaskan sebagai berikut : mula-mula diambil poisi awal 0 dan posisi akhir = N – 1,
kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir)/2. Kemudian
data yang dicari dibandingkan dengan data tengah. Jika lebih kecil, proses dilakukan kembali
tetapi posisi akhir dianggap sama dengan posisi tengah -1. Jika lebih besar, proses dilakukan
kembali tetapi posisi awal dianggap sama dengan posisi tengah +1. Demikian seterusnya
sampai data tengah sama dengan yang dicari.
Misalnya ingin mencari data 17 pada sekumpulan data berikut :
3 9 11 12 15 17 20 23 31 35

Mula-mula dicari data tengah, dengan rumus (0+9)/2=4. Berarti data tengah adalah data ke-4
yaitu 15. Data yang dicari yaitu 17, dibandingkan dengan data tengah ini. Karena 17>15,
berarti proses dilanjutkan tetapi kali ini posisi awal dianggap sama dengan posisi tengah +1
atau 5.
Data tengah yang baru didapat dengan rumus (5+9)/2=7. Berarti data tengah yang baru adalah
data ke-7, yaitu 23. Data yang dicari yaitu 17 dibandingkan dengan data tengah ini. Karena
17>23, berarti proses dilanjutkan tetapi kali ini posisi akhir dianggap sama dengan posisi
tengah -1 atau 6.
Data tengah yang baru didapat dengan rumus (5+6)/2=5. Berarti data tengah yang baru adalah
data ke-5, yaitu 17. Data yang dicari dibandingkan dengan data tengah ini dan ternyata sama.
Jadi data ditemukan pada indeks ke-5. Pencarian biner ini akan berakhir jika data ditemukan
atau posisi awal lebih besar daripada posisi akhir. Jika posisi sudah lebih besar daripada posisi
akhir berarti data tidak ditemukan.

Contoh Program
1. Metode pencarian Beruntun/Linear (Sequential Search)
1
2
2. Metode pencarian binary 1.
2.

Anda mungkin juga menyukai