Dalam latihan kode program bahasa Python kali ini kita akan bahas cara mengkonversi angka desimal ke angka biner. Materi ini berhubungan dengan logika matematika, list, serta konsep perulangan while dan for.
Soal Konversi Bilangan Desimal ke Biner
Buatlah kode program dalam bahasa Python yang menerima satu inputan angka desimal (basis 10), dan menampilkan output dalam bentuk angka biner (basis 2).
Berikut hasil yang diinginkan (1):
## Program Python Konversi Desimal ke Biner ## ================================================ Input angka desimal: 125 Angka binernya adalah: 1111101
Berikut hasil yang diinginkan (2):
## Program Python Konversi Desimal ke Biner ## ================================================ Input angka desimal: 312 Angka binernya adalah: 100111000
Tips Membuat Kode Program Konversi Desimal ke Biner
Soal ini melatih pemahaman terkait logika matematika, tipe data array dan konsep perulangan (looping). Berikut tutorial pendahuluan yang bisa diikuti:
- Cara Pembuatan Variabel Bahasa Python
- Tipe Data Number Bahasa Python
- Tipe Data List dalam Bahasa Python
- Jenis-jenis Operator Aritmatika Python
- Perulangan While Bahasa Python
- Perulangan For Bahasa Python
Pemecahan dari soal ini sangat bergantung ke rumus cara konversi angka desimal menjadi angka biner. Salah satu solusi yang sering dipakai adalah menyimpan sisa hasil bagi dengan angka 2 hingga tidak ada lagi yang bisa di bagi.
Sebagai contoh, berapa angka biner dari 25 desimal? berikut rumusnya =
25/2 = 12, sisa 1 12/2 = 6, sisa 0 6/2 = 3, sisa 0 3/2 = 1, sisa 1 1/2 = 0, sisa 1
Baca angka sisa dari bawah ke atas = 11001, maka 25 desimal = 11001 biner.
Contoh lain, berapa angka binar dari 123?
123/2 = 61, sisa 1 61/2 = 30, sisa 1 30/2 = 15, sisa 0 15/2 = 7, sisa 1 7/2 = 3, sisa 1 3/2 = 1, sisa 1 1/2 = 0, sisa 1
Baca angka sisa dari bawah ke atas = 1111011, maka 123 desimal = 1111011 biner.
Di dalam kode program nanti, kita perlu perulangan untuk mencari angka sisa (memakai operator modulus ” % “). Karena angka ini cukup banyak, bisa disimpan ke dalam list. Selanjutnya proses pembacaan list dilakukan dari belakang.
Kode Program Bahasa Python Konversi Desimal ke Biner
Berikut salah satu solusi dari soal konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman Python:
print('## Program Python Konversi Desimal ke Biner ##') print('================================================') print() n = int(input('Input angka desimal: ')) a = [] i = 0 while n > 0: a.append(n % 2) n = n // 2 i = i+1 print('Angka binernya adalah: ',end='') for i in range(i-1,-1,-1): print(a[i],end='')
Di baris 5, perintah input()
dipakai untuk meminta angka bulat yang ingin dikonversi. Data ini ditampung ke variabel n
.
Secara default perintah input()
Python mengembalikan data bertipe string, akan tetapi kita perlu tipe data integer karena variabel n nantinya dipakai dalam perhitungan. Proses konversi dari tipe string menjadi integer dilakukan oleh fungsi int()
.
Selanjutnya di baris 7 terdapat pendefinisian variabel a dengan list kosong. List inilah yang nantinya dipakai untuk menampung digit biner hasil konversi.
Di baris 8, variabel i diisi angka 0 yang akan berfungsi untuk proses increment perulangan while.
Proses mencari sisa hasil bagi dilakukan oleh perulangan while di baris 9-12. Dalam setiap iterasi, angka ini disimpan ke dalam list a. Dalam bahasa python, kita menggunakan method append()
untuk menginput sebuah nilai ke dalam list.
Operator modulus “%” dipakai untuk mencari sisa hasil bagi, dan operator “//” dipakai untuk pembagian angka bulat.
Adapun perulangan for di baris 16-17 berfungsi untuk menampilkan sisa hasil bagi yang tersimpan di dalam list a. Prosesnya dibuat menurun mulai dari i-1 hingga -1. Ini sesuai dengan rumus konversi bilangan desimal ke biner yang kita bahas di bagian tips.
Cara Singkat Dengan Function bin()
Selain dengan melakukan perhitungan manual, bahasa Python sebenarnya sudah menyediakan function bin()
untuk proses konversi dari bilangan desimal ke bilangan biner. Berikut contoh kode programnya:
print('## Program Python Konversi Desimal ke Biner ##') print('================================================') print() n = int(input('Input angka desimal: ')) biner = bin(n).replace("0b","") print('Angka binernya adalah:',biner)
Proses konversi dilakukan pada baris 6. Function bin()
akan mengembalikan nilai angka biner, namun terdapat tambahan karakter 0b
di awal. Untuk menghapus karakter “0b”, dipakailah method replace("0b","")
.
Berikut contoh perbedaan hasil dari bin(x)
dan bin(x).replace("0b","")
:
print(bin(211)) ## 0b11010011 print(bin(211).replace("0b","")) ## 11010011
Menggunakan function bin()
untuk proses konversi bilangan biner memang lebih praktis, namun mungkin tidak bisa dipakai sebagai solusi dari tugas kuliah.
Demikian kode program konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman Python. Semoga tutorial ini bisa bermanfaat.