Cara menggunakan python 2.7 hex

Angka 0 dan 1 yang saya sebutkan diatas disebut Binary atau bilangan biner. Bilangan tersebutlah yang dipakai komputer untuk mengubah data agar dapat dikirim ke komputer lain melalui Lan maupun Wireless.


Selain Biner dikenal juga Octaldecimal dan Hexadecimal. Bilangan Octal dan Hex memiliki kegunaannya masing - masing. Contohnya Hex yang sering dipakai dalam code warna. Bahasa CSS menggunakan Hex ini untuk mendefinisikan warna styling elemen selain rgb, rgba dan mendefinisikan warna secara langsung.


Nah, pada postingan Contoh Program Python kali ini saya akan memberikan cara membuat Program GUI Pengubah Angka Decimal ke Bentuk Binary, Octal, dan Hex dengan Python. Jadi, tidak hanya CLI saja tetapi GUI nya juga dengan menggunakan modul Tkinter. Langsung saja tutorialnya.


CARA MENGUBAH DECIMAL KE BINARY DENGAN PYTHON

Pertama - tama akan kita awali dengan cara mengubah bilangan desimal ke dalam bentuk binary menggunakan Python. Cara yang saya pakai kali ini masih sama pada Tutorial GUI Membuat Program Angka Terbilang dengan Python.


Yap, teknik rekursi. Buat yang belum tahu cara kerjanya silahkan lihat tutorial GUI angka terbilang saya diatas. 


Sebelum menulis code Pythonnya kita akan mengenal terlebih dahulu cara mengubah angka desimal ke binary dengan cara manual. Kita disini menggunakan sisa dari hasil pembagian. Karena angka Binary adalah angka dengan basis 2, dengan angkanya 0 dan 1.


Maka kita hanya akan membagi angka dengan 2. Jika angka habis dibagi dua maka berarti menghasilkan 0. Jika masih ada sisa maka berarti 1. Kita terus lakukan hal ini sampai sisa bilangan benar - benar habis atau 0. Disinilah rekursi kita bekerja.


Langsung saja berikut adalah bagaimana saya membuat fungsi rekursinya dalam bahasa Python.


biner = []
def konverterBiner[angka]:
    if angka > 512:
        messagebox.showinfo['Perhatian !', 'Maksimal 512 untuk decimal\nDirubah menjadi Binary Number ']
        return
    else: pass
    if angka//2 == 0:
        biner.append[angka%2]
    else:
     biner.append[angka%2]
     return konverterBiner[angka//2]

    new = [str[i] for i in biner]
    string = " "
    while len[new] > 0:
        a = new.pop[]
        string += a
    print[string]



Pada code diatas mungkin sedikit tidak efekif. Silahkan saja sesuaian karena saya menemukan bug sesaat code telah selesai, dan saya malas mengubah codenya jadi saya tambahkan saja validator untuk memastikan angkanya kurang dari 512 dan memberi value pass pada else nya.

Tapi secara keseluruhan kode diatas mudah dipahami. Pertama kita buat list kosong. Kemudian kita buat fungsi konverterBiner dengan satu parameter. Kita cek apakah angkanya kurang dari 512. Karena saat saya cek menggunakan Ms excel dengan code =DEC2BIN[] ternyata angka diatas 512 tidak memberikan hasil di Binary.

Setelah itu kita buat stop untuk rekursi yaitu jika angkanya sudah 0 saat dibagi 2 maka kita berikan value sisa pembagian tersebut. Jika tidak maka kita putar kembali fungsinya sampai menjadi 0 angkanya.

Kemudian kita buat list didalam func untuk mengubah value pada list biner menjadi string kemudian di loop untuk diambil satu persatu elemen dari belakang untuk dibuat string. Mengapa dari belakang ? Karena jika dari value semula maka Binarynya terbalik. Oleh karena itu kita pop[] dan susun kembali kebalikannya.

Baca Juga: Contoh Program E-mail Extractor dengan Python
Mengapa tidak pakai reverse aja min ? Karena setelah dicoba, jika menggunakan reverse pada list maka elemennya tidak bisa di split[] untuk mengubahnya menjadi string untuk di print. Oleh karena itu menurut saya cara itu sudah maksimal. Silahkan komentar untuk mendiskusikan keefektifan code ini.

CARA MENGUBAH DECIMAL KE OCTALDECIMAL DENGAN PYTHON

Selanjutnaya kita akan membuat code untuk mengubah angka decimal kedalam bentuk Octaldecimal. Perlu diketahui metodenya persis sama dengan diatas. Hanya saja kita akan bagi dengan 8. Karena bilangan Octaldecimal adalah bilangan dengan basis 8, angka 0 sampai 7. Langsung saja kita lihat codenya.



biner = []
def konverterOktal[angka]:
    if angka//8 == 0:
        biner.append[angka%8]
    else:
     biner.append[angka%8]
     return konverterOktal[angka//8]

    new = [str[i] for i in biner]
    string = " "
    while len[new] > 0:
        a = new.pop[]
        string += a
    print[string]



Nah lihat sendiri kan kita hanya mengubah sedikit codenya. Kita hapuskan validatornya karena angka satu juta pun saya tes di Ms. Excel dengan code =DEC2OCT[] masih mengeluarkan value.

CARA MENGUBAH DECIMAL KE HEXADECIMAL DENGAN PYTHON

Hexadecimal ini memiliki aturan tersendiri, dimana bilangan Hexadecimal ini juga menggunakan huruf sebagai valuenya. Hexadecimal adalah bilangan dengan basis 16, dimulai angka 0 sampai 15, yang dimana angka 10 sampai 15 digantikan dengan huruf A sampai F.


Oleh karena itu, cara tercepat untuk membuat aturan ini bekerja kedalam Python adalah dengan menggunakan dictionary dengan keynya adalah angka 10 - 15 dan valuenya adalah huruf A - F. Untuk lainnya masih sama saja. Silahkan lihat code saya berikut ini.



biner = []
def konverterHex[angka]:
    if angka//16 == 0:
        biner.append[angka%16]
    else:
     biner.append[angka%16]
     return konverterHex[angka//16]

    aturan = {'10':"A", '11':"B", '12':"C",'13':"D",'14':"E",'15':"F"}
    new = [str[i] for i in biner]
    string= " "
    while len[new] > 0:
        a = new.pop[]
        if a in aturan:
            string += aturan.get[a]
            continue
        string += a
    print[string]



Nah pada kode diatas, masih menggunakan konsep yang sama tetapi membaginya dengan angka 16. Selanjutnya pada while loop bagian bawah kita tambahkan semacam konverter berdasarkan pasangan value dan key yang sudah kita definisikan sebelumnya.

MEMBUAT TAMPILAN GUI KONVERTER

Seperti yang biasa saya lakukan dalam setiap postingan pemrograman Otak keren, saya ingin berbeda dengan Tutorial Lainnya. Maka kita disini juga akan membuat code untuk mengubah program CLI untuk mengubah angka desimal tersebut ke GUI.


Untuk membuat GUI kita bisa menggunakan modul Tkinter yang Tutorial Tkinternya bisa disimak pada Otak Keren bagian 1 sampai 5. Langsung saja kita lihat potongan code untuk GUI dari konverter decimal ini.



from tkinter import *
from tkinter import messagebox
root = Tk[]
root.title['Konverter Decimal']

biner =[]

def konverterBiner[angka]:
    if angka > 512:
        messagebox.showinfo['Perhatian !', 'Maksimal 512 untuk decimal\nDirubah menjadi Binary Number ']
        return
    else: pass
    if angka//2 == 0:
        biner.append[angka%2]
    else:
     biner.append[angka%2]
     return konverterBiner[angka//2]

    new = [str[i] for i in biner]
    string = " "
    while len[new] > 0:
        a = new.pop[]
        string += a
    masukan.delete[0, END]
    masukan.insert[END, string]

def konverterOktal[angka]:
    if angka//8 == 0:
        biner.append[angka%8]
    else:
     biner.append[angka%8]
     return konverterOktal[angka//8]

    new = [str[i] for i in biner]
    string = " "
    while len[new] > 0:
        a = new.pop[]
        string += a
    masukan.delete[0, END]
    masukan.insert[END, string]

def konverterHex[angka]:
    if angka//16 == 0:
        biner.append[angka%16]
    else:
     biner.append[angka%16]
     return konverterHex[angka//16]

    aturan = {'10':"A", '11':"B", '12':"C",'13':"D",'14':"E",'15':"F"}
    new = [str[i] for i in biner]
    string= " "
    while len[new] > 0:
        a = new.pop[]
        if a in aturan:
            string += aturan.get[a]
            continue
        string += a
    masukan.delete[0, END]
    masukan.insert[END, string]

def konvert[]:
    if len[biner] >= 1:
        while len[biner] >= 1:
            a = biner.pop[]
            sampah = []
            sampah.append[a]
            sampah.remove[a]
    else: pass
    a = var.get[]
    b = int[masukan.get[]]
    if a == 1:
        konverterBiner[b]
    elif a == 2:
        konverterOktal[b]
    elif a == 3:
        konverterHex[b]
    return

masukan = Entry[root, width=50]
masukan.grid[row=0, column=0]

var = IntVar[]
bin = Radiobutton[root, text="Conver to Binary Number [max. 512]", variable=var, value=1]
bin.grid[row=1, column=0, sticky=W]
okta = Radiobutton[root, text="Conver to Okta Number", variable=var, value=2]
okta.grid[row=2, column=0, sticky=W]
hex = Radiobutton[root, text="Conver to Hex Number", variable=var, value=3]
hex.grid[row=3, column=0, sticky=W]

tombol = Button[root, text="Konvert", command=konvert, width=15, bg='black', fg='green'].grid[row=4, column=0, pady=5]
root.mainloop[]


Pada  Source Code diatas saya membuat tambahan fungsi sebagai jembatan antara tombol kita dengan fungsi utama. Saya juga merubah print[] menjadi .insert agar hasil dapat langsung tertera pada kolom entry sesaat setelah tombol ditekan.

Baca Juga: Package Python menjadi Crossplatform Executable dengan Pyinstaller
Pada fungsi jembatan tersebut saya membuat penghapus elemen list biner, karena kita membutuhkan list ini berkali - kali dan setiap elemen harus dihapus setelah hasil terdisplay. Sehingga Radiobutton yang kita buat dapat dijalankan berkali - kali dengan value yang berbeda tanpa harus membuka tutup window. Dari kode diatas kita mendapatkan hasil seperti ini

Program GUI Pengubah Bilangan Decimal
ke Bilangan Binary, Octa dan Hex dengan Python

KESIMPULAN

Nah pada akhirnya code diatas sangatlah sederhana untuk membuat Pengubah Angka Decimal ke Bentuk Binary, Octal, dan Hex dengan Python, tetapi mewakili pekerjaan yang cukup sulit jika dikerjakan manual.


Jangan lupa juga kalian cek Tutorial Tkinter lainnya di Otak keren. Dan juga ada pengumuman untuk sobat Otak Keren, Otak Keren membuka Toko Online yang menjual Kaos Sablon bertemakan pemrograman. Karena disini Tutorial Python, berikut kaos Python yang tersedia di Otak keren Shop

Bài mới nhất

Chủ Đề