Membuat data produk

produk <- data.frame( kode = c(101, 103, 105, 106, 108, 110), nama = c(“Buku”, “Pensil”, “Pulpen”, “Penghapus”, “Tas”, “Penggaris”), harga = c(15000, 2000, 3000, 1000, 75000, 5000) )

Fungsi Binary Search dengan Boolean

bin_boolean <- function(data, target) { posisi <- bin_tanpa_boolean(data, target) return(!is.na(posisi)) }

Menentukan kode yang dicari

target_kode <- 106

Mengurutkan data

urutan <- order(produk$kode) produk_urut <- produk[urutan, , drop = FALSE]

Binary Search tanpa Boolean

pos_urut <- bin_tanpa_boolean(produk_urut$kode, target_kode)

if (!is.na(pos_urut)) { baris_asli <- urutan[pos_urut] print(c(posisi_terurut = pos_urut, baris_asli = baris_asli)) print(produk_urut[pos_urut, , drop = FALSE]) }

Binary Search dengan Boolean

target_tidak_ada <- bin_boolean(produk_urut$kode, 999)

if (!target_tidak_ada) { print(“Kode 999 tidak ditemukan”) } else { print(“Kode 999 ditemukan”) }

Fungsi bawaan R

print(match(target_kode, produk\(kode)) print(target_kode %in% produk\)kode) print(which(produk$kode == target_kode))