Anda di halaman 1dari 16

SEARCHING

Kelompok 7 :

1. Ahmad Sulistiyo W. [4611419085]


2. Amanda Rizkyta H. [4611419045]
3. Cecep Bagus Surya D.KA. [4611419021]
4. Eka Putri H. [4611419007]
5. Tulus Pangidoan S. [4611419003]
6. Tobib Nugroho [4611419043]
SEARCHING / PROSES
PENCARIAN adalah menemukan
nilai (data) tertentu di dalam
sekumpulan data yang bertipe sama
(baik bertipe dasar atau bertipe
bentukan)
SPESIFIKASI MASALAH PENCARIAN
Menspesifikasi masalah pencarian di dalam larik secara umum sebagai berikut :
Diberikan larik L yang sudah terdefinisi elemen-elemennya dan x adalah elemen yang bentuknya sama dengan elemen
larik L.

Hasil atau keluaran dari persoalan pencarian tersebut bergantung pada spesifikasi rinci dari persoalan tersebut,
misalnya:
a. Pencarian hanya untuk memeriksa keberadaan x. keluaran yang diinginkan misalnya pesan (message) bahwa x
ditemukan atau tidak ditemukan di dalam larik. Contoh :
write (‘ditemukan!’) atau
write (‘tidak ditemukan!’

b. Hasil pencarian adalah indeks elemen larik. Jika x dtitemukan, maka indeks elemen larik tempat x berada diisikan ke
dalam idx. Jika x tidak terdapat di dalam larik L, maka idx diisi dengan harga khusus, misalnya -1

L
21 36 8 7 10 36 68 32 12 10 36

1 2 3 4 5 6 7 8 9 10 11
c. Hasil pencarian adalah sebuah nilai Boolean yang menyatakan status hasil
pencarian. Jika s ditemukan, maka sebuah peubah bertipe Boolean, misalnya
“ketemu”, diisi dengan nilai true, sebaliknya “ketemu” diisi dengan nilai
false, hasil pencarian ini selanjutnya disimpulkan pada bagian pemanggilan
prosedur.
Hal lain yang harus diperjelas dalam masalah pencarian adalah mengenai duplikasi data. Apabila X
yang dicari terdapat lebih dari 1 di dalam larik L maka hanya X yang pertama kali ditemukan yang
diacu algoritma pencarian selesai. Contoh :

21 36 8 7 10 36 68 32 12 10 36

1 2 3 4 5 6 7 8 9 10 11

Larik L memiliki tiga buah nilai 36. Bila x = 36, maka algortima pencarian selesai ketika X
ditemukan pada elemen ke-2 dan menghasilkan idx = 2 (atau menghasilkan ketemu = true jika
mengacu pada keluaran pencarian jenis c). Elemen 36 lainnya tidak dipertimbangkan lagi dalam
pencarian.
Sequential search

● Pencarian sekuensial digunakan apabila data


dalam kadaan acak atau tidak terurut
● Memeriksa semua data secara beruntun
● Konsep dasar membadingkan satu persatu
Binary search

● Pencarian biner digunakan pada data yang


sudah dalam keadaan urut
● Tidak perlu memeriksa semua data
● Konsep dasar membagi dua jumlah
elemennya
Algoritma pencarian Sequential search
Pada Dasarnya, adalah sebuah
yang paling
Algoritma metode pencarian
sederhana, yaitu
Pencarian yang melakukan
metode Pencarian
Beruntun adalah pencarian satu-
Beruntun (Sequen persatu data. Tetapi
proses
tial Search). Nama dalam metode ini
membandingkan
lain algoritma memiiki kekurangan
setiap elemen larik
Pencarian yaitu jika data yang
satu persatu secara
Beruntun di cari berada pada
beruntun, mulai indeks 1 maka
adalah Pencarian
dari elemen indeks selanjutnya
Lurus ( Linear
pertama, sampai tidak akan di cek
Search).
elemen yang dicari maka jika ada data
ditemukan atau yang kita cari ada
seluruh elemen dua data maka hanya
sudah diperiksa. 1 data saja yang
muncul.
Dua macam pencarian beruntun

• Pencarian pada array yang sudah • Pencarian pada array yang belum
terurut terurut
PENCARIAN DATA BAGI DUA (BINARY SEARCH)

Pencarian bagi dua atau pencarian biner, hanya


dapat dilakukan pada data yang sudah terurut. Bila
data belum terurut dan akan dilakukan pencarian
menggunakan metode ini maka terlebih dahulu
harus diurutkan. Untuk data yang besar metode ini
lebih efektif dibandingkan dengan metode
pencarian beruntun (sequential search).
PROSES PENCARIAN
● Misalkan terdapat data 99 12 23 67 56 60 34 78 29 84
● Misalkan yang di cari adalah data 84
● Langkah pertama adalah mengurutkan data

○ 12 23 29 34 56 60 67 78 84 99
● Pencarian dimulai dari tengah

○ 12 23 29 34 56 60 67 78 84 99
● Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data yang dicari diabaikan

○ 60 67 78 84 99
● Pencarian dimulai dari tengah

○ 60 67 78 84 99
● Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data yang dicari diabaikan

○ 78 84 99
● Pencarian dimulai dari tengah, maka data 84 ditemukan
Meskipun algoritma-algoritma pencarian yang sudah
dikemukakan di atas diterapkan pada larik integer,
mereka tetap benar untuk larik data yang bertipe
bukan numerik misalnya data bertipe karakter,
maupun string. Aculah kembali dari Buku 1 bahwa
Pencarian pada Larik yang operasi perbandingan (dengan operator , ¹) juga
Tidak Bertipe Numerik berlaku pada tipe data karakter maupun string. Jadi,
pembandingan karakter seperti ‘a’ < ‘b’ atau
pembandingan string seperti ‘budi’ < ‘iwan’ adalah
ekspresi relasional yang sah.
Sequential search

kelebihan kekurangan

• Kelebihan lebih cepat dan efisien • Kurang cepat dalam jumlah besar
untuk data yang terbatas • Beban komptasi cenderung lebih besar
• Algoritma sederhana
Binary search

kelebihan kekurangan
• Untuk data dalam jumlah besar, • Data harus sudah di sorting lebih dahulu
waktu searching lebih cepat. ( dalam keadaan terurut)
• Beban komputasi lebih kecil
DANKE
SCHÖN

Anda mungkin juga menyukai