Cara Komputer Bekerja Cepat · Pelajaran 7 dari 7
Mencari dengan cepat
7 menit baca · BelajarCode
Kamu ingin mencari nama "Rudi" di daftar absen kelas. Ada dua cara yang bisa dipakai.
Cara 1: satu per satu
Mulai dari nama pertama, periksa satu per satu sampai ketemu. Cara ini disebut pencarian linear. Cara ini selalu berhasil, tetapi bisa lama. Kalau ada 30 murid dan Rudi ada di urutan terakhir, kamu harus memeriksa 30 nama.
Cara 2: bagi dua
Kalau daftarnya sudah urut abjad, ada cara yang jauh lebih cepat. Buka bagian tengah daftar. Kalau nama di tengah sesudah "Rudi" menurut abjad, berarti Rudi ada di separuh atas. Buang separuh bawah, lalu ulangi pada separuh yang tersisa. Cara ini disebut pencarian biner.
Kamu bisa mencobanya dengan permainan tebak angka 1 sampai 100. Tebak 50. Kalau jawabannya "lebih besar", tebakan berikutnya 75, dan seterusnya. Setiap tebakan membuang separuh kemungkinan.
| Banyak data | Satu per satu, paling lama | Bagi dua, paling lama |
|---|---|---|
| 100 | 100 kali periksa | 7 kali periksa |
| 1.000 | 1.000 kali periksa | 10 kali periksa |
| 1.000.000 | 1.000.000 kali periksa | 20 kali periksa |
Bayangkan mencari satu nama di antara sejuta nama hanya dengan 20 kali periksa!
Datanya harus urut
Cara bagi dua hanya bisa dipakai kalau datanya sudah urut. Itulah salah satu alasan komputer senang mengurutkan data lebih dulu.
Cek pemahaman
Kenapa kamus mudah dicari dengan cara bagi dua?
Latihan
Tebak angka 1 sampai 32
Temanmu memikirkan angka dari 1 sampai 32. Dengan cara bagi dua, paling banyak berapa tebakan yang dibutuhkan? Tuliskan juga urutan tebakanmu jika angka rahasianya 23.
Pembahasan
Setiap tebakan membuang separuh kemungkinan: 32, lalu 16, 8, 4, 2, dan 1. Jadi paling banyak dibutuhkan 6 tebakan.
| Tebakan | Jawaban teman | Kemungkinan yang tersisa |
|---|---|---|
| 16 | Angkanya lebih besar | 17 sampai 32 |
| 24 | Angkanya lebih kecil | 17 sampai 23 |
| 20 | Angkanya lebih besar | 21 sampai 23 |
| 22 | Angkanya lebih besar | 23 |
| 23 | Benar! | Selesai |