- PENGERTIAN
Searching merupakan salah satu teknik algoritma yang digunakan untuk mencari suatu data/nilai tertentu didalam memori komputer. Algoritma searching tidak hanya digunakan dibahasa 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. Jika ada maka dapat dihapus atau diubah.
-KEGUNAAN DATA
Kegunaan beberapa struktur data dalam penyimpanan-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. Di dalam pembahasan ini hanya membahas tentang pencarian internal.
Pada umumnya dikenal tiga metode searching, antara lain:
Sequensial Search, Binary Search, dan Interpolation Search.
-SEQUENTIAL SEARCH
Sequential Search (pencarian beruntun) adalah metode-CONTOH PROGRAM SEQUENTIAL SEARCH
-CONTOH PROGRAM SEQUENTIAL SEARCH
-BINARY SEARCH
Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada kumpulan data yang sudah diurutkan terlebih dahulu (menaik atau menurun). Prinsip dari binary search terhadap N elemen dapat dijelaskan
seperti berikut:
•Tentukan posisi awal = 0 dan posisi akhir = N-1.
•Hitung posisi tengah = (posisi awal + posisi akhir)/2.
•Bandingkan data yang dicari dengan elemen posisi tengah.
-CONTOH BINARY SEARCH
Misalkan kita mempunyai sederetan data dalam array nilai sebanyak 10 elemen dan
akan dilakukan pencarian data 87.
•Nilai[0,9] = 12, 45, 23, 87, 90, 55, 15, 25, 40, 21
Urutkan elemen array secara menaik, sehingga diperoleh:
•Nilai[0,9] = 12, 15, 21, 23, 25, 40, 45, 55, 87, 90
•Data yang akan dicari = 87 (Bilangan)
•Tentukan nilai awal = 0, akhir = N-1 = 9
•Hitung tengah = (9+0)/2 = 4
-CONTOH BINARY SEARCH
(1.)Bandingkan Bilangan < Nilai[tengah] → 87=25→false
(2.)Bandingkan Bilangan < Nilai[tengah] → 87<25→false
(3.)Bandingkan Bilangan < Nilai[tengah] → 87>25→true maka pencarian dilakukan ke
(4.)sebelah kanan dengan nilai awal = tengah + 1 = 5
5.Karena awal masih lebih kecil dari akhir maka ulangi kembali mulai menghitung tengah
6.Hitung tengah = (9+5)/2 = 7
7.Bandingkan Bilangan < Nilai[tengah] → 87=55→false
8.Bandingkan Bilangan < Nilai[tengah] → 87<55→false bandingkan Bilangan < Nilai[tengah] → 87>55→true maka pencarian dilakukan kesebelah kanan dengan nilai awal = tengah + 1 =8
9.Karena awal masih lebih kecil dari akhir maka ulangi kembali mulai menghitung tengah,dst.
-CONTOH PROGRAM BINARY SEARCH
-INTERPOLATION SEARCH
Proses pencarian data ini hampir sama dengan proses







0 Komentar