Langsung ke konten utama

linear searching

SEARCHING DAN SORTING

A. Pencarian Linier (Linear search)
Andaikan terdapat array aray dengan banyak data sebanyak ukuran. Misalkan kita ingin mencari data kunci dalam array aray. Prinsip pada pencarian linier, setiap data pada aray akan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk). Bila pada posisi ke-i data sama dengan kunci, berarti data ditemukan pada posisi ke-i. Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada aray.
  berikut adalah algoritma dari pencarian searching

function pencarianLinier(input aray : larik; kunci, ukuran : integer) : integer
Deklarasi
ketemu : boolean i, n : integer
Deskripsi
ketemu  false; n  1
while ((n < ukuran) and (not ketemu)) do if (aray[n] = kunci) then
ketemu  true { data ketemu }
 n { pada posisi ke-i } endif
else n  n+1 { cek data berikutnya } endwhile
if ketemu then pencarianLinier  i { data ketemu pada posisi ke-i } else pencarianLinier  -1 { data tidak ketemu }
endif end


Berikut adalah contoh pemrograman dari linear searching
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;        

int linear(int array[], int pencarian, int ukuran){ //didalam linear terdapat pencarian dan ukuran
int i;// pendeklarasian
for(i=0; i<=ukuran-1; i++){ //perulangan untuk memasukkan banyaknya nilai yang dimasukkan didalam Array dimana arraynya dimulai dari 
if(array[i]==pencarian)
return i;
}
return -1;
}
int main(int argc, char** argv) {
int c, b[c], pencarian, elemen, ukuran;
cout<<"masukkan banyak elemen :";
cin>>elemen;
cout<<"masukkan "<<ukuran<<"angka :"<<endl;
for(c=0; c<ukuran; c++){
cin>>b[c];
}
cout<<endl;
cout<<"bilangan yang akan di cari :";
cin>>pencarian;
elemen = linear(b, pencarian, ukuran);
if(elemen !=-1)
cout<<pencarian<<"ditemukan pada indeks ke :"<<elemen;
else
cout<<pencarian<<"tidak ada";
return 0;
}





Komentar