MODUL 3
SEARCHING
Disusun Oleh:
Kristianus Unang
201101018
Dosen:
Yosef Murya Kusuma Ardhana , S.T
Jurusan Sistem Informasi
Sekolah Tinggi Ilmu Komputer (STIKOM)
"Yos Sudarso"
Purwokerto
2012
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 Biner ( Binary Search )
Sebagai contoh, Pencarian Data Karyawan dengan NIP 201101018, maka hasilnya adalah record dari data yang berisi data karyawan tersebut , yang kemungkinan berisi . nama , alamat , jenis kelamin , tanggal lahir, bagian .
- Pencarian Sekuential adalah model pencarian yang dilakukan terhadap suatu kumpulan data dengan model pencarian , pencarian lurus (Linear 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.
Program 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, 6, 4, 7, 5, 4, 1};
int dicari=4;
cout << "posisi " << dicari<<" ada dalam larik data ke: "<<cari(data,8,dicari)<<"\n";
return 0;
}
Output Program
==========================================================================
Program 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 Program
==========================================================================
Program 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])
bawah=tengah-1;
else
if(k>data[tengah])
bawah=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;
}
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])
bawah=tengah-1;
else
if(k>data[tengah])
bawah=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 Program
==========================================================================
Program Praktikum 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();
}
#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 Program
==========================================================================
Tidak ada komentar:
Posting Komentar