Anda di halaman 1dari 12

LAPORAN PRAKTIKUM SEMENTARA

SEARCHING



Disusun oleh :
Velisia Puspita Devi
201301023

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

1. Pengantar
Pencarian (searching) merupakan tindakan untuk mendapatkan suatu data
dalam kumpulan data. Terdapat beragam algoritma pencarian (searching algorithm).
Menurut Tenenbaum dan Augenstein, algoritma pencarian merupakan
algoritma yang menerima sebuah argument X dan mencoba untuk menemukan sebuah
rekaman yang memiliki kunci X. Contohnya yaitu pencarian data mahasiswa dengan
NIM 201301023, maka hasilnya adalah record yang berisi data mahasiswa tersebut di
dalamnya kemungkinan berisi nama, alamat, tempat tanggal lahir dan program studi.
Metode Pencarian Data :
 Pencarian sekuensial (sequential search)
 Pencarian biner (binary search)
 Pencarian pada string

A. Pencarian Sekuensial (Sequential Search) / Pencarian Lurus (Liniear Search)
Merupakan model pencarian yang paling sederhana yang dilakukan terhadap
suatu 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
Contohnya:

L ← [10, 9, 6, 4, 7, 5, 4, 1]

0 1 2 3 4 5 6 7

Misalkan elemen data yang dicari adalah 4 (untuk posisi pertama). Dalam hal
ini k=4 dan k ditemukan diposisi index ke 3. Subrutin (perintah) tersebut merupakan
implementasi algoritma secara sekuensial, dalam hal ini menghasilkan nilai balik
berupa:
 -1 jika data yang dicari tidak ditemukan
 Bilangan antara 0 sampai -1 (dengan n adalah jumlah elemen larik) jika data yang
dicari telah ditemukan.

B. Pencarian Biner (Binary Search)
Merupakan algoritma yang dipakai untuk kebutuhan pencarian data dengan
waktu cepat. Contohnya melakukan pencarian arti kata tertentu dalam kamus bahasa
inggris. Prinsip pencarian dibagi menjadi 2 bagian mengilhami algoritma pencarian
bagi dua. Data yang tersimpan dalam larik harus sudah dalam keadaan terurut.

C. Pencarian pada String
Merupakan pencarian suatu huruf pada suatu kalimat.





















BAB II
PENJELASAN PROGRAM

1. Latihan Praktikum
Pada bab ini akan membahas tentang listing program pada bagian modul yang telah
digunakan untuk latihan pada pertemuan keempat. Latihan yang dilakukan mencakup pada
Listing Program 5.1, 5.2, dan 5.3

Listing Program 5.1



Hasil Output Program 5.1

Penjelasan Program 5.1
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk
membuat sebuah komentar pada pemrograman C++ yang jika di dalamnya
terdapat sebuah perintah atau teks, maka ketika program di running atau
dijalankan tidak akan dibaca oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor. #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain
sebelum kompilasi dimulai.
3. <iostream> merupakan sebuah library untuk memanggil dan menampilkan cout.
4. Using namespace std merupakan standar device.
5. Int merupakan tipe data integer atau bilangan bulat. Dalam int main ( ), int sebagai
nilai balik fungsi main.
6. Main ( ) merupakan fungsi utama.
7. { merupakan blok pernyataan dan sebagai awalan dari suatu pernyataan.
8. Endl berfungsi untuk membuat baris atau line baru, sama seperti \n (new line).
9. Return 0 berfungsi untuk membalikan nilai dan menampilkan hasil.
10. } merupakan blok pernyataan dan sebagai akhiran dari suatu pernyataan sekaligus
menutup badan prosedur.
11.

Merupakan rumus pemilihan, dimana jika

maka posisi akan berkurang 1. Tetapi jika jumlah n kurang dari sama dengan
0, maka

Atau, jika tidak maka akan dijalankan perintah

Dimana nilai I akan bertambah jika tidak ketemu dan posisi akan berkurang 1.

Listing Program 5.2



Hasil Output Program 5.2


Penjelasan Program 5.2
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk
membuat sebuah komentar pada pemrograman C++ yang jika di dalamnya
terdapat sebuah perintah atau teks, maka ketika program di running atau
dijalankan tidak akan dibaca oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor. #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain
sebelum kompilasi dimulai.
3. <iostream> merupakan sebuah library untuk memanggil dan menampilkan cout.
4. Using namespace std merupakan standar device.
5. Int merupakan tipe data integer atau bilangan bulat. Dalam int main ( ), int sebagai
nilai balik fungsi main.
6. Main ( ) merupakan fungsi utama.
7. { merupakan blok pernyataan dan sebagai awalan dari suatu pernyataan.
8. Endl berfungsi untuk membuat baris atau line baru, sama seperti \n (new line).
9. Return 0 berfungsi untuk membalikan nilai dan menampilkan hasil.
10. } merupakan blok pernyataan dan sebagai akhiran dari suatu pernyataan sekaligus
menutup badan prosedur.
11.

Merupakan rumus pemilihan dimana jika variabel ada, bawah = 0 dan variabel
atas=n-1 dan selama nilai atas>=bawah maka nilai akan dihitung dengan rumus

Jika nilai yang diinputkan user tidak memenuhi maka akan dijalankan dengan
rumus

Listing Program 5.3


Hasil Output Program 5.3


Penjelasan Program 5.3
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk
membuat sebuah komentar pada pemrograman C++ yang jika di dalamnya
terdapat sebuah perintah atau teks, maka ketika program di running atau
dijalankan tidak akan dibaca oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor. #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain
sebelum kompilasi dimulai.
3. <iostream> merupakan sebuah library untuk memanggil dan menampilkan cout.
4. Using namespace std merupakan standar device.
5. Int merupakan tipe data integer atau bilangan bulat. Dalam int main ( ), int sebagai
nilai balik fungsi main.
6. Main ( ) merupakan fungsi utama.
7. { merupakan blok pernyataan dan sebagai awalan dari suatu pernyataan.
8. Endl berfungsi untuk membuat baris atau line baru, sama seperti \n (new line).
9. Return 0 berfungsi untuk membalikan nilai dan menampilkan hasil.
10. } merupakan blok pernyataan dan sebagai akhiran dari suatu pernyataan sekaligus
menutup badan prosedur.
11.

merupakan rumus pemilihan, dimana jika nilai konstan i=0, posisi=-1, maka
selama nilai i<panjang-I dan posisi=-1, jika st[i]=k dan posisi=nilai I maka nilai I
akan bertambah.
12. #include <cstring> berfungsi untuk memunculkan fungsi manipulasi string. Pada
program fungsi manipulasi string adalah strlen yang digunakan untuk mengetahui
panjang string.
13. Fungsi bernama string_kar berisi parameter char st[], char k dengan k adalah data
yang dicari.
14. Variabel i merupakan indeks, posisi merupakan posisi data yang dicari
berdasarkan indeks, dan panjang merupakan panjang karakter dari sebuah string.
15. Variabel i diberi nilai 0 karena indeks terkecil adalah 0.
16. Selama variabel i berjumlah kurang dari panjang dan posisi -1 maka fungsi if akan
dijalankan.







BAB III
KESIMPULAN

Pencarian (string) adalah tindakan untuk mendapatkan suatu data dalam kumpulan
data. Untuk keperluan pencarian data, terdapar beragam algoritma pencarian (search
algorithm).




























BAB IV
DAFTAR PUSTAKA

Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclips Indigo C ++. Yogyakarta:
CAPS (Center of Academic Publishing Service).
Kadir, Abdul. 2012. Buku Pintar C++ untuk Pemula. Jakarta: MediaKom
Modul Praktikum Algoritma & Struktur Data I