PENGERTIAN
Searching merupakan salah satu teknik algoritma yang digunakan untuk mencari suatu data/nilai tertentu didalam memori komputer. Algoritma searching tidak hanya digunakan di bahasa pemrograman C++ namun juga di bahasa yang lain.
Dalam kehidupan sehari-hari, seringkali kita berurusan dengan pencarian misalnya untuk mencari istilah dalam kamus. Pada aplikasi komputer, pencarian kerapkali dilakukan misalnya untuk proses penghapusan data/record atau mengubah data/record tertentu di dalam suatu tabel atau file, langkah pertama yang harus dilakukan adalah mencari apakah data tersebut terdapat di dalam tabel/file atau tidak.
KEGUNAAN DATA
Media penyimpanan data .
Karakteristik jenis data yang disimpan .
Jumlah data yang akan disimpan dan keperluan untuk akses data secepat-cepatnya.
Contoh struktur data yang dipakai untuk proses penyimpanan pada proses pencarian yaitu: array, list, dan pohon biner.
LINGKUP PENCARIAN
Pencarian dapat dilakukan berdasarkan tempat penyimpanan, yang dibagi atas dua, yaitu pencarian internal dan pencarian eksternal. Pencarian internal yaitu pencarian yang dilakukan terhadap data yang berada dalam memori komputer. Pencarian eksternal yaitu pencarian yang dilakukan terhadap data yang berada dalam memori eksternal. Pada umumnya dikenal tiga metode searching, antara lain: Sequensial Search, Binary Search, dan Interpolation Search.
SEQUENTIAL SEARCH
Sequential Search adalah metode pencarian yang paling mudah. Prosesnya membandingkan setiap elemen array satu-per-satu secara beruntun yang dimulai dari elemen pertama hingga elemen yang dicari ditemukan atau hingga elemen terakhir dari array.
Pencarian beruntun dapat dilakukan terhadap elemen array yang belum terurut atau terhadap elemen array yang terurut. Perbedaan dari keduanya terletak pada efisiensi operasi pembandingan yang dilakukan.
Misalkan nilai yang dicari adalah: X = 15
Kalau yang diharapkan hanya menyatakan ada atau tidak ada maka pemeriksaan dilakukan terhadap 10 dan 15, maka tampil pesan «15 ditemukan».
Pada saat pemeriksaan dilakukan dan ternyata ada data yang sama maka posisi data yang sama tersebut akan disimpan dalam variabel juga dan dihitung banyaknya data yang sama.
BINARY SEARCH
Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Prinsip dari binary search terhadap N elemen dapat dijelaskan seperti berikut
Tentukan posisi awal = 0 dan posisi akhir = N-1.
Hitung posisi tengah = /2.
Bandingkan data yang dicari dengan elemen posisi tengah.
Karena awal masih lebih kecil dari akhir maka ulangi kembali mulai menghitung tengah, dst.
INTERPOLATION SEARCH
Proses pencarian data ini hampir sama dengan proses pencarian binary search. Pencarian ini juga dilakukan pada kumpulan data yang sudah urut .
SEARCH TIPE DATA LAIN
Untuk melakukan pencarian dengan Tipe Data lain, maka tinggal di ubah variabel array A yang sebelumnya tipe integer ke tipe string, terus variabel cari juga di ganti tipe datanya menggunanakan string.