Assalamu'alaikum Wr. Wb
Hello sobat ,pada kesempatan ini saya akan membagikan script smart kalkulator dengan python.
di sini saya mengunakan modul tkinter,modul tkinter adalah salah satu modul yang di gunakan untuk membuat program GUI di python,kita tidak perlu mengistallnya karena modul ini bawaan dari python.Tkinter menyediakan berbagai komponen seperti label,tombol,teks,menu,kotak yang mana komponen sering di gunakan dalam aplikasi GUI,untuk mengunakan modul tkinter kita harus memanggilnya terlebih dahulu,caranya dengan menulis di teks editor
import tkinter
atau
from tkinter import *
Setelah itu kita bisa memanggil komponen-kompenen yang tersedia pada modul tkinter.
itu penjelasan sinkat mengenai modul tkinter.
sekarang kita masuk ke script pembuatan smart kalkulator di python
from tkinter import*#memanggil modul tkinter
import math#memanggil modul math
layar=Tk()#layar nama dari tkinter
layar.title("Kalkulator")#membuat titlle dari tkinter
layar['background']="steel blue"#warna background dari tkinter
text_masukan=StringVar()#dklarasikan teks masukan
sin=math.sin#memanggil fungsi sin yang ada di modul math
cos=math.cos#memanggil fungsi cos yang ada di modul math
tan=math.tan#memanggil fungsi tan yang ada di modul math
operator=""
def keluaran(numbers):#fungsi keluaran
global operator
operator=operator+str(numbers)
text_masukan.set(operator)#memasukan hasil operator ke dalam teks masukan
def hapussemua():# fungsi clear
global operator
operator=""
text_masukan.set("")#menghapus semua operator dan numbers yang ada di teks masukan
def cetakhasil(): #fungsi keluaran
global operator
cetak=str(eval(operator))#logika dari operator matematika
text_masukan.set(cetak)#memasukan hasil ke teks masukan
#Kolom keluaran
kk=Entry(layar,bd=20,bg="powder blue",
font=("arial",25,"bold"),relief="ridge",
textvariable=text_masukan,justify="right")
kk.grid(columnspan=4)
#tombol row pertama
tblsin=Button(layar,bd=5,font=("arial",20,"bold"),
bg="powder blue",text="Sin",relief="sunken",
command=lambda:keluaran("sin"))
tblsin.grid(row=1,column=0)
tblcos=Button(layar,bd=5,font=("arial",20,"bold"),
bg="powder blue",text="Cos",relief="sunken",
command=lambda:keluaran("cos"))
tblcos.grid(row=1,column=1)
tbltan=Button(layar,bd=5,font=("arial",20,"bold"),
bg="powder blue",text="Tan",relief="sunken",
command=lambda:keluaran("tan"))
tbltan.grid(row=1,column=2)
tblpangkat=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="^",relief="sunken",
command=lambda:keluaran("**"))
tblpangkat.grid(row=1,column=3)
#tombol row ke dua
tbl7=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=7,relief="sunken",
command=lambda:keluaran(7))
tbl7.grid(row=2,column=0)
tbl8=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=8,relief="sunken",
command=lambda:keluaran(8))
tbl8.grid(row=2,column=1)
tbl9=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=9,relief="sunken",
command=lambda:keluaran(9))
tbl9.grid(row=2,column=2)
bagi=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="/",relief="sunken",
command=lambda:keluaran("/"))
bagi.grid(row=2,column=3)
#tombol row ke tiga
tbl4=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=4,relief="sunken",
command=lambda:keluaran(4))
tbl4.grid(row=3,column=0)
tbl5=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=5,relief="sunken",
command=lambda:keluaran(5))
tbl5.grid(row=3,column=1)
tbl6=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=6,relief="sunken",
command=lambda:keluaran(6))
tbl6.grid(row=3,column=2)
kurang=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="-",relief="sunken",
command=lambda:keluaran("-"))
kurang.grid(row=3,column=3)
#tombol row ke emapat
tbl1=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="1",relief="sunken",
command=lambda:keluaran(1))
tbl1.grid(row=4,column=0)
tbl2=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=2,
relief="sunken",command=lambda:keluaran(2))
tbl2.grid(row=4,column=1)
tbl3=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",relief="sunken",text=3,
command=lambda:keluaran(3))
tbl3.grid(row=4,column=2)
kali=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",relief="sunken",text="x",
command=lambda:keluaran("*"))
kali.grid(row=4,column=3)
#tombol row ke lima
tblTT=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=".",relief="sunken",
command=lambda:keluaran("."))
tblTT.grid(row=5,column=0)
tbl0=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=0,relief="sunken",
command=lambda:keluaran(0))
tbl0.grid(row=5,column=1)
tblH=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="=",relief="sunken",
command=cetakhasil)
tblH.grid(row=5,column=2)
tmb=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="+",relief="sunken",
command=lambda:keluaran("+"))
tmb.grid(row=5,column=3)
#tombol hapus
hapus=Button(layar,bd=15,bg="powder blue",
font=("arial",10,"bold"),text="clear",
relief="sunken",width=20,height=3,command=hapussemua)
hapus.grid(row=6,columnspan=2)
#tombol buka kurung
bk=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="(",relief="sunken",
command=lambda:keluaran("("))
bk.grid(row=6,column=2)
#Tombol tutup kurung
tk=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=")",relief="sunken",
command=lambda:keluaran(")"))
tk.grid(row=6,column=3)
layar.mainloop()
import math#memanggil modul math
layar=Tk()#layar nama dari tkinter
layar.title("Kalkulator")#membuat titlle dari tkinter
layar['background']="steel blue"#warna background dari tkinter
text_masukan=StringVar()#dklarasikan teks masukan
sin=math.sin#memanggil fungsi sin yang ada di modul math
cos=math.cos#memanggil fungsi cos yang ada di modul math
tan=math.tan#memanggil fungsi tan yang ada di modul math
operator=""
def keluaran(numbers):#fungsi keluaran
global operator
operator=operator+str(numbers)
text_masukan.set(operator)#memasukan hasil operator ke dalam teks masukan
def hapussemua():# fungsi clear
global operator
operator=""
text_masukan.set("")#menghapus semua operator dan numbers yang ada di teks masukan
def cetakhasil(): #fungsi keluaran
global operator
cetak=str(eval(operator))#logika dari operator matematika
text_masukan.set(cetak)#memasukan hasil ke teks masukan
#Kolom keluaran
kk=Entry(layar,bd=20,bg="powder blue",
font=("arial",25,"bold"),relief="ridge",
textvariable=text_masukan,justify="right")
kk.grid(columnspan=4)
#tombol row pertama
tblsin=Button(layar,bd=5,font=("arial",20,"bold"),
bg="powder blue",text="Sin",relief="sunken",
command=lambda:keluaran("sin"))
tblsin.grid(row=1,column=0)
tblcos=Button(layar,bd=5,font=("arial",20,"bold"),
bg="powder blue",text="Cos",relief="sunken",
command=lambda:keluaran("cos"))
tblcos.grid(row=1,column=1)
tbltan=Button(layar,bd=5,font=("arial",20,"bold"),
bg="powder blue",text="Tan",relief="sunken",
command=lambda:keluaran("tan"))
tbltan.grid(row=1,column=2)
tblpangkat=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="^",relief="sunken",
command=lambda:keluaran("**"))
tblpangkat.grid(row=1,column=3)
#tombol row ke dua
tbl7=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=7,relief="sunken",
command=lambda:keluaran(7))
tbl7.grid(row=2,column=0)
tbl8=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=8,relief="sunken",
command=lambda:keluaran(8))
tbl8.grid(row=2,column=1)
tbl9=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=9,relief="sunken",
command=lambda:keluaran(9))
tbl9.grid(row=2,column=2)
bagi=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="/",relief="sunken",
command=lambda:keluaran("/"))
bagi.grid(row=2,column=3)
#tombol row ke tiga
tbl4=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=4,relief="sunken",
command=lambda:keluaran(4))
tbl4.grid(row=3,column=0)
tbl5=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=5,relief="sunken",
command=lambda:keluaran(5))
tbl5.grid(row=3,column=1)
tbl6=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=6,relief="sunken",
command=lambda:keluaran(6))
tbl6.grid(row=3,column=2)
kurang=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="-",relief="sunken",
command=lambda:keluaran("-"))
kurang.grid(row=3,column=3)
#tombol row ke emapat
tbl1=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="1",relief="sunken",
command=lambda:keluaran(1))
tbl1.grid(row=4,column=0)
tbl2=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=2,
relief="sunken",command=lambda:keluaran(2))
tbl2.grid(row=4,column=1)
tbl3=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",relief="sunken",text=3,
command=lambda:keluaran(3))
tbl3.grid(row=4,column=2)
kali=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",relief="sunken",text="x",
command=lambda:keluaran("*"))
kali.grid(row=4,column=3)
#tombol row ke lima
tblTT=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=".",relief="sunken",
command=lambda:keluaran("."))
tblTT.grid(row=5,column=0)
tbl0=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=0,relief="sunken",
command=lambda:keluaran(0))
tbl0.grid(row=5,column=1)
tblH=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="=",relief="sunken",
command=cetakhasil)
tblH.grid(row=5,column=2)
tmb=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="+",relief="sunken",
command=lambda:keluaran("+"))
tmb.grid(row=5,column=3)
#tombol hapus
hapus=Button(layar,bd=15,bg="powder blue",
font=("arial",10,"bold"),text="clear",
relief="sunken",width=20,height=3,command=hapussemua)
hapus.grid(row=6,columnspan=2)
#tombol buka kurung
bk=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text="(",relief="sunken",
command=lambda:keluaran("("))
bk.grid(row=6,column=2)
#Tombol tutup kurung
tk=Button(layar,bd=10,font=("arial",20,"bold"),
bg="powder blue",text=")",relief="sunken",
command=lambda:keluaran(")"))
tk.grid(row=6,column=3)
layar.mainloop()
inila script membuat smart kalkulator di python,lalu di run aja maka hasilanya akan tampak seperti di bawah ini
sekian dulu yaa semoga bermanfaat:v
EmoticonEmoticon