SlideShare uma empresa Scribd logo
1 de 7
BINARY SEARCH
Praktikum Algoritma dan Pemrograman
Teknik Informatika UIN Sunan Gunung Djati Bandung
Agus Andri Putra, ST.
PENDAHULUAN
• Salah satu syarat agar binary search dapat dilakukan adalah data sudah
dalam keadaan urut. Dengan kata lain, apabila data belum dalam keadaan
urut, binary search tidak dapat dilakukan.
• Sebuah algoritma pencarian biner (atau pemilahan biner) adalah sebuah
teknik untuk menemukan nilai tertentu dalam sebuah larik (array) linear,
dengan menghilangkan setengah data pada setiap langkah
• Sebuah pencarian biner mencari nilai tengah (median), melakukan
pembandingan untuk menentukan apakah nilai yang dicari ada sebelum
atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang
sama. Sebuah pencarian biner adalah salah satu contoh dari algoritma
divide and conquer (atau lebih khusus algoritma decrease and conquer)
dan sebuah pencarian dikotomi.
ATURAN BINARY SEARCH
• Prinsip dari Binary search dapat dijelaskan sebagai berikut :
• Mula-mula diambil posisi awal 0 dan posisi akhir = N-1, kemudian dicari
posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data
yang dicari dibandingkan dengan data tengah.
• Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap
sama dengan posisi tengah –1.
• Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap
sama dengan posisi tengah +1.
• Jika data sama, berarti data ditemukan.
ALGORITMA
• Penerapan terbanyak dari pencarian biner adalah untuk mencari
sebuah nilai tertentu dalam sebuah list terurut. Jika dibayangkan,
pencarian biner dapat dilihat sebagai sebuah permainan tebak-
tebakan, kita menebak sebuah bilangan, atau nomor tempat, dari
daftar (list) nilai.
• Pencarian diawali dengan memeriksa nilai yang ada pada posisi
tengah list, oleh karena nilai-nilainya terurut, kita mengetahui apakah
nilai terletak sebelum atau sesudah nilai yang di tengah tersebut,
dan pencarian selanjutnya dilakukan terhadap setengah bagian
dengan cara yang sama.
PENCARIAN BINER (BINARY SEARCH) DILAKUKAN UNTUK :
• memperkecil jumlah operasi pembandingan yang harus dilakukan
antara data yang dicari dengan data yang ada di dalam tabel,
khususnya untuk jumlah data yang sangat besar ukurannya.
• Prinsip dasarnya adalah melakukan proses pembagian ruang
pencarian secara berulang-ulang sampai data ditemukan atau
sampai ruang pencarian tidak dapat dibagi lagi (berarti ada
kemungkinan data tidak ditemukan).
• Syarat utama untuk pencarian biner adalah data di dalam tabel
harus sudah terurut, misalkan terurut menaik.
CONTOH PENULISAN ALGORITMA BINARY SEARCH
Kamus
Const N : integer = 8 { misalkan jumlah elemen array maksimum = 8 }
Type A = array [ 1 ..... N ] of integer
Cari, BatasAtas, BatasBawah, Tengah : Integer
Ketemu : boolean
ALGORITMA
Input (cari) { meminta nilai data yang akan dicari}
BatasAtas  1 { indeks array dimulai dari 1 }
BatasBawah  N
Ketemu  False
While (BatasAtas < BatasBawah) and (not ketemu) do
Tengah  (BatasAtas + BatasBawah) div 2
If A [Tengah] = cari then
Ketemu  true
Else
If ( A [Tengah] < cari ) then { cari di bagian kanan }
BatasAtas  Tengah + 1
Else
BatasBawah  Tengah – 1 { cari di bagian kiri }
Endif
Endif
EndWhile
If (ketemu) then
Output ( ‘Data berada di index nomor’, Tengah )
Else Output ( ‘Data tidak ditemukan’ )
Endif
CONTOH DATA KASUS
Kasus 1 : cari = 12
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12, berarti loop pertama data langsung ditemukan
Kasus 2 : cari = 15
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12 < cari = 15, berarti BatasAtas = Tengah + 1 = 4 + 1 = 5
Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 8) div 2 = 6
A [Tengah] = A [6] = 25 > cari = 15, berarti BatasBawah = Tengah - 1 = 6 - 1 = 5
Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 5) div 2 = 5
A [Tengah] = A [5] = 15, berarti setelah loop ketiga, data ditemukan
Kasus 3 : cari = 10
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12 > cari = 10, berarti BatasBawah = Tengah - 1 = 4 - 1 = 3
Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 3) div 2 = 2
A [Tengah] = A [2] = 5 < cari = 10, berarti BatasAtas = Tengah + 1 = 2 + 1 = 3
Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (3 + 3) div 2 = 3
A [Tengah] = A [3] = 8, berarti setelah loop ketiga, data tidak ditemukan
Untuk jumlah data sebanyak n, maka proses pembandingan maksimal sebanyak ( log n ) kali. Untuk contoh di atas, jumlah data 8, maka
proses pembandingan maksimal sebanyak 3 kali.

Mais conteúdo relacionado

Mais procurados

Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi GraphZaldy Eka Putra
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit KuliahKita
 
BAHASA INGGRIS X NKN 2 KELOMPOK 6
BAHASA INGGRIS X NKN 2 KELOMPOK 6BAHASA INGGRIS X NKN 2 KELOMPOK 6
BAHASA INGGRIS X NKN 2 KELOMPOK 6auralarasati
 
PPT Himpunan Matematika Diskrit
PPT Himpunan Matematika DiskritPPT Himpunan Matematika Diskrit
PPT Himpunan Matematika DiskritSigitpga
 
Kumpulan soal-dan-pembahasan-himpunan
Kumpulan soal-dan-pembahasan-himpunanKumpulan soal-dan-pembahasan-himpunan
Kumpulan soal-dan-pembahasan-himpunanDermawan12
 
ALJABAR LINEAR ELEMENTER
ALJABAR LINEAR ELEMENTERALJABAR LINEAR ELEMENTER
ALJABAR LINEAR ELEMENTERMella Imelda
 
02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.ppt02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.pptDedek28
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
Contoh Soal Relasi Biner
Contoh Soal Relasi BinerContoh Soal Relasi Biner
Contoh Soal Relasi Binersiska sri asali
 
Algoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential SearchAlgoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential SearchKuliahKita
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteShofura Kamal
 
Tutorial penggunaan big query
Tutorial penggunaan big queryTutorial penggunaan big query
Tutorial penggunaan big queryAndreas Chandra
 
Basis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & CalculusBasis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & CalculusRatzman III
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Aprioridedidarwis
 
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra DigitalPertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digitalahmad haidaroh
 

Mais procurados (20)

Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
PENGENALAN DATA SCIENCE.pptx
PENGENALAN DATA SCIENCE.pptxPENGENALAN DATA SCIENCE.pptx
PENGENALAN DATA SCIENCE.pptx
 
2. galat
2. galat2. galat
2. galat
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
Sistem berkas
Sistem berkasSistem berkas
Sistem berkas
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
 
Contoh soal uts struktur data
Contoh soal uts struktur dataContoh soal uts struktur data
Contoh soal uts struktur data
 
BAHASA INGGRIS X NKN 2 KELOMPOK 6
BAHASA INGGRIS X NKN 2 KELOMPOK 6BAHASA INGGRIS X NKN 2 KELOMPOK 6
BAHASA INGGRIS X NKN 2 KELOMPOK 6
 
PPT Himpunan Matematika Diskrit
PPT Himpunan Matematika DiskritPPT Himpunan Matematika Diskrit
PPT Himpunan Matematika Diskrit
 
Kumpulan soal-dan-pembahasan-himpunan
Kumpulan soal-dan-pembahasan-himpunanKumpulan soal-dan-pembahasan-himpunan
Kumpulan soal-dan-pembahasan-himpunan
 
ALJABAR LINEAR ELEMENTER
ALJABAR LINEAR ELEMENTERALJABAR LINEAR ELEMENTER
ALJABAR LINEAR ELEMENTER
 
02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.ppt02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.ppt
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Contoh Soal Relasi Biner
Contoh Soal Relasi BinerContoh Soal Relasi Biner
Contoh Soal Relasi Biner
 
Algoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential SearchAlgoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential Search
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat Website
 
Tutorial penggunaan big query
Tutorial penggunaan big queryTutorial penggunaan big query
Tutorial penggunaan big query
 
Basis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & CalculusBasis Data, Ch 4 - Relasonal Aljabar & Calculus
Basis Data, Ch 4 - Relasonal Aljabar & Calculus
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
 
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra DigitalPertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
Pertemuan 2 - Digital Image Processing - Image Enhancement - Citra Digital
 

Semelhante a Binary Search pada Java (20)

Asd sesi searching part1
Asd sesi searching part1Asd sesi searching part1
Asd sesi searching part1
 
Ifc modul 5 (searching)
Ifc   modul 5 (searching)Ifc   modul 5 (searching)
Ifc modul 5 (searching)
 
Teknik Searching
Teknik SearchingTeknik Searching
Teknik Searching
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 
Algoritma Divide and Conquer (Sorting & Searching)
Algoritma Divide and Conquer (Sorting & Searching)Algoritma Divide and Conquer (Sorting & Searching)
Algoritma Divide and Conquer (Sorting & Searching)
 
7. Algoritma.pptx
7. Algoritma.pptx7. Algoritma.pptx
7. Algoritma.pptx
 
Pertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik SearchingPertemuan 11 Tehnik Searching
Pertemuan 11 Tehnik Searching
 
Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan data
 
ALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdfALPRO SEARCHING K.4.pdf
ALPRO SEARCHING K.4.pdf
 
TUGAS TIK.pptx
TUGAS TIK.pptxTUGAS TIK.pptx
TUGAS TIK.pptx
 
Binary search
Binary searchBinary search
Binary search
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Array statis if
Array statis ifArray statis if
Array statis if
 
Struktur data pertemuan 12
Struktur data pertemuan 12Struktur data pertemuan 12
Struktur data pertemuan 12
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
 
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
 
Setiawan Aprianto
Setiawan ApriantoSetiawan Aprianto
Setiawan Aprianto
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 

Mais de Putra Andry

Pertemuan viii Sorting
Pertemuan viii SortingPertemuan viii Sorting
Pertemuan viii SortingPutra Andry
 
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Putra Andry
 
Procedure dalam Pascal
Procedure dalam PascalProcedure dalam Pascal
Procedure dalam PascalPutra Andry
 
Pengolahan transaksi
Pengolahan transaksiPengolahan transaksi
Pengolahan transaksiPutra Andry
 
Stored procedure
Stored procedureStored procedure
Stored procedurePutra Andry
 
Membuat responsif html email sederhana
Membuat responsif html email sederhanaMembuat responsif html email sederhana
Membuat responsif html email sederhanaPutra Andry
 
Akses multiple table part2
Akses multiple table part2Akses multiple table part2
Akses multiple table part2Putra Andry
 
Akses multiple table part1
Akses multiple table part1Akses multiple table part1
Akses multiple table part1Putra Andry
 
Dasar Pemrograman Part VII
Dasar Pemrograman Part VIIDasar Pemrograman Part VII
Dasar Pemrograman Part VIIPutra Andry
 
Dasar Pemrograman Part VI
Dasar Pemrograman Part VIDasar Pemrograman Part VI
Dasar Pemrograman Part VIPutra Andry
 
Dasar Pemrograman Part V
Dasar Pemrograman Part VDasar Pemrograman Part V
Dasar Pemrograman Part VPutra Andry
 

Mais de Putra Andry (20)

Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Pertemuan viii Sorting
Pertemuan viii SortingPertemuan viii Sorting
Pertemuan viii Sorting
 
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)
 
Pertemuan V
Pertemuan VPertemuan V
Pertemuan V
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan iv
 
Function
FunctionFunction
Function
 
Procedure dalam Pascal
Procedure dalam PascalProcedure dalam Pascal
Procedure dalam Pascal
 
Pertemuan 9
Pertemuan 9Pertemuan 9
Pertemuan 9
 
Trigger
TriggerTrigger
Trigger
 
Pengolahan transaksi
Pengolahan transaksiPengolahan transaksi
Pengolahan transaksi
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Pertemuan 8
Pertemuan 8Pertemuan 8
Pertemuan 8
 
Membuat responsif html email sederhana
Membuat responsif html email sederhanaMembuat responsif html email sederhana
Membuat responsif html email sederhana
 
Join
JoinJoin
Join
 
Akses multiple table part2
Akses multiple table part2Akses multiple table part2
Akses multiple table part2
 
Sql outer join
Sql  outer joinSql  outer join
Sql outer join
 
Akses multiple table part1
Akses multiple table part1Akses multiple table part1
Akses multiple table part1
 
Dasar Pemrograman Part VII
Dasar Pemrograman Part VIIDasar Pemrograman Part VII
Dasar Pemrograman Part VII
 
Dasar Pemrograman Part VI
Dasar Pemrograman Part VIDasar Pemrograman Part VI
Dasar Pemrograman Part VI
 
Dasar Pemrograman Part V
Dasar Pemrograman Part VDasar Pemrograman Part V
Dasar Pemrograman Part V
 

Último

MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxwawan479953
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxDedeRosza
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfEniNuraeni29
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaharnosuharno5
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfJarzaniIsmail
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024DessyArliani
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANwawan479953
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxHaryKharismaSuhud
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaAndreRangga1
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxIvvatulAini
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptnovibernadina
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerakputus34
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXIksanSaputra6
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxsyahrulutama16
 
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".Kanaidi ken
 

Último (20)

MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptx
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerak
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
 

Binary Search pada Java

  • 1. BINARY SEARCH Praktikum Algoritma dan Pemrograman Teknik Informatika UIN Sunan Gunung Djati Bandung Agus Andri Putra, ST.
  • 2. PENDAHULUAN • Salah satu syarat agar binary search dapat dilakukan adalah data sudah dalam keadaan urut. Dengan kata lain, apabila data belum dalam keadaan urut, binary search tidak dapat dilakukan. • Sebuah algoritma pencarian biner (atau pemilahan biner) adalah sebuah teknik untuk menemukan nilai tertentu dalam sebuah larik (array) linear, dengan menghilangkan setengah data pada setiap langkah • Sebuah pencarian biner mencari nilai tengah (median), melakukan pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama. Sebuah pencarian biner adalah salah satu contoh dari algoritma divide and conquer (atau lebih khusus algoritma decrease and conquer) dan sebuah pencarian dikotomi.
  • 3. ATURAN BINARY SEARCH • Prinsip dari Binary search dapat dijelaskan sebagai berikut : • Mula-mula diambil posisi awal 0 dan posisi akhir = N-1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah. • Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah –1. • Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1. • Jika data sama, berarti data ditemukan.
  • 4. ALGORITMA • Penerapan terbanyak dari pencarian biner adalah untuk mencari sebuah nilai tertentu dalam sebuah list terurut. Jika dibayangkan, pencarian biner dapat dilihat sebagai sebuah permainan tebak- tebakan, kita menebak sebuah bilangan, atau nomor tempat, dari daftar (list) nilai. • Pencarian diawali dengan memeriksa nilai yang ada pada posisi tengah list, oleh karena nilai-nilainya terurut, kita mengetahui apakah nilai terletak sebelum atau sesudah nilai yang di tengah tersebut, dan pencarian selanjutnya dilakukan terhadap setengah bagian dengan cara yang sama.
  • 5. PENCARIAN BINER (BINARY SEARCH) DILAKUKAN UNTUK : • memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya. • Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan). • Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut, misalkan terurut menaik.
  • 6. CONTOH PENULISAN ALGORITMA BINARY SEARCH Kamus Const N : integer = 8 { misalkan jumlah elemen array maksimum = 8 } Type A = array [ 1 ..... N ] of integer Cari, BatasAtas, BatasBawah, Tengah : Integer Ketemu : boolean ALGORITMA Input (cari) { meminta nilai data yang akan dicari} BatasAtas  1 { indeks array dimulai dari 1 } BatasBawah  N Ketemu  False While (BatasAtas < BatasBawah) and (not ketemu) do Tengah  (BatasAtas + BatasBawah) div 2 If A [Tengah] = cari then Ketemu  true Else If ( A [Tengah] < cari ) then { cari di bagian kanan } BatasAtas  Tengah + 1 Else BatasBawah  Tengah – 1 { cari di bagian kiri } Endif Endif EndWhile If (ketemu) then Output ( ‘Data berada di index nomor’, Tengah ) Else Output ( ‘Data tidak ditemukan’ ) Endif
  • 7. CONTOH DATA KASUS Kasus 1 : cari = 12 Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4 A [Tengah] = A [4] = 12, berarti loop pertama data langsung ditemukan Kasus 2 : cari = 15 Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4 A [Tengah] = A [4] = 12 < cari = 15, berarti BatasAtas = Tengah + 1 = 4 + 1 = 5 Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 8) div 2 = 6 A [Tengah] = A [6] = 25 > cari = 15, berarti BatasBawah = Tengah - 1 = 6 - 1 = 5 Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 5) div 2 = 5 A [Tengah] = A [5] = 15, berarti setelah loop ketiga, data ditemukan Kasus 3 : cari = 10 Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4 A [Tengah] = A [4] = 12 > cari = 10, berarti BatasBawah = Tengah - 1 = 4 - 1 = 3 Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 3) div 2 = 2 A [Tengah] = A [2] = 5 < cari = 10, berarti BatasAtas = Tengah + 1 = 2 + 1 = 3 Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (3 + 3) div 2 = 3 A [Tengah] = A [3] = 8, berarti setelah loop ketiga, data tidak ditemukan Untuk jumlah data sebanyak n, maka proses pembandingan maksimal sebanyak ( log n ) kali. Untuk contoh di atas, jumlah data 8, maka proses pembandingan maksimal sebanyak 3 kali.