Array
Pencarian
& Pada suatu data seringkali dibutuhkan pembacaan
kembali informasi (retrieval
information) dengan cara searching.
& Searching adalah pencarian nilai (Data) tertentu di dalam
sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan) dengan cara menelusuri data-data tersebut. Tempat
pencarian data dapat berupa array dalam memori, bisa juga pada file pada
external storage.
& 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.
& Terdapat 2 Metode Algoritma Pencarian
1. Algoritma Pencarian Beruntun (sequential
search)
adalah suatu teknik pencarian data dalam array ( 1
dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai
akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.Merupakan Algoritma pencarian yang paling sederhana. Nama lainnya adalah linear search
Ø Kekurangan
Pencarian Sequential search
·
Kemungkinan
terbaik (best case) adalah jika data yang
dicari terletak di indeks array terdepan (elemen array pertama) sehingga waktu
yang dibutuhkan untuk pencarian data sangat sebentar (minimal).
·
Kemungkinan
terburuk (worst case) adalah jika
data yang dicari terletak di indeks array terakhir (elemen array terakhir)
sehingga waktu yang dibutuhkan untuk pencarian data sangat lama (maksimal).
Contoh Program
Ø #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;
}
Ouputnya:
Ø #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;
}
Ouputnya:
2.
Algoritma
Pencarian Bagi Dua (Binary Search).
Adalah teknik pencarian data
dalam dengan cara membagi data menjadi dua bagian setiap kali terjadi proses
pencarian.
Prinsip pencarian biner
adalah:
a.
Data diambil dari posisi 1 sampai posisi akhir N
b.
Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi
akhir) / 2, lalu proses pencarian dimulai, baik dari sisi sebelah kiri atau sebelah
kanan.
& 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.




0 komentar:
Posting Komentar