Searching dalam Bahasa Pemrograman C++


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:



Share on Google Plus

About BOCAH ALPRO

Kami adalah Sekumpulan Bocah yang ingin Berbagi Ilmu kepada Anda. Jadi Manfaatkanlah Website ini untuk Media Belajar. Karena "Ilmu tanpa Amal bagaikan Pohon tak Berbuah."

0 komentar:

Post a Comment