Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Algoritma Searching Pertemuan 13 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.

Presentasi serupa


Presentasi berjudul: "Algoritma Searching Pertemuan 13 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007."— Transcript presentasi:

1

2 Algoritma Searching Pertemuan 13 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007

3 Bina Nusantara Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menjelaskan algoritma searching (squential, binary dan interpolation) Buku Referensi:  Algorithms in C++, Addison Wesley, Websites :  3

4 Bina Nusantara Outline Materi Sequential search Binary search Interpolation search Simulasi searching Contoh progam searching 4

5 Bina Nusantara Searching Adalah proses mendapatkan (retrieve) information berdasarkan kunci (key) tertentu dari sejumlah informasi yang telah disimpan Kunci (key) digunakan untuk melakukan pencarian record yang diinginkan didalam suatu list

6 Bina Nusantara Searching  Single match  Multiple match Siapa mahasiswa dengan Nim Siapa saja yang mendapat nilai Algoritma >= 85

7 Bina Nusantara Metode Searching Sequential Search Binary Search Interpolation Search

8 Bina Nusantara Sequential Search Merupakan teknik yang sederhana dan langsung dapat digunakan pada struktur data baik array maupun linked-list. Pencarian data secara urut mulai dari data pertama sampai kunci yang dicari ditemukan atau sampai seluruh data telah dicari dan tidak ditemukan Dilakukan pada data yang tidak terurut

9 Bina Nusantara Contoh Sequential Search NimNamaIPK [0] Mulyadi 2.94 [1] Willy Johan 3.15 [2] Anthony Liberty 2.78 [3] Ferry Santoso 3.37 [4] Jaya Mulya 2.93 [5] Budi Santoso 3.01 [6] Indra Gunawan 3.56 [7] M. Rudito W3.44

10 Bina Nusantara Contoh Sequential Search Kunci pencarian? NIM[0] == kunci?  tidak NIM[1] == kunci?  tidak NIM[2] == kunci?  tidak NIM[3] == kunci?  ya  Ferry Santoso, 3.37

11 Bina Nusantara Contoh Sequential Search Kunci pencarian? NIM[0] == kunci?  tidak NIM[1] == kunci?  tidak NIM[2] == kunci?  tidak NIM[3] == kunci?  tidak NIM[4] == kunci?  tidak NIM[5] == kunci?  tidak NIM[6] == kunci?  tidak NIM[7] == kunci?  tidak Semua data telah di cari, kunci tidak ditemukan

12 Bina Nusantara Algoritma Sequential search int SequentialSearch(int *data, int N, int Key) { for(int i=0; i

13 Bina Nusantara Binary Search Pencarian data dimulai dari pertengahan data yang telah terurut Jika kunci pencarian lebih kecil daripada kunci posisi tengah, maka kurangi lingkup pencarian pada separuh data pertama Begitu juga sebaliknya jika kunci pencarian lebih besar daripada kunci tengah, maka pencarian ke separuh data kedua

14 Bina Nusantara Binary Search Teknik Binary Search hanya dapat digunakan pada sorted array, yaitu array yang elemen-elemennya telah terurut.

15 Bina Nusantara Contoh Simulasi Binary search NimNamaIPK [0] Mulyadi 2.94 [1] Willy Johan 3.15 [2] Anthony Liberty 2.78 [3] Ferry Santoso 3.37 [4] Jaya Mulya 2.93 [5] Budi Santoso 3.01 [6] Indra Gunawan 3.56 [7] M. Rudito W3.44 NolowhighmidKeterangan (0+7)/2=3 (4+7)/2=5 Data[3]=

16 Bina Nusantara Contoh Simulasi Binary search NimNamaIPK [0] Mulyadi 2.94 [1] Willy Johan 3.15 [2] Anthony Liberty 2.78 [3] Ferry Santoso 3.37 [4] Jaya Mulya 2.93 [5] Budi Santoso 3.01 [6] Indra Gunawan 3.56 [7] M. Rudito W3.44 NolowhighmidKeterangan (0+7)/2=3 (0+2)/2=1 (2+2)/2=2 Data[3]= > Key, maka high=mid-1 Data[1]= < Key, maka low=mid+1 Data[2]= > Key, maka high=mid-1 Karena low > high, maka data Key tidak ada Key =

17 Bina Nusantara Algoritma Binary search int BinarySearch(int *data, int N, int Key) { int low, high, mid; low = 0; high = N-1; while(low <= high ) { mid =(low + high)/2; if( data[mid] == Key ) return(mid); else if( data[mid] < Key ) low = mid + 1; else high = mid - 1; } return(-1); }

18 Bina Nusantara Interpolation Search Pencarian dilakukan pada posisi relatif kunci terhadap data yang terurut metode ini didasari pada proses pencarian nomor telepon pada buku telepon

19 Bina Nusantara Interpolation Search Rumus: kunci – data[low] posisi = x (high – low) + low data[high] – data[low]

20 Bina Nusantara Contoh Interpolation Search KdJudulPenulis [0]025The C++ programingBjarne Strous [1]034 Mastering Delphi 6Marco Cantu [2]041 Professionl C#Simon Robin [3]056 Pure CorbaFintan Balron [4]063 Advanced JSPDavid Geary [5]072 Duration CalculusZhou Cao Zen [6]088 Algebra MasteringZohar Manna [7]096 Visual Basic Prof 6F. P. Brooz

21 Bina Nusantara Contoh Interpolation Search Kunci pencarian? 088 Low = 0, high = 7 Posisi = ( )/( )x(7-0)+0 = 6 Buku[6]==kunci?  ya  Algebra Mastering  Zohar Manna

22 Bina Nusantara Contoh Interpolation Search Kunci pencarian? 060 Low = 0, high = 7 Posisi = ( )/( )x(7-0)+0 = 3 Buku[3]==kunci?  tidak Low = 4, high = 7 Kode tidak ada dalam data

23 Bina Nusantara Latihan Interpolation Search List k terdiri dari 100 record. Kunci terrendah 220 dan tertinggi 980. Target 743. Dimanakah perkiraan posisi target?

24 Bina Nusantara Algoritma Interpolation Search int InterPolSearch(int *data, int N, int Key) { int low, high, pos; float tmp; low = 0; high = N-1; while(data[low] <= data[high] ) { tmp = (Key-data[low])/(data[high]-data[low]) pos = tmp*(high-low) + low; if( data[pos] == Key ) return(pos); else if( data[pos] < Key ) low = pos + 1; else high = pos - 1; } return(-1); }

25 Bina Nusantara 25 Diskusi dan Tanya Jawab Latihan soal


Download ppt "Algoritma Searching Pertemuan 13 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007."

Presentasi serupa


Iklan oleh Google