LEMBAR KERJA PESERTA DIDIK (LKPD)
Mata Pelajaran : Informatika / Pemrograman Python
Jenjang / Kelas : SMA / XI
Topik : Event Handler dalam Python (Tkinter)
Alokasi Waktu : 2 x 45 menit
: ________________________
Nama Siswa ___ Kelas : ___________
: ________________________
No. Absen ___ Tanggal : ___________
A. Tujuan Pembelajaran
1. Memahami konsep event handler dalam pemrograman GUI Python.
2. Mampu membuat event handler sederhana menggunakan library Tkinter.
3. Mampu menghubungkan event (klik, ketik, hover) dengan fungsi handler.
4. Menganalisis dan memperbaiki kesalahan pada kode event handler.
B. Materi Singkat
Apa itu Event Handler?
Event handler adalah fungsi yang dipanggil secara otomatis ketika suatu kejadian (event) terjadi, misalnya
tombol diklik, mouse digerakkan, atau tombol keyboard ditekan. Dalam Python, library Tkinter digunakan
untuk membuat antarmuka grafis (GUI) beserta event handler-nya.
Cara Membuat Event Handler di Tkinter:
Metode Keterangan Contoh Event
command= Langsung dihubungkan ke Button Klik tombol
.bind() Menghubungkan event apa pun ke widget Klik, ketik, hover
Contoh Kode Dasar:
import tkinter as tk
def saat_klik():
[Link](text="Tombol diklik!")
jendela = [Link]()
[Link]("Contoh Event Handler")
label = [Link](jendela, text="Tekan tombol di bawah ini")
[Link](pady=10)
tombol = [Link](jendela, text="Klik Saya", command=saat_klik)
[Link](pady=5)
[Link]()
Contoh Event dengan .bind():
import tkinter as tk
def saat_hover(event):
[Link](text=f"Mouse di posisi: ({event.x}, {event.y})")
jendela = [Link]()
label = [Link](jendela, text="Gerakkan mouse di sini", width=30)
[Link](pady=20)
[Link]("", saat_hover)
[Link]()
C. Kegiatan Pembelajaran
Kegiatan 1 — Analisis Kode (20 menit)
Perhatikan kode berikut, lalu jawab pertanyaan di bawahnya.
import tkinter as tk
def hitung():
angka = int([Link]())
hasil = angka * 2
label_hasil.config(text=f"Hasil: {hasil}")
jendela = [Link]()
[Link]("Kalkulator Kali Dua")
entry = [Link](jendela, width=20)
[Link](pady=5)
tombol = [Link](jendela, text="Hitung", command=hitung)
[Link](pady=5)
label_hasil = [Link](jendela, text="Hasil: -")
label_hasil.pack(pady=5)
[Link]()
1. Apa nama fungsi event handler pada kode di atas?
Jawaban:
_______________________________________________________________________________________________
2. Event apa yang memicu fungsi handler tersebut?
Jawaban:
_______________________________________________________________________________________________
3. Apa yang dilakukan oleh baris hasil = angka * 2?
Jawaban:
_______________________________________________________________________________________________
4. Apa yang terjadi jika pengguna memasukkan huruf (bukan angka) lalu menekan tombol?
Jawaban:
_______________________________________________________________________________________________
Kegiatan 2 — Melengkapi Kode (25 menit)
Lengkapi bagian kode yang ditandai ___ agar program berjalan dengan benar.
import tkinter as tk
def sapa():
nama = entry_nama.get()
# Lengkapi baris berikut agar label menampilkan "Halo, [nama]!"
label_sapaan.config(text= _______________ )
jendela = [Link]()
[Link]("Program Sapa")
[Link](jendela, text="Masukkan Nama:").pack()
entry_nama = [Link](jendela, width=25)
entry_nama.pack(pady=5)
# Lengkapi parameter command di bawah ini
tombol = [Link](jendela, text="Sapa", command= _______________ )
[Link](pady=5)
label_sapaan = [Link](jendela, text="")
label_sapaan.pack(pady=10)
[Link]()
Tuliskan jawaban Anda di sini:
Baris 5 (label_sapaan.config):
Baris 13 (command=):
Kegiatan 3 — Proyek Mini (30 menit)
Buatlah program GUI sederhana menggunakan Tkinter dengan ketentuan berikut:
1. Program memiliki judul jendela "Kalkulator Sederhana".
2. Terdapat dua kolom input (Entry) untuk angka pertama dan angka kedua.
3. Terdapat empat tombol: Tambah (+), Kurang (−), Kali (×), Bagi (÷).
4. Setiap tombol memiliki event handler masing-masing.
5. Hasil operasi ditampilkan pada sebuah Label.
6. Bonus: Tambahkan penanganan error jika pembagi = 0.
Ruang Kerja (tulis kode di sini atau di editor Python):
D. Refleksi
1. Apa yang baru kamu pelajari hari ini?
2. Apa kesulitan yang kamu temui saat mengerjakan kegiatan ini?
3. Bagaimana cara kamu mengatasi kesulitan tersebut?
E. Rubrik Penilaian
No. Komponen Bobot Skor (1–4) Nilai
1 Kegiatan 1 — Analisis Kode 25%
2 Kegiatan 2 — Melengkapi Kode 25%
3 Kegiatan 3 — Proyek Mini 40%
4 Refleksi 10%
Total 100%
_____________________, 2025
Mengetahui, Guru Mata Pelajaran Peserta Didik