Pengertian Searching
Searching merupakan
kegiatan mencari data yang akan dibutuhkan. Searching dalam pemrograman dapat dilakukan untuk mencari data yang berada pada memory komputer. Dalam kehidupan sehari-hari kita sering melakukan Searching seperti
pada saat mencari data maupun informasi yang ada pada internet. Terdapat macam-macam
metode yang dapat digunakan dalam Searching, antara lain:
· Sequential Search
·
Binary Search
1.
Sequential Search
Sequential Search adalah
sebuah metode pencarian data dalam array dengan cara membandingkan data yang akan dicari dengan data yang terdapat dalam
array secara berurutan. Pencarian data dengan menggunakan metode Sequential Search lebih efektif untuk mencari data dalam posisi tidak terurut atau acak.
Proses Sequential
Search dapat dijelaskan sebagai berikut:
1.
Menentukan data yang akan dicari.
2.
Membaca data array satu per
satu secaras ekuensial
3.
Membaca data mulai dari data pertama sampai dengan data terakhir, kemudian data yang dicari akan dibandingkan dengan masing-masing data yang terdapat dalam array.
a.
Apabilah data yang dicari ditemukan maka kita dapat membuat pernyataan bahwa
data telah ditemukan.
b.
Jika data yang dicari tidak ditemukan maka kita dapat membuat pernyataan bahwa
data tidak temukan.
Ilustrasi:
|
Data yang dicari yaitu 7, lalu disimpan dalam variabel x, kemudian akan dibandingkan satu per satu secara kuensial terhadap data yang terdapat dalam array. Jika ditemukan data pada array yang sama dengan data yang dicari maka data ditemukan.
Kelebihan dan Kekurangan Sequential Searching yaitu:
·
Kelebihan Sequential Searching
adalah Sequential Searching lebih
mudah dalam proses implementasi dalam pemrograman.
·
Kekurangan Sequential Searching adalah data yang terdapat dalam suatu array
jumlahnya sangat banyak, maka waktu yang diperlukan dalam membandingkan data yang dicari dengan
jumlah data dalam suatu array
membutuhkan waktu yang lebih lama.
Salah Satu Contoh Studi Kasus:
Menemukan data yang akan dicari dalam sebuah array 1 dimensi dimana di
dalamnya terdapat data dengan menggunakan metode Sequential Searching.
Jika data yang akan dicari dalam array
ditemukan, kemudian ditampilkan letak dari indexnya.
Pemrograman Sequential Searching sebagai berikut:
Running dari Pemrogram di atas sebagai berikut:
2.
Binary Search
Metode Binary
Search adalah suatu metode pencarian data dengan cara mengelompokkan array menjadi bagian-bagian. Binary
Search hanya dapat diterapkan pada data yang telah terurut baik ascending
maupun descending dalamsuatu array.
Proses Binary Search dengan data ascending dan telah urut:
1.
Membuat perulangan kemudian menentukan posisi low yaitu posisi yang menandakan
index paling rendah kemudian menentukan posisi high, setelah itu mencari posisi mid atau tengah = (high
+ low)/2
2.
Membandingkan data yang dicari dengan nilai yang berada di posisi mid atau tengah.
3.
Jika data yang dicari sama dengan nilai yang ada di posisi mid atau tengah
berarti data ditemukan.
4.
Jika data yang dicari lebih kecil dari nilai yang terdapat pada mid maka pencarian data akan dilakukan dibagian kiri mid
dengan melakukan pembandingan. Dengan kondisiposisi high
berubah yaitu (mid
- 1) dan posisi low tetap.
5.
Jika data yang dicari lebih besar dari nilai yang terdapat pada mid maka pencarian data akan dilakukan di bagian kanan dari mid
dengan posisi low
yang berubah yaitu (mid
+ 1) dan posisi high tetap.
Ilustrasi:
Setelah menentukan low
dan high lalu menentukan mid. perhitungan mid = (low+high)/2 jadi mid = (0+4)/2, artinya mid berada pada data (2). Data yang dicari kemudian
ditampung di variabel x lalu dibandingkan dengan data atau nilai yang berada di mid. data yang dicari adalah 7<10 kemudian pencarian data dilakukan di bagian kiri mid.
Pencarian di bagian kiri mid
masih dalam perulangan yang sama, namun indeksnya dipersempit. Karena data yang dicari lebih kecil dari data mid
yang sebelumnya maka posisi high
akan berubah yaitu (mid - 1) yang sebelumnya dan low
tetap pada posisi yang sama. Kemudian menentukan mid =(0+1)/2 = 0 artinya mid sekarang terletak di data (0). lalu data yang dicari dibandingkan dengan mid.
7=7 artinya data telah ditemukan
Kelebihan dan Kekurangan Binary Search:
1.
Kelebihan Binary Search adalah tidak perlu membandingkan data yang
dicari dengan seluruh data array yang ada, hanya cukup melalui titik tengah kemudian kita bias menentukan ke mana selanjutnya mencari data yang akan dicari.
2.
Kekurangan Binary Search adalah penerapannya agak sedikit lebih rumit dikarenakan tidak dapat digunakan pada data array yang masih acak, sehingga harus melakukan sorting terlebih dahulu dalam penerapannya.
Pemrograman Binary Search sebagai berikut:
Running dari Pemrogram di atas sebagai berikut:
0 komentar:
Post a Comment