π― 1. Pengantar Struktur Program
6
π Deskripsi
Struktur program adalah cara mengorganisasi kode agar mudah dibaca, dikembangkan, dan dipelihara. Dalam aplikasi desktop, struktur yang baik sangat penting karena aplikasi cenderung berkembang kompleks.
π§ Narasi
Bayangkan aplikasi tanpa struktur seperti kabel kusutβsulit diperbaiki, sulit dikembangkan. Struktur program adalah βpetaβ agar developer tidak tersesat.
π§© 2. Konsep Modularisasi
7
π Deskripsi
Modularisasi adalah teknik membagi program menjadi bagian-bagian kecil (modul) yang memiliki fungsi spesifik.
π Tujuan Modularisasi
- Mempermudah pengembangan
- Mempermudah debugging
- Meningkatkan reuse (penggunaan ulang kode)
π§ Narasi
Alih-alih membuat satu file besar, kita membaginya menjadi bagian kecil seperti:
- Modul UI
- Modul Logika
- Modul Database
π§± 3. Struktur Dasar Aplikasi Desktop
7
π Arsitektur Umum
| Layer | Fungsi |
|---|---|
| UI Layer | Tampilan (form, button) |
| Logic Layer | Proses bisnis |
| Data Layer | Database/file |
π§ Narasi
Struktur ini disebut Separation of Concerns:
- UI tidak mengurus database
- Logic tidak mengurus tampilan
π Hasilnya: kode lebih rapi dan scalable
π§ 4. Fungsi dan Prosedur
π Deskripsi
Fungsi adalah blok kode yang dapat digunakan kembali.
π» Contoh
def hitung_total(harga, jumlah):
return harga * jumlah
total = hitung_total(10000, 3)
print(total)
π§ Narasi
Dengan fungsi:
- Kode tidak berulang
- Lebih mudah dibaca
- Lebih modular
π§© 5. Modularisasi dalam GUI Programming
7
π Pembagian Modul GUI
- UI Module β tampilan
- Event Handler Module β aksi
- Business Logic Module β proses
- Data Module β penyimpanan
π§ Narasi
Contoh:
- Tombol klik β handler
- Handler β panggil fungsi logika
- Logika β akses data
ποΈ 6. Struktur Folder Project
8
π Contoh Struktur
project/
βββ main.py
βββ ui/
β βββ form.py
βββ logic/
β βββ process.py
βββ data/
β βββ database.py
βββ assets/
π§ Narasi
Struktur ini membantu:
- Tim developer bekerja bersama
- File tidak tercampur
- Mudah menemukan kode
βοΈ 7. Separation of Concerns (SoC)
π Deskripsi
SoC adalah prinsip memisahkan bagian program berdasarkan tanggung jawabnya.
π§ Narasi
Tanpa SoC:
- Semua kode bercampur
- Sulit diperbaiki
Dengan SoC:
- Kode lebih bersih
- Lebih mudah dikembangkan
π§ͺ 8. Tutorial Praktikum: Modularisasi GUI (Python)
π― Studi Kasus
Pisahkan GUI dan logika
π» File: logic.py
def sapa(nama):
return "Halo, " + nama
π» File: main.py
import tkinter as tk
from logic import sapa
def tampilkan():
hasil.config(text=sapa(entry.get()))
app = tk.Tk()
entry = tk.Entry(app)
entry.pack()
tk.Button(app, text="Klik", command=tampilkan).pack()
hasil = tk.Label(app)
hasil.pack()
app.mainloop()
π§ Penjelasan
logic.pyβ logikamain.pyβ GUI
π Ini modularisasi sederhana
β οΈ 9. Kesalahan Umum
β Tabel Kesalahan
| Kesalahan | Dampak |
|---|---|
| Semua kode dalam 1 file | Sulit dibaca |
| Tidak pakai fungsi | Duplikasi |
| UI campur database | Tidak terstruktur |
| Nama variabel tidak jelas | Membingungkan |
π§ Narasi
Kesalahan ini sering terjadi pada pemula dan menyebabkan βspaghetti codeβ.
π― 10. Best Practice
β Tips
- Gunakan fungsi dan modul
- Pisahkan UI dan logika
- Gunakan nama file jelas
- Gunakan struktur folder
- Dokumentasikan kode
ποΈ 11. Studi Kasus Nyata
7
π Contoh
- Aplikasi kasir
- Sistem inventaris
- Sistem akademik
π§ Narasi
Semua aplikasi profesional menggunakan modularisasi agar:
- Mudah dikembangkan
- Mudah maintenance
- Bisa dikerjakan tim
π 12. Rangkuman
π Inti Materi
- Struktur program = organisasi kode
- Modularisasi = membagi program
- Gunakan fungsi & modul
- Pisahkan UI, logic, data
- Gunakan struktur folder
π 13. Latihan & Tugas
βοΈ Latihan
- Apa itu modularisasi?
- Apa manfaat fungsi?
- Jelaskan Separation of Concerns!
π» Tugas Praktikum
Buat aplikasi:
- Input nama
- Tombol tampilkan
- Pisahkan:
- File GUI
- File logika
π Penutup
Struktur program adalah fondasi:
- Untuk aplikasi besar
- Untuk kerja tim
- Untuk software profesional