Anda di halaman 1dari 6

SOAL LATIHAN JAVA GUI

Meskipun latihan, mohon dikerjakan sungguh – sungguh ya.

Output Aplikasi
Output Aplikasi dapat diunduh di link berikut: http://bit.ly/mds_akhi
Setelah output aplikasi diunduh, silakan dieksplore terlebih dahulu sebelum beralih ke problem set

Problem Set
Problem set di bawah ini disusun berdasarkan materi – materi yang telah dipelajari yakni:
1. CRUDS
2. Manajemen Basis Data 1 Tabel
3. GUI Java sederhana
4. Implementasi void main()
Layout Aplikasi
Terdapat 1 layout utama dan 3 layout pendukung.

Layout Utama

Deksripsi Tampilan Layout:

1. Layout utama berupa fixed (not resizable) Jframe


2. App Title pada layout utama adalah Manajemen Data Siswa
3. App Icon boleh di custom sesuai dengan kreativitas
4. Tombol berfungsi sebagaimana mestinya, yakni me-minimize app ke taskbar
5. Tombol berfungsi sebagaimana mestinya, yakni menutup app dengan konfirmasi
a. Konfirmasi untuk menutup app adalah JoptionPane Yes No Dialog

Apabila tombol Yes ditekan maka app akan exit, sebaliknya, jika tombol No ditekan maka kotak dialog
konfirmasi akan menutup dengan status dispose
1
6. JTable standar tanpa ada penambahan fungsi apa – apa. Header boleh di kustom sesuai dengan kreativitas.
7. Tombol Tambah Data berfungsi untuk menampilkan kotak dialog Tambah Data Siswa
8. Tombol Refresh Tabel berfungsi untuk menyegarkan JTable.
9. Tombol Ekspor Data berfungsi untuk mengekspor data dalam JTable dalam bentuk excel
10. Tombol i berfungsi untuk menampilkan kotak dialog Tentang Aplikasi
11. Tombol Setel Ulang berfungsi untuk menyetel ulang (reset) tabel dalam database
12. Tombol Ubah Data berfungsi untuk menampilkan kotak dialog Ubah Data Siswa. Secara Default tombol ini
disabled dan HANYA AKAN AKTIF ketika ada data yang dipilih dari JTable
13. Tombol Hapus Data berfungsi untuk menghapus data siswa dengan konfirmasi. Secara Default tombol ini
disabled dan HANYA AKAN AKTIF ketika ada data yang dipilih dari JTable
a. Konfirmasi untuk menghapus data adalah JoptionPane Yes No Dialog

Apabila tombol Yes ditekan maka data yang dipilih akan terhapus, sebaliknya, jika tombol No ditekan
maka kotak dialog konfirmasi akan menutup dengan status dispose

Layout Tambah Data Siswa

1. Layout Tambah Data Siswa berupa fixed (not resizable) Tool Jframe
2. App Title pada layout Tambah Data Siswa adalah Tambah Data Siswa
3. Tombol berfungsi sebagaimana mestinya, yakni menutup kotak dialog Tambah Data Siswa dengan status
dispose
4. Tombol batal berfungsi seperti pada poin nomor (3)
5. Tombol Simpan Data berfungsi untuk:
a. Menyimpan data masukan ke dalam database
i. Apabila saat akan disimpan ditemukan data NISN yang sama, maka app tidak akan menyimpan
data dan akan mengeluarkan pesan kesalahan seperti tangkapan layar di bawah ini.

Pesan kesalahan di tampilkan dengan JOPtionPane Error Message

2
ii. Apabila saat akan disimpan tidak ditemukan data NISN yang sama, maka app akan
melanjutkan proses penyimpanan data dan menampilkan pesan bahwa data telah berhasil
disimpan

b. Merefresh JTable pada layout utama


c. Menutup kotak dialog Tambah Data Siswa dengan status dispose
6. Komponen dalam Layout Tambah Data Siswa adalah sebagai berikut:
a. JLabel
b. JSeparator
c. JTextField
d. Jbutton

Layout Ubah Data Siswa

1. Layout Ubah Data Siswa berupa fixed (not resizable) Tool Jframe
2. App Title pada layout Ubah Data Siswa adalah Ubah Data Siswa
3. Pada layout Ubah Data Siswa terdapat JCheckBox yang berfungsi untuk mengonfirmasi apakah pengguna ingin
mengubah data NISN atau tidak.
a. Secara Default apabila Checkbox tidak dalam keadaan Ter-Check maka input untuk NISN juga akan
Not Editable (Bukan Disabled).
b. Keadaan sebaliknya, apabila Checkbox dalam keaadaan Ter-Check maka input untuk NISN juga akan
Editable. Saat kondisi ini, proses cek duplikasi NISN dilakukan pada proses penyimpanan data
4. Tombol berfungsi sebagaimana mestinya, yakni menutup kotak dialog Ubah Data Siswa dengan status
dispose
5. Tombol batal berfungsi seperti pada poin nomor (3)

3
6. Tombol Simpan Data berfungsi untuk:
a. Menyimpan data masukan ke dalam database
i. Apabila saat akan disimpan ditemukan data NISN yang sama (HANYA UNTUK KONDISI
CHECKBOX TER-CHECK), maka app tidak akan menyimpan data dan akan mengeluarkan pesan
kesalahan seperti tangkapan layar di bawah ini.

Pesan kesalahan di tampilkan dengan JOPtionPane Error Message


ii. Apabila saat akan disimpan tidak ditemukan data NISN yang sama, maka app akan
melanjutkan proses penyimpanan data dan menampilkan pesan bahwa data telah berhasil
disimpan

b. Merefresh JTable pada layout utama


c. Menutup kotak dialog Ubah Data Siswa dengan status dispose
7. Komponen dalam Layout Tambah Data Siswa adalah sebagai berikut:
a. JLabel
b. JSeparator
c. JCheckBox
d. JTextField
e. Jbutton

Layout Tentang

1. Layout Tentang Aplikasi berupa fixed (not resizable) Tool Jframe


2. App Title pada layout Tentang Aplikasi adalah Tentang Aplikasi
3. Konten di dalam layout ini boleh dikustom sesuai dengan kreativitas

4
4. Tombol berfungsi sebagaimana mestinya, yakni menutup kotak dialog Tentang Aplikasi dengan status
dispose
5. Tombol tutup berfungsi seperti pada poin nomor (3)

Struktur Database
Karena proses pembelajaran baru mencapai single table + CRUDS, maka struktur tabel untuk app ini juga sederhana:

No Nama Kolom Tipe Data Data yang Disimpan


1 IDSiswa Text Java CurrenTimeMilis (UNIX Timestamp)
2 NISN Text NISN Siswa
3 NamaSiswa Text Nama Siswa
4 Kelas Text Kelas Siswa
5 Jurusan Text Jurusan Siswa

Fungsi – fungsi lain


Eksport Data
Ketika tombol Ekspor Data ditekan maka:

1. Muncul kotak dialog masukan nama file ekspor. Kotak dialog berupa JOptionPane Input Dialog

2. Muncul JFileChooser untuk memilih lokasi penyimpanan file hasil ekspor

5
3. Muncul kotak dialog berhasil melakukan ekspor data. Kotak dialog berupa JOptionPane Message Dialog

4. Data hasil ekspor berhasil disimpan di lokasi yang sudah ditentukan.

5. Hasil file ekspor ketika dibuka dengan menggunakan Microsoft Excel

Ketentuan Pengerjaan
1. Minimal menggunakan jAVA 1.8 (JDK/JRE). Cek via CMD (java –version dan javac –version)
2. Boleh Menggunakan IDE Apa saja (Netbeans, Eclipse)
3. Boleh dikerjakan ramai – ramai
4. Kalau bingung boleh tanya Internet (Github, Google, StackOverflow, dll)
5. Kalau masih bingung tanya Bu Runi
6. Jumat Presentasi.. ^_^

REFERENSI:
Kitab JENI (Java Education Network Indonesia): http://bit.ly/java_jeni

SELAMAT KODING .... ^_^

Anda mungkin juga menyukai