Laporan Praktikum Modul 3 Searching
Disusun oleh :
Novian Adi Prasetyo
201101029
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 untuk mendapatkan suatu data atau kumpulan data.
Metode pencarian data :
- Pencarian Sekuensial (sequential search)
- Pencarian Biner (binary search)
• Pencarian Sekuensial (Sequencial Search)Pencarian sequensial adalah model pencarian yang paling sederhana yang dilakukan terhadap suatu kumpulan data,nama lainnya adalah pencarian lurus(linear search).
• Pencarian Binary (Binary Search)
Pencrian binary merupakan algoritma yang digunakan untuk kebutuhan pencarian data dengan waktu yang tepat.Contoh penarian data dengan algoritma biner dalam kehidupan sehari-hari yaitu ketika melakukan pencarian arti kata dalam kamus.Kita akan membagi halaman kamus tersebut menjadi 2 bagian,apabila kata yang kita cari belum ditemukan maka kita akn melangkah kekanan atau kekiri sampai kata yang kita inginkan ditemukan.Prinsip pencarian dengan menggunakn metode biner atau membagi menjadi 2 bagian mengilhami algoritma pencarian bagi 2.Data yang tersimpan dalam larik harus sudah dalam keadaan terurut.
Pencrian binary merupakan algoritma yang digunakan untuk kebutuhan pencarian data dengan waktu yang tepat.Contoh penarian data dengan algoritma biner dalam kehidupan sehari-hari yaitu ketika melakukan pencarian arti kata dalam kamus.Kita akan membagi halaman kamus tersebut menjadi 2 bagian,apabila kata yang kita cari belum ditemukan maka kita akn melangkah kekanan atau kekiri sampai kata yang kita inginkan ditemukan.Prinsip pencarian dengan menggunakn metode biner atau membagi menjadi 2 bagian mengilhami algoritma pencarian bagi 2.Data yang tersimpan dalam larik harus sudah dalam keadaan terurut.
------------------------------------------
LANGKAH PRAKTIKUM
>> Program Praktikum 3.1LANGKAH PRAKTIKUM
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;}elsei++;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;}
>> Program Praktikum 3.2
Listing Program :
#include <iostream>#include <stdio.h>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++;printf("Pencacah %d \n",pencacah);if(pencacah==m){printf("ketemu %d \n",pencacah);posisi=i;ketemu=1;}elsei++;}elsei++;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 :
Output 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;elseif(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;}
>> Program Praktikum 3.4
Listing Program :
#include <iostream.h>Output Program :
#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 () ;
}
>> Tugas Langkah Praktikum
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;elseif(k>data[tengah])atas=tengah-1;else{ada=1;posisi=tengah;bawah=atas+1;}}if(!ada)posisi=7;return posisi;}int main()
{int data[]={5, 3, 6, 7, 2, 9, 4, 1, 8 };int dicari=3;cout<<"Posisi " <<dicari<< " dalam larik data : " <<caribiner(data, 8, dicari) <<"\n";return 0;}
------------------------------------------
TUGAS PRAKTIKUM
Listing Program :
Output Program :
pusyiiiiiiinggg......
BalasHapusiiih, kereeen bangeeet
BalasHapusloba error na kang
BalasHapus