Overview
Python Tkinter adalah library GUI yang memungkinkan kamu membangun aplikasi dengan antarmuka pengguna grafis secara efisien. Sebagai bagian dari distribusi standar Python, Tkinter termasuk library yang mudah diakses dan digunakan, membuatnya menjadi 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 pengguna grafis (GUI) yang menarik dan interaktif?
Inilah yang akan kita bahas; Python Tkinter.
Dalam dunia digital, graphical user interface (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 e-mail, berbelanja online, sampai mengatur jadwal harian. Semua ini memanfaatkan GUI.
Di sini, kita akan mengeksplorasi Python Tkinter, library standar Python untuk membuat aplikasi GUI. Yuk, simak!
Definisi Tkinter
Python Tkinter adalah library standar Python yang digunakan untuk membangun antarmuka pengguna grafis atau graphical user interface (GUI).
library ini menawarkan kemudahan dalam mempelajari dan menerapkan konsep-konsep GUI, memungkinkan pemula di bidang software engineering untuk memulai dan menguasai dasar-dasar pembuatan GUI dalam waktu 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 fleksibilitasnya. Sebagai library Python, Tkinter dapat berfungsi di berbagai sistem operasi, termasuk Windows, MacOS, dan Linux. Dengan kata lain, GUI yang kamu bangun menggunakan Tkinter bisa berjalan di hampir semua sistem operasi. Inilah salah satu alasan mengapa banyak developer memilih Python Tkinter untuk pembuatan GUI-nya.
Cara Install Tkinter
Untuk memasang Python Tkinter, langkah pertama yang perlu kamu lakukan adalah memeriksa apakah library ini sudah terpasang di environment 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:
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 "Install Now" saat melakukan instalasi.
- Untuk pengguna Linux, kamu bisa memasang Python Tkinter melalui terminal dengan perintah berikut:
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:
Window
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:
Button
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:
Label
Label adalah komponen yang digunakan untuk menampilkan teks atau gambar. Label bisa dibuat dengan menggunakan fungsi Label().
Contoh penggunaan:
Input fields
Input fields digunakan untuk menerima input dari pengunjung. Kamu bisa membuat input fields dengan kelas Entry().
Contoh penggunaan:
ListBox
ListBox adalah komponen yang menampilkan daftar pilihan kepada pengunjung. ListBox dapat diterapkan menggunakan fungsi Listbox().
Contoh penggunaan:
Mengatur 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().
pack()
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:
Dalam contoh di atas, button1 akan ditempatkan lebih dulu, kemudian diikuti oleh button2.
grid()
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:
Dalam contoh di atas, button1 akan ditempatkan di baris pertama kolom pertama dan button2 ditempatkan di baris pertama kolom kedua.
place()
Metode place() memberikan kontrol paling banyak terhadap penempatan widget. Dengan metode ini, kamu bisa menentukan koordinat x dan y tempat widget akan ditempatkan.
Berikut contoh penggunaannya:
Dalam contoh di atas, button1 akan ditempatkan di koordinat x=50 dan y=50, sementara button2 ditempatkan di koordinat x=100 dan y=100.
Menangani Peristiwa (Event Handling)
Konsep peristiwa atau 'events' adalah aksi yang dilakukan oleh pengunjung, seperti mengeklik tombol, mengetikkan teks pada input fields, memilih item dari daftar, dan lain sebagainya.
Menangani peristiwa berarti memberikan respon atau aksi ketika peristiwa tersebut terjadi.
Python Tkinter menyediakan beberapa cara untuk menangani peristiwa, salah satunya adalah menggunakan metode command pada widget, seperti tombol. Metode command memungkinkan kamu menghubungkan sebuah fungsi yang akan dijalankan saat tombol diklik.
Berikut contoh penggunaannya:
Pada contoh di atas, kita membuat sebuah fungsi say_hello() yang akan mencetak teks "Halo!" ke konsol. Kemudian, kita menghubungkan 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:
Dalam contoh di atas, kita 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 (<Button-1>) 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 user interface dengan tombol, label, dan input fields. Kalkulator juga dapat menampilkan data hasil perhitungan.
Pertama, kita akan membuat window dan input fields.
Di sini, kita menggunakan StringVar() untuk membuat variabel yang dapat diperbarui dan ditampilkan pada input fields.
Selanjutnya, kita akan membuat fungsi untuk menangani peristiwa klik tombol:
Fungsi button_click() dipakai untuk mengambil value dari input (menggunakan input_text.get()) dan akan menambahkan teks tombol ke value yang sudah ada jika kamu memasukkan sesuatu. Proses ini dilakukan dengan cara menyetel value baru ke input ( menggunakan input_text.set(current + button_text)), di mana current adalah value saat ini dari input dan button_text adalah teks dari tombol yang ditekan.
Fungsi calculate() digunakan untuk menghitung ekspresi matematika dari input fields dengan memanggil metode eval(). Nantinya metode ini akan melakukan kalkulasi dari value yang kamu input dan menampilkan hasilnya.
Sementara itu, fungsi clear() dipakai untuk mengubah value dari input menjadi string kosong (""). Dengan kata lain, fungsi ini mengosongkan input fields.
Terakhir, kita akan membuat tombol-tombolnya:
Di sini, kita menggunakan lambda untuk membuat fungsi anonim yang memanggil button_click() atau calculate(), tergantung pada teks tombol. Tombol 'C' digunakan untuk mengosongkan input fields.
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 fields akan menampilkan tulisan "error".
{{COMPONENT_IDENTIFIER}}
#2 Membuat radio button
Radiobutton digunakan untuk memberikan pilihan kepada audiens. Dengan elemen ini, audiens hanya bisa memilih salah satu dari beberapa pilihan yang disediakan.
Syntax:
#3 Membuat scrollbar
Scrollbar digunakan untuk menavigasi konten yang panjang atau lebar. Elemen ini berfungsi jika konten tidak muat dalam jendela aplikasi.
Syntax:
#4 Membuat listbox
Listbox dipakai untuk menampilkan daftar item yang bisa dipilih audiens. Listbox cocok untuk menyediakan pilihan berdasarkan daftar.
Syntax:
#5 Membuat canvas (untuk menggambar)
Canvas adalah area di mana kamu bisa menggambar bentuk seperti garis, oval, poligon, dan lainnya. Alat ini cocok untuk aplikasi grafis.
Syntax:
#6 Membuat tabel dengan grid
Metode grid berfungsi dalam menampilkan data dalam bentuk tabel. Elemen ini membantu dalam menampilkan data terstruktur.
Syntax:
#7 Menampilkan gambar
PhotoImage digunakan untuk menampilkan gambar dari file. Cocok untuk aplikasi yang perlu menampilkan media visual.
Syntax:
#8 Membuat progress bar
Progressbar digunakan untuk menunjukkan perkembangan suatu proses. Sangat berguna dalam situasi di mana audiens menunggu suatu tugas selesai, seperti mendownload.
Syntax:
#9 Membuat tab
Untuk membuat interface berbasis tab, kamu dapat menggunakan Notebook. Alat ini memungkinkan audiens untuk beralih di antara berbagai bagian konten dalam satu jendela.
Syntax:
#10 Membuat slider
Scale digunakan untuk membantu audiens memilih dari rentang nilai dengan cara menggeser kontrol. Cocok dipakai jika kamu mengharuskan audiens memilih nilai dalam kisaran tertentu, seperti volume.
Syntax:
FAQ (Frequently Ask Question)
Bagaimana cara mengubah ukuran window di Tkinter?
Ukuran window di Tkinter bisa diubah menggunakan metode geometry(). Contoh:
Bagaimana cara menambahkan gambar pada widget di Tkinter?
Kamu dapat menambahkan gambar pada widget di Tkinter dengan menggunakan kelas PhotoImage atau BitmapImage.
Contoh:
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 fields (entry) dan teks label (label) yang harus diperbarui.
Contoh:
Bagaimana menggunakan entry untuk password?
Saat ingin menggunakan entry untuk password, kamu bisa menambahkan method 'show' pada entry. Contoh:
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 library yang mudah diakses dan digunakan, membuatnya menjadi pilihan populer bagi para pemula dan profesional dalam pembuatan aplikasi GUI.
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)