6
1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi MODUL PRAKTIKUM “STRUKTUR DATA” Modul 5 : Searching Dosen Pembimbing : Xaverius Najoan, ST. MT. Bahasa Pemrograman : C Software : Notepad++ dan GCC LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI UNIVERSITAS SAM RATULANGI 2012

Ifc modul 5 (searching)

Embed Size (px)

Citation preview

Page 1: Ifc   modul 5 (searching)

1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

MODUL PRAKTIKUM “STRUKTUR DATA”

Modul 5 : Searching Dosen Pembimbing : Xaverius Najoan, ST. MT. Bahasa Pemrograman : C Software : Notepad++ dan GCC

LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI UNIVERSITAS SAM RATULANGI

2012

Page 2: Ifc   modul 5 (searching)

2 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

TUJUAN

1. Mahasiswa dapat memahami dan melakukan pencarian data menggunakan metode searching 2. Mahasiswa dapat memahami perbedaan antara sequential searching dan binary searching

ALAT DAN BAHAN

1. PC 2. Compiler (GCC) 3. Text Editor (Notepad++)

DASAR TEORI

Ketika kita menggunaan array mungkin kita akan melakukan pencarian elemen didalamnya. Hal ini

sering dlakukan dengan menggunakan suatu kunci pencarian dan membandingkan semua elemen yang ada

dalam array yang digunakan. Proses pencarian suatu elemen didalam array disebut searching.

Ada dua macam pencarian yang akan kita gunakan yaitu pencarian sekuential (sequential searching)

dan pencarian biner (binary searching). Perbedaan terletak pada keadaan suatu elemen atau data yang ada

pada suatu array. Pencarian sequential digunakan apabila data dalam keadaan acak atau tidak urut.

Sedangkan pencarian biner digunakan pada data yang sudah dalam keadaan urut.

Pencarian Sekuential

Pencarian sekuential atau sering disebut juga pencarian linier menggunakan prinsip sebagai berkut :

Data yang ada pada suatu array dibandingkan satu persatu dengan data yang dicari. Pencarian ini dlakukan

dengan menggunakan suatu pengulangan dari 1 sampai semua data yang ada. Pada setiap kali pengulangan,

dibandingkan data yang posisinya ke-i dengan data yang dicari atau dimaksud. Apabila sama maka data

tersebut telah ditemukan dan proses pengulangan dihentikan. Sebaliknya kalau sampai pengulangan selesai

dan data yang dicari tidak ditemukan, maka data tersebut tidak ada.

Fungsi pencarian sekuential :

bool sequential_search(int a[], int target) {

int i;

for(i = 0; i <= (sizeof a)-1; i++) {

if(a[i]==target) {

return true;

}

}

return false;

}

Page 3: Ifc   modul 5 (searching)

3 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Pencarian Biner

Pencarian biner adalah metode pencarian suatu data atau elemen dalam suatu array dengan kondisi

data dalam keadaan urut.

Prinsip dari pencarian biner sebagai berikut :

Mula-mula diambil posisi awal=1 dan posisi akhir=N, kemudian dicari posisi tengah dengan rumus

(posisi awal+posisi akhir)/2. Kemudian data yang dicari dibandingkan dengan data tengah. Jika lebih

kecil, proses dilakukan kembali tetapi dalam hal ini posisi akhir=posisi tengah-1. Jika lebih besar, proses

dilakukan kembali tetapi posisi awal=posisi tengah+1.

Fungsi pencarian biner :

bool binary_search(int a[], int target, int titik_bawah, int titik_atas) { if(titik_atas < titik_bawah) { return false; } else { int titik_tengah = cari_titikTengah(titik_atas, titik_bawah); if(a[titik_tengah] > target) { return binary_search(a, target, titik_bawah, titik_tengah-1); } else if(a[titik_tengah] < target) { return binary_search(a, target, titik_tengah+1, titik_atas); } else { return true; } } }

Page 4: Ifc   modul 5 (searching)

4 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

PROSEDUR PERCOBAAN Percobaan 1

1. Kompilasi kode sumber sequential.c dibawah ini! Kode Sumber : sequential.c

2. Jalankan dan tuliskan keluaran sequential! 3. Berikan penjelasan anda tentang program sequential.c ! 4. Berikan kesimpulan anda dari percobaan ini!

Page 5: Ifc   modul 5 (searching)

5 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Percobaan 2 1. Kompilasi kode sumber binary.c dibawah ini!

Kode Sumber : binary.c

Page 6: Ifc   modul 5 (searching)

6 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

2. Jalankan dan tuliskan keluaran binary! 3. Berikan penjelasan anda tentang program binary.c ! 4. Berikan kesimpulan anda dari percobaan ini!

TUGAS

1. Buatlah progam menggunakan metode sequential searching, dimana elemen-elemen array dan nilai

yang dicari diinput oleh user!

2. Buatlah progam menggunakan metode binary searching, dimana elemen-elemen array dan nilai

yang dicari diinput oleh user!