ALGORITMA PENCARIAN

On Senin, 13 Januari 2014 0 komentar



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