π― 1. Pengantar GUI Programming
6
π Deskripsi
GUI (Graphical User Interface) adalah antarmuka visual yang memungkinkan pengguna berinteraksi dengan aplikasi menggunakan elemen grafis seperti tombol, teks, dan menu.
π§ Narasi
Tanpa GUI, pengguna harus menggunakan terminal (CLI) yang cenderung sulit untuk pemula. GUI membuat aplikasi lebih intuitif, interaktif, dan mudah digunakan oleh semua kalangan.
π§© 2. Konsep Dasar GUI
π Elemen Utama GUI
- Window/Form β wadah utama aplikasi
- Control/Widget β elemen interaksi
- Event β aksi pengguna
- Event Handler β respon terhadap aksi
π Diagram Konsep GUI
7
π§ Narasi
Alur GUI:
- User melakukan aksi (klik, input)
- Sistem menangkap event
- Program memproses
- Output ditampilkan kembali ke user
π§± 3. Komponen GUI (Widget)
7
π Tabel Komponen
| Komponen | Fungsi |
|---|---|
| Label | Menampilkan teks |
| TextBox | Input teks |
| Button | Aksi klik |
| CheckBox | Pilihan lebih dari satu |
| RadioButton | Pilihan tunggal |
| ComboBox | Dropdown |
| ListBox | List data |
π§ Narasi
Widget adalah βalat komunikasiβ antara user dan sistem. Semakin baik pemilihan widget, semakin mudah aplikasi digunakan.
π¨ 4. Layout Management (Pengaturan Tampilan)
6
π Jenis Layout
- Absolute Layout β posisi manual (x, y)
- Flow Layout β mengikuti alur
- Grid Layout β berbasis tabel
- Anchor/Dock β mengikuti ukuran window
π§ Narasi
Layout menentukan apakah aplikasi:
- Rapi atau berantakan
- Responsif atau tidak
- Mudah digunakan atau membingungkan
βοΈ 5. Event Handling (Penanganan Event)
6
π Deskripsi
Event adalah aksi user, dan event handler adalah kode yang dijalankan saat event terjadi.
π Contoh Event
- Klik tombol
- Input keyboard
- Mouse hover
- Window resize
π§ Narasi
GUI bersifat event-driven, artinya program βmenungguβ aksi user, bukan berjalan secara linear seperti program console.
π§ͺ 6. Tutorial Praktikum: GUI Sederhana (Python Tkinter)
π― Studi Kasus
Membuat aplikasi input nama dan menampilkan hasil.
π» Kode Program
import tkinter as tk
def tampilkan():
nama = entry.get()
label_hasil.config(text="Halo, " + nama)
app = tk.Tk()
app.title("Aplikasi GUI Sederhana")
label = tk.Label(app, text="Masukkan Nama:")
label.pack()
entry = tk.Entry(app)
entry.pack()
button = tk.Button(app, text="Tampilkan", command=tampilkan)
button.pack()
label_hasil = tk.Label(app, text="")
label_hasil.pack()
app.mainloop()
π§ Penjelasan Kode
Entry()β input userButton()β trigger eventcommand=tampilkanβ event handlerget()β ambil inputconfig()β ubah tampilan
ποΈ 7. Studi Kasus Desain Form
6
π Contoh Form
- Form Login
- Form Registrasi
- Form Input Data
π§ Narasi
Form adalah implementasi nyata GUI:
- Mengumpulkan data
- Memproses input
- Menampilkan hasil
β οΈ 8. Kesalahan Umum dalam GUI Programming
β Daftar Kesalahan
| Kesalahan | Dampak |
|---|---|
| Layout berantakan | UX buruk |
| Tidak validasi input | Error |
| Event tidak ditangani | Program tidak responsif |
| Terlalu banyak widget | Membingungkan |
π§ Narasi
GUI bukan hanya soal tampilan, tapi juga pengalaman pengguna (user experience).
π― 9. Best Practice GUI Programming
β Tips
- Gunakan layout yang konsisten
- Beri label yang jelas
- Validasi input user
- Gunakan warna yang nyaman
- Jangan terlalu banyak elemen
π 10. Rangkuman
π Inti Materi
- GUI = antarmuka visual aplikasi
- Terdiri dari widget, layout, dan event
- Bersifat event-driven
- Fokus pada interaksi user
π 11. Latihan & Tugas
βοΈ Latihan
- Apa itu GUI?
- Sebutkan 5 komponen GUI!
- Apa fungsi event handler?
π» Tugas Praktikum
Buat aplikasi:
- Input: Nama & Umur
- Tombol: βProsesβ
- Output: βHalo [Nama], umur kamu [Umur] tahunβ