Anda di halaman 1dari 7

PENCARIAN (SEARCH)

Pencarian (Searching) merupakan proses yang fundamental dalam pemrograman, guna menemukan
data (nilai) tertentu di dalam sekumpulan data yang bertipe sama. Pencarian berfungsi untuk
memvalidasi (mencocokkan) data.

1. Sequential search

Metode sequential search (pancarian beruntun) dapat digunakan untuk melakukan pencarian data
baik pada array yang sudah terurut maupun belum terurut. Proses pencarian pada sequential
search dilakukan dengan membandingkan data yang dicari dengan masing-masing data didalam
array, jika data yang dicari ditemukan makan pencarian akan berhenti tetapi jika tidak maka semua
data akan dibandingkan sampai selesai.
Ilustrasi.

Contoh:
A=2 8 4 6 7 5 9
Dilakukan pencarian apakah didalam data tersebt terdapat nilai 6.
1 2 3 4 5 6 7 i = 1 s/d n
A= 2 8 4 6 7 5 9

x=6
ketemu  false
i=1

A[1] <> {ketemu  false}


i=1+1=2

IKE VERAWATI,M.KOM
A[2] <> {ketemu  false}
i=2+1=3
A[3] <> {ketemu  false}
i=3+1=4
A[4] <> {ketemu  true}

Hasil dari pencarian data bernilai 6 tersebut ditemukan pada posisi ke-4
Contoh program:

IKE VERAWATI,M.KOM
IKE VERAWATI,M.KOM
2. Binary search

Binary search merupakan sebuah proses pencarian data yang sudah terurut, baik dari kecil ke besar
maupun dari besar ke kecil.
Konsep pencariannya dilakukan seperti berikut:
1. Tentukankanlah indeks data pertama dan yang terakhir untuk mencri indeks yang berada
ditengah. Contoh: Jumlah data=20 (tengah=indeks data awal + indeks data akhir)/2 
(1+20)/2=10,5  bulatkan kebawah sehingga kita mendapatkan indeks data tengah =10.
2. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi
tengah -1.
3. Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi
tengah +1.
4. Pencarian data selesai.

IKE VERAWATI,M.KOM
Contoh program Binary:

IKE VERAWATI,M.KOM
IKE VERAWATI,M.KOM
Efisiensi.
• Sequential search lebih efektif jika digunakan pada sekumpulan data yang sedikit.

• Sedangkan binary search efektif jika digunakan pada sekumpulan data yang berjumlah
banyak.

IKE VERAWATI,M.KOM

Anda mungkin juga menyukai