0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan

Pemrograman Python Menggunakan Tkinter GUI

Buku ini adalah panduan pembelajaran untuk pemrograman aplikasi GUI menggunakan Python dengan pustaka Tkinter. Buku ini mencakup konsep dasar hingga penerapan yang lebih kompleks, termasuk pengelolaan layout, event handling, dan integrasi dengan database MySQL. Diharapkan buku ini menjadi referensi yang bermanfaat bagi pembaca dalam mengembangkan kemampuan pemrograman mereka.

Diunggah oleh

alaraaylla
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan

Pemrograman Python Menggunakan Tkinter GUI

Buku ini adalah panduan pembelajaran untuk pemrograman aplikasi GUI menggunakan Python dengan pustaka Tkinter. Buku ini mencakup konsep dasar hingga penerapan yang lebih kompleks, termasuk pengelolaan layout, event handling, dan integrasi dengan database MySQL. Diharapkan buku ini menjadi referensi yang bermanfaat bagi pembaca dalam mengembangkan kemampuan pemrograman mereka.

Diunggah oleh

alaraaylla
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 23

PEMPROGRAMAN PYTHON

DENGAN GUI TKINTER


PEMPROGRAMAN PYTHON
DENGAN GUI TKINTER

Dudes Manalu, M.Kom


Reagan Surbakti Saragih, M.Kom
Peniel Sam Putra Sitorus, M.Kom
PEMPROGRAMAN PYTHON DENGAN GUI TKINTER

Penulis:
Dudes Manalu, M.Kom
Reagan Surbakti Saragih, M.Kom
Peniel Sam Putra Sitorus, M.Kom

ISBN : 978-623-10-3190-7 (PDF)

Editor:
Reagan Surbakti Saragih, M.Kom

Desain sampul dan tata letak:


Satrio Wibowo Kusuma

Penerbit:
Borneo Novelty Publishing

Redaksi:
Jl. Soekarno Hatta, Km 8, Graha Indah, Balikpapan, 76126, Kalimantan
Timur, Indonesia

www.borneonovelty.com | [email protected]

Ukuran : 15.5 x 23 cm; x + 55 halaman

Cetakan pertama, 10 September 2024

Hak Penerbitan ©2024 Borneo Novelty Publishing


Dilarang memperbanyak karya tulis ini dari ijin tertulis dari
penerbit/penulis, sebagian atau seluruhnya dalam bentuk apapun, baik
cetak, photoprint, microfilm, dan sebagainya.
PRAKATA

Dengan mengucapkan syukur ke hadirat Tuhan Yang Maha Esa, kami


dengan bangga mempersembahkan Buku pembelajaran "Bahasa
Pemrograman Python Tkinter". Buku ini dirancang khusus untuk para
pembelajar yang ingin memperdalam pengetahuan mereka dalam
pengembangan aplikasi GUI (Graphical User Interface) menggunakan
bahasa pemrograman Python.
Dalam dunia teknologi yang terus berkembang, kemampuan untuk
menciptakan aplikasi dengan antarmuka pengguna yang intuitif dan
menarik sangatlah penting. Python, dengan pustaka Tkinter, menawarkan
solusi sederhana namun kuat untuk pengembangan aplikasi GUI. Tkinter
memungkinkan para pengembang untuk membuat berbagai komponen
grafis dengan mudah dan cepat, menjadikannya pilihan populer di kalangan
pemrogram Python.
Buku ini disusun secara sistematis dan terstruktur, dimulai dari konsep
dasar hingga penerapan yang lebih kompleks. Pembaca akan diajak untuk
mengenal Tkinter dari dasar, termasuk cara menginstal dan mengimpor
Buku, membuat jendela aplikasi, menggunakan berbagai komponen GUI,
mengelola layout, hingga menangani berbagai jenis event. Selain itu, Buku
ini juga mencakup bagaimana mengintegrasikan aplikasi Tkinter dengan
database MySQL untuk membuat aplikasi yang lebih dinamis dan fungsional.
Kami berharap Buku ini dapat menjadi referensi yang bermanfaat dan
mempermudah proses belajar para pembaca dalam memahami dan
menguasai Tkinter. Setiap bab dilengkapi dengan contoh-contoh praktis
yang dirancang untuk memudahkan pemahaman konsep-konsep yang
disajikan. Kami juga menambahkan proyek akhir yang akan membantu
pembaca menggabungkan semua yang telah dipelajari dalam bentuk
aplikasi yang lengkap.
Kami mengucapkan terima kasih kepada semua pihak yang telah
berkontribusi dalam penyusunan Buku ini. Kritik dan saran dari para
pembaca sangat kami harapkan untuk perbaikan dan pengembangan Buku
di masa yang akan datang.
Semoga Buku ini dapat menjadi sumber belajar yang inspiratif dan
bermanfaat bagi siapa saja yang ingin mengembangkan kemampuan mereka
vii
dalam bidang pemrograman, khususnya dalam pengembangan aplikasi GUI
menggunakan Python dan Tkinter.

Selamat belajar!

Pematangsiantar, 03 September 2024

Penulis

viii
DAFTAR ISI

PRAKATA ............................................................................................................................ vii


DAFTAR ISI .......................................................................................................................... ix
BAB I PENDAHULUAN ......................................................................................................... 1
1.1 Apa itu Tkinter? ................................................................................................... 1
1.2 Mengapa memilih Tkinter? ............................................................................. 1
1.3 Persiapan Lingkungan Kerja ........................................................................... 3
1.4 Memeriksa Instalasi Tkinter ........................................................................... 4
1.5 Mengatur Lingkungan Pengembangan....................................................... 4
BAB II MEMBUAT JENDELA UTAMA ............................................................................... 7
2.1 Membuat Jendela Utama dengan Tkinter.................................................. 7
2.2 Menambahkan Judul dan Ukuran Jendela di Tkinter ........................... 8
2.3 Menambahkan Ikon Aplikasi di Tkinter ................................................. 10
BAB III KOMPONEN DASAR TKINTER ........................................................................ 13
3.1 Label ...................................................................................................................... 13
3.2 Button ................................................................................................................... 14
3.3 Entry ...................................................................................................................... 14
3.4 Text ......................................................................................................................... 15
3.5 Checkbutton ....................................................................................................... 16
3.6 Radiobutton ........................................................................................................ 17
3.7 Listbox .................................................................................................................. 18
3.9 Canvas ................................................................................................................... 20
BAB IV LAYOUT MANAGER DI TKINTER ................................................................... 24
4.1 Pack ........................................................................................................................ 24
4.2 Grid......................................................................................................................... 25
4.3 Place....................................................................................................................... 25
BAB V EVENT HANDLING TKINTER ............................................................................ 27
5.1 Menggunakan Fungsi Callback ................................................................... 27
5.2 Mengelola Input dari Pengguna ................................................................. 27
BAB VI MEMBUAT MENU TKINTER............................................................................. 30
6.1 Menambahkan Menu Bar .............................................................................. 30
6.2 Menambahkan Menu dan Submenu ......................................................... 30
BAB VII KOMPONEN LANJUTAN TKINTER ............................................................... 33
7.1 Listbox .................................................................................................................. 33
7.2 Combobox............................................................................................................ 34
7.3 Checkbutton ....................................................................................................... 34
7.4 Radiobutton ........................................................................................................ 35
7.5 Scale ....................................................................................................................... 36
7.6 Progressbar ........................................................................................................ 36
ix
BAB VIII MENGGUNAKAN TKINTER DENGAN DATABASE ................................ 37
8.1 Menghubungkan Tkinter dengan MySQL ............................................... 37
8.2 Operasi CRUD (Create, Read, Update, Delete) ...................................... 38
BAB IX MEMBUAT DIALOG DAN MESSAGEBOX...................................................... 43
9.1 Menampilkan Dialog Pesan .......................................................................... 43
9.2 Menampilkan Dialog File .............................................................................. 44
BAB X PROYEK AKHIR ....................................................................................................... 47
10.1 Proyek Akhir: Membuat Aplikasi Lengkap dengan Tkinter ............ 47
10.2 Struktur Tabel Database ................................................................................ 47
10.3 Struktur Aplikasi .............................................................................................. 47
10.4 Kode Lengkap Aplikasi ................................................................................... 48

DAFTAR PUSTAKA .......................................................................................................... 54


BIODATA PENULIS.......................................................................................................... 55

x
BAB I
PENDAHULUAN

1.1 Apa itu Tkinter?


Tkinter adalah pustaka standar Python untuk membuat aplikasi GUI.
Tkinter menyediakan berbagai komponen GUI yang dapat digunakan untuk
membuat aplikasi desktop dengan cepat dan mudah.

Gambar 1.1 Logo Python TKinter


1.2 Mengapa memilih Tkinter?
1. Mudah Dipelajari dan Digunakan
a. Sintaksis Sederhana
Tkinter memiliki API yang mudah dipahami dan digunakan. Ini
membuatnya ideal bagi pemula yang baru belajar pemrograman
GUI.
b. Bawaan Python
Tkinter disertakan dalam distribusi standar Python, jadi tidak
perlu instalasi tambahan. Ini membuat setup dan
penggunaannya sangat mudah.
2. Portabilitas
Lintas Platform
Aplikasi yang dibuat dengan Tkinter dapat dijalankan di berbagai
sistem operasi seperti Windows, macOS, dan Linux tanpa perubahan
signifikan pada kode.
Pemprograman Python dengan GUI Tkinter | 1
BAB II
MEMBUAT JENDELA UTAMA

2.1 Membuat Jendela Utama dengan Tkinter


Dalam bagian ini, kita akan membahas cara membuat jendela utama
menggunakan Tkinter. Kita akan belajar cara menambahkan judul,
mengatur ukuran jendela, dan menambahkan ikon aplikasi.
Untuk membuat jendela utama, kita akan menggunakan kelas Tk dari
modul Tkinter. Berikut adalah langkah-langkah dasar untuk membuat
jendela utama:

import tkinter as tk
# Membuat instance dari Tk
root = tk.Tk()
# Menjalankan aplikasi
root.mainloop()

Kode di atas akan membuat jendela kosong dengan Tkinter. tk.Tk() adalah
objek utama yang mewakili aplikasi Tkinter. Seperti Gambar 2.1

Gambar 2.1 Hasil membuat jendela kosong dengan Tkinter. tk.Tk()


Pemprograman Python dengan GUI Tkinter | 7
BAB III
KOMPONEN DASAR TKINTER

Tkinter menyediakan berbagai komponen GUI dasar yang


memungkinkan Kita membangun antarmuka pengguna yang interaktif.
Berikut adalah beberapa komponen dasar Tkinter yang sering digunakan
dalam pengembangan aplikasi:

3.1 Label
Label adalah komponen GUI yang digunakan untuk menampilkan teks
atau gambar statis pada jendela aplikasi.
Contoh Penggunaan Label:
import tkinter as tk

root = tk.Tk()
root.title("Contoh Label")

# Membuat label dengan teks


label = tk.Label(root, text="Ini adalah Label")
label.pack()
root.mainloop()

Gambar 3.1 contoh label


Penjelasan :
• tk.Label(root, text="Ini adalah Label"): Membuat widget Label
dengan teks "Ini adalah Label".
• label.pack(): Menambahkan widget Label ke jendela dan mengatur
tata letaknya.

Pemprograman Python dengan GUI Tkinter | 13


BAB IV
LAYOUT MANAGER DI TKINTER

Di Tkinter, Kita dapat menggunakan layout manager untuk mengatur posisi


dan ukuran widget dalam jendela aplikasi. Tkinter menyediakan tiga layout
manager utama: pack, grid, dan place. Setiap layout manager memiliki cara
berbeda untuk mengatur tata letak widget. Berikut adalah penjelasan dan
contoh penggunaan masing-masing.

4.1 Pack
Pack adalah layout manager yang paling sederhana di Tkinter. pack
mengatur widget secara berurutan dalam satu arah (vertikal atau
horizontal) dan memungkinkan Kita mengatur posisi widget dengan opsi
side dan fill.
Contoh Penggunaan Pack:
import tkinter as tk
root = tk.Tk()
root.title("Contoh Pack")
# Membuat widget
label1 = tk.Label(root, text="Label 1", bg="lightblue")
label1.pack(side=tk.TOP, fill=tk.X)
label2 = tk.Label(root, text="Label 2", bg="lightgreen")
label2.pack(side=tk.LEFT, fill=tk.Y)
label3 = tk.Label(root, text="Label 3", bg="lightcoral")
label3.pack(side=tk.BOTTOM, fill=tk.X)
root.mainloop()
Penjelasan :
side=tk.TOP, side=tk.LEFT, side=tk.BOTTOM: Menentukan arah di mana
widget akan ditempatkan.
fill=tk.X, fill=tk.Y: Mengatur bagaimana widget mengisi ruang yang tersedia.
fill=tk.X membuat widget mengisi lebar, sedangkan fill=tk.Y membuat widget
mengisi tinggi.

24 | Pemprograman Python dengan GUI Tkinter


BAB V
EVENT HANDLING TKINTER

Event handling adalah cara untuk menangani interaksi pengguna


dengan aplikasi Kita, seperti klik tombol, memasukkan teks, atau
menggerakkan mouse. Tkinter menyediakan berbagai macam event yang
bisa Kita tangani menggunakan fungsi callback.

5.1 Menggunakan Fungsi Callback


Fungsi callback adalah fungsi yang dipanggil sebagai respons terhadap
sebuah event. Kita dapat mengaitkan fungsi callback ke berbagai event di
Tkinter.
Contoh Penggunaan Fungsi Callback:
import tkinter as tk
def on_button_click():
print("Tombol diklik!")
root = tk.Tk()
root.title("Contoh Callback")
# Membuat tombol
button = tk.Button(root, text="Klik Saya", command=on_button_click)
button.pack()
root.mainloop()
Penjelasan :
command=on_button_click: Mengaitkan fungsi on_button_click sebagai
callback saat tombol diklik.

5.2 Mengelola Input dari Pengguna


Kita dapat menangani berbagai macam input dari pengguna seperti
penekanan tombol keyboard, pergerakan mouse, dan lain-lain.
Contoh Mengelola Input Keyboard:
import tkinter as tk
def on_key_press(event):
print(f"Tombol {event.keysym} ditekan")
root = tk.Tk()

Pemprograman Python dengan GUI Tkinter | 27


BAB VI
MEMBUAT MENU TKINTER

Tkinter menyediakan cara untuk membuat menu bar, menu, dan submenu
dalam aplikasi GUI Kita. Menu dapat membantu pengguna menavigasi dan
menggunakan fitur-fitur aplikasi dengan lebih mudah.

6.1 Menambahkan Menu Bar


Menu bar adalah bagian dari jendela aplikasi yang berisi menu-menu utama.
Menu bar biasanya terletak di bagian atas jendela aplikasi.
Contoh Menambahkan Menu Bar:
import tkinter as tk

root = tk.Tk()
root.title("Contoh Menu Bar")

# Membuat menu bar


menu_bar = tk.Menu(root)
root.config(menu=menu_bar)

root.mainloop()
Penjelasan :
• tk.Menu(root): Membuat menu bar.
• root.config(menu=menu_bar): Mengonfigurasi menu bar ke jendela
utama.

6.2 Menambahkan Menu dan Submenu


Setelah menu bar dibuat, Kita dapat menambahkan menu utama dan
submenu ke dalamnya.
Contoh Menambahkan Menu dan Submenu:
import tkinter as tk
def say_hello():
print("Hello!")
root = tk.Tk()
30 | Pemprograman Python dengan GUI Tkinter
BAB VII
KOMPONEN LANJUTAN TKINTER

Tkinter menyediakan berbagai komponen lanjutan yang dapat digunakan


untuk membuat antarmuka pengguna yang lebih interaktif dan kaya fitur.
Berikut adalah beberapa komponen lanjutan yang umum digunakan:
Listbox, Combobox, Checkbutton, Radiobutton, Scale, dan Progressbar.

7.1 Listbox
Listbox adalah komponen yang digunakan untuk menampilkan daftar
item yang dapat dipilih oleh pengguna.
Contoh Penggunaan Listbox:
import tkinter as tk

def on_select(event):
selected_item = listbox.get(listbox.curselection())
print(f"Item yang dipilih: {selected_item}")

root = tk.Tk()
root.title("Contoh Listbox")

# Membuat Listbox
listbox = tk.Listbox(root)
listbox.pack()

# Menambahkan item ke Listbox


for item in ["Item 1", "Item 2", "Item 3", "Item 4"]:
listbox.insert(tk.END, item)

# Mengikat event select ke fungsi callback


listbox.bind("<<ListboxSelect>>", on_select)

root.mainloop()

Pemprograman Python dengan GUI Tkinter | 33


BAB VIII
MENGGUNAKAN TKINTER DENGAN DATABASE

Menghubungkan aplikasi Tkinter dengan database memungkinkan Kita


untuk membuat aplikasi yang dapat menyimpan, mengelola, dan
menampilkan data secara efektif. Berikut adalah langkah-langkah untuk
menghubungkan Tkinter dengan MySQL dan melakukan operasi CRUD
(Create, Read, Update, Delete).

8.1 Menghubungkan Tkinter dengan MySQL


Untuk menghubungkan Tkinter dengan MySQL, Kita memerlukan
library mysql-connector-python. Kita dapat menginstalnya menggunakan
pip:
pip install mysql-connector-python
Contoh Menghubungkan Tkinter dengan MySQL:
import tkinter as tk
import mysql.connector
from tkinter import messagebox

# Fungsi untuk menghubungkan ke database


def connect_to_db():
try:
connection = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="perpustakaan"
)
if connection.is_connected():
messagebox.showinfo("Success", "Berhasil terhubung ke
database")
return connection
except mysql.connector.Error as err:

Pemprograman Python dengan GUI Tkinter | 37


BAB IX
MEMBUAT DIALOG DAN MESSAGEBOX

Tkinter menyediakan berbagai dialog dan messagebox untuk menampilkan


pesan, mengambil input dari pengguna, atau memilih file. Berikut adalah
cara untuk menampilkan dialog pesan dan dialog file menggunakan Tkinter.

9.1 Menampilkan Dialog Pesan


Dialog pesan (messagebox) digunakan untuk menampilkan informasi,
peringatan, kesalahan, atau meminta konfirmasi dari pengguna.
Contoh Menampilkan Dialog Pesan:
import tkinter as tk
from tkinter import messagebox

# Fungsi untuk menampilkan dialog informasi


def show_info():
messagebox.showinfo("Informasi", "Ini adalah pesan informasi")

# Fungsi untuk menampilkan dialog peringatan


def show_warning():
messagebox.showwarning("Peringatan", "Ini adalah pesan
peringatan")

# Fungsi untuk menampilkan dialog kesalahan


def show_error():
messagebox.showerror("Kesalahan", "Ini adalah pesan kesalahan")

# Fungsi untuk menampilkan dialog konfirmasi


def ask_question():
response = messagebox.askquestion("Konfirmasi", "Apakah Anda
yakin?")
if response == 'yes':
print("Anda memilih Ya")
else:
Pemprograman Python dengan GUI Tkinter | 43
BAB X
PROYEK AKHIR

10.1 Proyek Akhir: Membuat Aplikasi Lengkap dengan Tkinter


Pada bagian ini, kita akan membuat sebuah aplikasi lengkap
menggunakan Tkinter. Proyek akhir ini adalah aplikasi manajemen
perpustakaan sederhana yang mencakup semua aspek yang telah dibahas
sebelumnya, termasuk operasi CRUD dengan database MySQL, penggunaan
berbagai komponen Tkinter, dan penanganan event.

10.2 Struktur Tabel Database


Pertama, pastikan Anda memiliki database MySQL dengan tabel
berikut:
CREATE DATABASE perpustakaan;

USE perpustakaan;

CREATE TABLE buku (


id INT AUTO_INCREMENT PRIMARY KEY,
judul VARCHAR(255) NOT NULL,
penulis VARCHAR(255) NOT NULL,
tahun INT NOT NULL
);

10.3 Struktur Aplikasi


Aplikasi ini akan mencakup:
1. Jendela Utama : Menampilkan daftar buku yang ada
di perpustakaan.
2. Formulir Buku : Menambahkan, memperbarui, dan
menghapus buku.
3. Menu : Menyediakan navigasi dasar.
4. Dialog dan Messagebox : Menampilkan informasi dan
konfirmasi.

Pemprograman Python dengan GUI Tkinter | 47


DAFTAR PUSTAKA

1. Python Software Foundation: "The Python Standard Library - Tkinter."


Diakses dari: https://docs.python.org/3/library/tkinter.html
2. Rosemary Michael "Python GUI Programming with Tkinter." Packt
Publishing, 2019.
3. Mark Lutz "Programming Python, 4th Edition." O'Reilly Media, 2010.
4. No Starch Press "Automate the Boring Stuff with Python: Practical
Programming for Total Beginners" oleh Al Sweigart. No Starch Press,
2015.
5. MySQL Documentation "MySQL 8.0 Reference Manual." Diakses dari:
https://dev.mysql.com/doc/refman/8.0/en/
6. Julian Smart, Henk Bruyninckx "Tkinter Reference: A GUI for Python."
Diakses dari: http://infohost.nmt.edu/tcc/help/pubs/tkinter/
7. Bryson Payne "Teach Your Kids to Code: A Parent-Friendly Guide to
Python Programming." No Starch Press, 2015.
8. John V. Guttag "Introduction to Computation and Programming Using
Python: With Application to Understanding Data." MIT Press, 2016.
9. Michael Dawson "Python Programming for the Absolute Beginner, 3rd
Edition." Course Technology, 2010.
10. Eric Matthes "Python Crash Course: A Hands-On, Project-Based
Introduction to Programming." No Starch Press, 2016.
11. Axel Rauschmayer "JavaScript for Impatient Programmers." Diakses
dari: https://exploringjs.com/impatient-js/
12. Zed A. Shaw "Learn Python the Hard Way: A Very Simple Introduction to
the Terrifyingly Beautiful World of Computers and Code." Addison-
Wesley Professional, 2013.

54 | Pemprograman Python dengan GUI Tkinter


BIODATA PENULIS

Dudes Manalu, Lahir di Porsea 22 Desember 1977,


Penulis seorang Dosen di Universitas HKBP Nommensen
Pematangsiantar pada Fakulkas MIPA, Program Studi
Ilmu Komputer, Pendidikan S2 dari Universitas Putra
Indonesia YPTK Padang, Penulis Pernah Menjadi IT
fokus pada Pada Pengolahan Data pada perusahaan
swasta al)
dan Pernah Juga menjadi Tenaga Ahli IT bidang Network and
Security di salah satu Kabupaten di Sumatera Utara

Raeagan Surbakti Saragih, Lahir di Pematangsiantar, 09


September 1981, Penulis seorang Dosen di Universitas
HKBP Nommensen Pematangsiantar pada Fakulkas
MIPA, Program Studi Ilmu Komputer, Pendidikan S2 dari
Universitas Putra Indonesia YPTK Padang, Penulis
Pernah Menjadi Guru pada SMK Swasta di
Pematangsiantar dan Juga IT Developer bidang Sistem Informasi di salah
satu Kabupaten di Sumatera Utara

Peniel Sam Putra Sitorus, Lahir di Medan, 19 Maret 1995,


Penulis seorang Dosen di Universitas HKBP Nommensen
Pematangsiantar pada Fakulkas MIPA, Program Studi
Ilmu Komputer, Pendidikan S2 dari Universitas
Sumatera Utara, Penulis Pernah Menjadi Dosen di
Universitas Sumatera Utara dan Juga IT Developer
bidang Sistem Informasi pada Perusahaan Swasta Sumatera Utara.

Pemprograman Python dengan GUI Tkinter | 55


56 | Pemprograman Python dengan GUI Tkinter

Anda mungkin juga menyukai