Langsung ke konten utama

Python Tkinter untuk Membangun GUI


    

10 Contoh Program Python Tkinter untuk Membangun GUI

Python Tkinter adalah perpustakaan standar Python yang digunakan untuk membangun GUI. Inilah definisi, komponen, dan contoh programnya!
Staf RevoU
18 Agustus 2023
8
min baca

Mau Belajar

Rekayasa Perangkat Lunak

?

Belajar di RevoU! Dapatkan skill digital paling diminati langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, pembinaan karir 1:1, dan akses ke Community Hub dengan 6000+ anggota selamanya untuk mendukung perkembangan karir kamu!
PROGRAM LENGKAP DAFTARKURSUS COBA GRATIS

Ringkasan

Python Tkinter adalah Library GUI yang memungkinkan kamu membangun aplikasi dengan antarmuka pengguna grafis secara efisien. Sebagai bagian dari distribusi standar Python, Tkinter termasuk perpustakaan yang mudah diakses dan digunakan, menjadikannya pilihan populer bagi para pemula dan profesional dalam pembuatan aplikasi GUI.

Selama ini, Python terkenal sebagai bahasa pemrograman yang fleksibel. Namun apakah kamu tahu bahwa Python juga memiliki kemampuan untuk membuat aplikasi dengan antarmuka grafis pengguna (GUI) yang menarik dan interaktif?

Inilah yang akan kita bahas; Python Tkinter.

Dalam dunia digital, antarmuka pengguna grafis (GUI) menjadi salah satu faktor yang diprioritaskan saat membangun aplikasi. Bayangkan saja, seberapa sering kamu berinteraksi dengan aplikasi berbasis GUI setiap hari? Mulai dari mengirim email , berbelanja online , hingga mengatur jadwal harian. Semua ini memanfaatkan GUI.

Di sini, kita akan mengeksplorasi Python Tkinter, perpustakaan standar Python untuk membuat aplikasi GUI. Yuk, simak!

Definisi Tkinter

Python Tkinter adalah perpustakaan standar Python yang digunakan untuk membangun antarmuka pengguna grafis atau antarmuka pengguna grafis (GUI). 

perpustakaan ini menawarkan kemudahan dalam mempelajari dan menerapkan konsep-konsep GUI, memungkinkan pemula di bidang rekayasa perangkat lunak untuk memulai dan menguasai dasar-dasar pembuatan GUI dalam waktu yang relatif singkat.

Tak hanya itu, Python Tkinter juga menawarkan keleluasaan tinggi. Artinya, developer dapat membuat GUI yang sederhana ataupun kompleks, sesuai kebutuhan aplikasi yang mereka kembangkan.

Keuntungan lain dari Python Tkinter adalah pahitnya. Sebagai perpustakaan Python, Tkinter dapat berfungsi di berbagai sistem operasi, termasuk Windows, MacOS, dan Linux. Dengan kata lain, GUI yang kamu bangun menggunakan Tkinter dapat berjalan di hampir semua sistem operasi. Inilah salah satu alasan mengapa banyak developer memilih Python Tkinter untuk pembuatan GUI-nya.

Cara Instal Tkinter

Untuk memasang Python Tkinter, langkah pertama yang perlu kamu lakukan adalah memeriksa apakah perpustakaan ini sudah terpasang di lingkungan Python kamu. Hal ini penting karena sebagian besar distribusi Python, termasuk versi yang lebih baru, biasanya sudah menyertakan Python Tkinter secara default .

Pemeriksaaan dapat dilakukan dengan membuka interpreter Python melalui terminal atau command prompt dan mencoba mengimpor Tkinter dengan mengetikkan kode berikut:

try:
	import tkinter
	print("Tkinter sudah terpasang di lingkungan Python Anda"'
except ImportError:
	print("Tkinter belum terpasang")

Jika Python Tkinter belum terpasang, kamu bisa mengikuti langkah-langkah berikut.

  • Untuk pengguna Windows dan MacOS, kamu bisa mengunduh Python yang sudah menyertakan Tkinter dari situs resmi Python ( https://www.python.org/downloads/ ). Pastikan kamu memilih opsi " Instal Sekarang " saat melakukan instalasi.
  • Untuk pengguna Linux , kamu bisa memasang Python Tkinter melalui terminal dengan perintah berikut:
sudo apt-get install python3-tk

Setelah proses instalasi selesai, kamu bisa kembali memeriksa apakah Python Tkinter sudah terpasang dengan cara yang sama seperti sebelumnya.

Komponen Tkinter

Berikut beberapa komponen utama Python Tkinter:

Jendela

Window adalah komponen utama dalam GUI yang berfungsi sebagai wadah untuk komponen-komponen lainnya. Dalam Python Tkinter, window bisa dibuat menggunakan fungsi Tk().

Contoh penggunaan:

from tkinter import*
window = Tk()
window.mainloop()

Tombol

Button adalah komponen yang memungkinkan pengunjung berinteraksi dengan aplikasi, seperti mengirimkan formulir atau menavigasi antar halaman. Button bisa dibuat dengan menggunakan fungsi Button().

Contoh penggunaan:

from tkinter import*
window = Tk()
button = Button (window, text="Klik Saya")
button.pack()
window.mainloop()

Label

Label adalah komponen yang digunakan untuk menampilkan teks atau gambar. Label bisa dibuat dengan menggunakan fungsi Label() .

Contoh penggunaan:

from tkinter import*
window = Tk()
label = Label (window, text="Ini adalah label")
label.pack()
window.mainloop()

Bidang masukan

Bidang masukan digunakan untuk menerima masukan dari pengunjung . Kamu bisa membuat kolom input dengan kelas Entry() .

Contoh penggunaan:

from tkinter import*
window = Tk()
entry = Entry (window)
entry.pack()
window.mainloop()

Kotak daftar

ListBox adalah komponen yang menampilkan daftar pilihan kepada pengunjung. ListBox dapat diterapkan menggunakan fungsi Listbox().

Contoh penggunaan:

from tkinter import*
window = Tk()
listbox = Listbox(window)
listbox.insert(1, "Pilihan 1")
listbox.insert(2, "Pilihan 2")
listbox.insert(3, "Pilihan 3")
listbox.pack()
window.mainloop()

Pengaturan Tata Letak (Layout)

Dalam Python Tkinter, ada tiga metode yang umum digunakan untuk mengatur layout dari komponen-komponen user interface , yaitu pack(), grid(), dan place().

mengemas()

Metode ini adalah metode termudah untuk mengatur widget . Metode pack() akan secara otomatis menempatkan widget dalam window . Pack() mengatur widget secara berurutan, baik secara vertikal maupun horizontal, tergantung pada bagaimana kamu menambahkannya ke window .

Berikut contoh penggunaannya:

from tkinter import Tk, Button

window = Tk()

button1 = Button (window, text="Button 1")
button1.pack()

button2 = Button (window, text="Button 2")
button2.pack()

window.mainloop()

Dalam contoh di atas, button1 akan ditempatkan lebih dulu, kemudian diikuti oleh button2 .

kisi()

Metode grid() memberikan kontrol yang lebih baik terhadap penempatan widget .

Widget akan ditempatkan dalam grid atau tabel virtual, di mana kamu bisa menentukan baris dan kolom tempat widget sesuai keinginanmu.

Berikut contoh penggunaannya:

from tkinter import Tk, Button

window = Tk()

button1 = Button (window, text="Button 1")
button1.grid(row=0, column=0)

button2 = Button(window, text="Button 2”)
button2.grid(row=0, column=1)

window.mainloop()

Dalam contoh di atas, button1 akan ditempatkan di baris pertama kolom pertama dan button2 ditempatkan di baris pertama kolom kedua.

tempat()

Metode place() memberikan kontrol paling banyak terhadap penempatan widget . Dengan metode ini, Anda dapat menentukan koordinat x dan y tempat widget akan ditempatkan.

Berikut contoh penggunaannya:

from tkinter import k, Button

window = Tk()

button1 = Button (window, text="Button 1")
button1.place(x=50, y=50)

button2 = Button (window, text="Button 2")
button2.place (x=100, y=100)

window.mainloop()

Dalam contoh di atas, tombol1 akan ditempatkan di koordinat x=50 dan y=50 , sementara tombol2 ditempatkan di koordinat x=100 dan y=100 .

Menyelenggarakan Peristiwa (Event Handling)

Konsep peristiwa atau 'events' adalah tindakan yang dilakukan oleh pengunjung, seperti mengeklik tombol, mengetikkan teks pada input field , memilih item dari daftar, dan lain-lain.

mengikutsertakan peristiwa berarti memberikan respons atau aksi ketika peristiwa tersebut terjadi.

Python Tkinter menyediakan beberapa cara untuk menangani peristiwa, salah satunya adalah menggunakan metode perintah pada widget , seperti tombol. Metode command memungkinkan kamu menghubungkan suatu fungsi yang akan dijalankan saat tombol diklik.

Berikut contoh penggunaannya:

from tkinter import Tk, Button
def say_hello():
	print ("Halo!")

window = Tk()

button = Button (window, text="Klik Saya", command=say_hello)
button.pack()

window.mainloop()

Pada contoh di atas, kami membuat sebuah fungsi say_hello() yang akan mencetak teks " Halo! " ke konsol. Kemudian, kita menjelaskan fungsi ini ke tombol dengan parameter command=say_hello .

Saat tombol diklik, fungsi say_hello() akan dijalankan dan konsol menampilkan teks " Halo!" .

Selain metode command , Python Tkinter juga menyediakan metode bind untuk menangani peristiwa yang lebih kompleks. Metode bind membantu kamu menangani berbagai jenis peristiwa, seperti pergerakan mouse , penekanan tombol keyboard , dan lainnya. 

Berikut contoh penggunaannya:

from tkinter import Tk, Label

def handle_event(event):
	print ("Anda mengklik label!")

window = Tk()

label = Label (window, text="Klik Saya")
label.bind("<Button-1>", handle_event)
label.pack()

window.mainloop)

Dalam contoh di atas, kami membuat fungsi handle_event() yang akan menampilkan teks " kamu mengklik label! " ke konsol. Selanjutnya kita menggunakan metode bind pada label untuk menghubungkan peristiwa klik kiri mouse () dengan fungsi handle_event().

Saat label diklik, fungsi handle_event() akan dijalankan dan konsol akan menampilkan teks " kamu mengklik label! ".

Contoh Penggunaan Tkinter

Berikut beberapa contoh penggunaan Python Tkinter:

#1 Membuat aplikasi kalkulator

Sekarang, kita akan mencoba membuat aplikasi kalkulator. Aplikasi ini akan memiliki antarmuka pengguna dengan tombol, label, dan kolom input . Kalkulator juga dapat menampilkan data hasil perhitungan.

Pertama, kita akan membuat window dan input field .

from tkinter import Tk, Entry, Button, StringVar

window = Tk()

window.title ( "Kalkulator Sederhana")

# Membuat bidang input
input_text = StringVar()
input_field = Entry(window, textvariable=input_text)
input_field.grid(row=0, column=0, columnspan=4)

Di sini, kami menggunakan StringVar() untuk membuat variabel yang dapat diperbarui dan ditampilkan pada input field .

Selanjutnya kita akan membuat fungsi untuk menangani peristiwa klik tombol:

def button_click(button_text):
	current = input_text.get()
	input_text.set(current + button_text)

def calculate():
	try:
		result = str(eval(input_text.get()))
		input_text.set(result)
	except Exception as e:
		input_text.set("error")

def clear() :
	input_text.set("')

Fungsi button_click() dipakai untuk mengambil nilai dari input (menggunakan input_text.get() ) dan akan menambahkan teks tombol ke nilai yang sudah ada jika kamu memasukkan sesuatu. Proses ini dilakukan dengan cara menambahkan nilai baru ke input ( menggunakan input_text.set(current + button_text) ) , di mana current adalah nilai saat ini dari input dan button_text adalah teks dari tombol yang ditekan.

Fungsi kalkulasi() digunakan untuk menghitung ekspresi matematika dari input field dengan memanggil metode eval() . Nantinya metode ini akan melakukan kalkulasi dari nilai yang kamu masukan dan menampilkan hasilnya.

Sementara itu, fungsi clear() dipakai untuk mengubah nilai dari input menjadi string kosong (""). Dengan kata lain, fungsi ini mengosongkan kolom input .

Terakhir, kita akan membuat tombol-tombolnya:

buttons = [
	‘7’, ‘8’, ‘9’, ‘/’
	‘4’, ‘5’, ‘6’, ‘*’
	‘1’, ‘2’, ‘3’, ‘-’
	‘0’, ‘.’, ‘=’, ‘+’
]
row = 1
col = 0

for button in buttons:
	Button(window, text=button, width=5, command=lambda button=button: 
  button_click(button if button != "=" else calculate())).grid (row=row, column=col)
col += 1
if col > 3:
	col = 0
	row += 1

# Tombol untuk mengosongkan bidang input
Button(window, text='C', width=5, command=clear).grid(row=row, column=col)

window.mainloop()

Di sini, kita menggunakan lambda untuk membuat fungsi anonim yang memanggil button_click() atau calcul() , tergantung pada teks tombol. Tombol 'C' digunakan untuk mengosongkan kolom input .

Contoh di atas akan menghasilkan aplikasi kalkulator sederhana. Kamu dapat mengetikkan ekspresi matematika dengan mengklik tombol-tombol angka dan operator, lalu klik tombol ' = ' untuk menghitung hasilnya. Jika ada kesalahan dalam ekspresi matematika, input field akan menampilkan tulisan " error ".

Mau belajar

Rekayasa Perangkat Lunak

?

Belajar di RevoU! Dapatkan skill digital paling diminati langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, pembinaan karir 1:1, dan akses ke Community Hub dengan 6000+ anggota selamanya untuk mendukung perkembangan karir kamu!

#2 Membuat tombol radio

Radiobutton digunakan untuk memberikan pilihan kepada audiens. Dengan elemen ini, audiens hanya bisa memilih salah satu dari beberapa pilihan yang disediakan.

Sintaksis:

from tkinter import Tk, Radiobutton, IntVar

window = Tk()

v = IntVar()
Radiobutton(window, text="Pilihan 1", variable=v, value=1).pack()
Radiobutton(window, text="Pilihan 2", variable=v, value=2).pack()

window.mainloop()

#3 Membuat scrollbar

Scrollbar digunakan untuk menavigasi konten yang panjang atau lebar. Elemen ini berfungsi jika konten tidak dimuat dalam jendela aplikasi.

Sintaks :

from tkinter import Tk, Scrollbar, Text

window = Tk()

scrollbar = Scrollbar(window)
scrollbar.pack(side="right", fill="y")

text = Text(window, wrap="none", yscrollcommand=scrollbar.set)
text.pack(side="left", fill="both", expand=True)

scrollbar.config(command=text.yview)

window.mainloop()

#4 Membuat listbox

Listbox dipakai untuk menampilkan daftar item yang bisa dipilih audiens. Listbox cocok untuk menyediakan pilihan berdasarkan daftar.

Sintaks :

from tkinter import Tk, Listbox

window = Tk()

listbox = Listbox(window)
listbox.insert(1, "Item 1")
listbox.insert(2, "Item 2")
listbox.pack()

window.mainloop()

#5 Membuat kanvas (untuk menggambar)

Canvas adalah area di mana kamu bisa menggambar bentuk seperti garis, oval, poligon, dan lainnya. Alat ini cocok untuk aplikasi grafis.

Sintaksis:

from tkinter import Tk, Canvas

window = Tk()

canvas = Canvas(window, width=200, height=100)
canvas.pack()

canvas.create_line(0, 0, 200, 100)
canvas.create_rectangle(50, 25, 150, 75, fill="blue")

window.mainloop()

#6 Membuat tabel dengan grid

Metode grid berfungsi dalam menampilkan data dalam bentuk tabel. Elemen ini membantu dalam menampilkan data terstruktur.

Sintaksis:

from tkinter import Tk, Label

window = Tk()

for i in range(3):
    for j in range(3):
        Label(window, text=f"Baris {i} Kolom {j}").grid(row=i, column=j)
        
window.mainloop()

#7 Menampilkan gambar

PhotoImage digunakan untuk menampilkan gambar dari file . Cocok untuk aplikasi yang perlu menampilkan media visual.

Sintaksis:

from tkinter import Tk, Label, PhotoImage

window = Tk()

gambar = PhotoImage(file="gambar.png")

label = Label(window, image=gambar)
label.pack()

window.mainloop()

#8 Membuat bilah kemajuan

Progressbar digunakan untuk menunjukkan perkembangan suatu proses. Sangat berguna dalam situasi di mana audiens menunggu suatu tugas selesai, seperti mendownload .

Sintaksis:

from tkinter import Tk
from tkinter.ttk import Progressbar

window = Tk()

progress_bar = Progressbar(window, orient="horizontal", length=200, mode="determinate")
progress_bar.pack()
progress_bar["value"] = 50

window.mainloop()

#9 Membuat tab

Untuk membuat antarmuka berbasis tab , Anda dapat menggunakan Notebook . Alat ini memungkinkan audiens untuk beralih di antara berbagai bagian konten dalam satu jendela.

Sintaksis:

from tkinter import Tk
from tkinter.ttk import Notebook, Frame

window = Tk()

tab_control = Notebook(window)
tab1 = Frame(tab_control)

tab_control.add(tab1, text="Tab 1")
tab2 = Frame(tab_control)

tab_control.add(tab2, text="Tab 2")
tab_control.pack(expand=1, fill="both")

window.mainloop()

#10 Membuat slider

Skala digunakan untuk membantu audiens memilih dari jarak nilai dengan cara menggeser kontrol. Cocok dipakai jika kamu mengharuskan audiens memilih nilai dalam kisaran tertentu, seperti volume.

Sintaksis:

from tkinter import Tk, Scale

window = Tk()

slider = Scale(window, from_=0, to=100, orient="horizontal")
slider.pack()

window.mainloop()

FAQ (Pertanyaan yang Sering Diajukan)

Bagaimana cara mengubah ukuran jendela di Tkinter?

Ukuran jendela di Tkinter dapat diubah menggunakan metode geometri(). Contoh:

window = Tk()
window-geometry("300×200") # lebar x tinggi
window.mainloop()

Bagaimana cara menambahkan gambar pada widget di Tkinter?

Kamu dapat menambahkan gambar pada widget di Tkinter dengan menggunakan kelas PhotoImage atau BitmapImage .

Contoh:

from tkinter import Tk, Label, PhotoImage

window = Tk()

photo = PhotoImage(file="path/to/your/image.png")
label = Label (window, image=photo)
label.pack()

window.mainloop()

Pada contoh di atas, ganti 'path/to/your/image.png' dengan path file gambar kamu.

Apa itu StringVar di Tkinter dan bagaimana cara menggunakannya?

StringVar adalah salah satu tipe variabel Tkinter yang digunakan untuk menyimpan string . StringVar sering diterapkan dalam penggunaan input field (entry) dan teks label ( label ) yang harus diperbarui.

Contoh:

from tkinter import Tk, Label, StringVar

window = Tk()

text_var = StringVar()
text_var.set ("Halo!")

label = Label (window, textvariable=text_var)
label.pack()

window.mainloop()

Bagaimana cara menggunakan entri untuk kata sandi?

Saat ingin menggunakan entry untuk password , kamu bisa menambahkan metode 'show' pada entry . Contoh:

passw_entry=tk.Entry(window, textvariable = passw_var,  show = '*')

Penutup

Python Tkinter adalah Library GUI yang memungkinkan kamu membangun aplikasi dengan antarmuka pengguna grafis secara efisien. Sebagai bagian dari distribusi standar Python, Tkinter termasuk perpustakaan yang mudah diakses dan digunakan, menjadikannya pilihan populer bagi para pemula dan profesional dalam pembuatan aplikasi GUI.

Staf RevoU
Mulailah karir Anda di bidang teknologi dengan RevoU!

Masih ragu? Coba dulu 3 hari, GRATIS
di Kelas Uji Coba Full-Stack!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat tugas langsung, Bimbingan Team Lead & diskusi kelompok kecil. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (lewati semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Menu

Mulai karirmu dalam

Rekayasa Perangkat Lunak

Belajar di RevoU! Dapatkan skill digital paling diminati langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, pembinaan karir 1:1, dan akses ke Community Hub dengan 6000+ anggota selamanya untuk mendukung perkembangan karir kamu!

Komentar

Postingan populer dari blog ini

Pemograman R Studio

  Metode Numerik Menggunakan R Pengantar Gambaran Isi Buku Cara Berkontribusi dalam Buku Ini Ucapan Terima Kasih Lisensi 1  Bahasa Pemrograman R 1.1  Sejarah R 1.2  Fitur dan Karakteristik R 1.3  Kelebihan dan Kekurangan R 1.4  RStudio 1.5  Menginstall R dan RStudio 1.6  Working Directory 1.6.1  Mengubah Lokasi Working Directory 1.6.2  Mengubah Lokasi Working Directory Default 1.7  Memasang dan Mengaktifkan Paket R 1.8  Fasilitas Help 1.8.1  Mencari Help dari Suatu Perintah Tertentu 1.8.2  General Help 1.8.3  Fasilitas Help Lainnya 1.9  Referensi 2  Kalkulasi Menggunakan R 2.1  Operator Aritmatik 2.2  Fungsi Aritmetik 2.3  Operator Relasi 2.4  Operator Logika 2.5  Memasukkan Nilai Kedalam Variabel 2.6  Tipe dan Struktur Data 2.7  Vektor 2.7.1  Membuat vektor 2.7.2  Missing Values 2.7.3  Subset Pada Vektor 2.7.4  Operasi Matematis Menggunakan Vektor ...

MIGRASI DATABASE DARI SQLite KE MySQL (Part-1)

  MIGRASI DATABASE DARI SQLite KE MySQL (Part-1) Pemakaian yang mana lebih baik dalam membuat database_musik di mysql atau Exel yang cell Cell pada tabel dilakukan operasi fungsi logika matematika. Untuk keperluan membuat database atau tabel yang memerlukan operasi logika atau matematika, seperti yang Anda sebutkan, MySQL jauh lebih baik dibandingkan Excel. Berikut adalah beberapa alasan mengapa MySQL lebih disarankan: 1. **Kapasitas dan Skalabilitas**: MySQL dapat menangani jumlah data yang jauh lebih besar daripada Excel. Ini penting jika Anda berencana untuk menyimpan banyak data atau melakukan operasi yang kompleks di atas data tersebut. 2. **Kekuatan dan Kinerja**: MySQL dirancang khusus untuk memproses query dan operasi basis data dengan cepat. Ini termasuk operasi matematika, logika, dan agregasi data yang umum dilakukan dalam aplikasi. 3. **Fleksibilitas Struktur**: Dalam MySQL, Anda dapat dengan mudah menentukan struktur tabel yang kompleks dan melakukan kueri yang lebih r...

Cara Menjadi Pengembang Front End – Keterampilan Front End Web Dev

  Menyumbangkan Belajar coding —  kurikulum 3.000 jam gratis 10 JUNI 2022 / #PENGEMBANGAN UJUNG DEPAN Bagaimana Menjadi Pengembang Front End – Keterampilan Front End Web Dev Joel Olawanle Beberapa profesional dengan bayaran tertinggi di dunia adalah pengembang front-end.  Mereka menggunakan pengetahuan dan bakat mereka untuk merancang situs web yang menarik dan ramah pengguna. Pengembang front-end tidak memerlukan gelar atau sertifikat sekolah untuk bekerja.  Sebaliknya, mereka harus memahami dasar-dasar pengembangan front-end, bahasa pemrograman, dan kerangka kerja pengembangan front-end. Dalam panduan ini, Anda akan belajar bagaimana menjadi pengembang front end dengan terlebih dahulu memahami apa yang dimaksud dengan pengembangan front end, keterampilan teknis dan soft skill yang diperlukan, bahasa dan kerangka kerja yang tersedia, dan beberapa langkah untuk memulai. Seorang pengembang front-end di Amerika Serikat dapat memperoleh rata-rata $86,178 per tahun, menu...