- Deskripsi algoritma pencarian
Pencarian merupakan proses yang
fundamental dalam pengolahan data. Proses pencarian adalah menemukan nilai
(Data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar
atau bertipe bentukan). Sebagai contoh untuk mengubah (update) data tertentu,
langkah pertam ayang harus dilakukan adalah mencari keberadaan data tersebut di
dalam kumpulannya. Jika data yang dicari ditemukan, maka data tersebut dapat
diubah dinilainya dengan data yang baru.. Aktivitas awal yang sama juga dilakukan
pada prose penambahan (insert) data baru.
- Metode algoritma pencarian
1.
Algoritma Pencarian Beruntun(sequential
search)
a.
Pengertian
Algoritma
pencarian yang paling sederhana.Nama lainnya adalah linear search. Algoritma pencarian beruntun adalah proses
membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari
elemen pertama, sampai elemen yang dicari ditemukan, atau seluruh elemen sudah
diperiksa.
b.
Contoh soal
10 31 47 89 1 51 87 90 12
0 1 2 3 4 5 6 7 8
Misalkan yang ingin dicari 51.
Programnya adalah :
#include<stdio.h>
Int main()
{
int
nilai[5];nilai[0]=12;nilai[1]=51;nilai[2]=2;nilai[3]=34;
nilai[4]=90;
int nilai_yang_dicari=45;
int i;
int hasil=0;
for (int i=0;i<=4;i++)
{
if (nilai[i]==nilai_yang_dicari)
{
hasil=i;
}
}
printf("Nilai %d ditemukan di index ke
%d",nilai_yang_dicari,hasil);
return 0;
}
Maka outputnya :
2.
Algoritma pencarian bagi dua(binary
search)
a.
Pengertian
Algoritma
Pencarian Bagi dua dilakukan dengan cara membagi array menjadi 2, lalu proses
pencarian dimulai, baik dari sisi sebelah kiri atau sebelah kanan.
13 21 45 80 2 31 41
b.
Contoh soal
Misalkan yang dicari 31.
i+j/2 =1 +
7/2 = 4
Apakah index yang ketujuh adalah 31 (!=)
13 21 45 80 2 31 411 2 3 4 5 6 7
Putuskan
apakah mencari dari kiri atau kanan
Misal dari
kanan
80 2 31 41 1 2 3 4
i=1;
J=4;
i+j/2
(1+4)/2=2
80 2 31 41
1 2 3 4
Putuskan mencari dari kiri atau kanan.
i=1;
J=2
1+2/2=1
31 41
3 4
C. Perbedaan Algoritma pencarian beruntun dan
bagi dua
Algoritma
Beruntun dapat digunakan baik untuk data yang belum teruru maupun untuk data
yang sudah terurut. Sedangkan algoritma bagi dua hanya cocok digunakan untuk
mencari data yang sudah terurut saja.
0 komentar:
Posting Komentar