Sequential search adalah teknik pencarian data dimana data dicari
secara urutdari depan ke belakang atau dari awal sampai akhir. Kelebihannya
jika data yang dicari terletak di depan maka akan ditemukan dengan cepat. Kekurangannya, jika
data yang di cari terletak dibelakang atau paling akhir, maka akan membutuhkan
waktu yang lama untuk proses pencariannya.
Berikut Codingnya :
package SequentialSearch;
public class SequentialSearch {
public static void
main(String[] args) {
int[]T =
{5,80,28,15,50,49};
int R =
seqsearch(T,15,T.length);
if(R!=-1);
System.out.println("Nilai yang dicari ditemukan pada posisi
ke" +R);
}
public
static int seqsearch(int[]dataset,int
target,int n){
int a=0;
int i;
int R = -1;
for(i=0;i<n && a!=1;i++)
if(target
== dataset[i])
{R=i; a
=1;}
return R;
}
}
Output :
Binarry search adalah algorima pencarian untuk data yang terurut.
Pencarian dilakukan dengan cara menebak apakah data yang dicari berada
ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang
ada di tengah.
Bila data yang ditengah sama
dengan data yang dicari, berarti data ditemukan. Namun bila data yang
ditengah kelih besardari data yang
dicari, maka dapat dipastikan data yang dicari kemungkinan berada di sebelah
kiri atau di sebelah kanan.
Berikut Codingnya :
package binary;
public class binary {
public static void
main(String[] args) {
int N = 8;
int batasAtas,
batasBawah, batasTengah;
int A[]={2,5,9,7,6,8,3,4};
batasAtas = 0;
batasBawah =
N-1;
batasTengah=
0;
int cari =1;
boolean
temukan;
temukan =
false;
while
((batasBawah <= batasAtas) && (temukan == false)){
batasTengah = (batasBawah + batasAtas)/2;
if
(A[batasTengah]==cari){
temukan = true;
}else
if
(A[batasTengah] <= cari){
batasAtas = batasTengah + 1;
}else{
batasBawah = batasTengah - 1;
}
}
if(temukan){
System.out.println(("Data ") + cari +( " ada di deret
array"));
} else {
System.out.println(("Data ") + cari + (" tidak ada di
deret array"));
}
}
}
Output :
Tidak ada komentar:
Posting Komentar