ݺߣ

ݺߣShare a Scribd company logo
SEARCHING ARRAY
Amidatus Sholihat
2
Pengertian
Yang dimaksud dengan Searching pada teknik
pemrograman adalah berfungsi untuk mencari sebuah
data dengan cara menelusuri tempat penyimpanan data
tersebut. Tempat penyimpanan tersebut dapat berupa
array dalam memory atau dalam suatu file pada
external storage.
Beberapa metode searching diantaranya adalah :
– sequential search
– binary search
3
Algoritma sequential search mencari
ADA atau TIDAK ADA
Pada array 1 dimensi yang sudah ada isi/datanya,dicari
sebuah nilai apakah ada atau tidak pada data array
tersebut. Misalnya pada variabel array 1 dimensi A
dengan jumlah N elemen berisi data-data dengan tipe
data integer, dicari nilai yang diwakili variabel x (bisa
berupa input) yang juga bertipe data integer. Diperiksa
apakah data-data pada A ada atau tidak ada yang
nilainya sama dengan nilai pada x, jika ada maka
outputnya mencetak kata “Ada” jika tidak akan
mencetak kata-kata “Tidak Ada”.
4
Metode Sequential Search
• Pencarian beruntun dapat digunakan untuk
melakukan pencarian data baik pada array yang
terurut maupun yang belum terurut
• Proses pencarian
1. Membaca array data
2. Menentukan data yang dicari
3. Mulai dari data pertama sampai dengan data terakhir,
data yang dicari dibandingkan dengan masing-masing
data dalam array
a. Jika data yang dicari tidak ditemukan maka semua data
dalam elemen dibandingkan sampai selesai
b. Jika data yang dicari ditemukan maka perbandingan akan
dihentikan
5
F
l
o
w
c
h
a
r
t
Cara 1
6
F
l
o
w
c
h
a
r
t
Cara 2
7
F
l
o
w
c
h
a
r
t
Teknik Sentinel
8
Algoritma sequential search mencari
nilai MAXIMUM dan MINIMUM
Proses searching yang dilakukan adalah untuk mencari
nilai yang terbesar (maximum) dan atau nilai yang
terkecil (minimum) pada deret nilai suatu variabel
array. Sama dengan pada proses searching sebelumnya
algoritma untuk menjelaskan metode ini dimisalkan
pada variabel array 1 dimensi A dengan jumlah N
elemen berisi data-data dengan tipe data integer.
9
F
l
o
w
c
h
a
r
t
Cara 1
10
Algoritma Sequential Search
ketemu = 0;
i = 0;
while(ketemu==0 && i<n)
{
if(data[i] == dt)
{
ketemu = 1;
posisi = i;
}
else
i = i + 1;
}
11
Metode Binary Search
• Pencarian biner hanya digunakan pada data yang
sudah terurut
• Proses pencarian binary search
1. Membaca array data
2. Apabila array belum terurut maka diurutkan dahulu
3. Menentukan data yang akan dicari
4. Menentukan elemen tengah dari array
5. Jika elemen tengah sama dengan data yang dicari
maka pencarian selesai
6. Jika nilai elemen tengah tidak sama dengan data yang
dicari, maka
a. Jika nilai elemen tengah lebih besar daripada data yang
dicari maka pencarian dilakukan pada setengah array
pertama
b. Jika nilai elemen tengah lebih kecil daripada data yang
dicari maka pencarian dilakukan pada setengah array
berikutnya
12
Algoritma Binary Search
ketemu = 0;
tengah = (n/2) + 1;
eltengah = data[tengah];
i = 0;
if(dt == eltengah){
ketemu = 1;
posisi = tengah; }
else {
if(dt < eltengah){
i = 0;
while(ketemu == 0 && i < tengah && data[i] <= dt) {
if(data[i] == dt) {
ketemu = 1;
posisi = i; }
else
i = i + 1; }
}
else {
i = tengah + 1;
while(ketemu == 0 && i < n && data[i] <= dt) {
if(data[i] == dt) {
ketemu = 1;
posisi = i; }
else
i = i + 1;
} } }
13
Tugas
Buatlah presentasi mengenai stack dan queue
(dengan arrray)

More Related Content

Sd pertemuan 5 & 6

  • 2. 2 Pengertian Yang dimaksud dengan Searching pada teknik pemrograman adalah berfungsi untuk mencari sebuah data dengan cara menelusuri tempat penyimpanan data tersebut. Tempat penyimpanan tersebut dapat berupa array dalam memory atau dalam suatu file pada external storage. Beberapa metode searching diantaranya adalah : – sequential search – binary search
  • 3. 3 Algoritma sequential search mencari ADA atau TIDAK ADA Pada array 1 dimensi yang sudah ada isi/datanya,dicari sebuah nilai apakah ada atau tidak pada data array tersebut. Misalnya pada variabel array 1 dimensi A dengan jumlah N elemen berisi data-data dengan tipe data integer, dicari nilai yang diwakili variabel x (bisa berupa input) yang juga bertipe data integer. Diperiksa apakah data-data pada A ada atau tidak ada yang nilainya sama dengan nilai pada x, jika ada maka outputnya mencetak kata “Ada” jika tidak akan mencetak kata-kata “Tidak Ada”.
  • 4. 4 Metode Sequential Search • Pencarian beruntun dapat digunakan untuk melakukan pencarian data baik pada array yang terurut maupun yang belum terurut • Proses pencarian 1. Membaca array data 2. Menentukan data yang dicari 3. Mulai dari data pertama sampai dengan data terakhir, data yang dicari dibandingkan dengan masing-masing data dalam array a. Jika data yang dicari tidak ditemukan maka semua data dalam elemen dibandingkan sampai selesai b. Jika data yang dicari ditemukan maka perbandingan akan dihentikan
  • 8. 8 Algoritma sequential search mencari nilai MAXIMUM dan MINIMUM Proses searching yang dilakukan adalah untuk mencari nilai yang terbesar (maximum) dan atau nilai yang terkecil (minimum) pada deret nilai suatu variabel array. Sama dengan pada proses searching sebelumnya algoritma untuk menjelaskan metode ini dimisalkan pada variabel array 1 dimensi A dengan jumlah N elemen berisi data-data dengan tipe data integer.
  • 10. 10 Algoritma Sequential Search ketemu = 0; i = 0; while(ketemu==0 && i<n) { if(data[i] == dt) { ketemu = 1; posisi = i; } else i = i + 1; }
  • 11. 11 Metode Binary Search • Pencarian biner hanya digunakan pada data yang sudah terurut • Proses pencarian binary search 1. Membaca array data 2. Apabila array belum terurut maka diurutkan dahulu 3. Menentukan data yang akan dicari 4. Menentukan elemen tengah dari array 5. Jika elemen tengah sama dengan data yang dicari maka pencarian selesai 6. Jika nilai elemen tengah tidak sama dengan data yang dicari, maka a. Jika nilai elemen tengah lebih besar daripada data yang dicari maka pencarian dilakukan pada setengah array pertama b. Jika nilai elemen tengah lebih kecil daripada data yang dicari maka pencarian dilakukan pada setengah array berikutnya
  • 12. 12 Algoritma Binary Search ketemu = 0; tengah = (n/2) + 1; eltengah = data[tengah]; i = 0; if(dt == eltengah){ ketemu = 1; posisi = tengah; } else { if(dt < eltengah){ i = 0; while(ketemu == 0 && i < tengah && data[i] <= dt) { if(data[i] == dt) { ketemu = 1; posisi = i; } else i = i + 1; } } else { i = tengah + 1; while(ketemu == 0 && i < n && data[i] <= dt) { if(data[i] == dt) { ketemu = 1; posisi = i; } else i = i + 1; } } }
  • 13. 13 Tugas Buatlah presentasi mengenai stack dan queue (dengan arrray)