Dalam dunia pemrograman, ada banyak sistem angka yang digunakan untuk berbagai tujuan. Salah satu sistem yang paling umum digunakan adalah sistem desimal (basis 10) dan sistem biner (basis 2). Sering kali, kita perlu mengonversi angka dari sistem desimal ke sistem biner. Pada artikel ini, kita akan membahas cara membuat fungsi bin()
di Python yang dapat mengonversi angka desimal menjadi biner.
Apa itu Bilangan Biner?
Sistem bilangan biner adalah sistem angka yang menggunakan dua simbol, yaitu 0 dan 1. Setiap digit dalam angka biner disebut sebagai "bit". Dalam sistem ini, setiap posisi bit menggambarkan potensi nilai dari 2 yang dipangkatkan. Misalnya, dalam angka biner 1011
:
- Bit paling kanan (1) adalah (2^0 = 1)
- Bit kedua dari kanan (1) adalah (2^1 = 2)
- Bit ketiga dari kanan (0) adalah (2^2 = 0)
- Bit paling kiri (1) adalah (2^3 = 8)
Jadi, angka biner 1011
setara dengan (8 + 0 + 2 + 1 = 11) dalam sistem desimal.
Fungsi bin()
Bawaan di Python
Python sudah memiliki fungsi bawaan yang bernama bin()
untuk melakukan konversi dari desimal ke biner. Namun, dalam artikel ini, kita akan membuat fungsi konversi kita sendiri untuk lebih memahami bagaimana proses ini berlangsung.
Membuat Fungsi Konversi dari Desimal ke Biner
Langkah 1: Memahami Proses Konversi
Proses mengonversi angka desimal ke biner dapat dilakukan dengan cara berikut:
- Ambil angka desimal.
- Bagi angka tersebut dengan 2.
- Catat sisa (0 atau 1) dari pembagian.
- Ulangi langkah di atas dengan hasil pembagian hingga hasilnya menjadi 0.
- Baca sisa dari bawah ke atas untuk mendapatkan representasi biner.
Langkah 2: Membangun Fungsi
Berikut adalah langkah-langkah dalam membuat fungsi konversi desimal ke biner:
def konversi_ke_biner(angka):
if angka < 0:
return "Angka harus positif"
biner = ""
# Melakukan konversi
while angka > 0:
sisa = angka % 2
biner = str(sisa) + biner
angka = angka // 2
return biner if biner else "0"
Penjelasan Kode
-
Pengecekan Angka Negatif: Fungsi ini terlebih dahulu memeriksa apakah angka yang dimasukkan adalah angka negatif. Jika ya, maka fungsi akan mengembalikan pesan bahwa angka harus positif.
-
Inisialisasi String Biner: Variabel
biner
diinisialisasi sebagai string kosong yang akan dipakai untuk menyimpan hasil konversi. -
Proses Konversi: Selama angka yang dimasukkan lebih besar dari 0, kita melakukan pembagian dengan 2 dan menyimpan sisa dari pembagian tersebut. Nilai sisa ditambahkan di depan string biner untuk membentuk angka biner secara bertahap.
-
Menghasilkan Hasil Akhir: Setelah semua perhitungan selesai, fungsi akan mengembalikan string biner, atau "0" jika nilai awalnya adalah 0.
Menggunakan Fungsi
Mari kita lihat bagaimana cara menggunakan fungsi yang telah kita buat untuk mengonversi angka desimal ke biner.
# Contoh penggunaan fungsi
angka = 11
biner = konversi_ke_biner(angka)
print(f"Angka desimal {angka} dalam biner adalah {biner}")
Setelah menjalankan kode di atas, kita akan mendapatkan output:
Angka desimal 11 dalam biner adalah 1011
Menguji Fungsi dengan Berbagai Input
Kita juga bisa menguji fungsi ini dengan berbagai input untuk memastikan bahwa fungsi berfungsi dengan baik. Berikut adalah beberapa contoh:
print(konversi_ke_biner(0)) # Output: 0
print(konversi_ke_biner(1)) # Output: 1
print(konversi_ke_biner(2)) # Output: 10
print(konversi_ke_biner(10)) # Output: 1010
print(konversi_ke_biner(-5)) # Output: Angka harus positif
Setiap hasil sesuai dengan ekspektasi kita, yang menunjukkan bahwa fungsi berfungsi dengan baik.
Kesimpulan
Dalam artikel ini, kita telah belajar cara membuat fungsi bin()
sendiri di Python untuk mengonversi angka desimal ke biner. Dengan memahami proses konversi ini, kita dapat memperdalam pemahaman kita tentang representasi angka dalam berbagai sistem. Selain itu, pengetahuan ini dapat diterapkan dalam berbagai konteks pemrograman lainnya yang berhubungan dengan pengolahan data biner.
Dengan menggunakan fungsi yang telah kita buat, kita bisa dengan mudah mengubah angka desimal menjadi biner sesuai kebutuhan kita. Semoga artikel ini bermanfaat bagi Anda dalam memahami konversi angka dari desimal ke biner!