Tutorial Lanjutan Python dengan Tkinter
Novalio Daratha, Universiatas Bengklulu
29 Agustus 2025
Daftar Isi
1 Pendahuluan 2
2 Mengorganisir Layout dengan Frame 2
3 Widget yang Lebih Interaktif 2
3.1 Checkbutton (Kotak Centang) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Radiobutton (Tombol Radio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Menampilkan Pesan dengan messagebox 3
5 Membuat Menu Bar 4
6 Kesimpulan 4
1
1 Pendahuluan
Selamat datang di bagian kedua tutorial Tkinter! Pada tutorial pertama, kita telah mempe-
lajari dasar-dasar pembuatan jendela, widget dasar seperti Label, Button, dan Entry, serta
manajemen layout dengan pack() dan grid().
Di tutorial ini, kita akan melangkah lebih jauh dengan membahas:
• Mengorganisir layout dengan Frame.
• Menggunakan widget yang lebih interaktif: Checkbutton, Radiobutton.
• Menampilkan kotak pesan (messagebox).
• Membuat menu bar di aplikasi kita.
2 Mengorganisir Layout dengan Frame
Saat aplikasi menjadi lebih kompleks, menempatkan semua widget langsung di jendela utama
bisa menjadi berantakan. Frame adalah widget wadah yang tidak terlihat, yang berfungsi
untuk mengelompokkan widget lain. Ini sangat berguna untuk menciptakan bagian-bagian
yang terorganisir dalam UI Anda.
1 import tkinter as tk
2
3 jendela = tk . Tk ()
4 jendela . title ( " Contoh Frame " )
5 jendela . geometry ( " 400 x200 " )
6
7 % Membuat frame atas untuk input
8 frame_atas = tk . Frame ( jendela , relief = tk . SUNKEN , borderwidth =2)
9 frame_atas . pack ( pady =10 , padx =10 , fill = tk . X )
10
11 % Membuat frame bawah untuk tombol
12 frame_bawah = tk . Frame ( jendela )
13 frame_bawah . pack ( pady =10 , padx =10)
14
15 % Menambahkan widget ke frame atas
16 label_nama = tk . Label ( frame_atas , text = " Nama : " )
17 label_nama . pack ( side = tk . LEFT , padx =5)
18 entry_nama = tk . Entry ( frame_atas )
19 entry_nama . pack ( side = tk . LEFT , padx =5)
20
21 % Menambahkan widget ke frame bawah
22 tombol_ok = tk . Button ( frame_bawah , text = " OK " )
23 tombol_ok . pack ( side = tk . LEFT , padx =5)
24 tombol_batal = tk . Button ( frame_bawah , text = " Batal " )
25 tombol_batal . pack ( side = tk . LEFT , padx =5)
26
27 jendela . mainloop ()
Di sini, kita menggunakan Frame untuk memisahkan bagian input dan bagian tombol, membuat
layout menjadi lebih bersih dan mudah dikelola.
3 Widget yang Lebih Interaktif
3.1 Checkbutton (Kotak Centang)
Checkbutton digunakan saat pengguna bisa memilih beberapa opsi (atau satu opsi ya/tidak).
Untuk melacak statusnya (tercentang atau tidak), kita menggunakan variabel khusus dari Tkin-
ter, seperti [Link].
2
1 import tkinter as tk
2
3 jendela = tk . Tk ()
4 jendela . title ( " Contoh Checkbutton " )
5
6 % Variabel untuk menyimpan status checkbutton (0= tidak , 1= ya )
7 var_setuju = tk . IntVar ()
8
9 def periksa_status () :
10 if var_setuju . get () == 1:
11 print ( " Pengguna setuju dengan syarat dan ketentuan . " )
12 else :
13 print ( " Pengguna tidak setuju . " )
14
15 cek = tk . Checkbutton ( jendela ,
16 text = " Saya setuju dengan syarat dan ketentuan " ,
17 variable = var_setuju )
18 cek . pack ( pady =10)
19
20 tombol = tk . Button ( jendela , text = " Kirim " , command = periksa_status )
21 tombol . pack ( pady =5)
22
23 jendela . mainloop ()
3.2 Radiobutton (Tombol Radio)
Radiobutton digunakan ketika pengguna hanya boleh memilih satu opsi dari beberapa pilihan
yang tersedia. Semua Radiobutton dalam satu grup harus terhubung ke variable yang sama.
1 import tkinter as tk
2
3 jendela = tk . Tk ()
4 jendela . title ( " Contoh Radiobutton " )
5
6 % Variabel untuk menyimpan pilihan
7 pilihan_gender = tk . StringVar ( value = " Pria " ) % Set nilai default
8
9 tk . Label ( jendela , text = " Pilih jenis kelamin : " ) . pack ()
10
11 radio1 = tk . Radiobutton ( jendela , text = " Pria " ,
12 variable = pilihan_gender , value = " Pria " )
13 radio1 . pack ( anchor = tk . W ) % anchor = W -> rata kiri
14
15 radio2 = tk . Radiobutton ( jendela , text = " Wanita " ,
16 variable = pilihan_gender , value = " Wanita " )
17 radio2 . pack ( anchor = tk . W )
18
19 def tampi lkan_pilihan () :
20 print ( f " Pilihan Anda : { pilihan_gender . get () } " )
21
22 tombol = tk . Button ( jendela , text = " Tampilkan Pilihan " , command = tampilkan_pilihan
)
23 tombol . pack ( pady =10)
24
25 jendela . mainloop ()
4 Menampilkan Pesan dengan messagebox
Tkinter menyediakan modul messagebox untuk menampilkan dialog pop-up yang umum, seperti
info, peringatan, error, atau konfirmasi.
3
1 import tkinter as tk
2 from tkinter import messagebox
3
4 jendela = tk . Tk ()
5 jendela . withdraw () % Sembunyikan jendela utama
6
7 % Menampilkan berbagai jenis messagebox
8 messagebox . showinfo ( " Informasi " , " Ini adalah pesan informasi . " )
9 messagebox . showwarning ( " Peringatan " , " Ini adalah pesan peringatan . " )
10 messagebox . showerror ( " Error " , " Terjadi sebuah kesalahan ! " )
11
12 hasil = messagebox . askyesno ( " Konfirmasi " , " Apakah Anda yakin ingin keluar ? " )
13 if hasil :
14 print ( " Pengguna memilih ’ Yes ’" )
15 else :
16 print ( " Pengguna memilih ’ No ’" )
17
18 % jendela . destroy () % Baris ini akan menutup program
5 Membuat Menu Bar
Hampir semua aplikasi desktop memiliki menu bar di bagian atas (File, Edit, View, etc.). Di
Tkinter, ini dapat dibuat dengan mudah.
1 import tkinter as tk
2 from tkinter import messagebox
3
4 def keluar_aplikasi () :
5 if messagebox . askokcancel ( " Keluar " , " Anda yakin ingin keluar ? " ) :
6 jendela . destroy ()
7
8 jendela = tk . Tk ()
9 jendela . title ( " Aplikasi dengan Menu " )
10 jendela . geometry ( " 500 x400 " )
11
12 % 1. Buat menu bar utama
13 menu_bar = tk . Menu ( jendela )
14 jendela . config ( menu = menu_bar )
15
16 % 2. Buat menu " File " dan tambahkan ke menu bar
17 menu_file = tk . Menu ( menu_bar , tearoff =0)
18 menu_bar . add_cascade ( label = " File " , menu = menu_file )
19
20 % 3. Tambahkan item - item ke menu " File "
21 menu_file . add_command ( label = " Baru " )
22 menu_file . add_command ( label = " Buka " )
23 menu_file . add_separator () % Garis pemisah
24 menu_file . add_command ( label = " Keluar " , command = keluar_aplikasi )
25
26 % 4. Buat menu " Help "
27 menu_help = tk . Menu ( menu_bar , tearoff =0)
28 menu_bar . add_cascade ( label = " Help " , menu = menu_help )
29 menu_help . add_command ( label = " Tentang " )
30
31 jendela . mainloop ()
6 Kesimpulan
Dalam tutorial ini, Anda telah belajar teknik-teknik yang lebih canggih di Tkinter untuk mem-
bangun aplikasi yang lebih terstruktur dan fungsional. Anda sekarang dapat mengorganisir
4
UI dengan Frame, menggunakan berbagai widget interaktif, memberikan umpan balik kepada
pengguna melalui messagebox, dan menyediakan navigasi standar dengan Menu.
Langkah selanjutnya bisa berupa eksplorasi widget Canvas untuk menggambar, atau mem-
pelajari cara menstrukturkan aplikasi Tkinter Anda menggunakan konsep pemrograman bero-
rientasi objek (OOP).