Cara menggunakan binary to decimal python

Hai semua, kali ini saya akan membuat program untuk mengkonversi bilangan decimal ke tiga bilangan lain yaitu binari, octal dan hexadecimal. Program yang akan kita buat menggunakan bahasa python serta beberapa library tambahan seperti tabulate.

Nah sebelum kita melangkah lebih jauh lagi, pertama kita harus mengetahui dasar cara mengkonversi bilangan.


Decimal ke Binner

Untuk mengkonversi bilangan Decimal ke dalam bilangan Biner yang paling mudah adalah membagi bilangan desimal ke basis bilangan biner yaitu 2, hasilnya nanti akan dibulatkan kebawah dan sisa hasil pembagian tersebut disimpan atau dicatat untuk nantinya akan diurutkan.

Decimal ke Biner

Lakukan pembagian tersebut sampai bilangan mencapai nilai 0, kemudian sisa pembagian yang sudah kita catat, diurutkan dari yang paling akhir hingga yang paling awal. Hasil pembagian tersebut lah yang menjadi bilangan biner.


Decimal ke Octal

Kemudian untuk mengkonversi bilangan Decimal ke dalam bilangan Octal adalah membagi bilangan desimal ke basis bilangan octal yaitu 8, hasilnya nanti akan dibulatkan kebawah dan sisa hasil pembagian tersebut disimpan atau dicatat untuk nantinya diurutkan.

Decimal ke Octal

Lakukan pembagian tersebut sampai bilangan mencapai nilai 0, kemudian sisa pembagian yang sudah kita catat, diurutkan dari yang paling akhir hingga yang paling awal. Hasil pembagian tersebut lah yang menjadi bilangan octal.


Decimal ke Hexadecimal

Terakhir mengkonversi bilangan Decimal ke dalam bilangan Hexadecimal , cara seperti kedua bilangan diatas, namun yang bikin unik, hexadecimal memiliki sampai 16 bilangan.

Decimal ke Hexadecimal

Sehingga untuk mencakupinya, bilangan 10 - 15 diganti menjadi huruf A - F.


Lets Code

Program yang kita buat memiliki satu input yaitu bilangan decimal dan memiliki 3 output sekaligus beserta cara konversinya. Kurang lebih bentuk programmnya seperti ini.

Program Konversi Decimal

Pertama kita install dulu library dibutuhkan, yaitu tabulate yang berguna untuk membuat output dalam terminal terformat seperti table.

pip install tabulate

Setelah selesai proses installasi tabulate, kita import kedalam kode kita. Serta itertools yang nanti nya berguna untuk mengkombinasikan beberapa list menjadi satu.

from tabulate import tabulate import itertools as it

Selanjutnya kita membuat fungsi konversi. Fungsi ini bertujuan untuk mengenerate sebuah list tahap - tahap konversi yang nanti nya akan kita masukkan ke fungsi tabulate untuk outputnya.

def genConverter(angka, pembilang): result = [] hasilAngka = "" loop = True while loop: if angka >= pembilang: result.append(angka) sisa = angka % pembilang angka = angka // pembilang if sisa > 9: huruf = libChar(sisa) hasilAngka += huruf sisa = "{0} = {1}".format(sisa, huruf) else: hasilAngka += str(sisa) divid = "{0}------ {1}".format(pembilang, sisa) result.append(divid) else: if angka > 9: angka = libChar(angka) hasilAngka += str(angka) result.append(angka) loop = False break result.append("") hasilAngka = "".join(reversed(hasilAngka)) #reversed return (result, hasilAngka)

Fungsi ini memiliki 2 parameter yaitu angka dan pembilang. Parmeter angka untuk angka yang akan kita kalkulasi, pembilang bilangan yang akan menjadi pembagi untuk menentukan kita akan mengkonversi bilangan apa.

Tidak lupa untuk membuat fungsi untuk mengkonversi bilangan di atas 9 ke huruf A - F.

def libChar(angka): if angka == 10: return "A" elif angka == 11: return "B" elif angka == 12: return "C" elif angka == 13: return "D" elif angka == 14: return "E" elif angka == 15: return "F" elif angka == 16: return "G"

Lalu setelah semua fungsi dibuat kita panggil fungsi from tabulate import tabulate import itertools as it 1 dengan parameter bilangan from tabulate import tabulate import itertools as it 2 untuk biner, from tabulate import tabulate import itertools as it 3 untuk octal dan from tabulate import tabulate import itertools as it 4 untuk hexadecimal.

angka = int(input("Masukkan bilangan untuk dikonversi : ")) biner, hasilBiner = genConverter(angka, 2) octal, hasilOctal = genConverter(angka, 8) hexa, hasilHexa = genConverter(angka, 16)

Terakhir kita combine ketiga variabel from tabulate import tabulate import itertools as it 5 , from tabulate import tabulate import itertools as it 6 dan from tabulate import tabulate import itertools as it 7 ke dalam satu variabel from tabulate import tabulate import itertools as it 8 untuk nantinya kita tampilkan dalam bentuk table.

Postingan terbaru

LIHAT SEMUA