Tugas 1: Pengenalan Swing (Komponen Dasar)
Tujuan: Membuat aplikasi sederhana dengan komponen Swing dasar.
- Buat jendela menggunakan
JFrame
dengan judul “Aplikasi Pertama”. - Tambahkan komponen:
JLabel
untuk menampilkan teks “Selamat Datang!”JTextField
untuk input nama.JButton
dengan teks “Klik Saya”.
- Implementasikan event handling:
- Saat tombol diklik, tampilkan dialog (
JOptionPane
) dengan pesan: “Halo, [nama]!”.
- Saat tombol diklik, tampilkan dialog (
Contoh Output:

Tugas 2: Form Registrasi dengan Swing
Tujuan: Memahami layout manager (BorderLayout
, GridLayout
) dan komponen form.
- Buat form registrasi dengan:
- Input: Nama, Email, Password (
JPasswordField
). - Radio button untuk jenis kelamin (Laki-laki/Perempuan).
- Checkbox untuk hobi (Minimal 3 pilihan).
- Tombol “Daftar”.
- Input: Nama, Email, Password (
- Saat tombol diklik:
- Validasi input (contoh: email harus mengandung
@
). - Tampilkan data yang diinput di konsol atau dialog.
- Validasi input (contoh: email harus mengandung
Contoh Output:

Tugas 3: Aplikasi Kalkulator Sederhana
Tujuan: Implementasi logika dan event handling kompleks.
- Buat kalkulator dengan:
- Tombol angka (0-9) dan operasi (+, -, *, /).
- Layar tampilan (
JTextField
).
- Handle operasi matematika dasar dan tampilkan hasil.
- Tambahkan fitur “Clear” untuk mengosongkan input.
Contoh Tampilan:

Tugas 4: Aplikasi To-Do List dengan Swing
Tujuan: Menggunakan JList
, DefaultListModel
, dan operasi CRUD.
- Buat aplikasi untuk menambah/menghapus tugas:
- Input tugas di
JTextField
. - Tombol “Tambah” dan “Hapus”.
- Daftar tugas ditampilkan di
JList
.
- Input tugas di
- Simpan data tugas ke file teks (opsional).
Contoh Output:

Tugas 5: Pengenalan JavaFX dan Scene Builder
Tujuan: Membuat UI dengan JavaFX dan FXML.
- Instal Scene Builder dan integrasikan dengan IDE.
- Buat aplikasi dengan:
- Label “Hello JavaFX!”.
- Tombol yang mengubah teks label saat diklik.
- Gunakan FXML untuk mendesain UI dan kontroler untuk event handling.
Contoh Output:

Tugas 6: Aplikasi Konversi Suhu dengan JavaFX
Tujuan: Memahami binding dan property di JavaFX.
- Buat konverter suhu (Celsius ↔ Fahrenheit):
- Input suhu di
TextField
. - Radio button untuk memilih jenis konversi.
- Hasil konversi update otomatis saat input berubah (gunakan
Binding
).
- Input suhu di
- Tambahkan styling CSS untuk mempercantik UI.
Contoh Output:

Tugas 7: Aplikasi CRUD dengan JavaFX dan Database
Tujuan: Integrasi JavaFX dengan database (SQLite/MySQL).
- Buat aplikasi manajemen siswa:
- Input: NIM, Nama, Jurusan.
- Tombol “Simpan”, “Edit”, “Hapus”.
- Tampilkan data di
TableView
.
- Simpan data ke database dan tampilkan kembali saat aplikasi dibuka.
Contoh Tampilan:

Tugas 8: Animasi dan Efek Visual di JavaFX
Tujuan: Memanfaatkan fitur animasi JavaFX.
- Buat bola yang memantul di dalam panel:
- Gunakan
TranslateTransition
untuk animasi pergerakan. - Tambahkan efek bayangan (
DropShadow
).
- Gunakan
- Tambahkan slider untuk mengontrol kecepatan animasi.
Contoh Output:

Tugas 9: Aplikasi Chat Sederhana (Socket + JavaFX)
Tujuan: Membuat aplikasi jaringan dengan GUI.
- Buat aplikasi chat client-server:
- Client: Input pesan di
TextField
, kirim ke server via socket. - Server: Teruskan pesan ke semua client yang terhubung.
- Tampilkan riwayat chat di
TextArea
.
- Client: Input pesan di
- Gunakan thread untuk handle koneksi simultan.
Contoh Output:

Tugas 10: Mini Project: Aplikasi Manajemen Toko
Tujuan: Mengintegrasikan semua konsep.
- Buat aplikasi untuk manajemen stok toko:
- Fitur: Tambah barang, transaksi penjualan, laporan harian.
- GUI: Dashboard dengan chart (gunakan
LineChart
di JavaFX). - Database: Simpan data stok dan transaksi.
- Tambahkan ekspor laporan ke file PDF/Excel (opsional).
Persyaratan Umum:
- Gunakan MVC pattern untuk memisahkan logika bisnis dan UI.
- Handle exception (contoh: input tidak valid, koneksi gagal).
- Terapkan styling CSS untuk memperbaiki tampilan (JavaFX).
- Untuk Swing, pelajari
GridBagLayout
untuk desain fleksibel.
Tips:
- Untuk Swing:
- Pelajari
JPanel
,JTable
,JFileChooser
, danJMenuBar
. - Gunakan
MigLayout
atauGroupLayout
untuk desain kompleks.
- Pelajari
- Untuk JavaFX:
- Manfaatkan
ObservableList
untuk update otomatis UI. - Eksplor library tambahan seperti JFoenix untuk desain Material UI.
- Manfaatkan
- Gunakan IDE seperti IntelliJ IDEA atau NetBeans yang memiliki GUI builder.
Dokumentasi Resmi:
Selamat membangun antarmuka yang interaktif! 🖥️🚀