Searching adalah pencarian data dengan cara menelusuri data-data tersebut. Tempat pencarian data dapat berupa array dalam memori(pencarian internal), bisa juga pada file pada external storage(pencarian external).
Ada dua macam teknik pencarian yaitu pencarian sekuensial dan pencarian biner. Perbedaan dari dua teknik ini terletak pada keadaan data. Pencarian sekuensial digunakan apabila data dalam keadaan acak atau tidak terurut (contoh: sequential search). Sebaliknya, pencarian biner digunakan pada data yang sudah dalam keadaan urut (contoh: Binary serach dan interpolation search). Pada Kesempatan ini kita hanya akan membahas tentang pencarian internal menggunakan Array dinamis (pointer).
Metode pencarian dibagi menjadi 2, yaitu:
- Metode Pencarian Beruntun:
Konsep yang digunakan dalam metode ini adalah membandingkan data-data yang ada dalam kumpulan tersebut, mulai dari elemen pertama sampai elemen ditemukan, atau sampai elemen terakhir. - Metode Pencarian Bagi Dua:
Metode ini diterapkan pada sekumpulan data yang sudah terurut (menaik atau menurun). Metode ini lebih cepat dibandingkan metode pencarian beruntun. Data yang sudah terurut menjadi syarat mutlak untuk menggunakan metode ini.
Indeks awal = i, dimana nilai i, pada awalnya bernilai 0;
Indeks akhir = j, dimana nilai j, pada awalnya bernilai sama dengan jumlah elemen.
Algoritma
Proses yang terjadi pada pencarian dengan metode ini adalah sebagai berikut :
- Membaca Array data
- Apabila Array belum terurut maka array diurutkan terlebih dahulu.
- Menentukan data yang akan dicari
- Menentukan elemen tengah dari array
- Jika nilai elemen tengah sama dengan data yang dicari, maka pencarian berhenti.
- Jika elemen tengah tidak sama dengan data yang dicari maka :
a. Jika nilai elemen tengah > data yang dicari maka pencarian dilakukan pada setengah array pertama.
b. Jika nilai elemen tengah lebih kecil dari pada data yang dicari maka pencarian dilakukan pada setengah array berikutnya.
Sumber : Yogapratama1205

No comments:
Post a Comment