Membuat Program GUI Angka Terbilang dengan Python

Angka Terbilang Python
Angka Terbilang Python
Membuat Program GUI Angka Terbilang dengan Python - Setelah beberapa kali kita belajar tentang Tutorial Membuat GUI Python, yang dimana saya membahas beberapa komponen beserta parameternya dengan menggunakan module Tkinter.


Maka kali ini kita akan mengambil nafas sejenak dan kita akan mulai menerapkan hal - hal yang telah kita pelajari. Pada tutorial Python kali ini, kita akan membuat program GUI untuk angka terbilang. Apa itu angka terbilang ?

Angka terbilang adalah angka dalam bentuk kata - kata bukan hanya sebatas angka saja. Sederhanya kita mengucapkan angka "1" kepada orang dengan kata "Satu". Jadi, tujuan program ini adalah agar mesin dapat membaca angka yang user input kemudian mengubahnya ke kata - kata manusiawi. Nah, karena memanusiawikan angka adalah tujuannya maka program ini juga bisa disebut " Python Humanize Number Program "

Langsung saja kita masuk kepada tutorialnya untuk membuat GUI angka terbilang dengan Python. Pertama kita harus tahu bagaimana program dasar dari angka terbilang ini. Dasarnya untuk membuat program angka terbilang ini kita menerapkan fungsi rekursi angka.

Apa itu Rekursi angkaMenurut wikipediaRekursi adalah proses pengulangan sesuatu dengan cara kesamaan diri. Karena yang akan kita bahas kali ini adalah Rekursi angka maka sesuatu yang dimaksud adalah angka - angka.
Nah, maksudnya gimana nih Otak Keren ? Jadi gini, sebelum kita membuat tampilan GUInya kita akan membuat fungsi dengan def() yang saya beri nama misalnya konversi yang mengambil 1 parameter, yang saya misalkan x.

Selanjutnya didalam fungsi tersebut, saya akan definisikan angka satuan dari 'satu' sampai 'sebelas', karena angka - angka tersebut akan menjadi dasar dari sistem rekursi nantinya. Dalam hal satuan angka dibawah 12 kita sudah beres.

Meranjak naik kepada yang bukan satuan, contohnya 'dua belas'. Kalimat ini memiliki 2 kata yaitu kata 'dua' dan kata 'belas', kita tentu saja tidak akan membuat logika if-else untuk mendefinisikan setiap angka dari 1 - 1000000000 misalnya, sungguh merepotkan.

Maka disinilah rekursi itu bekerja. Hal yang harus kita lakukan adalah mengurangkan angka 12 tadi dengan 10. Kemudian angka hasil bagi tersebut kita masukkan lagi kedalam fungsi kita yaitu konversi tadi. Jika dituliskan kedalam code Python maka akan terlihat seperti ini.

def konversi(x):
satuan = [' ', 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan', 'sembilan', 'sepuluh', 'sebelas']
hasil = " "
if x < 12 :
    hasil += satuan[x]
elif x < 20 :
    hasil += konversi(x-10) + " belas\n"


Nah, begitulah code Pythonnya. Kalau angkanya masih dibawah 20 maka aturan penambahan 'belas' masih berlaku maka kita tambah dengan string 'belas'. Saya juga sisipkan '\n' untuk new line, agar tidak menumpuk jika angkanya sudah diatas satu juta.

Kita lakukan terus seperti itu, pokoknya kita jadikan dulu satuan dari setiap angka yang masuk, kemudian tambahkan atribut seperti 'belas', 'ratus' dan 'ribu'. Jika, masih ada sisa dari angka, analisa sisanya dengan remainder.

Jadi, jika ada angka misalnya 976, maka pertama kita bagi angkanya dengan 100 dan jadikan integer. Maka hasilnya akan menjadi 9, tambahkan atribut 'ratus', kemudian tambahkan lagi rekursi, dengan memanggil fungsi yang kita buat tadi dengan parameter angka tersebut yaitu 976 di % (remainder) dengan 100.
Baca Juga : Program Email extractor dengan Python
Hasilnya hanya tersisa angka 76, maka angka ini akan diproses lagi oleh logika diatasnya. Maka value dari hasil akan bertambah dan mesin akan mengoutput 'Sembilan ratus, tujuh puluh enam'. Silahkan pelajari lebih lanjut logikanya berdasarkan code yang saya tulis ini.

def konversi(x):
    satuan = [' ', 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan', 'sembilan', 'sepuluh', 'sebelas']
    hasil = " "
    elif x < 12 :
        hasil += satuan[x]
    elif x < 20 :
        hasil += konversi(x-10) + " belas\n"
    elif x < 100:
        hasil += konversi(int(x/10)) + " puluh\n" + konversi(x%10)
    elif x < 200 :
        hasil += "seratus " + konversi(x-100)
    elif x < 1000 :
        hasil += konversi(int(x/100)) + " ratus\n" + konversi(x%100)
    elif x < 2000 :
        hasil += "seribu " + konversi(x-1000)
    elif x < 1000000 :
        hasil += konversi(int(x/1000)) + " ribu\n" + konversi(x%1000)
    elif x < 1000000000 :
        hasil += konversi(int(x/1000000)) + " juta\n" + konversi(x%1000000)
    elif x >= 1000000000 :
        hasil += konversi(int(x/1000000000)) + " milyar\n" + konversi(x%1000000000)

    return hasil


Disitu saya sudah membuat codenya sampai limit di angka milyaran. Selanjutnya kita akan membuild tampilan GUInya. Karena saya mau berbeda dari tutorial lainnya, maka saya juga akan membuat GUInya. Seperti inilah codenya .



Hal pertama adalah kita harus import seluruh isi dari module tkinter. Kemudian kita buat window dulu. Disini saya set ukuran windows saya dengan geometry method ke ukuran 460 lebar dan 200 tinggi. Ini disesuaikan dengan selera aja sih.

Kemudian saya set agar window saya gak bisa di ubah ukurannya, dengan menggunakan method resizable dan set width dan heightnya dengan value False. Barulah saya menambahkan fungsi yang telah saya buat tadi.

Kemudian saya buat lagi satu fungsi lagi yang nantinya akan dijadian jembatan antara fungsi utama dengan program GUI. Disitu saya ambil value dari entry widget di Tkinternya dengan get() method. kemudian saya lempar hasil pengambilan tersebut, yang sudah menjadi int tentunya kepada fungsi utama yaitu konversi.
Baca Juga : Contoh Classifier Untuk Machine Learning Python
Setelah beres, maka saya konfigurasi textbox widget agar dapat mendisplay hasil dari program angka terbilang ini. Saya buat agak lebar karena seperti yang saya bilang diatas saya pisahkan hasil dari fungsi konversi itu ke setiap line. Maka seperti inilah, wujud program ketika dijalankan.

Tkinter
Tkinter
Cukup sekian Tutorial kita hari ini dalam membuat Program GUI angka terbilang dengan Python. Jangan segan komentar untuk bertanya tentang hal yang tidak dimengerti. Jangan lupa juga share dan cek Tutorial Tkinter lainnya.

Share this

Related Posts

Previous
Prev Post »

Visitor baik, selalu tinggalkan jejak.
Silahkan komen yang relevan & tidak berlebihan, tidak berbau SARA & Pornografi, tidak mengandung promosi.
^ _ ^ Happy Blogging !