[Belajar Tkinter] :: 3 Komponen Dasar

Yup! Cukup dengan 3 komponen dasar ini, yaitu Label, Button, dan Entry, kita bisa membuat sebuah aplikasi sederhana berbasis Python Tkinter.

Saya akan membahas sekilas saja tentang ketiga komponen ini. Pada dasarnya hampir sama dengan komponen-komponen visual yang ada di pemrograman lain. Namun komponen ini adalah Tkinter, yang pastinya menggunakan Python. So..saatnya kita rasakan aroma Tkinter yang begitu spesial!

(A) Komponen Button
Komponen Button ini berfungsi untuk menampilkan sebuah tombol pada aplikasi.

(B) Komponen Label
Komponen Label ini berfungsi untuk memberikan sebuah nama pada komponen lain dalam satu baris.

(C) Komponen Entry
Komponen Entry ini berfungsi untuk menampilkan sebuah teks satu baris dan juga untuk menerima masukan data dari pengguna aplikasi.

Kode Python :: Program Pembayaran

# file: progPembayaran.py
# Sumber Inspirasi: Dasar Pemrograman Delphi 5.0 - Abdul Kadir
# Re-Coding dengan Python pada tanggal : 30/10/2011
# Penulis: KlinikPython

# memanggil paket Tkinter -- berlaku untuk Python 2.xx
from Tkinter import *

# program ditulis dengan menggunakan teknik 
# Pemrograman Berorientasi Objek.
# menggunakan kelas ProgramPembayaran
class ProgramPembayaran:
	def __init__(self, parent, title):
		self.parent = parent
		
		# mengatur ukuran window utama.
		# self.parent.geometry("300x200")
		# mengisi judul window utama.
		self.parent.title(title)
		# memberikan arahan ke perintah onKeluar, jika kita
		# mengklik tanda X (Close) di wondow utama.
		self.parent.protocol("WM_DELETE_WINDOW", self.onKeluar)
		
		# membuat fungsi aturkomponen() yang berfungsi untuk
		# menyusun letak komponen yang akan kita tampilkan
		# pada aplikasi Python.
		self.aturKomponen()
		
	def aturKomponen(self):
		# mengatur frame sebagai kontainer utama bagi komponen
		# Button, Label, dan Entry, dengan batas tepi "10".
		# disusun menggunakan layout manager -- Pack()
		# (tentang Pack akan kita bahas di pertemuan berikutnya.)
		mainFrame = Frame(self.parent, bd=10)
		mainFrame.pack(fill=BOTH, expand=YES)
		
		# pasang komponen::
		Label(mainFrame, text='Total Pembelian').grid(row=0, column=0,
			sticky=W, padx=5, pady=5)
		self.entPembelian = Entry(mainFrame)
		self.entPembelian.grid(row=0, column=1, padx=5, pady=5)
		self.btnHitung = Button(mainFrame, text='Hitung', 
			command=self.onHitung)
		self.btnHitung.grid(row=0, column=2, padx=5, pady=5)
		
		Label(mainFrame, text='Pajak (10%)').grid(row=1, column=0,
			sticky=W, padx=5, pady=5)
		self.entPajak = Entry(mainFrame)
		self.entPajak.grid(row=1, column=1, padx=5, pady=5)
		
		Label(mainFrame, text='Total Pembayaran').grid(row=2, column=0,
			sticky=W, padx=5, pady=5)
		self.entPembayaran = Entry(mainFrame)
		self.entPembayaran.grid(row=2, column=1, padx=5, pady=5)
	
	# fungsi "onHitung" berfungsi untuk menghitung total pembayaran.	
	def onHitung(self, event=None):
		totalPembelian = int(self.entPembelian.get())
		pajak = 0.1 * totalPembelian
		totalPembayaran = 1.1 * totalPembelian
		
		self.entPajak.delete(0, END)
		self.entPembayaran.delete(0, END)
		
		self.entPajak.insert(END, str(pajak))
		self.entPembayaran.insert(END, str(totalPembayaran)) 
		
	def onKeluar(self, event=None):
		# memberikan perintah menutup aplikasi
		self.parent.destroy()

if __name__ == '__main__':
	root = Tk()
	
	aplikasi = ProgramPembayaran(root, "Program Pembayaran")
	
	root.mainloop()

7 comments

  1. gan gimana caranya import Tkinter nya nih?:D ane masih pemula.
    ane kan ngetik from Tkinter import * trus pas ane run kagak mau gan. tulisannya no module named: Tkinter

    1. Salam Kenal Andika…:D

      Kami buku-buku referensinya buanyaaakkk…sampai kadang2 belum sempat baca..hehehe

      kalo saran kami, untuk pembelajaran awam: Making Use of Python …Layak untuk jadi rujukan, mudah, dan langsung praktek problem solving…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s