Algoritma dan Struktur Data
Algoritma Pencarian
Pencarian (Searching)
• Pada suatu data seringl<ali dibutuhkan pembacaan
kembali informasi (information retrieval) dengan cara
searching.
• Searching adalah proses pencarian data yang ada pada
suatu deret data dengan cara menelusuri data-data
tersebut.
• Tahapan paling penting pada searching: memeriksa
jil<adata yang dicari sama dengan data yang ada pada
deret data.
Algoritma Pencarian
1. Input x (x=data yang dicari)
2. Bandingl<an x dengan deret data
3. Jil<aada data yang sama cetak pesan ' d a "
4. Jil<a tidal< ada data yang sama cetal< pesan "tidak
ada".
Algoritma Pencarian
• Macam algoritma pencarian :
• Sequantial Search
• Binary Search
(1) Sequential Search
• Disebut juga linear search atau Metode pencarian
beruntun.
• Adalah suatu tel<nil< pencarian data yang al<an
menelusuri tiap elemen satu per-satu dari awal sampai
akhir.
• Data awal =tidal< harus dalam l<ondisi terurut.
Algoritma SequentiaI Search
1. Input x (data yang dicari)
2 . Bandingl<an x dengan data ke-i sampai n
3. Jil<aada data yang sama dengan x mal<a cetak
pesan '½.da"
4. Jil<a tidal< ada data yang sama dengan x cetal<
pesan "tidal< ada"
- -.::==-=- --==------
':
?
"
>
llustrasi Sequential Search
• Misalnya terdapat array satu dimensi sebagai berikut:
0 I 2 3 4 5 6 7
ind eks
18 I 10 I 6 -
I2 1
1
1 I7 11 1100 I value
• Kemudian grogram al<an meminta data yang akan dicari,
misalnya 6 (x = 6).
• Iterasi :
6 =8 (tidak!)
6 =10 (tidak!)
6 = 6 (Ya!) => output : "Ada" pada index l<e-2
• Jika sampai data teral<hir tidal< ditemukan data yang sama
mal<a output : " data yang dicari tidal< ada".
• Best case : jika data yang dicari terletak di depan sehingga
waktu yang dibutuhkan minimal.
• Worst case : jika data yang dicari terletak di akhir
sehingga waktu yang dibutuhkan maksimal.
• Contoh :
DATA= 5 6 9 2 8 1 7 4
bestcase ketika x = 5
worstcase ketika x = 4
*x = key/data yang dicari
Latihan
• Buatlah flowchart dari algoritma Sequential Search!
(2) Binary Search
• Teknik pencarian = data dibagi menjadi dua bagian untuk
setiap kali proses pencarian.
• Data awal harus dalam kondisi terurut. Sehingga harus
dilakukan proses sorting terlebih dahulu untuk data awal.
• Mencari posisi tengah :
Posisi tengah =(posisi awal + posisi
al{hir} / 2
- -.::==-=- --==------
':
?
"
>
Algoritma Binary Search
1. Data diambil dari posisi awal 1 dan posisi akhir N
2. Kemudian cari posisi data tengah dengan rum us: (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
llustrasi
Contoh Data:
Misalnya data yang dicari2 3 (X= 23)
Iterasi 1
0 1 2 3 4 5 6 7 8
3
A
9 11 12 15
B
17 23 31 35
C
Karena 23 > 15 (data tengah), maka: awal =tengah +1
Iterasi2
1 2
0
3 9
3
12
4 5
15 17
A
6 7
23 31
B
8
11 35
C
X = B (sama dengan data tengah). Output= "Data
ditemukan"
Best & Worst Case
• Best case : jika data yang dicari terletak di posisi
tengah.
• Worst case : jika data yang dicari tidak ditemukan.
• Contoh :
DATA = 5 6 9 2 8 1 7 4 3
bestcase ketika x = 8 {T{n)=l)
worstcase ketika x = 25 {T{n) = 5 atau n/2)
*x = key/data yang dicari
Latihan
• Buatlah flowchart dari algoritma binary search!
- -.::==-=- --==------
':
?
"
>
Interpolation Search
• Teknik ini dilakukan pada data yang sudah terurut.
• Teknik searching ini dilakukan dengan perkiraan letak data.
• Contoh ilust rasi : jika kita hendak mencari suatu nama di dalam buku
telepon, misal yang berawalan dengan huruf T, maka kita tidak akan
mencarinya dari awal buku, tapi kita langsung membukanya pada 2/ 3
atau ¾ dari tebal buku.
• Rumus posisi relatif kunci pencarian dihitung dengan rumus:
(h.zgh - l OW
) l
+ OW
POS
. . kunci - data[low ]
l Sl =- - - - - - - - - - X
data[high] - data[low]
• Jika data[posisi] > data yg dicari, high= pos -1
• Jika data[posisi] < data yg dicari, low= pos + 1
Kondisi Berhenti
• ada 2 kondisi berhenti :
• jil<a data ditemul<an
• jil<a data tidal< ditemul<an, sampai
data[low] lebih besar dari data yang
dicari.
Kode JudulBuku Pengarang
25 The C++ Programming James Wood
34 Mastering Delphi 6 Marcopolo
41 Professional C# Simon Webe
56 Pure JavaScript v2 Michael Bolton
63 Advanced JSP & Servlet David Dunn
72 Calculus Make it Easy Gunner Christian
88 Visual Basic 2005 Express Antonie
96 Artificial Life : Volume 1 Gloria Virginia
- -.::==-=- --==------
-1<
a5us
• Misal terdapat data sebagai beril<ut:
• l(unci Pencarian ? 88
• Low? o
• High? 7
• Posisi = (88 - 25) / (96 - 25) * (7 - o) + o = [6]
• l(unci[6] = kunci pencarian, data ditemukan : Visual Basic 2005,
Antonie
• l(unci Pencarian ? 60
• Low? o
• High? 7
• Posisi = (60 - 25) / (96 - 25) * (7 - o) + o = [3]
• l(unci[3] < kunci pencarian, maka teruskan
• Low= 3+ 1 = 4
• High= 7
• Ternyata Kunci(4] adalah 63 yang lebih besar daripada 60.
• Berarti tidak ada kunci 60.
Latihan
• lal<ul<an pencarian dengan interpolation search dari
deret data beril<ut :
3 9 11 12 15 17 23 31 35
• x = 15 => low? high?
• x = 5 => low? high?
• x = 35 => low? high?
Latihan
• Buatlah flowchart dari algoritma interpolation search!
Pustaka
• Sartaj Sahni , "Data Structures
Presentation L 2 0 - 2 4 .
& Algorithms",
• Mitchell Waite, "Data Structures & Algorithms in
Java", SAMS, 2 0 0 1

More Related Content

PDF
7 Metode Pencarian Data Array
PPTX
Algoritma pencarian (searching algorithm)
PPTX
MATERI SEARCHING adalah materi komputasional thinking.pptx
PPTX
7. Algoritma.pptx
PPT
Sd pertemuan 5 & 6
PPT
Sd pertemuan 5 & 6
PDF
Teknik Searching
PPTX
TUGAS TIK.pptx
7 Metode Pencarian Data Array
Algoritma pencarian (searching algorithm)
MATERI SEARCHING adalah materi komputasional thinking.pptx
7. Algoritma.pptx
Sd pertemuan 5 & 6
Sd pertemuan 5 & 6
Teknik Searching
TUGAS TIK.pptx

Similar to Modul pembelajaran Searching Algorithm.pptx (20)

PDF
Struktur data chapter_14
PPTX
Tiga macam titik ALGORITMA PENCARIAN.pptx
PDF
Struktur data pertemuan 12
PPTX
Binary Search pada Java
PDF
Algoritma Searching Sorting Stack dan Queue Kelas 10
PPTX
Asd sesi searching part1
PPTX
Materi Searching Sorting pelajaran Indormatika kelas X
PDF
Struktur data chapter_13
PPT
Pertemuan 12 ok
PPTX
Algoritma-Pencarian.pptx informatika sma
PPTX
Sequential Search
PPTX
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
PPTX
Presentasi 11 Sequential dan Binary Search.pptx
PDF
Pertemuan 11 Tehnik Searching
PPTX
Sd bab 3 (pencarian)
PDF
Pertemuan 11 Tehnik Searching
PDF
ALPRO SEARCHING K.4.pdf
PPTX
Algoritma
PPTX
Algoritma Pencarian.pptx
PPTX
Algoritma dan Struktur Data Tentang Searching
Struktur data chapter_14
Tiga macam titik ALGORITMA PENCARIAN.pptx
Struktur data pertemuan 12
Binary Search pada Java
Algoritma Searching Sorting Stack dan Queue Kelas 10
Asd sesi searching part1
Materi Searching Sorting pelajaran Indormatika kelas X
Struktur data chapter_13
Pertemuan 12 ok
Algoritma-Pencarian.pptx informatika sma
Sequential Search
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
Presentasi 11 Sequential dan Binary Search.pptx
Pertemuan 11 Tehnik Searching
Sd bab 3 (pencarian)
Pertemuan 11 Tehnik Searching
ALPRO SEARCHING K.4.pdf
Algoritma
Algoritma Pencarian.pptx
Algoritma dan Struktur Data Tentang Searching
Ad

Recently uploaded (20)

PDF
Laktasi dan Menyusui (MK Askeb Esensial Nifas, Neonatus, Bayi, Balita dan Ana...
PPTX
Presentasi Al-Quran Hadits Kelompok XI.1
DOCX
Modul Ajar Pembelajaran Mendalam PJOK Kelas XII Terbaru 2025
DOC
CV_Kanaidi, SE., M.Si., cSAP., CGRC., CBCM_18 Agustus 2025.doc
DOCX
Modul Ajar Pembelajaran Mendalam PJOK Kelas X Terbaru 2025
PDF
LK - Kerangka Pembelajaran Mendalam luring 4 Herpina Indah Permata Sari.pdf
PPTX
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
DOCX
Modul Ajar Pembelajaran Mendalam PKN Kelas X Terbaru 2025
PPTX
7 KEBIASAAN ANAK INDONESIA HEBAT.pptx xx
DOC
RPP Deep Learning _ MGMP Wilayah 1 (1).doc
PDF
Konsep Dasar Nifas, Neonatus, Bayi, Balita dan Anak Pra Sekolah.pdf
PDF
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
PDF
Modul Ajar Deep Learning IPAS Kelas 6 Kurikulum Merdeka
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Kerajinan Kelas XII SMA Terbaru 2025
PDF
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
PDF
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
PPTX
Modul ajar kelas 5 sd kecerdasan artifisial pptx
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PPTX
Pedoman & Kewajiban Penggunaan Produksi Dalam Negeri _Pelatihan "Ketentuan T...
PDF
Modul Ajar Deep Learning Bahasa Indonesia Kelas 6 Kurikulum Merdeka
Laktasi dan Menyusui (MK Askeb Esensial Nifas, Neonatus, Bayi, Balita dan Ana...
Presentasi Al-Quran Hadits Kelompok XI.1
Modul Ajar Pembelajaran Mendalam PJOK Kelas XII Terbaru 2025
CV_Kanaidi, SE., M.Si., cSAP., CGRC., CBCM_18 Agustus 2025.doc
Modul Ajar Pembelajaran Mendalam PJOK Kelas X Terbaru 2025
LK - Kerangka Pembelajaran Mendalam luring 4 Herpina Indah Permata Sari.pdf
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
Modul Ajar Pembelajaran Mendalam PKN Kelas X Terbaru 2025
7 KEBIASAAN ANAK INDONESIA HEBAT.pptx xx
RPP Deep Learning _ MGMP Wilayah 1 (1).doc
Konsep Dasar Nifas, Neonatus, Bayi, Balita dan Anak Pra Sekolah.pdf
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
Modul Ajar Deep Learning IPAS Kelas 6 Kurikulum Merdeka
Modul Ajar Pembelajaran Mendalam PKWU Kerajinan Kelas XII SMA Terbaru 2025
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
Modul ajar kelas 5 sd kecerdasan artifisial pptx
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
Pedoman & Kewajiban Penggunaan Produksi Dalam Negeri _Pelatihan "Ketentuan T...
Modul Ajar Deep Learning Bahasa Indonesia Kelas 6 Kurikulum Merdeka
Ad

Modul pembelajaran Searching Algorithm.pptx

  • 1. Algoritma dan Struktur Data Algoritma Pencarian
  • 2. Pencarian (Searching) • Pada suatu data seringl<ali dibutuhkan pembacaan kembali informasi (information retrieval) dengan cara searching. • Searching adalah proses pencarian data yang ada pada suatu deret data dengan cara menelusuri data-data tersebut. • Tahapan paling penting pada searching: memeriksa jil<adata yang dicari sama dengan data yang ada pada deret data.
  • 3. Algoritma Pencarian 1. Input x (x=data yang dicari) 2. Bandingl<an x dengan deret data 3. Jil<aada data yang sama cetak pesan ' d a " 4. Jil<a tidal< ada data yang sama cetal< pesan "tidak ada".
  • 4. Algoritma Pencarian • Macam algoritma pencarian : • Sequantial Search • Binary Search
  • 5. (1) Sequential Search • Disebut juga linear search atau Metode pencarian beruntun. • Adalah suatu tel<nil< pencarian data yang al<an menelusuri tiap elemen satu per-satu dari awal sampai akhir. • Data awal =tidal< harus dalam l<ondisi terurut.
  • 6. Algoritma SequentiaI Search 1. Input x (data yang dicari) 2 . Bandingl<an x dengan data ke-i sampai n 3. Jil<aada data yang sama dengan x mal<a cetak pesan '½.da" 4. Jil<a tidal< ada data yang sama dengan x cetal< pesan "tidal< ada"
  • 7. - -.::==-=- --==------ ': ? " > llustrasi Sequential Search • Misalnya terdapat array satu dimensi sebagai berikut: 0 I 2 3 4 5 6 7 ind eks 18 I 10 I 6 - I2 1 1 1 I7 11 1100 I value • Kemudian grogram al<an meminta data yang akan dicari, misalnya 6 (x = 6). • Iterasi : 6 =8 (tidak!) 6 =10 (tidak!) 6 = 6 (Ya!) => output : "Ada" pada index l<e-2 • Jika sampai data teral<hir tidal< ditemukan data yang sama mal<a output : " data yang dicari tidal< ada".
  • 8. • Best case : jika data yang dicari terletak di depan sehingga waktu yang dibutuhkan minimal. • Worst case : jika data yang dicari terletak di akhir sehingga waktu yang dibutuhkan maksimal. • Contoh : DATA= 5 6 9 2 8 1 7 4 bestcase ketika x = 5 worstcase ketika x = 4 *x = key/data yang dicari
  • 9. Latihan • Buatlah flowchart dari algoritma Sequential Search!
  • 10. (2) Binary Search • Teknik pencarian = data dibagi menjadi dua bagian untuk setiap kali proses pencarian. • Data awal harus dalam kondisi terurut. Sehingga harus dilakukan proses sorting terlebih dahulu untuk data awal. • Mencari posisi tengah : Posisi tengah =(posisi awal + posisi al{hir} / 2
  • 11. - -.::==-=- --==------ ': ? " > Algoritma Binary Search 1. Data diambil dari posisi awal 1 dan posisi akhir N 2. Kemudian cari posisi data tengah dengan rum us: (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
  • 12. llustrasi Contoh Data: Misalnya data yang dicari2 3 (X= 23) Iterasi 1 0 1 2 3 4 5 6 7 8 3 A 9 11 12 15 B 17 23 31 35 C Karena 23 > 15 (data tengah), maka: awal =tengah +1 Iterasi2 1 2 0 3 9 3 12 4 5 15 17 A 6 7 23 31 B 8 11 35 C X = B (sama dengan data tengah). Output= "Data ditemukan"
  • 13. Best & Worst Case • Best case : jika data yang dicari terletak di posisi tengah. • Worst case : jika data yang dicari tidak ditemukan. • Contoh : DATA = 5 6 9 2 8 1 7 4 3 bestcase ketika x = 8 {T{n)=l) worstcase ketika x = 25 {T{n) = 5 atau n/2) *x = key/data yang dicari
  • 14. Latihan • Buatlah flowchart dari algoritma binary search!
  • 15. - -.::==-=- --==------ ': ? " > Interpolation Search • Teknik ini dilakukan pada data yang sudah terurut. • Teknik searching ini dilakukan dengan perkiraan letak data. • Contoh ilust rasi : jika kita hendak mencari suatu nama di dalam buku telepon, misal yang berawalan dengan huruf T, maka kita tidak akan mencarinya dari awal buku, tapi kita langsung membukanya pada 2/ 3 atau ¾ dari tebal buku. • Rumus posisi relatif kunci pencarian dihitung dengan rumus: (h.zgh - l OW ) l + OW POS . . kunci - data[low ] l Sl =- - - - - - - - - - X data[high] - data[low] • Jika data[posisi] > data yg dicari, high= pos -1 • Jika data[posisi] < data yg dicari, low= pos + 1
  • 16. Kondisi Berhenti • ada 2 kondisi berhenti : • jil<a data ditemul<an • jil<a data tidal< ditemul<an, sampai data[low] lebih besar dari data yang dicari.
  • 17. Kode JudulBuku Pengarang 25 The C++ Programming James Wood 34 Mastering Delphi 6 Marcopolo 41 Professional C# Simon Webe 56 Pure JavaScript v2 Michael Bolton 63 Advanced JSP & Servlet David Dunn 72 Calculus Make it Easy Gunner Christian 88 Visual Basic 2005 Express Antonie 96 Artificial Life : Volume 1 Gloria Virginia - -.::==-=- --==------ -1< a5us • Misal terdapat data sebagai beril<ut:
  • 18. • l(unci Pencarian ? 88 • Low? o • High? 7 • Posisi = (88 - 25) / (96 - 25) * (7 - o) + o = [6] • l(unci[6] = kunci pencarian, data ditemukan : Visual Basic 2005, Antonie • l(unci Pencarian ? 60 • Low? o • High? 7 • Posisi = (60 - 25) / (96 - 25) * (7 - o) + o = [3] • l(unci[3] < kunci pencarian, maka teruskan • Low= 3+ 1 = 4 • High= 7 • Ternyata Kunci(4] adalah 63 yang lebih besar daripada 60. • Berarti tidak ada kunci 60.
  • 19. Latihan • lal<ul<an pencarian dengan interpolation search dari deret data beril<ut : 3 9 11 12 15 17 23 31 35 • x = 15 => low? high? • x = 5 => low? high? • x = 35 => low? high?
  • 20. Latihan • Buatlah flowchart dari algoritma interpolation search!
  • 21. Pustaka • Sartaj Sahni , "Data Structures Presentation L 2 0 - 2 4 . & Algorithms", • Mitchell Waite, "Data Structures & Algorithms in Java", SAMS, 2 0 0 1