<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>https://wiki.unissula.ac.id/index.php?action=history&amp;feed=atom&amp;title=Algoritma_pencarian_biner</id>
	<title>Algoritma pencarian biner - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.unissula.ac.id/index.php?action=history&amp;feed=atom&amp;title=Algoritma_pencarian_biner"/>
	<link rel="alternate" type="text/html" href="https://wiki.unissula.ac.id/index.php?title=Algoritma_pencarian_biner&amp;action=history"/>
	<updated>2026-09-15T17:47:54Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.unissula.ac.id/index.php?title=Algoritma_pencarian_biner&amp;diff=406&amp;oldid=prev</id>
		<title>Maintenance script: Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi</title>
		<link rel="alternate" type="text/html" href="https://wiki.unissula.ac.id/index.php?title=Algoritma_pencarian_biner&amp;diff=406&amp;oldid=prev"/>
		<updated>2026-08-23T03:09:26Z</updated>

		<summary type="html">&lt;p&gt;Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;id&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisi sebelumnya&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisi per 23 Agustus 2026 03.09&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l87&quot;&gt;Baris 87:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Baris 87:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://mathworld.wolfram.com/BinarySearch.html Mathworld: Binary search]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://mathworld.wolfram.com/BinarySearch.html Mathworld: Binary search]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Referensi &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sumber dan atribusi &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Donald Knuth]]. &#039;&#039;The Art of Computer Programming&#039;&#039;, Volume 3: &#039;&#039;Sorting and Searching&#039;&#039;, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89685-0. Section 6.2.1: Searching an Ordered Table, pp.&amp;amp;nbsp;409–426.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sumber dan atribusi ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Algoritma+pencarian+biner&amp;amp;oldid&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;29187966 Wikipedia bahasa Indonesia], revisi 29187966 (2026-05-02T15:36:05Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Artikel ini diadaptasi dalam mode teks dari&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!&lt;/ins&gt;-- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WIKI_UNISSULA_PRESENTATION_V4 &lt;/ins&gt;--&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://id.wikipedia.org/w/index.php?title=Algoritma_pencarian_biner&amp;amp;oldid=29187966 Wikipedia bahasa Indonesia],&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;revisi 29187966 (2026&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;05&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;02T15:36:05Z).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Gambar, media, infobox, templat navigasi, dan kategori sumber&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tidak diimpor ke Wiki Unissula.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Atribusi dan lisensi mengikuti ketentuan Creative Commons&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Atribusi&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BerbagiSerupa (CC BY&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SA) pada sumber Wikipedia.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://wiki.unissula.ac.id/index.php?title=Algoritma_pencarian_biner&amp;diff=249&amp;oldid=prev</id>
		<title>Maintenance script: Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29187966; atribusi sumber disertakan.</title>
		<link rel="alternate" type="text/html" href="https://wiki.unissula.ac.id/index.php?title=Algoritma_pencarian_biner&amp;diff=249&amp;oldid=prev"/>
		<updated>2026-08-23T02:32:09Z</updated>

		<summary type="html">&lt;p&gt;Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29187966; atribusi sumber disertakan.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sebuah &amp;#039;&amp;#039;&amp;#039;algoritma pencarian biner&amp;#039;&amp;#039;&amp;#039; (atau &amp;#039;&amp;#039;&amp;#039;pemilahan biner&amp;#039;&amp;#039;&amp;#039;) adalah sebuah teknik untuk menemukan nilai tertentu dalam sebuah larik (&amp;#039;&amp;#039;array&amp;#039;&amp;#039;) linear, dengan menghilangkan setengah data pada setiap langkah, dipakai secara luas tetapi tidak secara ekslusif dalam [[ilmu komputer]]. Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah 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 [[Bagi dan atasi|algoritme divide and conquer]] (atau lebih khusus algoritma decrease and conquer) dan sebuah [[pencarian dikotomi]] (lebih rinci di [[Algoritme pencarian]]).&lt;br /&gt;
&lt;br /&gt;
== Algoritma ==&lt;br /&gt;
Penerapan terbanyak dari pencarian biner adalah untuk mencari sebuah nilai tertentu dalam sebuah [[Algoritme pengurutan|list terurut]]. Jika dibayangkan, pencarian biner dapat dilihat sebagai sebuah permainan tebak-tebakan, kita menebak sebuah bilangan, atau nomor tempat, dari daftar (&amp;#039;&amp;#039;list&amp;#039;&amp;#039;) nilai.&lt;br /&gt;
&lt;br /&gt;
Pencarian diawali dengan memeriksa nilai yang ada pada posisi tengah list;&lt;br /&gt;
oleh karena nilai-nilainya terurut, kita mengetahui apakah nilai terletak sebelum atau sesudah&lt;br /&gt;
nilai yang di tengah tersebut, dan pencarian selanjutnya dilakukan terhadap setengah bagian&lt;br /&gt;
dengan cara yang sama. Berikut ini adalah &amp;#039;&amp;#039;pseudocode&amp;#039;&amp;#039; sederhana yang menentukan indeks (posisi)&lt;br /&gt;
dari nilai yang diberikan dalam sebuah list berurut, &amp;#039;&amp;#039;a&amp;#039;&amp;#039; berada antara &amp;#039;&amp;#039;left&amp;#039;&amp;#039; dan &amp;#039;&amp;#039;right&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;function&amp;#039;&amp;#039;&amp;#039; binarySearch(a, value, left, right)&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039; right &amp;lt; left&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;return&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;not found&amp;#039;&amp;#039;&lt;br /&gt;
     mid:= floor((right-left)/2)+left&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039; a[mid] = value&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;return&amp;#039;&amp;#039;&amp;#039; mid&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039; value &amp;lt; a[mid]&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;return&amp;#039;&amp;#039;&amp;#039; binarySearch(a, value, left, mid-1)&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;else&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;return&amp;#039;&amp;#039;&amp;#039; binarySearch(a, value, mid+1, right)&lt;br /&gt;
&lt;br /&gt;
Karena pemanggilan fungsi di atas adalah [[rekursif ekor]], fungsi tersebut dapat dituliskan sebagai sebuah pengulangan (&amp;#039;&amp;#039;loop&amp;#039;&amp;#039;), hasilnya adalah algoritma [[algoritme in-place|in-place]]:&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;function&amp;#039;&amp;#039;&amp;#039; binarySearch(a, value, left, right)&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;while&amp;#039;&amp;#039;&amp;#039; left ≤ right&lt;br /&gt;
         mid:= floor((right-left)/2)+left&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039; a[mid] = value&lt;br /&gt;
             &amp;#039;&amp;#039;&amp;#039;return&amp;#039;&amp;#039;&amp;#039; mid&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039; value &amp;lt; a[mid]&lt;br /&gt;
             right:= mid-1&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;else&lt;br /&gt;
             left:= mid+1&lt;br /&gt;
     &amp;#039;&amp;#039;&amp;#039;return&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;not found&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Pada kedua kasus, algoritma akan berakhir karena paa setiap pemanggilan rekursif atau pengulangan, jangkauan indeks &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt; dikurang &amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt; akan selalu mengecil, dan akhirnya pasti akan menjadi negatif.&lt;br /&gt;
&lt;br /&gt;
Pencarian biner adalah sebuah [[algoritme logaritmik]] dan bekerja dalam waktu [[notasi O besar|O]](log n). Secara khusus, &amp;lt;math&amp;gt;1 + log_2N&amp;lt;/math&amp;gt; pengulangan yang diperlukan untuk menghasilkan jawaban. Hal ini dianggap lebih cepat dibandingkan sebuah [[pencarian linear]]. Pencarian biner dapat diimplementasikan dengan [[rekursi]] atau [[iterasi]], seperti yang terlihat di atas, walaupun pada kebanyakan [[bahasa pemrograman]] akan lebih elegan bila dinyatakan secara rekursif.&lt;br /&gt;
&lt;br /&gt;
== Contoh ==&lt;br /&gt;
Sebuah contoh aksi pencarian biner adalah sebuah permainan tebak-tebakan di mana seorang pemain harus menebak sebuah [[Bilangan asli|bilangan bulat positif]] yang dipilih oleh pemain lain di antara 1 dan &amp;#039;&amp;#039;N&amp;#039;&amp;#039;, dengan memanfaatkan jawaban pertanyaan berupa ya dan tidak. Misalnya &amp;#039;&amp;#039;N&amp;#039;&amp;#039; adalah 16 dan angka yang dipilih adalah 11, permainan dapat berjalan sebagai berikut.&lt;br /&gt;
&lt;br /&gt;
* Apakah angka lebih besar dari 8? (Ya)&lt;br /&gt;
* Apakah angka lebih besar dari 12? (Tidak)&lt;br /&gt;
* Apakah angka lebih besar dari 10? (Ya)&lt;br /&gt;
* Apakah angka lebih besar dari 11? (Tidak)&lt;br /&gt;
&lt;br /&gt;
Sehingga, angka tersebut pasti 11. Pada setiap langkah, kita memilih sebuah angka yang tepat berada di tengah-tengah jangkauan nilai-nilai yang mungkin. Sebagai contoh, saat kita mengetahui angka tersebut lebih besar dari 8, tetapi lebih kecil atau sama dengan 12, kita mengetahui untuk memilih angka di tengah-tengah jangkauan [9, 12] (pada kasus ini 10 adalah yang optimal).&lt;br /&gt;
&lt;br /&gt;
Paling banyak ada &amp;lt;math&amp;gt;\lceil\log_2 N\rceil&amp;lt;/math&amp;gt; pertanyaan yang dibutuhkan untuk mendapatkan angka tersebut, karena setiap pertanyaan menghilangkan setengah dari ruang pencarian. Sebagai catatan bahwa dibutuhkan kurang dari satu pertanyaan (iterasi) untuk algoritma umum, karena angka tersebut dibatasi oleh sebuah jangkauan tertentu.&lt;br /&gt;
&lt;br /&gt;
Walaupun angka yang kita tebak sangat banyak, pada kasus tidak ada batas atas &amp;#039;&amp;#039;N&amp;#039;&amp;#039;, kita masih dapat&lt;br /&gt;
menemukan angka paling banyak dalam &amp;lt;math&amp;gt;2\lceil \log_2 k \rceil&amp;lt;/math&amp;gt; langkah (di mana k adalah angka&lt;br /&gt;
yang dipilih (yang tidak diketahui)), caranya adalah dengan pertama-tama menemukan sebuah batas atas&lt;br /&gt;
dengan melipatduakannya. Sebaai contoh, jika angka tersebut adalah 11, kita dapat menggunakan&lt;br /&gt;
urutan tebakan sebagai berikut untuk menemukannya:&lt;br /&gt;
&lt;br /&gt;
* Apakah angka lebih besar dari 1? (Ya)&lt;br /&gt;
* Apakah angka lebih besar dari 2? (Ya)&lt;br /&gt;
* Apakah angka lebih besar dari 4? (Ya)&lt;br /&gt;
* Apakah angka lebih besar dari 8? (Ya)&lt;br /&gt;
* Apakah angka lebih besar dari 16? (Tidak, N=16, lakukan seperti di atas)&lt;br /&gt;
(Kita mengetahui angka tersebut lebih besar dari 8)&lt;br /&gt;
* Apakah angka lebih besar dari 12? (Tidak)&lt;br /&gt;
* Apakah angka lebih besar dari 10? (Ya)&lt;br /&gt;
* Apakah angka lebih besar dari 11? (Tidak)&lt;br /&gt;
&lt;br /&gt;
Satu penerapan sederhan, pada sistem [[kendali revisi]], dimungkinkan memanfaatkan sebuah pencarian biner untuk melihat pada revisi mana sebuah cuplikan isi ditambahkan ke sebuah file. Dengan mudah kita lakukan sebuah pencarian biner terhadap seluruh &amp;#039;&amp;#039;history&amp;#039;&amp;#039; versi; jika isi tidak ada dalam suatu versi, suatu saat kemudian pasti akan muncul, dan jika ada pasti muncul di versi tersebut atau versi berikutnya. Cara ini lebih cepat dibandingkan dengan memeriksa setiap perbedaan antar versi.&lt;br /&gt;
&lt;br /&gt;
Ada beberapa hal yang tidak terkait dengan komputer di mana sebuah pemilahan biner adalah cara tercepat untuk mengisolasi sebuah solusi yang dicari. Pada pemecahan sebuah permasalah dengan banyak kemungkinan penyebab, kita dapat mengubah setengah sangkaan, kita lihat apakah masalah masih terjadi dan tentukan bagian setengah berikutnya; ubah setengah sangkaan sisanya, dan seterusnya.&lt;br /&gt;
&lt;br /&gt;
Contoh nyata lainnya: pada satu revisi di antara 500 revisi terakhir, sebuah paragraf penting terhapus dari sebuah artikel Wikipedia—pertanyaanya di revisi mana? Kita menghadapai paling banyak 500 opersi pembandingan, atau 9 pembandingan dengan pemilahan biner (2 pangkat 9, yaitu 512).&lt;br /&gt;
&lt;br /&gt;
== Penerapan pada [[teori kompleksitas komputasi|teori kompleksitas]] ==&lt;br /&gt;
Seandainya kita tidak mengetahui sebuah jangkauan yang tetap tempat dari bilangan &amp;#039;&amp;#039;k&amp;#039;&amp;#039;berada, kita masih dapat menentukan nilainya dengan mengajukan &amp;lt;math&amp;gt;2\lceil\log_2k\rceil&amp;lt;/math&amp;gt; pertanyaan ya/tidak dalam bentuk &amp;quot;Apakah &amp;#039;&amp;#039;k&amp;#039;&amp;#039; lebih besar dari &amp;#039;&amp;#039;x&amp;#039;&amp;#039;?&amp;quot; untuk beberapa bilangan &amp;#039;&amp;#039;x&amp;#039;&amp;#039;. Sebagai konsekuensi sederhana dari cara ini, jika kita dapat menjawab pertanyaan &amp;quot;Apakah nilai bilangan bulat &amp;#039;&amp;#039;k&amp;#039;&amp;#039; lebih besar dari nilai yang diberikan?&amp;quot; pada suatu waktu kemudian kita dapat menemukan nilai dari bilangan tersebut sama lamanya ditambah dengan faktor log &amp;#039;&amp;#039;k&amp;#039;&amp;#039;. Hal ini disebut sebuah &amp;#039;&amp;#039;[[reduksi (kompleksitas)|reduksi]]&amp;#039;&amp;#039;, dan karena disebabkan reduksi ini maka kebanyakan teoris kompleksitas berkonsentrasi pada [[permasalahan keputusan]], algoritma-algoritma yang mengasihlan jawaban sederhana berupa ya/tidak.&lt;br /&gt;
&lt;br /&gt;
Sebagai contoh, anggap kita dapat menjawab &amp;quot;Apakah matriks &amp;#039;&amp;#039;n&amp;#039;&amp;#039; x &amp;#039;&amp;#039;n&amp;#039;&amp;#039; ini memiliki [[determinan]] lebih besar dari &amp;#039;&amp;#039;k&amp;#039;&amp;#039;?&amp;quot; dalam waktu O(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;). Kemudian, dengan memanfaatkan pencarian biner, kita dapat menemukan (batas atas) determinan tersebut dalam waktu O(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;log &amp;#039;&amp;#039;d&amp;#039;&amp;#039;), di mana &amp;#039;&amp;#039;d&amp;#039;&amp;#039; adalah determinan; sebagai catatan, d bukanlah ukuran dari masukan tetapi ukuran dari keluaran.&lt;br /&gt;
&lt;br /&gt;
== Lihat pula ==&lt;br /&gt;
* [[Pencarian biner seragam]]&lt;br /&gt;
* [[Notasi O besar]]&lt;br /&gt;
&lt;br /&gt;
== Link-link luar ==&lt;br /&gt;
* [http://www.nist.gov/dads/HTML/binarySearch.html NIST Dictionary of Algorithms and Data Structures: binary search]&lt;br /&gt;
* Tim Bray. [http://www.tbray.org/ongoing/When/200x/2003/03/22/Binary On the Goodness of Binary Search]. A short essay on the advantages of binary search and some Java sample code.&lt;br /&gt;
* [http://www.sparknotes.com/cs/searching/binarysearch/ Sparknotes: Binary search]. Simplified overview of binary search.&lt;br /&gt;
* [http://mathworld.wolfram.com/BinarySearch.html Mathworld: Binary search]&lt;br /&gt;
&lt;br /&gt;
== Referensi ==&lt;br /&gt;
* [[Donald Knuth]]. &amp;#039;&amp;#039;The Art of Computer Programming&amp;#039;&amp;#039;, Volume 3: &amp;#039;&amp;#039;Sorting and Searching&amp;#039;&amp;#039;, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89685-0. Section 6.2.1: Searching an Ordered Table, pp.&amp;amp;nbsp;409–426.&lt;br /&gt;
&lt;br /&gt;
== Sumber dan atribusi ==&lt;br /&gt;
&lt;br /&gt;
Artikel ini diadaptasi dalam mode teks dari&lt;br /&gt;
[https://id.wikipedia.org/w/index.php?title=Algoritma_pencarian_biner&amp;amp;oldid=29187966 Wikipedia bahasa Indonesia],&lt;br /&gt;
revisi 29187966 (2026-05-02T15:36:05Z).&lt;br /&gt;
Gambar, media, infobox, templat navigasi, dan kategori sumber&lt;br /&gt;
tidak diimpor ke Wiki Unissula.&lt;br /&gt;
Atribusi dan lisensi mengikuti ketentuan Creative Commons&lt;br /&gt;
Atribusi-BerbagiSerupa (CC BY-SA) pada sumber Wikipedia.&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>