Disusun oleh :
Riski Yoga Kusumadya
201101019
Dosen
Yosef Murya Kusuma Ardhana, S.T
JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER (STIKOM)
“YOS SUDARSO”
PURWOKERTO
2012
======================================================================================
DASAR TEORI
SEARCHING (PENCARIAN) adalah tindakan atau teknik untuk mendapatkan suatu data atau kumpulan data. Untuk keperluan pencarian data ada dua metode pencarian data yaitu:
- Pencarian Sekuensial ( Sequential Search ) : Pencarian Sekuential adalah model pencarian yang dilakukan terhadap suatu kumpulan data dengan model pencarian , pencarian lurus (Linear Search)
- Pencarian Biner ( Binary Search ) :Pencarian Binary adalah model pencarian yang dilakukan terhadap suatu kumpulan data dengan membagi data menjadi dua bagian , kemudian data tersebut di seleksi mana data yang diperlukan atau dicari , atau model pencarian data dengan model index atau larik.
======================================================================================
Praktikum 3.1
Listing Program :
#include <iostream>
using namespace std;
int cari(int data[], int n, int k)
{
int posisi, i, ketemu;
if(n <=0)
posisi=-1;
else
{
ketemu=0;
i=1;
while ((i<n-1) && !ketemu)
if (data[i] == k)
{
posisi=i;
ketemu=i;
}
else
i++;
if (!ketemu)
posisi=-1;
}
return posisi;
}
int main()
{
int data[8]={10, 9, 4, 7, 5, 4, 1};
int dicari=4;
cout<<"posisi "<<dicari<<" ada dalam larik data ke :"<<cari(data,8,dicari)<<"\n";
return 0;
}
Output Programnya :
Praktikum 3.2
Listing Program :
#include <iostream>
using namespace std;
int cari(int data[], int n, int k, int m)
{
int posisi, i, ketemu;
int pencacah=0;
if(n<=0)
posisi=-1;
else
{
ketemu=0;
i=1;
while ((i<n-1) && !ketemu)
if (data[i]==k)
{
pencacah++;
cout<<"pencacah "<<pencacah;
if(pencacah==m)
{
cout<<"ketemu "<<pencacah;
posisi=i;
ketemu=1;
}
else
i++;
}
else
i++;
if(!ketemu)
posisi=-1;
}
return posisi;
}
int main()
{
int data[8]={10, 9, 6, 4, 7, 5, 4, 1};
int dicari;
int ke;
dicari=4;
ke=2;
cout<<"posisi "<<dicari<<" yang ke "<<ke<<" dalam larik data :"<<cari(data,8,dicari,ke)<<"\n";
ke=1;
cout<<"posisi "<<dicari<<" yang ke "<<ke<<" dalam larik data :"<<cari(data,8,dicari,ke)<<"\n";
ke=2;
dicari=5;
cout<<"posisi "<<dicari<<" yang ke "<<ke<<" dalam larik data :"<<cari(data,8,dicari,ke)<<"\n";
return 0;
}
Output Programnya :
Praktikum 3.3
Listing Program :
#include <iostream>
using namespace std;
int caribiner(int data[], int n, int k)
{
int ada, atas, bawah, tengah, posisi;
ada=0;
bawah=0;
atas=n-1;
while (atas>=bawah)
{
tengah=(atas+bawah)/2;
if (k>data[tengah])
atas=tengah+1;
else
if(k<data[tengah])
atas=tengah-1;
else
{
ada=1;
posisi=tengah;
bawah=atas+1;
}
}
if(!ada)
posisi=-1;
return posisi;
}
int main()
{
int data []={10, 9, 7, 6, 5, 4, 3, 1};
int dicari=6;
cout<<"posisi" <<dicari<<"dalam larik data :" <<caribiner(data,8,dicari)<<"\n";
return 0;
}
Output Programnya :
Program 3.4
Listing Program :
#include <iostream.h>
#include <conio.h>
#include <string.h>
int string_kar(char st[],char k)
{
int i,posisi,panjang;
i=0;
posisi=-1;
panjang= strlen(st);
while ((i<panjang-1) && posisi == -1)
{
if (st[i] == k)
posisi=i;
i++;
}
return posisi;
}
int main ()
{
char kalimat[]="Hallo stikom yos";
char dicari ='y';
cout<<"posisi "<< dicari << " didalam string " << kalimat << ": " <<string_kar(kalimat,dicari)<<"\n";
getche () ;
}
Output Programnya :
Catatan : untuk program 3.4 saya mengunakan Borland C++, karena runing pada eclips tidak adanya hasil.
**********************************************************************************************************************************************
**********************************************************************************************************************************************
Tidak ada komentar:
Posting Komentar