Tutorial Searching dengan C++
Hallo sobat blogger kali ini saya akan memberikan sedikit tutorial tentang C++, yaitu Tutorial Searching dengan C++, , searching pada C++ di bagi menjadi 2 yaitu searching dengan metode linear atau "Linier Search" dan searching dengan metode binner atau "Binary Searching".
Perbedaan dari kedua metode tersebut yaitu, Linear Search adalah pencarian berurutan, berutan di sini artinya jika kita memiliki 10 data yaitu = "10,25,31,32,35,35,15,47,48,55", dan kita ingin mencari nilai misalnya "32", maka jika kita menggunakan metode Linear Search, pencarian yang di lakukan oleh program tersebut akan berurutan jadi mulai dari 10 sampai dengan data yang ingin di cari atau sebaliknya dari 55 sampai dengan data yang ingin di cari, sedangkan jika kita menggunakan metode Binary Search syarat pertama ialah data harus urut, data harus urut di sini, jadi jika kita memiliki banyak data data tersebut harus di urutkan dari kecil ke terbesar atau juga bisa sebaliknya.
Oke, sedikit penjelasan tentang perbedaan dari kedua metode pencarian tersebut, kita langsung saja mempraktekkannya ..
1. Siapkan software untuk membuat program C++ di sini saya memakai Borland C++ bisa di download di situs resminya Borland C++
2. Open Borland C++
3. Klik "New File"
4. Pilih "Console Wisard"
5. Pilih "C++"
6. Selanjutnya anda Copy-Pastekan script di bawah ini :
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop
#define max 10
//---------------------------------------------------------------------------
#pragma argsused
int i=9,cari=0,posisi=0;
int data[max]={3,8,1,5,2,4,7,6,3,10};
int main(int argc, char* argv[])
{
printf("========================================\n");
printf(" Program Pencarian Data \n");
printf("========================================\n\n");
printf("Data yang ada pada DB : ");
for(int x=0;x<max;x++){
if(x>8){
printf("%i",data[x]);
}
else{
printf("%i, ",data[x]);
}
}
printf("\n\nMasukkan data yang ingin anda cari : "); scanf("%i",&cari);
while((data[i]!=cari) && (i>max))
{
i--;
}
if(data[i]==cari){
printf("Data yang anda cari adalah : %i",data[i]);
printf("\nPosisi data yang anda cari adalah : %i",i+=1);
}
else{
printf("Data yang anda cari tidak ada");
}
printf("\n\n========================================");
getch();
return 0;
}
//---------------------------------------------------------------------------
NB : script di atas merupakan pencarian dengan metode Linier
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop
#define max 10
//---------------------------------------------------------------------------
#pragma argsused
int i=9,cari=0,posisi=0,bb,ba=max,t;
//int data[max]={1,2,3,5,7,8,10,11,14,15};
int data[max]={15,14,11,10,8,7,5,3,2,1};
int main(int argc, char* argv[])
{
printf("========================================\n");
printf(" Program Pencarian Data \n");
printf("========================================\n\n");
printf("Data yang ada pada DB : ");
for(int x=0;x<max;x++){
if(x>8){
printf("%i",data[x]);
}
else{
printf("%i, ",data[x]);
}
}
printf("\n\nMasukkan data yang ingin anda cari : "); scanf("%i",&cari);
t=(bb+ba)/2;
while((data[t]!=cari) && (bb<=ba))
{
if(cari>data[t]){
ba=t-1;
}
else{
bb=t+1;
}
t=(bb+ba)/2;
}
if(data[t]==cari){
printf("%i",t=t+1);
printf("");
}
printf("\n\n========================================");
getch();
return 0;
}
//---------------------------------------------------------------------------
NB : script di atas merupakan pencarian dengan metode Binary
Selanjutnya tinggal anda compile .. dan program bisa langsung di coba ..
dari kedua script di atas dapat juga di lihat perbedaan pencarian dengan metode Linier dengan pencarian dengan metode Binary .. jika pencarian Linier tidak memerlukan Batas Bawah (bb), Batas Atas (ba), dan nilai Tengan (t), sedangkan untuk pencarian dengan metode Binary di perlukan adanya nilai dari Batas Bawah (bb), Batas Atas (ba), dan nilai Tengan (t).
Sekian tutorial dari saya semoga dapat bermanfaat ..
adakah metode lain nya?? atau cuma ada 2 ini
ReplyDelete