0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan4 halaman

Metode Pencarian Data: Sequential & Binary

Diunggah oleh

accrandom162
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan4 halaman

Metode Pencarian Data: Sequential & Binary

Diunggah oleh

accrandom162
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

SEARCHING

Searching adalah cara pencarian data dengan menelusuri kembali data-data tersebut. Data yang
dicari dapat berupa array dalam memory atau bisa juga pada file di external storage.
Searching sendiri dapat dibagi menjadi 2 bagian.
1. Sequential Search
2. Binary Search

Penjelasan dari kedua jenis searching tersebut adalah sbb:

Sequential Search
Sequential search adalah suatu cara pencarian data dalam array 1 dimensi. Data yang dicari
akan ditelusuri dalam semua elemen-elemen aray dari awal sampai akhir, dan data tersebut
tidak perlu diurutkan terlebih dahulu.
Dalam sequential search terdapat 2 kemungkinan yang akan terjadi dalam waktu pencarian
data, yaitu :
– kemungkinan terbaik (best case), hal ini terjadi jika data yang dicari terletak pada indeks
array terdepan, sehingga waktu yang dibutuhkan untuk mencari data sedikit.
– kemungkinan terburuk (worst case), hal ini terjadi jika data yang dicari terletak pada indeks
array terakhir, sehingga waktu yang dibutuhkan untuk mencari data sangat lama.
Dalam pencarian data menggunakan sequential search, peningkatan efisiensi pencarian dapat
dilakukan dengan cara menghentikan looping apabila data yang dicari sudah ketemu dengan
menggunakan BREAK.
Disebut juga sebagai metode pencarian urut adalah metode pencarian yang paling mudah.
Bayangkan saja jika anda dihadapkan pada sebuah rak buku, dan anda diberi tugas untuk
mencari sebuah buku dari rak tersebut. Sudah tentu anda akan mulai mencarinya satu – persatu
entah itu dari atas atau dari bawah sampai buku yang dimaksud ketemu.
Singkatnya sequential search memiliki proses sebagai berikut:
• Tentukan banyaknya data yang akan di olah, misal banyak data adalah N.
• Tentukan data apa yang akan dicari, misal data yang akan dicari adalah C.
• Deklarasikan sebuah counter untuk menghitung banyak data yang ditemukan, misal
counternya adalah K.
• Inisialisasikan K =0
• Lakukanlah perulangan sebanyak N kali
• Dalam tiap proses perulangan tersebut periksalah apakah data yang sedang diolah sama
dengan data yang dicari.
• Jika ternyata sama K=K+1
• Jika tidak, lanjutkan proses perulangan .
• Setelah proses perulangan berhenti, periksalah nilai K.
• Jika nilai K lebih dari 0, artinya data yang dicari ada dalam data /array dan tampilkan nilai
K ke layer sebagai jumlah data yang ditemukan.
• Jika nilai K=0, artinya data yang dicari tidak ditemukan dalam data / array dan tampilkan
ke layar bahwa data tidak ditemukan
• Proses selesai.

Dapat disimpulkan bahwa sequential search, akan mencari data dengan cara
membandingkannya satu-persatu dengan data yang ada. Prosesnya tentu saja akan singkat jika
data yang diolah sedikit, dan akan lama jika data yang diolah banyak. Disarankan proses ini
digunakan pada jumlah data yang sedikit saja.

Contoh: Mencari Kunci di Dalam Tas


Bayangkan Anda meletakkan kunci di dalam tas yang berisi banyak barang (ponsel, dompet,
buku, pulpen, dll). Karena tidak ingat posisinya, Anda mencari dengan cara:
 Mengeluarkan barang satu per satu dari tas.
 Memeriksa apakah barang yang dikeluarkan adalah kunci.
 Jika bukan, lanjut ke barang berikutnya.
Analogi:
 Best Case: Kunci ada di paling atas → langsung ketemu.
 Worst Case: Kunci ada di paling bawah → harus mengeluarkan semua barang.
 Data tidak terurut: Tidak perlu mengatur barang sebelumnya.
Kesimpulan: Cocok untuk mencari dalam jumlah sedikit atau tidak terurut.

Binary Search
Binary search adalah teknik pencarian data dengan cari membagi dua data setiap kali proses
pengurutan.

Cara pencarian biner :


– data diambil dari posisi 1 sampai posisi N
– lalu cari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2
– kemudian data yang dicari dibandingkan dengan data tengah, apakah data itu lebih besar
atau lebih kecil.
– Jika lebih besar, maka (posisi awal = posisi tengah + 1)
– Jika lebih kecil, maka (posisi akhir = posisi tengah – 1)
– Jika data yang dicari = data tengah, maka “KETEMU”.

CONTOH DAN CARA KERJA BINARY SEARCH


Di bawah ini adalah kunci–kunci carilah kunci 39 dengan mengunakan algorithm Binary
Search.

13 16 18 27 28 29 38 39 53
1 2 3 4 5 6 7 8 9

File ini dinamakan File Sequential (secara berurutan).


Cara penyelesaian.
Bila di cari kunci 39 maka ;
Bila terendah = 1, dan tertinggi = 9,
maka 1 + 9 = 10 , lalu 10 / 2 = 5.

1. Nomor urut 5, adalah kunci 28 , tapi 28 < 39,


[13, 16, 18, 27, 28, 29, 38, 39, 53].
maka terendah = 5 , dan tertinggi = 9,
maka : 5 + 9 = 14
14 / 2 = 7.

2. Nomor urut 7 adalah 38 , tapi 38 8,5 ≈ 8


3. Nomor urut 8 adalah kunci 39, dimana kunci 39 = 39.
[13, 16, 18, 27, 28, 29, 38, 39, 53]

Contoh: Mencari Kata dalam Kamus


Kamus sudah terurut abjad (A-Z). Anda ingin mencari kata "Komputer":
1. Buka kamus di tengah (misal: huruf M).
2. Karena "K" ada sebelum "M", buang bagian kanan (M-Z).
3. Buka lagi di tengah bagian kiri (A-M) → misal huruf G.
4. Karena "K" ada setelah "G", buang bagian kiri (A-G).
5. Buka lagi di tengah (H-M) → ketemu huruf K, lalu cari kata "Komputer".
Analogi:
 Data terurut: Kamus sudah diurutkan dari A-Z.
 Efisien: Tidak perlu membuka semua halaman.
 Worst Case: Kata tidak ada → tetap cepat karena membagi dua terus.
Kesimpulan: Cocok untuk data terurut dan besar (seperti kamus, buku telepon, daftar nama).

Perbandingan dalam Kehidupan Sehari-hari

Aktivitas Sequential Search Binary Search

Mencari kunci di tas Cocok (barang tidak terurut) Tidak cocok

Mencari kata di kamus Tidak efisien Sangat cocok (terurut)

Mencari lagu di playlist Jika playlist acak Jika playlist terurut

Mencari buku di rak Jika rak tidak rapi Jika buku diurutkan

Kapan Menggunakan?
 Gunakan Sequential Search untuk:
o Data sedikit.
o Data tidak terurut (contoh: mencari kunci di tas).
 Gunakan Binary Search untuk:
o Data besar dan terurut (contoh: kamus, daftar kontak).

Anda mungkin juga menyukai