๐ฏ 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โ