0% menganggap dokumen ini bermanfaat (0 suara)
207 tayangan

Metode Pencarian Data Array

Dokumen tersebut membahas tiga algoritma pencarian data dalam array, yaitu sequential search, binary search, dan interpolation search. Sequential search melakukan pencarian secara berurut dari awal hingga akhir array. Binary search melakukan pencarian dengan metode eliminasi biner berulang untuk mempersempit ruang pencarian. Interpolation search mencari posisi estimasi data yang dicari berdasarkan hubungan antara posisi dan nilai data. Ketiga algoritma dijelaskan beserta contoh kode dan flowchart

Diunggah oleh

Franco Di Natale
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
207 tayangan

Metode Pencarian Data Array

Dokumen tersebut membahas tiga algoritma pencarian data dalam array, yaitu sequential search, binary search, dan interpolation search. Sequential search melakukan pencarian secara berurut dari awal hingga akhir array. Binary search melakukan pencarian dengan metode eliminasi biner berulang untuk mempersempit ruang pencarian. Interpolation search mencari posisi estimasi data yang dicari berdasarkan hubungan antara posisi dan nilai data. Ketiga algoritma dijelaskan beserta contoh kode dan flowchart

Diunggah oleh

Franco Di Natale
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

Algoritma

Pencarian Data
http://spatabang.blogspot.com
Pendahuluan
• Pencarian data bertujuan untuk mencari
dan mendapatkan data yang terdapat
dalam sekelompok data array, baik dalam
array 1 dimensi maupun array 2 dimensi.
• Algoritma pencarian data yaitu :
1. Sequential search
2. Binary search
3. Interpolation search
1. Algoritma Pencarian Sequential
• Teknik pencarian data dari array yang paling
mudah adalah sequential search.
• Data yang dicari dibandingkan dengan data mulai
dari index terkecil ke index terbesar, maupun
sebaliknya.
• Jika data ditemukan, maka proses pencarian
selesai.
• Keunggulan : Jika data yang dicari terletak di awal
maka waktu pencarian datanya sangat cepat.
• Kelemahan : Jika data yang dicari paling belakang,
maka waktu pencarian datanya sangat lama
• Cocok digunakan untuk mencari data dalam
jumlah yang kecil.
1 2 3 4 5 Posisi indeks
A=0 3 6 10 1

Carilah 6 dari data A! Proses pencarian adalah


sebagai berikut :

• Apakah a[1]=6? Jika sama, maka data


ditemukan. Jika tidak sama, maka lanjutkan
pencarian ke index berikutnya. Hasilnya tidak
sama.
• Apakah A[2]=6?. Hasilnya tidak sama, maka
lanjutkan pencarian ke index berikutnya.
• Apakah A[3]=6?. Hasilnya sama berarti data
ditemukan, maka kita keluar dari loop
pencarian.
Algoritma
• Mulai
• Input data array
• Tentukan data yang dicari
• Cari data dalam loop
• Informasikan hasil pencarian data. (Ada atau
tidak).
• Selesai
Flowchart
2. Pencarian Biner (Binary search)
• Pencarian Biner adalah pencarian data secara eliminasi
biner berulang/terus-menerus.
• Artinya adalah pada saat pencarian data, 1 kelompok
data yang sudah berurutan dibagi menjadi 2
subkelompok.
• Lalu salah satu subkelompok dieliminasi, sehingga
ruang lingkup pencarian data menjadi lebih sedikit.
• Kemudian subkelompok yang tersisa dibagi lagi
menjadi 2 subkelompok lagi, demikian dilakukan secara
berulang-ulang.
• Cocok digunakan untuk mencari data dalam jumlah
yang besar
• Beban komputasinya kecil.
Algoritma Binary Search
– Cari posisi atau indeks data tengah dengan rumus:
(posisi awal + posisi akhir) div 2
– Bandingkan data yang dicari dengan data yang di
tengah, apakah sama atau lebih kecil, atau lebih
besar?
– Jika data cari lebih besar, maka proses pencarian
dicari dengan posisi awal adalah posisi tengah + 1
– Jika data cari lebih kecil, maka proses pencarian
dicari dengan posisi akhir adalah posisi tengah – 1
– Ulangi proses pencarian hingga selesai Jika data
sama, berarti data ditemukan. Jika tidak, berarti data
tidak ditemukan.
Contoh : Diketahui data :
1 2 3 4 5 6 7 8 9 (Posisi)
[ 21, 25, 28, 33, 38, 39, 48, 49, 69]

Carilah data 28?


1. Awal =1, akhir=9
Posisi = (awal+ akhir) div 2 = 5
Data[5]=28? Tidak
Data[5]<28? Tidak
Data[5]>28? Ya, akhir=posisi - 1 = 4,awal =1
2. Posisi = (awal+ akhir) div 2 = 2
Data[2]=28? Tidak
Data[2]<28? Ya. Awal = posisi +1 = 3, akhir =4
3. Posisi = (awal+ akhir) div 2 = 3
Data[3]=28? Ya. Data ditemukan
3. Algoritma Pencarian Interpolasi

• Interpolation search (Pencarian Interpolasi) adalah


metode pencarian dengan cara mencari letak/posisi
data yang akan dicari.
• Data harus diurutkan lebih dahulu
• Rumus mencari posisi :

Kunci adalah data yang dicari


Jika data[posisi] > data yg dicari, Akhir = posisi – 1
Jika data[posisi] < data yg dicari, Awal = posisi + 1
Jika Awal<Akhir, ulangi pencarian posisi
• Pencarian interpolasi tidak mencari posisi
TENGAH seperti halnya algoritma pencarian
biner, melainkan mencari posisi berikutnya
dimana data yang dicari berada.

Contoh :
Diketahui data :
1 2 3 4 5 6 7 8 9 (Posisi)
[ 21, 25, 28, 33, 38, 39, 48, 49, 69]
Carilah data 27 dan 49?
Cari Data 27
Awal = 1, Akhir =9
Cari data selama awal < Akhir

Data[2]=27? Tidak
Data[2]<27? Ya, awal = Posisi +1 = 3, akhir = 9

Data[3]=27? Tidak
Data[3]<27? Tidak. Akhir = posisi -1 = 2, Awal = 3
Hasil : Data tidak ditemukan karena awal>akhir
Cari data 49
Awal =1, Akhir =9
Cari data selama awal < Akhir

Data[6]=49? Tidak
Data[6]<49? Ya. Awal=posisi +1 =7, Akhir =9

Data[8]=49? Ya. Data ditemukan.


Sekian
TUGAS
Buat program pencarian data dengan algoritma :

1. Sequential search
2. Binary search
3. Interpolation search

Kerja kelompok : 1 kelompok terdiri dari 2 tau 3 orang.

NO 2 Untuk No Absen Genap


No 3 Untuk No Absen Ganjil

Hasilnya dikirim ke email, paling lambat 27 Mei 2015.

Anda mungkin juga menyukai