Membuat Aplikasi Perhitungan dengan Python

Nizar Mukhsin 11 Januari 2023

Bagian ini akan mempelajari bagaimana kita membuat aplikasi untuk melakukan operasi-operasi aritmatika

from tkinter import *
root = Tk()
root.title("Aplikasi Perhitungan")
Label(text="Nilai A").grid(row=1, column=1)
Label(text="Nilai B").grid(row=2, column=1)
entry_nilai_a = Entry()
entry_nilai_a.grid(row=1, column=2)
entry_nilai_b = Entry()
entry_nilai_b.grid(row=2, column=2)
button_tambah = Button(text="Tambah")
button_tambah.grid(row=1, column=3)
button_kurang = Button(text="Kurang")
button_kurang.grid(row=2, column=3)
button_bagi = Button(text="Bagi")
button_bagi.grid(row=1, column=4)
button_kali = Button(text="Kali")
button_kali.grid(row=2, column=4)
Label(text="Hasil").grid(row=5, column=1, columnspan=2,sticky=W)
entry_nilai_a = Entry(state="readonly")
entry_nilai_a.grid(row=6, column=1, columnspan=2,sticky=W)
root.mainloop()

Tampilan form seperti ditunjukan gambar dibawah ini

Isikan kode berikut untu event onclick pada komponen button Tambah

button_tambah = Button(text="Tambah", command= onClick_tambah)
button_tambah.grid(row=1, column=3)
def onClick_tambah():
    a = int(entry_nilai_a.get())
    b = int(entry_nilai_b.get())
    c = a + b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")

Fungsi int di atas akan mengonversi string yang ada pada komponen entry_nilai_a dan entry_nilai_b dalam bentuk integer (bilangan bulat), kemudian nilainya dimasukkan ke dalam variable a dan b yang bertipe integer kemudian hasil penjumlahan dimasukkan ke dalam (insert) dikonversi string pada komponen entry_nilai_hasil.

Perhitungan Tambah

Kode berikutnya untuk event onclick pada komponen button kurang

button_kurang = Button(text="Kurang", command= onClick_kurang)
button_kurang.grid(row=2, column=3)
def onClick_kurang():
    a = int(entry_nilai_a.get())
    b = int(entry_nilai_b.get())
    c = a - b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")
Perhitungan Kurang

Isikan kode berikut untu event onclick pada komponen button Bagi

button_bagi = Button(text="Bagi", command= onClick_bagi)
button_bagi.grid(row=1, column=4)
def onClick_bagi():
    a = float(entry_nilai_a.get())
    b = float(entry_nilai_b.get())
    c = a / b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")
Perhitungan Bagi

Fungsi float di atas akan mengonversi string yang ada pada komponen entry_nilai_a dan entry_nilai_b dalam bentuk float (bilangan pecahan), kemudian nilainya dimasukkan ke dalam variable a dan b yang bertipe float kemudian hasil pembagian dimasukkan ke dalam (insert) dikonversi string pada komponen entry_nilai_hasil.

Isikan kode berikut untu event onclick pada komponen button Kali

button_kali = Button(text="Kali",  command= onClick_kali)
button_kali.grid(row=2, column=4)
def onClick_kali():
    a = int(entry_nilai_a.get())
    b = int(entry_nilai_b.get())
    c = a * b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")
Perhitungan Kali

Kode keseluruhan seperti di bawah ini

from tkinter import *
root = Tk()
root.title("Aplikasi Perhitungan")
Label(text="Nilai A").grid(row=1, column=1)
Label(text="Nilai B").grid(row=2, column=1)
entry_nilai_a = Entry()
entry_nilai_a.grid(row=1, column=2)
entry_nilai_b = Entry()
entry_nilai_b.grid(row=2, column=2)

def onClick_tambah():
    a = int(entry_nilai_a.get())
    b = int(entry_nilai_b.get())
    c = a + b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")

def onClick_kurang():
    a = int(entry_nilai_a.get())
    b = int(entry_nilai_b.get())
    c = a - b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")

def onClick_bagi():
    a = float(entry_nilai_a.get())
    b = float(entry_nilai_b.get())
    c = a / b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")

def onClick_kali():
    a = int(entry_nilai_a.get())
    b = int(entry_nilai_b.get())
    c = a * b
    entry_nilai_hasil.config(state = NORMAL)
    entry_nilai_hasil.delete(0, END)
    entry_nilai_hasil.insert(0, string=c)
    entry_nilai_hasil.config(state = "readonly")

button_tambah = Button(text="Tambah", command= onClick_tambah)
button_tambah.grid(row=1, column=3)

button_kurang = Button(text="Kurang", command= onClick_kurang)
button_kurang.grid(row=2, column=3)

button_bagi = Button(text="Bagi", command= onClick_bagi)
button_bagi.grid(row=1, column=4)

button_kali = Button(text="Kali",  command= onClick_kali)
button_kali.grid(row=2, column=4)


Label(text="Hasil").grid(row=5, column=1, columnspan=2,sticky=W)
entry_nilai_hasil = Entry(state = "readonly")
entry_nilai_hasil.grid(row=6, column=1, columnspan=2,sticky=W)
root.mainloop()

Sumber:
https://stackoverflow.com/questions/44343164/python-tkinter-read-only-entry
https://www.pythonguis.com/tutorials/create-ui-with-tkinter-grid-layout-manager/
https://coderslegacy.com/python/list-of-tkinter-widgets/
https://www.tutorialspoint.com/how-to-get-the-value-of-an-entry-widget-in-tkinter

Tinggalkan Balasan