Anda di halaman 1dari 16

Python GUI Programming

 Tkinter
Tkinter adalah modul python bawaan yang digunakan untuk membuat aplikasi
GUI. Ini adalah salah satu modul yang paling umum digunakan untuk membuat
aplikasi GUI dengan Python karena sederhana dan mudah digunakan. Anda tidak
perlu khawatir tentang pemasangan modul Tkinter secara terpisah karena sudah
dilengkapi dengan Python. Ini memberikan antarmuka berorientasi objek ke toolkit
Tk GUI.
Berikut adalah beberapa kasus penggunaan umum untuk Tkinter:
1. Membuat jendela dan kotak dialog: Tkinter dapat digunakan untuk membuat
jendela dan kotak dialog yang memungkinkan pengguna berinteraksi dengan
program Anda. Ini dapat digunakan untuk menampilkan informasi,
mengumpulkan input, atau menampilkan opsi kepada pengguna.
2. Membangun GUI untuk aplikasi desktop: Tkinter dapat digunakan untuk
membuat antarmuka untuk aplikasi desktop, termasuk tombol, menu, dan
elemen interaktif lainnya.
3. Menambahkan GUI ke program baris perintah: Tkinter dapat digunakan untuk
menambahkan GUI ke program baris perintah, sehingga memudahkan
pengguna untuk berinteraksi dengan program dan memasukkan argumen.
4. Membuat widget khusus: Tkinter menyertakan berbagai widget bawaan,
seperti tombol, label, dan kotak teks, tetapi juga memungkinkan Anda
membuat widget khusus sendiri.
5. Membuat Prototipe GUI: Tkinter dapat digunakan untuk membuat prototipe
GUI dengan cepat, memungkinkan Anda untuk menguji dan mengulangi ide
desain yang berbeda sebelum melakukan implementasi akhir.

 Widget
Widget di Tkinter adalah elemen aplikasi GUI yang menyediakan berbagai kontrol
(seperti Label, Tombol, Kotak Kombo, Kotak Centang, Bilah Menu, Tombol Radio,
dan banyak lagi) kepada pengguna untuk berinteraksi dengan aplikasi. Berikut adalah
struktur program tkinter :
Berikut adalah beberapa hal yang dapat dikerjakan oleh Widget TkInter :
No Nama Widget Deskripsi Link
1 Button Widget Tombol digunakan untuk https://
menampilkan tombol di aplikasi Anda. www.tutorialspoint.co
m/python/
tk_button.htm
2 Canvas Kanvas adalah area persegi panjang https://
yang dimaksudkan untuk menggambar www.tutorialspoint.co
atau tata letak kompleks lainnya. Anda m/python/
dapat menempatkan grafik, teks, tk_canvas.htm
widget, atau bingkai pada Kanvas.
3 Checkbutton Widget Checkbutton digunakan untuk https://
menampilkan sejumlah opsi kepada www.tutorialspoint.co
pengguna sebagai tombol sakelar. m/python/
Pengguna kemudian dapat memilih satu tk_checkbutton.htm
atau lebih opsi dengan mengklik tombol
yang sesuai dengan setiap opsi.
4 Entry Entry digunakan untuk menerima string https://
teks baris tunggal dari pengguna. www.tutorialspoint.co
 Jika Anda ingin menampilkan m/python/
beberapa baris teks yang dapat tk_entry.htm
diedit, maka Anda harus
menggunakan widget Teks.
 Jika Anda ingin menampilkan satu
atau beberapa baris teks yang tidak
dapat diubah oleh pengguna, maka
Anda harus menggunakan widget
Label.
5 Frame Frame digunakan untuk proses https://
pengelompokan dan pengorganisasian www.tutorialspoint.co
widget lain. Frame berfungsi seperti m/python/
sebuah wadah, yang bertanggung jawab tk_frame.htm
untuk mengatur posisi widget lainnya.
6 Label Widget ini mengimplementasikan kotak https://
tampilan, yang dapat menempatkan teks www.tutorialspoint.co
atau gambar. m/python/
tk_label.htm
7 Listbox Listbox digunakan untuk menampilkan https://
daftar item dari mana pengguna dapat www.tutorialspoint.co
memilih sejumlah item. m/python/
tk_listbox.htm
8 Menubutton Tombol menu adalah bagian dari menu https://
drop-down yang tetap berada di layar www.tutorialspoint.co
sepanjang waktu. Setiap tombol menu m/python/
diasosiasikan dengan widget Menu yang tk_menubutton.htm
dapat menampilkan pilihan untuk
tombol menu tersebut saat pengguna
mengkliknya.
9 Menu Widget ini memungkinkan kita https://
membuat semua jenis menu yang dapat www.tutorialspoint.co
digunakan oleh aplikasi kita. Fungsi inti m/python/
menyediakan cara untuk membuat tiga tk_menu.htm
jenis menu: pop-up, toplevel, dan pull-
down.
10 Message Widget ini menyediakan objek multiline https://
dan noneditable yang menampilkan www.tutorialspoint.co
teks, secara otomatis mempertahankan m/python/
lebar atau rasio frame tk_message.htm
11 Radiobutton Widget ini mengimplementasikan https://
tombol pilihan ganda. Setiap grup www.tutorialspoint.co
radiobutton harus dikaitkan ke variabel m/python/
yang sama dan masing-masing tombol tk_radiobutton.htm
harus melambangkan satu nilai.
12 Scale Widget Skala menyediakan objek https://
penggeser grafis yang memungkinkan www.tutorialspoint.co
Anda memilih nilai dari skala tertentu. m/python/
tk_scale.htm
13 Scrollbar Widget ini menyediakan pengontrol https://
slide yang digunakan untuk www.tutorialspoint.co
mengimplementasikan widget scroll m/python/
vertikal, seperti Listbox, Text, dan tk_scrollbar.htm
Canvas.
14 Text Widget teks memberikan kemampuan https://
tingkat lanjut yang memungkinkan www.tutorialspoint.co
untuk mengedit teks multibaris dan m/python/tk_text.htm
memformat tampilan.
15 Toplevel Widget toplevel berfungsi sebagai https://
jendela yang dikelola langsung oleh www.tutorialspoint.co
pengelola jendela. m/python/
tk_toplevel.htm
16 Spinbox Widget Spinbox adalah varian dari https://
widget Tkinter Entry standar, yang www.tutorialspoint.co
dapat digunakan untuk memilih dari m/python/
sejumlah nilai tetap. tk_spinbox.htm
17 PanedWindow PanedWindow adalah widget wadah https://
yang dapat berisi sejumlah panel, www.tutorialspoint.co
disusun secara horizontal atau vertikal.
m/python/
tk_panedwindow.htm
18 LabelFrame Labelframe adalah wadah widget https://
sederhana, bertindak sebagai pengatur www.tutorialspoint.co
jarak atau wadah untuk tata letak m/python/
jendela yang rumit. tk_labelframe.htm
Widget ini memiliki fitur bingkai plus
kemampuan untuk menampilkan label.
19 tkMessageBox Modul tkMessageBox digunakan untuk https://
menampilkan kotak pesan di aplikasi www.tutorialspoint.co
Anda. Modul ini menyediakan sejumlah m/python/
fungsi yang dapat Anda gunakan untuk tk_messagebox.htm
menampilkan pesan yang sesuai.

 How to Use Tkinter


Create Label

Create Button
 Contoh Program Simple-Calculator
1. Import tkinter
Langkah pertama adalah dengan memanggil modul tkinter :

2. Buat Frame/Window dari module tkinter, atur Panjang dan lebar window
Langkah kedua yang dilakukan adalah dengan membuat windows/frame tampilan
aplikasi, dan menentukan ukuran windows.

3. Isikan label dan form input (entry)


Langkah ketiga adalah menambahkan label dan form input yang digunakan untuk
memasukkan nilai dan menyimpan nilai smeentara. Dalam Latihan ini, kita akan
memberikan 2 inputan user yang akan diproses, kemudian akan membuat 1
keluaran yang digunakan untuk menampilkan hasil.
Berikut merupakan kode untuk menampilkan text “masukkan nilai pertama”,
“masukkan nilai kedua”, “hasil”
Kode dibawah digunakan untuk membuat form input yang dimasukkan user :

Kode dibawah berguna untuk menampilkan hasil perhitungan :

4. Buat fungsi tambah, kurang, perkalian, pembagian


Langkah berikutnya adalah dengan membuat fungsi perhitungan matematika
yaitu, tambah, kurang, kali, bagi.

5. Buat Button
Untuk menjalankan perintah yang ada pada masing-masing fungsi tersebut, kita
perlu bantuan button. Langkah berikutnya adalah dengan membuat button untuk
masing-masing fungsi matematika yang telah dibuat.
6. Eksekusi program dengan fungsi mainloop()
Langkah terakhir adalah dengan mengeksekusi fungsi mainloop() untuk
menjalankan seluruh kode di modul tkinter.

7. Hasil Program

Latihan :
1. Identifikasi apakah aplikasi tersebut dapat digunakan untuk menghitung nilai
pecahan/decimal ? Jika tidak, silahkan ubah kode diatas sehingga aplikasi
tersebut dapat digunakan untuk menghitung nilai pecahan/decimal !
2. Tambahkan operasi matematika pada aplikasi tersebut untuk menghitung :
 “x pangkat y” atau sebaliknya,
 “modulus”,
 “x akar y” atau sebaliknya.
 Contoh Program Sistem Kasir Rumah Makan/Kafe

Pada Latihan kali ini, kita akan membuat sebuah system manajemen pelayanan pada
kafe UNS MADIUN. Terdapat 8 menu yang tersedia di kafe UNS Madiun, yaitu :
No Menu Harga
1 Tea Rp. 5000
2 Coffee Rp. 8000
3 Sandwich Rp. 15000
4 Cake Rp. 22000
5 Burger Rp. 22000
6 Pizza Rp. 35000
7 Fries Rp. 8000
8 Pepsi Rp. 8000
Dalam menjalankan operasionalnya, Kafe UNS MADIUN menerapkan peraturan
dimana setiap pembelian menu dalam 1 bill/struk akan dikenakan service cost sebesar Rp.
1000 dan pajak 10% dari total pembayaran.
Berikut adalah contoh aplikasi pemesanan dan pembayaran pada Kafe UNS Madiun :

Dalam membuat aplikasi diatas, terdapat 9 steps yang harus di kerjakan dengan benar.
Berikut adalah step-by-step dalam pembuatan aplikasi pembayaran menggunakan python
dan Tkinter.
1. Import Module
Langkah pertama dalam membuat aplikasi ini adalah dengan mengimport modul-modul
yang dibutuhkan, seperti table dibawah :
No Syntaks Kegunaaan
1 From tkinter import * Mengimport tkinter untuk digunakan pada
file
2 Import tkinter as tk Memudahkan dalam pemanggilan tkinter
ketika coding
3 From datetime import datetime Digunakan untuk menentukan waktu
4 From PIL import ImageTk, Digunakan untuk pengolahan gambar
Image
5 From tkinter import messagebox Digunakan untuk mengelola messagebox,
menampilkan pesan
6 From tkinter import filedialog Digunakan untuk operasi file explorer pada
PC
7 From tkinter.scrolledtext import Digunakan untuk menambahkan scroll bar
ScrolledText text
8 Import random Menghasilkan nilai random

2. Membuat Class
Langkah kedua adalah dengan membuat sebuah class yang digunakan sebagai tempat
menampung fungsi-fungsi dan kode yang dibuat. Berikut class yang dibuat :

3. Membuat Fungsi Pembayaran

 Buat fungsi
 Buat variable yang berisikan harga masing-masing produk atau menu yang dijual

 Buat fungsi if else yang menunjukkan kondisi Ketika menu dipesan berdasasrkan
jumlah pesanan, sekaligus harga total
 Buat Variable service cost, paid tax, sub cost, item cost

 Buat Variabel total pembayaran :


self.Total_Bill = self.pepsi_cost + self.fries_cost + self.pizza_cost + self.burger_cost
+ self.cake_cost + self.sandwitch_cost + self.coffee_cost + self.tea_cost

 Buat variable bill details untuk menyimpan informasi pembayaran

Informasi detail pembayaran dapat dilihat pada link berikut :


https://github.com/fadilrahman46/billing_cafe
Copy kan kode yang ada pada file billing info ke dalam string kode diatas
 Perlu di cermati bahwa pembuatan fungsi Total Bills diatas terletak pada class café
management. Perhatikan indentasi, spasi, atau tabulasi karna akan berpengaruh pada
jalannya program
4. Membuat Kalkulator
Proses berikutnya adalah dengan menambahkan fitur kalkutor untuk membantu
petugas kasir dalam menghitung dan melayani pembeli. Pembuatan kalkulator kali ini
lebih sederhana, dimana setiap operasi angka (0-9) akan dimasukkan ke dalam 1 fungsi
sendiri contoh :
Ketika tombol = ditekan
sebelum ada inputan
nilai, maka akan
menghasilkan error.
Ketika tombol = ditekan
setelah terdapat nilai
maka akan menjalankan
operasi equal. Ketika
tombol = ditekan Ketika
pesan error muncul
maka akan reset

Pada kode diatas terdapat fungsi untuk masing-masing angka. Copy kode dan
sesuaikan nilai untuk mengolah inputan angka 0 – 6.
Manggunakan cara yang sama, Langkah berikutnya adalah membuat tombol operasi
matematika, tambah, kurang, kali, bagi.

Proses terakhir dalam membuat kalkulator adalah dengan memasukkan fungsi ke


dalam tombol “=”

5. Menghapus Teks pada Form


Proses menghapus teks/pemesanan pada form dapat dilakukan menggunakan kode
berikut :
6. Menyimpan Informasi Billing/Pembayaran
Proses simpan info pembayaran dapat menggunakan kode dibawah ini. Informasi
pembayaran dapat disimpan ke dalam direktori PC kita dalam bentuk txt. Filedialog yang
kita import pada awal program akan kita panggil Kembali dan digunakan pada fungsi
simpan bill

7. Fungsi Exit
Fungsi quit/exit seperti kode berikut :

8. Layouting User Interface


Langkah pertama yang dilakukan adalah dengan membuat fungsi __init__ . Fungsi ini
berisikan kode program untuk mengelola interface aplikasi.

a. Layout Utama
Kode dibawah berguna untuk membuat layout aplikasi, mulai dari Panjang dan lebar
Frame, Judul Aplikasi, Image, dan Label Heading.
b. Layout Item/Produk
Source code di bawah berguna untuk membuat label dan form input (entry) dari
semua menu yang ada di kafe UNS MADIUN.

c. Layout pembayaran/bill
Source code dibawah berguna untuk menampilkan hasil dari perhitungan menu yang
dibeli.
d. Layout Kalkulator
e. Layout Button

9. Main Function

Anda mungkin juga menyukai