Tanggal :October 25, 2020

Penjelasan Metode Searching Lengkap dengan Penjelasan

Spread the love

Pencarian (searching) merupakan proses fundamental dalam pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Search algoritma adalah algoritma yang menerima argument a dan mencoba untuk mencari record yang mana key-nya adalah algoritma bisa mengembalikan nilai record, atau pointer ke record. Record sendiri adalah tipe data yang terdiri atas kumpulan variabel yang dapat berbeda tipenya.


  Masalah pencarian data
Input :    Barisan n bilangan asli  (a1, a2, …, an) dalam larik A dan sebuah bilangan keyyang ingin dicari.
Output : Lokasi key dalam A. Jika key tidak ditemukan dalam A, tambahkan key sebagai unsur terakhir.
Algoritma Pseudo-Code : Implementasi lain ide algoritma ke dalam pseudo-codeboleh jadi menghasilkan jumlah baris yang lebih sedikit, namun fungsi laju running time algoritma  akan tetap sama terhadap jumlah data.
Linear Search (A,key)
1    indeks ¬ 1;
2    ada ¬ False;
3    while  indeks £ length[A]  and  ada= False
4         if  A[indeks] = key  then
5             ada ¬True;
6             indeks ¬ indeks + 1;
7    indeks ¬ indeks – 1;
8          if  ada = False  then
9               indeks ¬ length[A] + 1;
10            A[indeks] ¬ key;
11    return  indeks

Loop-Search (A,key)

1       ada¬False
2       for  i ¬ 1  to  length[A]
3           if  A[i] = key  then 
4               posisi ¬ i
5              ada¬True
6          if  not(ada)  then
7               posisi ¬ length[A] + 1
8             A[posisi] ¬ data
9    return posisi

Kedua algoritma tersebut merupakan algoritma yang dapat digunakan untuk pencarian tetapi memberikan proses pencarian yang berbeda. Pada linear-search dalam proses pencarian data akan berhenti jika telah menemukan data yang dimaksud (key). Hal ini karena penggunaan while yang menyertakan pernyataan logika sehingga jika data yang dicari telah ditemukan maka inialisasi penyataan logika sebelumnya akan berubah sehingga proses pencarian akan langsung berhenti (output adalah posisi pertama di mana key ditemukan). Sedangkan pada Loop-search semua data akan di scaning sehinga algoritma akan mengembalikan output posisi terakhir yang ditempati key.
Contoh:
Diberikan barisan X : 1,2,5,3,2,9 dan akan dicari dimana posisi 2 (key) dalam barisan X.
X1
X2
X3
X4
X5
X6
1
2
5
3
2
9
Dengan menggunakan algoritma linear-search akan mengembalikan output  sehingga menghasilkan posisi key adalah 2. Sedangkan algoritma loop-search akan mengembalikan output yang menghasilkan posisi key adalah 5.

 Analisis Loop-Search




Improvisasi Algoritma (Pencarian Biseksi)

Pencarian dilakukan dengan membagi dua data dan perulangan dilakukan secara bergantian pada kedua sisi.
Algoritma pencarian biseksi :
·         Analisis algoritma

Share

Leave a Reply

Your email address will not be published. Required fields are marked *