Minggu, 15 April 2012

Laporan Praktikum Modul 3 : Searching - Kristianus Unang (201101018)

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



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

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 .

  1. Pencarian Sekuential adalah model pencarian yang dilakukan terhadap suatu kumpulan data dengan model pencarian , pencarian lurus (Linear Search)
  2. 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;
}

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();
}

Output Program



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



Tidak ada komentar:

Posting Komentar