π― 1. Pengantar Pemrograman Desktop
9
π Deskripsi
Pemrograman desktop adalah proses pembuatan aplikasi yang berjalan langsung pada sistem operasi komputer (Windows, macOS, Linux) tanpa bergantung pada browser atau koneksi internet secara terus-menerus.
π§ Narasi Konsep
Bayangkan aplikasi seperti Microsoft Word atau Calculatorβsemua berjalan langsung di komputer, responsif, dan tidak perlu koneksi internet. Itulah inti dari aplikasi desktop.
π Karakteristik Utama
- Berjalan secara lokal (offline-first)
- Memiliki performa tinggi
- Akses langsung ke hardware (file, printer, dll)
- UI berbasis GUI (Graphical User Interface)
π₯οΈ 2. Desktop vs Web vs Mobile
5
π Tabel Perbandingan
| Aspek | Desktop | Web | Mobile |
|---|---|---|---|
| Platform | PC/Laptop | Browser | Smartphone |
| Koneksi | Tidak wajib | Wajib | Opsional |
| Performa | Tinggi | Sedang | Tinggi |
| Akses Hardware | Penuh | Terbatas | Terbatas |
| Instalasi | Ya | Tidak | Ya |
π Narasi
- Desktop unggul di performa dan kontrol sistem
- Web unggul di aksesibilitas (tanpa install)
- Mobile unggul di mobilitas
π§© 3. Konsep GUI (Graphical User Interface)
7
π Deskripsi
GUI adalah antarmuka visual yang memungkinkan pengguna berinteraksi dengan aplikasi melalui elemen grafis.
π§± Komponen GUI
- Window/Form β wadah utama
- Button β aksi klik
- TextBox β input teks
- Label β teks informasi
- Checkbox & RadioButton β pilihan
- Menu & Toolbar β navigasi
π§ Narasi
GUI membuat aplikasi lebih βmanusiawiβ. Tanpa GUI, pengguna harus mengetik perintah seperti di terminalβkurang intuitif bagi pengguna umum.
βοΈ 4. Event-Driven Programming (Konsep Inti Desktop)
6
π Deskripsi
Pemrograman desktop bersifat event-driven, artinya program berjalan berdasarkan aksi pengguna.
π Contoh Event
- Klik tombol
- Input keyboard
- Mouse hover
- Window close
π§ Narasi
Program tidak berjalan secara linear saja, tetapi βmenungguβ aksi user. Saat user klik tombol, barulah kode tertentu dijalankan.
π οΈ 5. Tools & IDE untuk Desktop Development
8
π Tools Populer
- Visual Studio β C# (.NET)
- NetBeans β Java Swing/JavaFX
- PyCharm β PyQt/Tkinter
- Visual Studio Code β Multi-language
π§ Narasi
IDE mempermudah proses coding, debugging, dan desain GUI dengan fitur drag-and-drop.
π» 6. Bahasa Pemrograman Desktop
π Tabel Bahasa Populer
| Bahasa | Framework | Kelebihan |
|---|---|---|
| C# | .NET / WinForms / WPF | Cepat, kuat di Windows |
| Java | Swing / JavaFX | Cross-platform |
| Python | Tkinter / PyQt | Mudah dipelajari |
| C++ | Qt | Performa tinggi |
π Narasi
Pemilihan bahasa tergantung kebutuhan:
- Enterprise β C#
- Cross-platform β Java / Python
- High performance β C++
ποΈ 7. Arsitektur Dasar Aplikasi Desktop
8
π Deskripsi
Aplikasi desktop umumnya menggunakan struktur:
- UI Layer β tampilan
- Logic Layer β proses
- Data Layer β database/file
π§ Narasi
Struktur ini penting agar aplikasi:
- Mudah dikembangkan
- Mudah diperbaiki
- Tidak berantakan
π§ͺ 8. Tutorial Sederhana: Aplikasi Hello World GUI
π― Studi Kasus
Membuat aplikasi desktop sederhana dengan tombol.
π» Contoh (Python – Tkinter)
import tkinter as tk
def klik():
label.config(text="Hello, Desktop Programming!")
app = tk.Tk()
app.title("Aplikasi Pertama")
label = tk.Label(app, text="Klik tombol")
label.pack()
button = tk.Button(app, text="Klik Saya", command=klik)
button.pack()
app.mainloop()
π§ Penjelasan
Tk()β membuat windowLabelβ teksButtonβ aksi klikcommandβ event handler
π 9. Studi Kasus Nyata Aplikasi Desktop
6
π Contoh Aplikasi
- Sistem Kasir (POS)
- Aplikasi Inventaris
- Sistem Akademik
- Aplikasi Akuntansi
π§ Narasi
Sebagian besar perusahaan masih menggunakan desktop untuk:
- Sistem internal
- Keamanan data
- Performa tinggi
π 10. Rangkuman Materi
π Inti Pembelajaran
- Pemrograman desktop = aplikasi lokal berbasis GUI
- Menggunakan konsep event-driven
- Memiliki performa tinggi dan akses hardware
- Menggunakan bahasa seperti C#, Java, Python
- Dibangun dengan struktur modular
π 11. Latihan & Tugas
βοΈ Latihan
- Jelaskan perbedaan desktop dan web!
- Sebutkan 5 komponen GUI!
- Apa itu event-driven programming?
π» Tugas Praktikum
- Buat aplikasi:
- Form input nama
- Tombol βTampilkanβ
- Output: βHalo, [nama]β
π Penutup
Materi ini adalah fondasi utama sebelum masuk ke:
- GUI lanjutan
- Database
- OOP
- Proyek aplikasi nyata