Anda di halaman 1dari 7

LAPORAN PRAKTIKUM SEMENTARA SEARCHING

Disusun oleh : Steven Nyotoharjo 201301001

Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

BAB I TEORI DASAR Pencarian (Searching) adalah tindakan untuk mendapatkan suatu data dalam kumpulan data. Untuk keperluan pencarian data, terdapat bermacam algoritma pencarian (search algorithm). Algoritma pencarian yaitu algoritma yang menerima sebuah argumen X dan mencoba menemukan rekaman yang memiliki kunci X. 1. PENCARIAN SEKUENSIAL (Sequential Search) Pencarian sekuensial (sequential search) atau pencarian lurus (linear search) adalah model pencarian yang paling sederhana yang dilakukan terhadap suaru kumpulan data. Terdapat L yang merupakan larik (array) yang berisi n buah data. (L[0], L[1],,L[n-1]) dan k adalah data yang dicari.
Rumus : L[i]=k

i adalah bilangan index terkecil yang memenuhi kondisi 0 k n-1 2. PENCARIAN BINER (Binary Search) Pencarian biner (binary search) adalah algoritma yang digunakan untuk kebutuhan pencarian data dengan waktu yang cepat. Prinsip pencarian dengan menggunakan metode biner atau membagi menjadi dua bagian mengilhami algoritma pencarian bagian dua. Data yang tersimpan didalam larik harus sudah dalam keadaan terurut. 3. PENCARIAN PADA STRING Pencarian pada string yaitu pencarian suatu huruf pada sebuah kalimat. Sebagai contoh terdapat kalimat hallo stikom yos sudarso, didalam kalimat tersebut yang dicari adalah huruf y, maka yang akan ditampilkan posisi dari huruf y tersebut yaitu posisi 13.

BAB II PENJELASAN PROGRAM Pada penjelasan program bab ini akan dijelaskan mengenai bagaimana melakukan pemrograman C++ secara sederhana sesuai dengan modul praktukum pada Program 2.1 C++ sederhana. Listing Program 5.1
/* * Praktikum-5.1.cpp * * Created on: Apr 7, 2014 * Author: steven */ #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 data larik data ke : "<<cari(data,8,dicari)<<"\n"; return 0; }

Listing Program 5.2


/* * Praktikum-5.2.cpp * * Created on: Apr 7, 2014 * Author: steven */ #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]) 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 : "<<caribiber(data,8,dicari)<<"\n"; return 0; }

Listing Program 5.3


/* * Praktikum-5.3.cpp * * Created on: Apr 7, 2014 * Author: steven */ #include <iostream> #include <cstring> using namespace std; 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 Sudarso"; char dicari="y"; cout <<"Posisi "<<dicari<<"didalam string "<<kalimat<<":"<<stringkar(kalimat,dicari)<<"\n"; return 0; }

BAB III KESIMPULAN 1. Pencarian (searching) adalah tindakan untuk mendapatkan sebuah data dalam kumpulan data. 2. Ada beberapa metode pencarian, seperti: Pencarian Sekuensial, Pencarian Biner dan Pencarian pada String. 3. 4. Pencarian Sekuensial ata Pencarian Lurus adalah metode pencarian paling sederhana. Pencarian Biner adalah metode yang digunakan untuk pencarian yang membutuhkan proses yang cepat dengan membagi data menjadi dua bagian agar memudahkan dalam proses pencarian. 5. Pencarian pada String adalah pencarian suatu huruf pada sebuah kalimat.

BAB IV DAFTAR PUSTAKA Murya Kusuma Ardhana, Yosef dan Gregorius Airlangga. 2011. Algoritma Pemrograman C++ Dalam Ilustrasi. Jasakom : Yogyakarta. Murya Kusuma Ardhana, Yosef. 2013. Struktur Data Dalam Ilustrasi Eclipse Indigo C++. CAPS : Yogyakarta

Anda mungkin juga menyukai