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 pertama yang 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.
Spesifikasimasalah
10
|
31
|
47
|
89
|
1
|
51
|
87
|
90
|
12
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
Macam – macam Metode Algoritma Pencarian
yaitu sebagai berikut :
1. Algoritma Pencarian Beruntun (sequential
search)
Adalah Algoritma pencarian
yang paling sederhana Nama lainnya adalah linear search.Proses membandingkan setiap elemen larik satu per satu
secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan,
atau seluruh elemen sudah diperiksa.
·
Contoh :
Misalkan Elemen
yang akan dicariadalah : 30
·
Contoh program
#include <stdio.h>
int main ()
{
int nilai[4];
nilai[0]=10;
nilai[1]=20;
nilai[2]=30;
nilai[3]=40;
int
nilai_yang_dicari=30;
int
i;
int
hasil=0;
for
(int i=0;i<=3;i++)
{
if
(nilai[i]==nilai_yang_dicari);
{
hasil=i;
} }
printf("Nilai
%d ditemukan di index ke %d",nilai_yang_dicari,hasil);
return
0;
}
outputnya:
1. Algoritma Pencarian Bagi Dua (Binary Search)
Algoritma Pencarian Bagi dua dilakukan dengan cara membagi array menjadi
2, lalu proses pencarian dimulai, baik dari sisi sebelah kiri atau sebelah kanan
Misalkan yang di cari adalah 31
i+j/2 =1 + 7/2 = 4
Apakah index yang ketujuh adalah 31 (!=)
Putuskan apakah mencari dari kiri atau kanan
Misal dari kanan
Cont
i=1;
J=4;
i+j/2
(1+4)/2=2
Putuskan Mencari dari kiri atau kanan
i=1;
J=2
1+2/2=1
Sequential vs Binary
Algoritma Beruntun dapat digunakan baik untuk data
yang belum terurut maupun untuk data yang sudah terurut Sedangkan algoritma bagi
dua hanya cocok digunakan untuk mencari data yang sudah terurut saja.
Tidak ada komentar:
Posting Komentar