SlideShare a Scribd company logo
SEARCHING (1)
Sesi 12
CS 307 Fundamentals
of Computer Science Sorting and Searching 2
Searching
Outline
Metode Sekuensial
Metode Indeks Sekuensial
Metode Biner
3
Alasan Pencarian (Searching)
• Kehidupan sehari-hari: manusia selalu mencari
sesuatu
• Komputer dapat melakukan pencarian
• World wide web
• Spreadsheet
• Basis data
• Mencari data pada record besar akan
memerlukan waktu yang panjang – user tidak
mau menunggu lama
4
Algoritma Searching
• Terdapat berbagai algoritma pencarian (search)
• Analisa algoritma memudahkan programmer
untuk menentukan algoritma mana yang
digunakan untuk aplikasi tertentu
5
Algoritma Searching
• Komponen-komponen penting dalam proses
pencarian data
– Array berisi list
– Panjang list
– Item yang akan dicari
• Setelah proses searching selesai
– If item ditemukan, report “sukses, atau “data
ditemukan” return lokasi pada array
– If item tidak ditemukan, report “tidak ditemukan”
atau “gagal”
6
Metode Sekuensial
• Metoda paling sederhana dari sejumlah metoda
pencarian adalah metoda pencarian berurutan
yang sering dikenal dengan sequential
searching atau linear search.
• Adalah suatu teknik pencarian data dalam array
(1 dimensi) yang akan menelusuri semua
elemen-elemen array dari awal sampai akhir,
dimana data-data tidak perlu diurutkan terlebih
dahulu.
7
The process used to find the location of a target
among a list of objects
Searching an array finds the index of first
element in an array containing that value
Searching
Metode Sekuensial: Algoritma
For I = 1 to maks_array do
Begin
If Data_cari = nama_array[i] Then
Ketemu := True
Else
Ketemu := False;
End;
12
Linear Search
/* pre: list != null
post: return the index of the first occurrence
of target in list or -1 if target not present in
list
*/
public int linearSearch(int[] list, int target) {
for(int i = 0; i < list.length; i++)
if( list[i] == target )
return i;
return -1;
}
13
Linear Search, Generic
/* pre: list != null, target != null
post: return the index of the first occurrence
of target in list or -1 if target not present in
list
*/
public int linearSearch(Object[] list, Object target) {
for(int i = 0; i < list.length; i++)
if( list[i] != null && list[i].equals(target) )
return i;
return -1;
}
T(N)? Big O? Best case, worst case, average case?
Metode Sekuensial: Kinerja
• Misal elemen pertama pada array berisi kunci variabel,
maka terdapat kinerja satu pembandingan untuk
menemukan kunci.
• Misal elemen kedua berisi kunci variabel, maka terdapat
dua pembandingan untuk menemukan kunci.
• Lakukan cara yang sama untuk menemukan kunci yang
terdapat pada elemen terakhir. Pada kasus ini, maka
terdapat N pembandingan (N adalah ukuran array) untuk
menemukan kunci.
• Akhirnya jika kunci TIDAK ada pada array, kita telah
melakukan N pembandingan dan kunci TIDAK ditemukan
dan akan diperoleh return -1
14
Metode Sekuensial: Kinerja
• The best case: 1
• The worst case: N
• The average case is:
15
1 + 2 + 3 + …..+ N + N
N+1
Jumlah rata-rata
Pembandingan
Best case
Worst case dan key ditemukan
di akhir daftar array
Worst case dan key TIDAK ditemukan!
=
Jumlah kasus-kasus
yang mungkin
Metode Sekuensial: Contoh
• Kasus: mencari apakah data 18 pada terdapat pada list
• Pertama bandingkan 18 dengan list[0]; bandingkan 18
dengan 35
• Karena list[0] ≠ 18, lalu bandingkan 18 dengan list[1]
• Karena list[1] ≠ 18, bandingkan 18 dengan list[2]
• Karena list[2] ≠ 18, lanjutkan ke data selanjutnya
• Karena list[3] = 18, maka pencarian berhenti
• Pencarian sukses!
16
Metode Sekuensial: Contoh
• Selanjutnya mencari data 14
• Pencarian dimulai dari elemen pertama list;
pada list[0]
• Karena tidak sama, lakukan pembandingan
dengan setiap data dalam
• Ternyata data yang dibandingkan tidak ada yang
sama, maka pencarian ini gagal
17
Metode Indeks Sekuensial
• Pendekatan ini banyak diaplikasikan pada
pencarian langsung di media penyimpanan
sekunder.
• Teknik ini menghasilkan record yang menunjuk
tabel indeks. Tabel ini menyimpan nilai kunci dan
alamat relatif record pada file.
• Dengan kunci, alamat relatif akan melakukan
pencarian sekuensial pada indeks. Jika ada,
alamat relatif akan mengambil record yang
terhubung dengan alamat relatif.
18
Metode Indeks Sekuensial
• Teknik ini akan menghemat waktu, tapi
diperlukan ruang penyimpan ekstra untuk
menyimpan indeks.
• Analogi: seperti penggunaan kartu indeks di
perpustakaan.
– Pengguna mencari judul buku yang dicarinya melalui
indeks kartu. Melalui indeks akan diperoleh nomor
katalog. Katalog ini berfungsi sebagai alamat relatif
yang menunjukkan di rak mana buku tersebut berada.
• Indeks dapat diaplikasikan pada tabel terurut
yang disimpan dalam array atau linked list.
19
Metode Indeks Sekuensial: Contoh 1
• File indeks sekuensial:
20
321
592
876
8
73
132
231
321
480
589
592
650
651
732
789
833
876
Index pointer
Key Record
sorted
Metode Indeks Sekuensial: Contoh 2
21
591
742
321
485
591
647
706
742
(Key) (Record)
321
485
591
647
706
742
Secondary
index
Primary
index
Metode Biner
• Hanya dapat dilakukan pada data yang sudah
terurut (sorted list). Jika belum urut maka harus
dilakukan proses sorting pada data awal.
• Teknik pencarian = data dibagi menjadi dua
bagian untuk setiap kali proses pencarian.
• Mencari posisi tengah :
22
Posisi tengah = (posisi awal + posisi akhir) / 2
Metode Biner: Algoritma
1. Data diambil dari posisi awal 1 dan posisi akhir N
2. Kemudian cari posisi data tengah dengan rumus:
(posisi awal + posisi akhir) / 2
3. Kemudian data yang dicari dibandingkan dengan
data yang di tengah, apakah sama atau lebih kecil,
atau lebih besar?
4. Jika data sama, berarti ketemu.
5. Jika lebih besar, maka ulangi langkah 2 dengan
posisi awal adalah posisi tengah + 1
6. Jika lebih kecil, maka ulangi langkah 2 dengan
posisi akhir adalah posisi tengah – 1
23
24
Binary Search in Action
2 3 5 7 11 13 17 19 23 29 31 37 41 4743 53
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
25
Binary Search in Action
public static int bsearch(int[] list, int target)
{ int result = -1;
int low = 0;
int high = list.length - 1;
int mid;
while( result == -1 && low <= high )
{ mid = low + ((high - low) / 2);
if( list[mid] == target )
result = mid;
else if( list[mid] < target)
low = mid + 1;
else
high = mid - 1;
}
return result;
}
// mid = ( low + high ) / 2; // may overflow!!!
// or mid = (low + high) >>> 1; using bitwise op
Metode Biner: Contoh
Cari dimana data 66 berada pada list berikut
26
Metode Biner: Contoh
Cari dimana data 66 (X=66) berada pada list berikut
Iterasi 1:
data tengah pada list [5], karena 66>39 (data tengah),
maka: awal = tengah + 1
27
Metode Biner: Contoh
Cari dimana data 66 berada pada list berikut
Iterasi 2:
Output = “data ditemukan”
28
Copyright © 2000 by Brooks/Cole Publishing Company
A division of International Thomson Publishing Inc.
6
31
Generic Binary Search
public static int bsearch(Comparable[] list, Comparable target)
{ int result = -1;
int low = 0;
int high = list.length - 1;
int mid;
while( result == -1 && low <= high )
{ mid = low + ((high - low) / 2);
if( target.equals(list[mid]) )
result = mid;
else if(target.compareTo(list[mid]) > 0)
low = mid + 1;
else
high = mid - 1;
}
return result;
}
32
Recursive Binary Search
public static int bsearch(int[] list, int target){
return bsearch(list, target, 0, list.length – 1);
}
public static int bsearch(int[] list, int target,
int first, int last){
if( first <= last ){
int mid = low + ((high - low) / 2);
if( list[mid] == target )
return mid;
else if( list[mid] > target )
return bsearch(list, target, first, mid – 1);
else
return bsearch(list, target, mid + 1, last);
}
return -1;
}
7 10 14 17
1 2 3 5 7 10 14 17
A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]
• 14 ?
first mid last
A[4] A[5] A[6] A[7]
first mid last
A[6] A[7]
f mid last
14 17
Example: binary search
In this case,
(data[middle] == value)
return middle;
7 10 14 17
1 2 3 5 7 10 14 17
A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]
• 8 ?
first mid last
A[4] A[5] A[6] A[7]
first mid last
A[4]
f m l
Example: binary search
7
In this case, (first
== last)
return -1;
1 2 3
1 2 3 5 7 10 14 17
• 4 ? A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]
first mid last
A[0] A[1] A[2]
first mid last
A[2]
f m l
3
Example: binary search
In this case, (first
== last)
return -1;
Metode Biner: Kinerja
• Bagaimana worst case untuk list dengan data
sebanyak 32?
– Percobaan 1 - list mempunyai 16 data
– Percobaan 2 - list mempunyai 8 data
– Percobaan 3 - list mempunyai 4 data
– Percobaan 4 - list mempunyai 2 data
– Percobaan 5 - list mempunyai 1 data
36
Metode Biner: Kinerja
List dengan 250 data
Perc 1 - 125 data
Perc 2 - 63 data
Perc 3 - 32 data
Perc 4 - 16 data
Perc 5 - 8 data
Perc 6 - 4 data
Perc 7 - 2 data
Perc 8 - 1 data
List dengan 512 data
Perc 1 – 256 data
Perc 2 - 125 data
Perc 3 - 63 data
Perc 4 - 32 data
Perc 5 - 16 data
Perc 6 - 8 data
Perc 7 - 4 data
Perc 8 - 2 data
Perc 9 - 1 data
Metode Biner: Pola
• List 11 memerlukan 4x percobaan
• List 32 memerlukan 5x percobaan
• List 250 memerlukan 8x percobaan
• List 512 memerlukan 9x percobaan
• 32 = 25 and 512 = 29
• 8 < 11 < 16 23 < 11 < 24
• 128 < 250 < 256 27 < 250 < 28
Metode Biner: Pola
• Berapa lama waktu yang diperlukan untuk
menemukan data pada list yang terdiri dari
30000 item?
210 = 1024 213 = 8192
211 = 2048 214 = 16384
212 = 4096 215 = 32768
• Ternyata memerlukan 15x percobaan.
Algoritma pencarian biner berjalan pada log2 n
(lg n)
39
Referensi
• http://faculty.kfupm.edu.sa/ics/lahouari/Teaching/
Searching.ppt
• http://lecturer.ukdw.ac.id/anton/download/TIstruk
dat2.ppt
• http://par.cse.nsysu.edu.tw/~cbyang/course/ds/c
hap7.ppt
• http://noorhayatin.staff.umm.ac.id/files/2010/02/T
2122-Searching.ppt
40

More Related Content

What's hot

Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
Endang Retnoningsih
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
Endang Retnoningsih
 
Sd 15.17 modul 2
Sd 15.17 modul 2Sd 15.17 modul 2
Sd 15.17 modul 2
Sholeh Photrae Thoenggael
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
Endang Retnoningsih
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
Wandi Parlente
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
Nurul Habibah
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
biedoen
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
Marlintika Marlintika
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
Lubna Abidah
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
Materi Kuliah Online
 
Algoritma searching
Algoritma searchingAlgoritma searching
Algoritma searching
Tenia Wahyuningrum
 
Pertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhsPertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhs
Bina Sarana Informatika
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_sore
tio_arkarna
 
Struktur data chapter_11
Struktur data chapter_11Struktur data chapter_11
Struktur data chapter_11
Sejahtera Affif
 
Struktur affif
Struktur affifStruktur affif
Struktur affif
Sejahtera Affif
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
Ni Luh Dewi Pradnyawati
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
Fahuda E
 

What's hot (19)

Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Sd 15.17 modul 2
Sd 15.17 modul 2Sd 15.17 modul 2
Sd 15.17 modul 2
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Pengurutan (sorting )
Pengurutan (sorting )Pengurutan (sorting )
Pengurutan (sorting )
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
 
Algoritma searching
Algoritma searchingAlgoritma searching
Algoritma searching
 
Pertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhsPertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhs
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_sore
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Struktur data chapter_11
Struktur data chapter_11Struktur data chapter_11
Struktur data chapter_11
 
Struktur affif
Struktur affifStruktur affif
Struktur affif
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 

Similar to Asd sesi searching part1

ALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdfALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdf
MamankHD
 
Modul pembelajaran Searching Algorithm.pptx
Modul pembelajaran Searching Algorithm.pptxModul pembelajaran Searching Algorithm.pptx
Modul pembelajaran Searching Algorithm.pptx
JalaludinAlAzhamatKh
 
Ifc modul 5 (searching)
Ifc   modul 5 (searching)Ifc   modul 5 (searching)
Ifc modul 5 (searching)
James Montolalu
 
Struktur data pertemuan 12
Struktur data pertemuan 12Struktur data pertemuan 12
Struktur data pertemuan 12ajonona
 
Teknik Searching
Teknik SearchingTeknik Searching
Teknik Searching
Brigita Wensen
 
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptxBerpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
SMA NEGERI 1 PEMATANGSIANTAR, POLITEKNIK BISNIS INDONESIA, VORTEX558
 
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptxBerpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
SMA NEGERI 1 PEMATANGSIANTAR, POLITEKNIK BISNIS INDONESIA, VORTEX558
 
TUGAS TIK.pptx
TUGAS TIK.pptxTUGAS TIK.pptx
TUGAS TIK.pptx
DzixdzixDzikri
 
Algoritma
Algoritma Algoritma
Algoritma
Mr. FM
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
muissyahril
 
BERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.pptBERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.ppt
AgusPurwadi20
 
7. Algoritma.pptx
7. Algoritma.pptx7. Algoritma.pptx
7. Algoritma.pptx
DickyPrayitno1
 
Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Muhammad Martayuda
 
10._Pencarian_pada_Array_.pdf
10._Pencarian_pada_Array_.pdf10._Pencarian_pada_Array_.pdf
10._Pencarian_pada_Array_.pdf
wwiennd
 
207 p11
207 p11207 p11
207 p11
itranus
 
Pertemuan 11
Pertemuan 11Pertemuan 11
Pertemuan 11
eli priyatna laidan
 
Binary search
Binary searchBinary search
Binary search
sayamiliader
 
Sorting insert binary
Sorting insert binarySorting insert binary
Sorting insert binary
Materi Kuliah Online
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
SITI MUTIAH NURMALA DEWI
 
Setiawan Aprianto
Setiawan ApriantoSetiawan Aprianto
Setiawan Aprianto
Tri Martono
 

Similar to Asd sesi searching part1 (20)

ALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdfALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdf
 
Modul pembelajaran Searching Algorithm.pptx
Modul pembelajaran Searching Algorithm.pptxModul pembelajaran Searching Algorithm.pptx
Modul pembelajaran Searching Algorithm.pptx
 
Ifc modul 5 (searching)
Ifc   modul 5 (searching)Ifc   modul 5 (searching)
Ifc modul 5 (searching)
 
Struktur data pertemuan 12
Struktur data pertemuan 12Struktur data pertemuan 12
Struktur data pertemuan 12
 
Teknik Searching
Teknik SearchingTeknik Searching
Teknik Searching
 
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptxBerpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
 
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptxBerpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
 
TUGAS TIK.pptx
TUGAS TIK.pptxTUGAS TIK.pptx
TUGAS TIK.pptx
 
Algoritma
Algoritma Algoritma
Algoritma
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
BERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.pptBERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.ppt
 
7. Algoritma.pptx
7. Algoritma.pptx7. Algoritma.pptx
7. Algoritma.pptx
 
Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)
 
10._Pencarian_pada_Array_.pdf
10._Pencarian_pada_Array_.pdf10._Pencarian_pada_Array_.pdf
10._Pencarian_pada_Array_.pdf
 
207 p11
207 p11207 p11
207 p11
 
Pertemuan 11
Pertemuan 11Pertemuan 11
Pertemuan 11
 
Binary search
Binary searchBinary search
Binary search
 
Sorting insert binary
Sorting insert binarySorting insert binary
Sorting insert binary
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Setiawan Aprianto
Setiawan ApriantoSetiawan Aprianto
Setiawan Aprianto
 

More from BintangWijaya5

Materi Searching
Materi Searching Materi Searching
Materi Searching
BintangWijaya5
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
BintangWijaya5
 
Asd sesi sorting part2
Asd sesi sorting part2Asd sesi sorting part2
Asd sesi sorting part2
BintangWijaya5
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
BintangWijaya5
 
Asd sesi searching part 2
Asd sesi searching part 2Asd sesi searching part 2
Asd sesi searching part 2
BintangWijaya5
 
Asd sesi tree part2
Asd sesi tree part2Asd sesi tree part2
Asd sesi tree part2
BintangWijaya5
 
Asd sesi tree part1
Asd sesi tree part1Asd sesi tree part1
Asd sesi tree part1
BintangWijaya5
 
Buku struktur data pages-111-122
Buku struktur data pages-111-122Buku struktur data pages-111-122
Buku struktur data pages-111-122
BintangWijaya5
 

More from BintangWijaya5 (8)

Materi Searching
Materi Searching Materi Searching
Materi Searching
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
 
Asd sesi sorting part2
Asd sesi sorting part2Asd sesi sorting part2
Asd sesi sorting part2
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
 
Asd sesi searching part 2
Asd sesi searching part 2Asd sesi searching part 2
Asd sesi searching part 2
 
Asd sesi tree part2
Asd sesi tree part2Asd sesi tree part2
Asd sesi tree part2
 
Asd sesi tree part1
Asd sesi tree part1Asd sesi tree part1
Asd sesi tree part1
 
Buku struktur data pages-111-122
Buku struktur data pages-111-122Buku struktur data pages-111-122
Buku struktur data pages-111-122
 

Recently uploaded

Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
SABDA
 
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptxPOWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
cikgumeran1
 
Aksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamiiAksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamii
esmaducoklat
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Yayasan Pusat Kajian dan Perlindungan Anak
 
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
NURULNAHARIAHBINTIAH
 
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdfKONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
AsyeraPerangin1
 
Modul Ajar Statistika Data Fase F kelas
Modul Ajar Statistika Data Fase F  kelasModul Ajar Statistika Data Fase F  kelas
Modul Ajar Statistika Data Fase F kelas
ananda238570
 
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul AjarPowerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
MashudiMashudi12
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
indraayurestuw
 
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPALANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
Annisa Syahfitri
 
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
fildiausmayusuf1
 
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Fathan Emran
 
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs KonsekuensiAksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
sabir51
 
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptxFORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
NavaldiMalau
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
ahyani72
 
Laporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docxLaporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docx
RUBEN Mbiliyora
 
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum MerdekaModul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Fathan Emran
 
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDFJUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
budimoko2
 
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
nasrudienaulia
 
materi penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remajamateri penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remaja
DewiInekePuteri
 

Recently uploaded (20)

Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
 
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptxPOWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
POWERPOINT ASAS PERMAINAN CATUR MSSD.pptx
 
Aksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamiiAksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamii
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
 
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
 
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdfKONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
 
Modul Ajar Statistika Data Fase F kelas
Modul Ajar Statistika Data Fase F  kelasModul Ajar Statistika Data Fase F  kelas
Modul Ajar Statistika Data Fase F kelas
 
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul AjarPowerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
 
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPALANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
 
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
 
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
 
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs KonsekuensiAksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
 
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptxFORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
 
Laporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docxLaporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docx
 
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum MerdekaModul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
 
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDFJUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
 
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
 
materi penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remajamateri penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remaja
 

Asd sesi searching part1

  • 2. CS 307 Fundamentals of Computer Science Sorting and Searching 2 Searching
  • 3. Outline Metode Sekuensial Metode Indeks Sekuensial Metode Biner 3
  • 4. Alasan Pencarian (Searching) • Kehidupan sehari-hari: manusia selalu mencari sesuatu • Komputer dapat melakukan pencarian • World wide web • Spreadsheet • Basis data • Mencari data pada record besar akan memerlukan waktu yang panjang – user tidak mau menunggu lama 4
  • 5. Algoritma Searching • Terdapat berbagai algoritma pencarian (search) • Analisa algoritma memudahkan programmer untuk menentukan algoritma mana yang digunakan untuk aplikasi tertentu 5
  • 6. Algoritma Searching • Komponen-komponen penting dalam proses pencarian data – Array berisi list – Panjang list – Item yang akan dicari • Setelah proses searching selesai – If item ditemukan, report “sukses, atau “data ditemukan” return lokasi pada array – If item tidak ditemukan, report “tidak ditemukan” atau “gagal” 6
  • 7. Metode Sekuensial • Metoda paling sederhana dari sejumlah metoda pencarian adalah metoda pencarian berurutan yang sering dikenal dengan sequential searching atau linear search. • Adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu. 7
  • 8. The process used to find the location of a target among a list of objects Searching an array finds the index of first element in an array containing that value Searching
  • 9.
  • 10.
  • 11. Metode Sekuensial: Algoritma For I = 1 to maks_array do Begin If Data_cari = nama_array[i] Then Ketemu := True Else Ketemu := False; End;
  • 12. 12 Linear Search /* pre: list != null post: return the index of the first occurrence of target in list or -1 if target not present in list */ public int linearSearch(int[] list, int target) { for(int i = 0; i < list.length; i++) if( list[i] == target ) return i; return -1; }
  • 13. 13 Linear Search, Generic /* pre: list != null, target != null post: return the index of the first occurrence of target in list or -1 if target not present in list */ public int linearSearch(Object[] list, Object target) { for(int i = 0; i < list.length; i++) if( list[i] != null && list[i].equals(target) ) return i; return -1; } T(N)? Big O? Best case, worst case, average case?
  • 14. Metode Sekuensial: Kinerja • Misal elemen pertama pada array berisi kunci variabel, maka terdapat kinerja satu pembandingan untuk menemukan kunci. • Misal elemen kedua berisi kunci variabel, maka terdapat dua pembandingan untuk menemukan kunci. • Lakukan cara yang sama untuk menemukan kunci yang terdapat pada elemen terakhir. Pada kasus ini, maka terdapat N pembandingan (N adalah ukuran array) untuk menemukan kunci. • Akhirnya jika kunci TIDAK ada pada array, kita telah melakukan N pembandingan dan kunci TIDAK ditemukan dan akan diperoleh return -1 14
  • 15. Metode Sekuensial: Kinerja • The best case: 1 • The worst case: N • The average case is: 15 1 + 2 + 3 + …..+ N + N N+1 Jumlah rata-rata Pembandingan Best case Worst case dan key ditemukan di akhir daftar array Worst case dan key TIDAK ditemukan! = Jumlah kasus-kasus yang mungkin
  • 16. Metode Sekuensial: Contoh • Kasus: mencari apakah data 18 pada terdapat pada list • Pertama bandingkan 18 dengan list[0]; bandingkan 18 dengan 35 • Karena list[0] ≠ 18, lalu bandingkan 18 dengan list[1] • Karena list[1] ≠ 18, bandingkan 18 dengan list[2] • Karena list[2] ≠ 18, lanjutkan ke data selanjutnya • Karena list[3] = 18, maka pencarian berhenti • Pencarian sukses! 16
  • 17. Metode Sekuensial: Contoh • Selanjutnya mencari data 14 • Pencarian dimulai dari elemen pertama list; pada list[0] • Karena tidak sama, lakukan pembandingan dengan setiap data dalam • Ternyata data yang dibandingkan tidak ada yang sama, maka pencarian ini gagal 17
  • 18. Metode Indeks Sekuensial • Pendekatan ini banyak diaplikasikan pada pencarian langsung di media penyimpanan sekunder. • Teknik ini menghasilkan record yang menunjuk tabel indeks. Tabel ini menyimpan nilai kunci dan alamat relatif record pada file. • Dengan kunci, alamat relatif akan melakukan pencarian sekuensial pada indeks. Jika ada, alamat relatif akan mengambil record yang terhubung dengan alamat relatif. 18
  • 19. Metode Indeks Sekuensial • Teknik ini akan menghemat waktu, tapi diperlukan ruang penyimpan ekstra untuk menyimpan indeks. • Analogi: seperti penggunaan kartu indeks di perpustakaan. – Pengguna mencari judul buku yang dicarinya melalui indeks kartu. Melalui indeks akan diperoleh nomor katalog. Katalog ini berfungsi sebagai alamat relatif yang menunjukkan di rak mana buku tersebut berada. • Indeks dapat diaplikasikan pada tabel terurut yang disimpan dalam array atau linked list. 19
  • 20. Metode Indeks Sekuensial: Contoh 1 • File indeks sekuensial: 20 321 592 876 8 73 132 231 321 480 589 592 650 651 732 789 833 876 Index pointer Key Record sorted
  • 21. Metode Indeks Sekuensial: Contoh 2 21 591 742 321 485 591 647 706 742 (Key) (Record) 321 485 591 647 706 742 Secondary index Primary index
  • 22. Metode Biner • Hanya dapat dilakukan pada data yang sudah terurut (sorted list). Jika belum urut maka harus dilakukan proses sorting pada data awal. • Teknik pencarian = data dibagi menjadi dua bagian untuk setiap kali proses pencarian. • Mencari posisi tengah : 22 Posisi tengah = (posisi awal + posisi akhir) / 2
  • 23. Metode Biner: Algoritma 1. Data diambil dari posisi awal 1 dan posisi akhir N 2. Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi akhir) / 2 3. Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar? 4. Jika data sama, berarti ketemu. 5. Jika lebih besar, maka ulangi langkah 2 dengan posisi awal adalah posisi tengah + 1 6. Jika lebih kecil, maka ulangi langkah 2 dengan posisi akhir adalah posisi tengah – 1 23
  • 24. 24 Binary Search in Action 2 3 5 7 11 13 17 19 23 29 31 37 41 4743 53 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 25. 25 Binary Search in Action public static int bsearch(int[] list, int target) { int result = -1; int low = 0; int high = list.length - 1; int mid; while( result == -1 && low <= high ) { mid = low + ((high - low) / 2); if( list[mid] == target ) result = mid; else if( list[mid] < target) low = mid + 1; else high = mid - 1; } return result; } // mid = ( low + high ) / 2; // may overflow!!! // or mid = (low + high) >>> 1; using bitwise op
  • 26. Metode Biner: Contoh Cari dimana data 66 berada pada list berikut 26
  • 27. Metode Biner: Contoh Cari dimana data 66 (X=66) berada pada list berikut Iterasi 1: data tengah pada list [5], karena 66>39 (data tengah), maka: awal = tengah + 1 27
  • 28. Metode Biner: Contoh Cari dimana data 66 berada pada list berikut Iterasi 2: Output = “data ditemukan” 28
  • 29. Copyright © 2000 by Brooks/Cole Publishing Company A division of International Thomson Publishing Inc. 6
  • 30.
  • 31. 31 Generic Binary Search public static int bsearch(Comparable[] list, Comparable target) { int result = -1; int low = 0; int high = list.length - 1; int mid; while( result == -1 && low <= high ) { mid = low + ((high - low) / 2); if( target.equals(list[mid]) ) result = mid; else if(target.compareTo(list[mid]) > 0) low = mid + 1; else high = mid - 1; } return result; }
  • 32. 32 Recursive Binary Search public static int bsearch(int[] list, int target){ return bsearch(list, target, 0, list.length – 1); } public static int bsearch(int[] list, int target, int first, int last){ if( first <= last ){ int mid = low + ((high - low) / 2); if( list[mid] == target ) return mid; else if( list[mid] > target ) return bsearch(list, target, first, mid – 1); else return bsearch(list, target, mid + 1, last); } return -1; }
  • 33. 7 10 14 17 1 2 3 5 7 10 14 17 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] • 14 ? first mid last A[4] A[5] A[6] A[7] first mid last A[6] A[7] f mid last 14 17 Example: binary search In this case, (data[middle] == value) return middle;
  • 34. 7 10 14 17 1 2 3 5 7 10 14 17 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] • 8 ? first mid last A[4] A[5] A[6] A[7] first mid last A[4] f m l Example: binary search 7 In this case, (first == last) return -1;
  • 35. 1 2 3 1 2 3 5 7 10 14 17 • 4 ? A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] first mid last A[0] A[1] A[2] first mid last A[2] f m l 3 Example: binary search In this case, (first == last) return -1;
  • 36. Metode Biner: Kinerja • Bagaimana worst case untuk list dengan data sebanyak 32? – Percobaan 1 - list mempunyai 16 data – Percobaan 2 - list mempunyai 8 data – Percobaan 3 - list mempunyai 4 data – Percobaan 4 - list mempunyai 2 data – Percobaan 5 - list mempunyai 1 data 36
  • 37. Metode Biner: Kinerja List dengan 250 data Perc 1 - 125 data Perc 2 - 63 data Perc 3 - 32 data Perc 4 - 16 data Perc 5 - 8 data Perc 6 - 4 data Perc 7 - 2 data Perc 8 - 1 data List dengan 512 data Perc 1 – 256 data Perc 2 - 125 data Perc 3 - 63 data Perc 4 - 32 data Perc 5 - 16 data Perc 6 - 8 data Perc 7 - 4 data Perc 8 - 2 data Perc 9 - 1 data
  • 38. Metode Biner: Pola • List 11 memerlukan 4x percobaan • List 32 memerlukan 5x percobaan • List 250 memerlukan 8x percobaan • List 512 memerlukan 9x percobaan • 32 = 25 and 512 = 29 • 8 < 11 < 16 23 < 11 < 24 • 128 < 250 < 256 27 < 250 < 28
  • 39. Metode Biner: Pola • Berapa lama waktu yang diperlukan untuk menemukan data pada list yang terdiri dari 30000 item? 210 = 1024 213 = 8192 211 = 2048 214 = 16384 212 = 4096 215 = 32768 • Ternyata memerlukan 15x percobaan. Algoritma pencarian biner berjalan pada log2 n (lg n) 39
  • 40. Referensi • http://faculty.kfupm.edu.sa/ics/lahouari/Teaching/ Searching.ppt • http://lecturer.ukdw.ac.id/anton/download/TIstruk dat2.ppt • http://par.cse.nsysu.edu.tw/~cbyang/course/ds/c hap7.ppt • http://noorhayatin.staff.umm.ac.id/files/2010/02/T 2122-Searching.ppt 40