Algoritma Searching Pertemuan 13

Slides:



Advertisements
Presentasi serupa
Pencarian ( Searching)
Advertisements

SEARCHING ( PENCARIAN )
Algoritma dan Struktur Data
Algoritma & Struktur Data-II SEARCHING
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Searching Pertemuan ke 15..
Pertemuan 6 TREE & BINARY TREE
Searching.
Searching Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengan cara searching. Searching adalah pencarian data.
13 Searching (Pencarian) pada Array Satu Dimensi Bab
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Operator Overloading Pertemuan 20 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Gaya Geser Pada Penampang Beton Prategang Pertemuan 12
PANJANG PENYALURAN TULANGAN PERTEMUAN 16
STREAM INPUT/OUPUT Pertemuan 4 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 5 STREAM INPUT/OUPUT Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 1 Algoritma Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
SORTING Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0.
Algoritma dan Struktur Data
OPERASI JUMP DAN EXCEPTION HANDLING
PERNYATAAN PERULANGAN
SEARCHING ARRAY.
1 Pertemuan 24 Branch and Bound II Matakuliah: T0034/Analisis & Perancangan Algoritma Tahun: 2005 Versi: 1/0.
Pertemuan 10 DIVIDE And CONQUER Lanjutan ….
Struktur Kendali Pengulangan Pertemuan 6 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
STRUKTUR BETON DI DALAM TEKAN PERTEMUAN 09
Matakuliah : T0456 / Algoritma dan Metode Object
Algoritma sorting dasar (lanjutan) Pertemuan 11
Pertemuan 5 Balok Keran dan Balok Konsol
Fungsi Logaritma Pertemuan 12
1 Pertemuan 5 PPh PASAL 21 Matakuliah: A0572/ Perpajakan Tahun: 2005 Versi: Revisi 1.
Mengambar kurva fungsi linier Pertemuan 4
Fungsi Eksponensial Pertemuan 11 Matakuliah: J0174/Matematika I Tahun: 2008.
Matakuliah : R0022/Pengantar Arsitektur Tahun : Sept 2005 Versi : 1/1
Pengertian Algoritma Pemrograman Pertemuan 1
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
Searching.
Pertemuan 22 Graph Operation
Polymorphism Pertemuan 23-24
Constructor dan Destructor Pertemuan 17
Pertemuan 5 Review Berbagai Struktur Data
Inheritance Pertemuan 21
Class dan Objek Lanjutan Pertemuan 18
Pertemuan 4 ALGORITMA lanjutan….
PENYALURAN TULANGAN Pertemuan 23
Pemrograman Berorientsi Objek Pertemuan 15
Pertemuan 24 Teknik Searching
Sebaran Peluang (II) Pertemuan 4
Regresi Dalam Lambang Matriks Pertemuan 09
KRITERIA DESAIN, STANDAR DESAIN, DAN METODE ANALISIS PERTEMUAN 6
Structure Data - Struct Pertemuan 8
DESAIN STRUKTUR BALOK BETON PERSEGI BERTULANGAN RANGKAP PERTEMUAN 14
Inheritance lanjutan Pertemuan 22
STRUKTUR BETON DI DALAM GESER DAN TORSI PERTEMUAN 08
PRESENTASI DAN EVALUASI Pertemuan 39
Generic Data Type Pertemuan 25
PERENCANAAN PENULANGAN BALOK TPertemuan 10
DESAIN PONDASI DANGKAL GABUNGAN PERTEMUAN 22
Learning Outcomes Mahasiswa dapat menjelaskan definisi aljabar boole dan hukum-hukum aljabar boole,duality dan contoh pemakaian aljabar boole. Bina Nusantara.
Pertemuan 13 Pembahasan Kasus
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
STRUKTUR DATA Nurdiansah PTIK 09.
KAPASITAS PENAMPANG MENAHAN GAYA LINTANG Pertemuan 13
Prategang Pada Struktur Statis Tak Tentu Pertemuan 13
SEARCHING Universitas Dian Nuswantoro Semarang 12/7/2018.
Pengantar.
Algoritma dan struktur data
Transcript presentasi:

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

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

Outline Materi Sequential search Binary search Interpolation search Simulasi searching Contoh progam searching 4 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 Bina Nusantara

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

Metode Searching Sequential Search Binary Search Interpolation Search 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 Bina Nusantara

Contoh Sequential Search Nim Nama IPK [0] 2207023006 Mulyadi 2.94 [1] 2207023004 Willy Johan 3.15 [2] 2207023003 Anthony Liberty 2.78 [3] 2207023007 Ferry Santoso 3.37 [4] 2207023005 Jaya Mulya 2.93 [5] 2207023001 Budi Santoso 3.01 [6] 2207023008 Indra Gunawan 3.56 [7] 2207023002 M. Rudito W 3.44 Bina Nusantara

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

Contoh Sequential Search Kunci pencarian? 2207023010 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 Bina Nusantara

Algoritma Sequential search int SequentialSearch(int *data, int N, int Key) { for(int i=0; i<N; i++) if(key == data[i]) return(i) } return(-1); 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 Bina Nusantara

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

Contoh Simulasi Binary search Nim Nama IPK [0] 2207023010 Mulyadi 2.94 [1] 2207023020 Willy Johan 3.15 [2] 2207023030 Anthony Liberty 2.78 [3] 2207023040 Ferry Santoso 3.37 [4] 2207023050 Jaya Mulya 2.93 [5] 2207023060 Budi Santoso 3.01 [6] 2207023070 Indra Gunawan 3.56 [7] 2207023080 M. Rudito W 3.44 Key = 2207023060 No low high mid Keterangan 1 2 4 7 (0+7)/2=3 (4+7)/2=5 Data[3]= 2207023040 <Key, maka low=mid+1 Data[5]= 2207023060 == Key, ketemu pada index = 5 Bina Nusantara

Contoh Simulasi Binary search Nim Nama IPK [0] 2207023010 Mulyadi 2.94 [1] 2207023020 Willy Johan 3.15 [2] 2207023030 Anthony Liberty 2.78 [3] 2207023040 Ferry Santoso 3.37 [4] 2207023050 Jaya Mulya 2.93 [5] 2207023060 Budi Santoso 3.01 [6] 2207023070 Indra Gunawan 3.56 [7] 2207023080 M. Rudito W 3.44 Key = 2207023022 No low high mid Keterangan 1 2 3 4 7 (0+7)/2=3 (0+2)/2=1 (2+2)/2=2 Data[3]= 2207023040 > Key, maka high=mid-1 Data[1]= 2207023020 < Key, maka low=mid+1 Data[2]= 2207023030 > Key, maka high=mid-1 Karena low > high, maka data Key tidak ada 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); 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 Bina Nusantara

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

Contoh Interpolation Search Kd Judul Penulis [0] 025 The C++ programing Bjarne Strous [1] 034 Mastering Delphi 6 Marco Cantu [2] 041 Professionl C# Simon Robin [3] 056 Pure Corba Fintan Balron [4] 063 Advanced JSP David Geary [5] 072 Duration Calculus Zhou Cao Zen [6] 088 Algebra Mastering Zohar Manna [7] 096 Visual Basic Prof 6 F. P. Brooz Bina Nusantara

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

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

Latihan Interpolation Search List k terdiri dari 100 record. Kunci terrendah 220 dan tertinggi 980. Target 743. Dimanakah perkiraan posisi target? 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); Bina Nusantara

Diskusi dan Tanya Jawab Latihan soal 25 Bina Nusantara