kali ini kita akan membuat program sederhana sekali yaitu kalkulator dengan menggunakan python,secara default program python hanya bisa berjalan/di eksekusi menggunakan command line atau terminal tapi kali kita akan mencoba membuat sebuah program berbasis GUI dengan python,untungnya python menyediakan library bawaan yaitu tkinter sebuah library yang memungkinkan kita membuat tampilan GUI di python
ok untuk pertamanya kita tentu saja me import librarynya ke program kita seperti ini :
from tkinter import *
lalu kita panggil librarynya untuk membuat sebuah tampilan “Window” pada aplikasi kita
window = Tk()
window.title("Aplikasi Kalkulator GUI Di Python") #kamu bisa mengubah judul aplikasimu disini
window.mainloop()
lalu kita coba jalankan dan tampilannya akan seperti ini

jika kalian merasa windownya kekecilan kita bisa mengubah ukurannya seperti ini
window = Tk()
window.title("Aplikasi Kalkulator GUI Di Python") #kamu bisa mengubah judul aplikasimu disini
window.geometry('350x200') #ukuran window
#tulisan kode lainnya disini....
window.mainloop()
oya untuk struktur kodenya setiap kali kita ingin menambahkan widget UI atau lainnya pastikan di taruh di antara window = Tk() dan window.mainloop()
berikutnya kita akan menambahkan text/label tulisan di program kita
lbl = Label(window, text="Masukan Nilai Pertama : ",anchor="e",width=20)
lbl.grid(column=0, row=0)
untuk label kita menggunakan Perintah Label(parent,option) seperti diatas,parameter pertama merupkan parameter parent atau frame ui yang akan di masukan labelnya jadi disini yang sebagai parent yang akan i berikan labelnya adalah variable window,untuk parameter-parameter lainnya adalah nilai-nilai pengaturan dari label tersebut sepert text,anchor,dan width untuk lebih jelasnya bisa baca disini https://tkdocs.com/tutorial/widgets.html#label
untuk parameter anchornya sendiri fungsinya seperti text align tapi di tkinter di analogikan seperti arah kompas jadi nilai e untuk east yang berarti timur yang berarti textnya akan rata ke kanan
kemudian di baris berikutnya ada grid,yang berfungsi untuk mengatur tata letak dari widget UI yang kita berikan jadi di Tkinter layoutingnya disini menggunakan tabel jadi bisa sudah jelas karena row=0 dan column=0 maka posisi labelnya adalah di pojok kiri atas

berikutnya kita akan menambahkan inputan untuk menyimpan nilai pertama,jangan lupa untuk columnya diberikan nilai 1 agar berada di sebelah label tadi
nilai1 = Entry(window,width=10)
nilai1.grid(column=1,row=0)

selanjutnya kita akan buat inputan untuk nilai kedua cara sama seperti sebelumnya namun nilai row di ganti/ditambah agar tempatnya berada di bawah
lbl2 = Label(window, text="Masukan Nilai Kedua : ",anchor="e",width=20)
lbl2.grid(column=0, row=1)
nilai2 = Entry(window,width=10)
nilai2.grid(column=1,row=1)

dibaris berikunya kita membuat label untuk menampilkan hasil dari kalkulator kita nanti
lbl3 = Label(window, text="Hasil : ",anchor="e",width=20)
lbl3.grid(column=0, row=2)
hasil = Label(window, text="0",anchor="w",width=10)
hasil.grid(column=1, row=2)

kemudian kita akan membuat fungsi-fungsi dasar dari kalkulator yaiut penjumlahan,pengurangan,perkalian,dan pembagian
def tambah():
hasil.configure(text=(int(nilai1.get())+int(nilai2.get())))
def kurang():
hasil.configure(text=(int(nilai1.get())-int(nilai2.get())))
def kali():
hasil.configure(text=(int(nilai1.get())*int(nilai2.get())))
def bagi():
hasil.configure(text=(int(nilai1.get())/int(nilai2.get())))
berikutnya dan terkahir kita akan membuat tombol-tombol untuk memanggil fungsi-fungsi yang telah kita buat
btn = Button(window, text="Tambah", command=tambah)
btn.grid(column=0, row=3)
btn = Button(window, text="Kurang", command=kurang)
btn.grid(column=1, row=3)
btn = Button(window, text="Kali", command=kali)
btn.grid(column=0, row=4)
btn = Button(window, text="Bagi", command=bagi)
btn.grid(column=1, row=4)

ok kita bisa langsung coba dengan memasukan 2 nilai di inputan masing-masing lalu klik salah satu tombolnya
berikut kode lengkapnya
from tkinter import *
window = Tk()
window.title("Kalkulator GUI Dengan Python")
window.geometry('350x200')
lbl = Label(window, text="Masukan Nilai Pertama : ",anchor="e",width=20)
lbl.grid(column=0, row=0)
nilai1 = Entry(window,width=10)
nilai1.grid(column=1,row=0)
lbl2 = Label(window, text="Masukan Nilai Kedua : ",anchor="e",width=20)
lbl2.grid(column=0, row=1)
nilai2 = Entry(window,width=10)
nilai2.grid(column=1,row=1)
lbl3 = Label(window, text="Hasil : ",anchor="e",width=20)
lbl3.grid(column=0, row=2)
hasil = Label(window, text="0",anchor="w",width=10)
hasil.grid(column=1, row=2)
def tambah():
hasil.configure(text=(int(nilai1.get())+int(nilai2.get())))
def kurang():
hasil.configure(text=(int(nilai1.get())-int(nilai2.get())))
def kali():
hasil.configure(text=(int(nilai1.get())*int(nilai2.get())))
def bagi():
hasil.configure(text=(int(nilai1.get())/int(nilai2.get())))
btn = Button(window, text="Tambah", command=tambah)
btn.grid(column=0, row=3)
btn = Button(window, text="Kurang", command=kurang)
btn.grid(column=1, row=3)
btn = Button(window, text="Kali", command=kali)
btn.grid(column=0, row=4)
btn = Button(window, text="Bagi", command=bagi)
btn.grid(column=1, row=4)
window.mainloop()

