A.
DEFINISI
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 proses penambahan (insert) data baru.
B.
SPESIFIKASI
MASALAH
C.
METODE PENCARIAN
1.
Algoritma
Pencarian Beruntun
Algoritma pencarian Beruntun
adalah metode algoritma pencarian yang paling sederhana. Nama lain metode ini 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.
Contoh
:
·
Misalkan
Elemen yang akan dicari adalah : 51
§ Contoh
coding program misalkan elemen yang di cari adalah 51
#include<stdio.h>
int main ()
{
int i;
int nilai[9];
nilai[0]=10;
nilai[1]=31;
nilai[2]=47;
nilai[3]=89;
nilai[4]=1;
nilai[5]=51;
nilai[6]=87;
nilai[7]=90;
nilai[8]=12;
for(i=0;i<=8;i++)
{
if(nilai[i]==51)
{
printf("nilai
51 ditemukan");
}else
{
printf("nilai
tidak ditemukan");
}
printf("\n");
}
return 0;
}
Output
:
§ Contoh
program lain
#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;
}
Output
:
2.
Algoritma pencarian bagi dua
Terdapat metode pencarian pada data
terurut yang paling efficient, yaitu metode pencarian bagidua atau pencarian
biner (binary search). Metode ini digunakan untuk kebutuhan pencarian
dengan waktu yang cepat. Prinsip pencarian dengan membagi data atas dua bagian
mengilhami metode ini. Data yang disimpan di dalam larik harus sudah terurut.
Prinsip dari
pencarian biner dapat dijelaskan sebagai berikut :
1.
Mula-mula
diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data
tengah dengan rumus (posisi awal + posisi akhir) / 2.
2.
Kemudian
data yang dicari dibandingkan dengan data tengah.
3.
Jika lebih
kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi
tengah –1.
4.
Jika lebih
besar, porses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi
tengah + 1.
5.
Demikian
seterusnya sampai data tengah sama dengan yang dicari.
Misalkan yang dicari 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
§ Contoh
:
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
SEQUENTIAL
|
BINARY
|
Algoritma Beruntun dapat digunakan baik untuk data
yang belum teruru maupun untuk data yang sudah terurut.
|
Algoritma bagi dua hanya
cocok digunakan untuk mencari data yang sudah terurut saja.
|
0 komentar:
Posting Komentar