Praktik Mandiri 6: Java GUI menggunakan Swing dan JavaFX

Tugas 1: Pengenalan Swing (Komponen Dasar)

Tujuan: Membuat aplikasi sederhana dengan komponen Swing dasar.

  1. Buat jendela menggunakan JFrame dengan judul “Aplikasi Pertama”.
  2. Tambahkan komponen:
    • JLabel untuk menampilkan teks “Selamat Datang!”
    • JTextField untuk input nama.
    • JButton dengan teks “Klik Saya”.
  3. Implementasikan event handling:
    • Saat tombol diklik, tampilkan dialog (JOptionPane) dengan pesan: “Halo, [nama]!”.

Contoh Output:

Tugas 2: Form Registrasi dengan Swing

Tujuan: Memahami layout manager (BorderLayoutGridLayout) dan komponen form.

  1. 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”.
  2. Saat tombol diklik:
    • Validasi input (contoh: email harus mengandung @).
    • Tampilkan data yang diinput di konsol atau dialog.

Contoh Output:

Tugas 3: Aplikasi Kalkulator Sederhana

Tujuan: Implementasi logika dan event handling kompleks.

  1. Buat kalkulator dengan:
    • Tombol angka (0-9) dan operasi (+, -, *, /).
    • Layar tampilan (JTextField).
  2. Handle operasi matematika dasar dan tampilkan hasil.
  3. Tambahkan fitur “Clear” untuk mengosongkan input.

Contoh Tampilan:

Tugas 4: Aplikasi To-Do List dengan Swing

Tujuan: Menggunakan JListDefaultListModel, dan operasi CRUD.

  1. Buat aplikasi untuk menambah/menghapus tugas:
    • Input tugas di JTextField.
    • Tombol “Tambah” dan “Hapus”.
    • Daftar tugas ditampilkan di JList.
  2. Simpan data tugas ke file teks (opsional).

Contoh Output:

Tugas 5: Pengenalan JavaFX dan Scene Builder

Tujuan: Membuat UI dengan JavaFX dan FXML.

  1. Instal Scene Builder dan integrasikan dengan IDE.
  2. Buat aplikasi dengan:
    • Label “Hello JavaFX!”.
    • Tombol yang mengubah teks label saat diklik.
  3. 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.

  1. Buat konverter suhu (Celsius ↔ Fahrenheit):
    • Input suhu di TextField.
    • Radio button untuk memilih jenis konversi.
    • Hasil konversi update otomatis saat input berubah (gunakan Binding).
  2. Tambahkan styling CSS untuk mempercantik UI.

Contoh Output:

Tugas 7: Aplikasi CRUD dengan JavaFX dan Database

Tujuan: Integrasi JavaFX dengan database (SQLite/MySQL).

  1. Buat aplikasi manajemen siswa:
    • Input: NIM, Nama, Jurusan.
    • Tombol “Simpan”, “Edit”, “Hapus”.
    • Tampilkan data di TableView.
  2. 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.

  1. Buat bola yang memantul di dalam panel:
    • Gunakan TranslateTransition untuk animasi pergerakan.
    • Tambahkan efek bayangan (DropShadow).
  2. Tambahkan slider untuk mengontrol kecepatan animasi.

Contoh Output:

Tugas 9: Aplikasi Chat Sederhana (Socket + JavaFX)

Tujuan: Membuat aplikasi jaringan dengan GUI.

  1. 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.
  2. Gunakan thread untuk handle koneksi simultan.

Contoh Output:

Tugas 10: Mini Project: Aplikasi Manajemen Toko

Tujuan: Mengintegrasikan semua konsep.

  1. 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.
  2. 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 JPanelJTableJFileChooser, dan JMenuBar.
    • Gunakan MigLayout atau GroupLayout untuk desain kompleks.
  • Untuk JavaFX:
    • Manfaatkan ObservableList untuk update otomatis UI.
    • Eksplor library tambahan seperti JFoenix untuk desain Material UI.
  • Gunakan IDE seperti IntelliJ IDEA atau NetBeans yang memiliki GUI builder.

Dokumentasi Resmi:

Selamat membangun antarmuka yang interaktif! 🖥️🚀