MATERI
SEARCHING (PENCARIAN)
Searching(Pencarian)
Pendahuluan
A. Tujuan
Setelah praktikum ini, praktikan diharapkan dapat :
1. Memahami apa itu Searching
2. Menunjukkan beberapa Algortima yang berbeda
3. Menerapkan Searching menggunakan bahasa C++
C. Teori
SEARCHING(PENCARIAN)
Dalam kehidupan sehari-hari sebenarnya kita sering melakukan pencarian data. Pencarian
data sering juga disebut table look-up atau storage and retrieval information adalah suatu proses
untuk mengumpulkan sejumlah informasi di dalam pengingat komputer dan kemudian mencari
kembali informasi yang diperlukan secepat mungkin.
Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah
argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut.
Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data
yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful).
Teknik pencarian data dari array yang paling mudah adalah dengan cara sequential search, dimana
data dalam array dibaca 1 demi satu, diurutkan dari index terkecil ke index terbesar, maupun
sebaliknya.
Contoh :
Array :
int a[5] = {0,3,6,10,1} (index array pada bahasa c dimulai dari index ke 0 !!!)
jika kita ingin mencari bilangan 6 dalam array tersebut, maka proses yang terjadi kita mencari
1. dari array index ke-0, yaitu 0, dicocokan dengan bilangan yang akan dicari, jika tidak sama,
maka mencari ke index berikutnya
2. pada array index ke-1, juga bukan bilangan yang dicari, maka kita mencari lagi pada index
berikutnya
3. pada array index ke-2, ternyata bilangan yang kita cari ada ditemukan, maka kita keluar
dari looping pencarian
contoh source :
Output :
Pencarian biner adalah proses mencari data dengan membagi data atas dua bagian secara
terus menerus sampai elemen yang dicari sudah ditemukan, atau indeks kiri lebih besar dari indeks
kanan.
Algoritma ini lebih efisien daripada algoritma pencarian sekuensial, tetapi pencarian ini
mempunyai syarat yaitu bahwa kumpulan data yang harus dilakukan pencarian harus sudah terurut
terlebih dahulu. Karena data sudah terurut, algoritma dapat menentukan apakah nilai data yang
dicari berada sebelum atau sesudah elemen larik yang sedang dibandingkan pada suatu saat.
Dengan cara ini, algoritma dapat lebih menghemat waktu pencarian.
5. Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah – 1
6. Jika data sama, berarti ketemu.
Output :
Interpolation search merupakan salah satu metode pencarian yang dapat digunakan.
Seperti pada binary search, data yang harus diurutkan terlebih dahulu, sebelum dapat dilakukan
pencarian dengan metode ini. Pada metode pencarian ini, kita mencoba menebak letak data yang
kita cari, dengan perhitungan
Output :
Tambahan materi :
break ;
digunakan untuk keluar dari suatu blok perintah
continue;
digunakan untuk mem by-pass satu iterasi pada perulangan
#include<iostream>
using namespace std;
int main(){
for(int i=0;i<10;i++){
for(int j=10;j>0;j--){
if(i+j==10) break;
//if(i+j==10) continue; //hilangkan tanda slash didepan if, dan beri slash 2
di depan if yang atas untuk mencoba kode continue
printf("%i ",i+j);
printf("pass");
}
printf("\n");
}
}
Praktek 1
1. Buatlah sebuah program dengan pencarian karakter dalam sebuah nama.
Langkah tugas :
1. Contoh program sebelumnya
2. Data yang diinputkan berupa nama siswa
3. Lakukan input array secara dinamis
4. Jika pencarian tidak ditemukan maka beri keterangan
Praktek 2
2. Buatlah sebuah program dengan pencarian data nama dalam sebuah kelas.
Langkah tugas :
1. Contoh program sebelumnya
2. Lakukan input array secara dinamis
3. Pencarian dilakukan dengan menggunakan nama siswa