Professional Documents
Culture Documents
Proses pencarian menemukan data tertentu didalam sekumpulan data yang bertipe sama.
Dalam proses pemrograman serching/pencarian biasanya digunakan untuk
- proses update atau penghapusan data sebelumnya melakukan proses
pencarian data.
- Penyisipan data pada sekumpulan data, jika data sudah ada maka proses
penyisipan tidak diperkenankan. Jika data tidak ada maka proses penyisipan
dilakukan tujuan digunakan agar tidak terjadi duplikasi data
PENCARIAN SEQUENTIAL
• Merupakan algoritma pencarian yang sangat sederhana.
• Proses pencarian beruntun adalah proses membandingkan setiap elemen larik satu per satu
secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan dan seluruh
elemn sudah diperiksa.
13 16 14 21 76 21
Binary Search (Pencarian Biner) dapat dilakukan jika data sudah dalam keadaan
urut. Dengan kata lain, apabila data belum dalam keadaan urut, pencarian biner tidak dapat
dilakukan. Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggunakan
pencarian biner. Misalnya saat ingin mencari suatu kata dalam kamus.
• Metode pencarian yang diterapkan pada sekumpulan data yang sudah terurut (menaik
maupun menurun)
• Metode ini digunakan untuk melakukan pencarian secara cepat dengan data yang sudah
terurut.
81 76 21 18 16 13 10 7
1 2 3 4 5 6 7 8
Low High
81 76 21 18 16 13 10 7
1 2 3 4 5 6 7 8
Low Middle High
Langkah 2:
Larik[4] = X ? (18 = 18) true X ditemukan, pencarian dihentikan.
2. Misalkan elemen yang dicari adalah X=16.
ITERASI 1
Langkah 1:
Low = 1 dan High = 8
Elemen tengah Middle = (1+8) div 2 = 9 div 2 = 4
81 76 21 18 16 13 10 7
1 2 3 4 5 6 7 8
Low Middle High
kiri kanan
Langkah 2:
Larik[4] = X ? (18 = 16) FALSE, sehingga diputuskan pencarian di kiri atau dikanan.
Jika Larik[4] > 16 ?, (18 > 16) TRUE, lakukan pencarian disebelah kanan dengan Low =
middle+1 4+1 = 5 dan High = 8, Tetap.
16 13 10 7
5 6 7 8
lo
High
w
ITERASI 2
Langkah 1:
Low = 5 dan High=8
Elemen tengah Middle = (5+8) div 2 = 13 div 2 = 6
16 13 10 7
5 6 7 8
lo
middle High
w
Langkah 2:
Larik[6] = X ? (13 = 16) FALSE, sehingga diputuskan pencarian di kiri atau dikanan.
Jika Larik[6] > 16 ?, (13 > 16) FALSE, lakukan pencarian disebelah KIRI dengan Low =
middle-1=5 (TETAP) dan High = middle-1 = 5
16
5
Low/high
ITERASI 3
Langkah 1:
Low = 5 dan High=5
Elemen tengah Middle = (5+5) div 2 = 10 div 2 = 5
16
5
middle
Langkah 2:
Larik[5] = X ? (16 = 16) TRUE (X ditemukan , pencarian dihentikan)
3. Misalkan elemen yang dicari X=100.
Gambarkan langkah-langkah penyelesaiannya?
Tugas :
1. buatlah algoritma binary search untuk data yang urut menaik / ascending. Dari algoritma diatas
2. buatlah flowchartnya.
Teknik yang digunakan untuk mencari nilai maksimum dan minimum dari sekumpulan nilai.
1. Tehnik Pencarian MAXMIN
Searching dengan Tehnik STRAITMAXMIN
Waktu tempuh yang digunakan untuk menyelesaikan pencarian hingga mendapatkan solusi
yang optimal terbagi atas :
a. Best Case
b. Average Case
c. worst Case
BEST CASE
Penyelesaian :
WORST CASE
Penyelesaian :
AVERAGE CASE
Penyelesaian :