Konversi bilangan desimal ke biner merupakan salah satu materi dasar dalam algoritma dan pemrograman. Proses ini juga berkaitan dengan sistem bilangan yang digunakan dalam komputer.
Bilangan desimal menggunakan angka 0 sampai 9, sedangkan bilangan biner hanya menggunakan angka 0 dan 1.
Contohnya:
5 desimal = 101 biner
10 desimal = 1010 biner
13 desimal = 1101 biner
Salah satu cara untuk melakukan konversi desimal ke biner adalah dengan melakukan pembagian berulang menggunakan angka 2 dan mengambil sisa dari setiap pembagian.
Pseudocode
Berikut pseudocode sederhana untuk proses konversi desimal ke biner.
MULAI
INPUT desimal
JIKA desimal < 0 MAKA
TAMPILKAN "Bilangan harus >= 0"
JIKA desimal = 0 MAKA
TAMPILKAN "0 dalam biner adalah 0"
SELAIN ITU
angka = desimal
biner = ""
SELAMA angka > 0 LAKUKAN
hasilBagi = angka DIV 2
sisa = angka MOD 2
GABUNGKAN sisa DI DEPAN biner
angka = hasilBagi
SELESAI SELAMA
TAMPILKAN "Bilangan Desimal:", desimal
TAMPILKAN "Bilangan Biner:", biner
SELESAI KONDISI
SELESAI
Pada pseudocode tersebut terdapat beberapa operasi penting.
DIV digunakan untuk mendapatkan hasil pembagian bilangan bulat, sedangkan MOD digunakan untuk mendapatkan sisa pembagian.
Sebagai contoh:
13 DIV 2 = 6
13 MOD 2 = 1
Sisa 1 tersebut kemudian digabungkan ke bagian depan bilangan biner.
Program Python
Pseudocode tersebut dapat diterapkan ke dalam bahasa Python seperti berikut:
# Input bilangan desimal
desimal = int(input("Masukkan bilangan desimal: "))
# Validasi input
if desimal < 0:
print("Masukkan bilangan desimal yang valid (>= 0).")
# Jika angka 0
elif desimal == 0:
print("0 dalam biner adalah 0")
else:
angka = desimal
biner = ""
# Perulangan pembagian dengan 2
while angka > 0:
hasilBagi = angka // 2
sisa = angka % 2
# Menggabungkan sisa di depan biner
biner = str(sisa) + biner
# Angka berikutnya
angka = hasilBagi
# Menampilkan hasil
print("Bilangan Desimal:", desimal)
print("Bilangan Biner:", biner)
Cara Kerja Program
Program meminta pengguna memasukkan bilangan desimal.
desimal = int(input("Masukkan bilangan desimal: "))
Kemudian program melakukan pengecekan. Jika bilangan yang dimasukkan kurang dari 0, program akan memberikan pesan bahwa bilangan harus lebih besar atau sama dengan 0.
Jika bilangan yang dimasukkan adalah 0, hasilnya langsung ditampilkan sebagai 0 dalam biner.
Untuk bilangan lebih dari 0, program mulai melakukan proses pembagian dengan 2.
hasilBagi = angka // 2
sisa = angka % 2
// digunakan untuk mendapatkan hasil bagi bilangan bulat.
Sedangkan % digunakan untuk mendapatkan sisa pembagian.
Kemudian sisa pembagian digabungkan di bagian depan variabel biner.
biner = str(sisa) + biner
Misalnya kita menggunakan bilangan 13.
Proses pembagiannya adalah:
13 ÷ 2 = 6 sisa 1
6 ÷ 2 = 3 sisa 0
3 ÷ 2 = 1 sisa 1
1 ÷ 2 = 0 sisa 1
Sisa pembagian tersebut kemudian digabungkan di depan:
1
01
101
1101
Hasil akhirnya:
13 desimal = 1101 biner
Proses tersebut terus dilakukan menggunakan perulangan while sampai nilai angka menjadi 0.
Dengan contoh sederhana ini, kita dapat melihat hubungan antara algoritma, pseudocode, dan implementasinya dalam bahasa Python. Materi seperti ini juga dapat digunakan untuk latihan sistem bilangan dan dasar-dasar algoritma pemrograman.