SEARCHING
Linear Search
Analisis(Mencari NIM mahasiswa dari suatu data array menggunakan linear search dengan membandingkan kata kunci dengan data NIM)
Input : data(variable array), i(banyak data), cari(variabel data yang dicari)
Proses : Membandingkan data pertama sampai data terakhir
Output : data yang dicari
Algoritma(Mencari data sebuah array dari data pertama sampai data terakhir)
Deklarasi
Data : array[10] integer
i, n, a, cari : integer
ketemu : boolean
Deskripsi
ketemu <= false
read(a)
a<=1
for a to i do
read(data[a])
end for
n<--1
while((n<=i) and (not ketemu)) do
if(data[n] = cari) then
ketemu <=true
write(data[n])
end if
end while
Program C++
#include <iostream>
using namespace std;
int main(){
int i, n, a, data[20], cari;
bool ketemu=false;
cout<<"Banyak data = ";
cin>>i;
for(int a=1; a<=i; a++){
cout<<"Masukkan NIM ke-"<<a<<" = ";
cin>>data[a];
}
cout<<"\nNIM yang dicari = ";
cin>>cari;
n=1;
while((n<=i) && (ketemu==false)){
if(data[n]==cari){
ketemu=true;
cout<<"\nNIM "<<data[n]<<" terdapat pada data ke-"<<n<<endl;
}
else{
n++;
}
}
return 0;
}
Hasil Run
=========================================================================
Binary Search
Analisis(Mencari NIM mahasiswa dari suatu data array menggunakan linear search dengan membandingkan kata kunci dengan data NIM)
Input : data(variable array), i(banyak data), cari(variabel data yang dicari)
Proses : Membandingkan data pertama sampai data terakhir
Output : data yang dicari
Algoritma(Mencari data sebuah array dari data pertama sampai data terakhir)
Deklarasi
Data : array[10] integer
i, n, a, cari : integer
ketemu : boolean
Deskripsi
ketemu<--false
read(a)
a<--1
for a to i do
read(data[a])
end for
read(cari)
low<--1
high<--i
while((low<=high) and (not ketemu)) do
middle <-- (low + high) div 2
if(cari == data[middle]) then
ketemu = true
else if(cari<data[middle]) then
high <-- middle - 1
else
low <-- middle + 1
end if
end while
Program C++
#include <iostream>
using namespace std;
int main(){
int i, a, data[10], cari;
bool ketemu=false;
int low,high, middle;
cout<<"Banyak data = ";
cin>>i;
for(int a=1; a<=i; a++){
cout<<"Masukkan NIM ke-"<<a<<" = ";
cin>>data[a];
}
cout<<"\nNIM yang dicari = ";
cin>>cari;
low=1;
high=i;
while((low<=high) && (ketemu==false)){
middle = (low+high)/2;
if(cari==data[middle]){
ketemu=true;
cout<<"\nNIM "<<data[middle]<<" terdapat pada data ke-"<<middle<<endl;
}
else if(cari<data[middle]){
high=middle=1;
}
else{
low=middle+1;
}
}
return 0;
}
Hasil Run


Komentar
Posting Komentar