Selasa, 17 April 2012

LAPORAN MODUL 3 SEARCHING(RISKI YOGA K.(201101019))


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.
Sebagai contoh, Pencarian Data Mahasiswa dengan NIP 201101019, maka hasilnya adalah record dari data yang berisi data Mahasiswa tersebut , yang kemungkinan berisi . nama , alamat , jenis kelamin , tanggal lahir, dll .


======================================================================================


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