Java Netbeans : Menampilkan data di tabel tanpa database
1. Pembuatan Form
Pemrograman JAVA GUI untuk menampilkan data menggunakan JTable dapat dilakukan dengan mudah tanpa database mulai dari awal tahap pemilihan komponen swing hingga pemrosesannya sehingga menampilkan hasil akhir yang dikehendaki
Pada contoh program menampilkan data mahasiswa dengan pemrogramanan java menggunakan GUI melalui 3 proses yaitu input , proses dan output. Dimungkinkan adanya proses Tambah dan Hapus untuk merubah tampilan data pada tabel
1.1 Komponen yang digunakan
Pada praktikum kali ini kita akan membuat sebuah aplikasi sederhana yang memiliki fungsi untuk merekam data dari inputan JTextfield kemudian menampilkannya ke dalam tabel java menggunakan komponen JTable. Aplikasi ini tidak menggunakan database sehingga saat aplikasi ditutup maka data yang sudah disimpan sebelumnya akan terhapus secara otomatis
Komponen Swing dan Variabel | |||
---|---|---|---|
Komponen | Nama Variabel | Fungsi | |
JButton | btn_clear | Untuk membersihkan tabel | |
JButton | btn_tambah | Menambahkan data ke tabel | |
JCheckbox | cbstatus | Inputan data dalam bentuk ceklist | |
JComboBox | cb_angkatan | Input data angkatan mahasiswa | |
JLabel1 | Nama | Teks Judul | |
JLabel2 | NPM | Teks Judul | |
JLabel3 | Angkatan | Teks Judul | |
JLabel4 | Kelas | Teks Judul | |
JLabel5 | IPK | Teks Judul | |
JLabel6 | Jenis Kelamin | Teks Judul | |
JLabel7 | Status | Teks Judul | |
JLabel8 | Jumlah | Teks Judul | |
JLabel9 | Aktif | Teks Judul | |
JPanel | JPanel1 | Memberi warna pada window | |
JRadioButton | rdLaki | Pilihan untuk laki-laki | |
JRadioButton | rdPerempuan | Pilihan untuk perempuan | |
JTable | tabelData | Untuk membuat tabel | |
JTextfield | jumlah_data | Menjumlahkan data ditabel | |
JTextfield | txt_ipk | Input data IPK | |
txt_kelas | Aktif | Input data Kelas | |
JTextfield | txt_nama | Input data Nama | |
JTextfield | txt_npm | Input data NPM |
Event merupakan suatu aksi yang dilakukan user saat user menggunakan perangkat I/O seperti Keyboard atau Mouse, setiap objek komponen GUI dapat merespon event sehingga komponen tersebut dapat melakukan aksi ketika terjadi suatu event.
Adapun perintah event yang saya gunakan antara lain :
- ActionListener Adalah sebuah interface yang merupakan sebuah sub interface EventListener, ActionListener digunakan untuk menerima suatu event seperti penekanan button, pemilihan menu atau penekanan tombol enter ketika penulisan pada textField. ActionListener memiliki satu method yaitu actionPerformed() yang merupakan kode aksi dari event yang diterima ActionListener.
1.2 Mendesain Form
Mendesain form mahasiswa dengan susunan komponen-komponen Swing yang sudah saya sebutkan diatas sehingga membentuk tampilan akhir seperti ini
Desain Akhir Form Data Mahasiswa
Langkah-langkahnya sebagai berikut :
1. Untuk memberi warna atau background pada GUI java netbeans , kita menggunakan komponen panel yang ada pada palette Swing Container. Tarik komponen panel kedalam frame kemudian klik kanan frame > properties > background > klik untuk merubah warna panel sesuai keinginan. Kalau sudah, tarik panel tersebut sehingga memenuhi frame
2. Selanjutnya melakukan drag and drop pada komponen swing control sehingga membentuk desain form yang di inginkan. Terdiri dari label , button , checkbox, radiobutto , textfield dan table
3. Untuk mengisi opsi dropdown angkatan, caranya klik kanan pada combobox > properties > model > isikan opsi dengan format String misal 2018 , 2019 , 2020
4. Untuk mendesain tampilan tabel agar terlihat rapih, bisa dilakukan dengan cara klik kanan pada JTable > pilih properties > pada bagian rows dan column atur sesuai jumlah data yang ingin ditampilkan pada tabel, kemudian pada kolom title isikan judul untuk setiap kolom
Atau bisa juga melalui klik kanan JTable > Customized code > ada 2 kolom dropdown bernama "default code" , pada colom kedua rubah menjadi "custom property" > kemudian edit data element String disampingnya
new Object [][] {
},
new String [] {
"Nama", "NPM", "Angkatan", "Kelas", "IPK", "JK", "Status"
}
));
5. Selanjutnya tinggal memberikan aksi pada masing-masing button dengan event mouseClick sehingga saat tombol mouse ditekan maka akan ada proses tertentu yang dijalankan
Ini akan mengarahkan anda ke tab source code , penjelasan masing-masing coding akan dijelaskan pada langkah selanjutnya
II. Proses Coding dan Penjelasan
2.1 Screen Shoot Coding
Setiap komponen JTextField , JTable telah diberikan inputan nama variabel agar setiap inputan data bisa diproses oleh fungsi-fungsi button. Berikut adalah penjelasan coding program pada form mahasiswa
2.1.1 Header
Java menyediakan banyak collection yang bisa anda gunakan salah satunya yang kita gunakan disini yaitu ArrayList untuk menampilkan daftar atau nilai dengan cara menambahkan (add) atau (remove). Kemudian JOptionPane untuk menampilkan pesan dialog untuk memberi tau pengguna apakah suatu proses berjalan dengan baik atau error
2.1.2 Input data table
Klik kanan pada button tambah > event > mouse > mouseClicked.. selanjutnya akan terbuka tab Source
Ini adalah kode untuk menambahkan data kedalam tabel:
String ls_jk="";
if(rdLaki.isSelected()){
ls_jk = rdLaki.getText();
}
else if(rdPerempuan.isSelected()){
ls_jk = rdPerempuan.getText();
}
String ls_status="";
if (cbStatus.isSelected()){
ls_status="Aktif";
}else{
ls_status="Tidak Aktif";
}
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
List list = new ArrayList<>();
tabelData.setAutoCreateColumnsFromModel(true);
list.add(txt_nama.getText());
list.add(txt_npm.getText());
list.add(cb_angkatan.getSelectedItem().toString());
list.add(txt_kelas.getText());
list.add(txt_ipk.getText());
list.add(ls_jk);
list.add(ls_status);
dataModel.addRow(list.toArray());
sum();
DefaultTableModel merupakan class yang kita gunakan untuk permodelan data tabel seperti menambah baris atau kolom. Kita menggunakan list untuk menambah daftar namun pada daftar(list) terlebih dahulu disimpan pada array sementara baris terakhir untuk menambah list kedalam baris tabel
Untuk inputan data dari radiobutton dan checkbox kita menggunakan perintah if- else karena ini merupakan perintah selected kemudian menambahkan inputan data ke tabel dengan list.add
2.1.3 Membersihkan Tabel
Klik kanan pada button bersihkan > event > mouse > mouseClicked.. selanjutnya akan terbuka tab Source
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
if (tabelData.getRowCount() > 0) {
for (int i = tabelData.getRowCount() - 1; i > -1; i--) {
dataModel.removeRow(i);
Kita menggunakan kondisi if , dimana data dalam tabel dihitung dengan fungsi getRowCount. Jika hasil count lebih besar maka dilakukan perintah penghapusan data dengan fungsi removeRow. Selanjutnya kita set jumlah_data= kosong
2.1.3 Menghitung total data dengan fungsi sum()
Dibawah kode " initComponents(); } " buat void baru dengan fungsi untuk menjumlahkan isi tabel. Variabel hasil jumlah berisi data hasil pengecekan (count) yang ada pada tabel. Selanjutnya dilakukan perulangan pada masing-masing kolom dan index kolom berdasarkan fungsi array, barulah dilakukan penjumlahan yang hasilnya kita tampilkan pada JTextfield jumlah_data
private void sum(){
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
int jumlah = dataModel.getRowCount();
jumlah_data.setText(Integer.toString(jumlah));
}
Fungsi sum(sum) tidak akan bisa jalankan sebelum anda panggil pada tombol tambah dan tombol bersihkan dengan menambahkan fungsi sum(); setelah dataModel.addRow(list.toArray());
Button tambah
String ls_jk="";
if(rdLaki.isSelected()){
ls_jk = rdLaki.getText();
}
else if(rdPerempuan.isSelected()){
ls_jk = rdPerempuan.getText();
}
String ls_status="";
if (cbStatus.isSelected()){
ls_status="Aktif";
}else{
ls_status="Tidak Aktif";
}
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
List list = new ArrayList<>();
tabelData.setAutoCreateColumnsFromModel(true);
list.add(txt_nama.getText());
list.add(txt_npm.getText());
list.add(cb_angkatan.getSelectedItem().toString());
list.add(txt_kelas.getText());
list.add(txt_ipk.getText());
list.add(ls_jk);
list.add(ls_status);
dataModel.addRow(list.toArray());
sum();
Button bersihkan
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
if (tabelData.getRowCount() > 0) {
for (int i = tabelData.getRowCount() - 1; i > -1; i--) {
dataModel.removeRow(i);
jumlah_data.setText("");
}
}
2.1.4 Menampilkan dialog dengan JOptionPane
JOptionPane ditambahkan action event mouseClick terdiri dari basic message , error messages , information messages , warning messages , question messages , plain messages, action dialog, confirm dialog, input dialog
Diletakkan pada button tambah (diatas kode tambah)
JOptionPane.showMessageDialog(null, "Contoh : Data anda berhasil "
+ "tersimpan !!", "Title : Pesan Informasi ???",
JOptionPane.INFORMATION_MESSAGE);
Diletakkan pada button bersihkan (diatas kode hapus)
JOptionPane.showMessageDialog(null, "Yakin membersihkan tabel?", "Title : Pesan Error ???", JOptionPane.ERROR_MESSAGE);
Hasil running :
Baca juga: UTS Pemrograman JAVA
Posting Komentar untuk "Java Netbeans : Menampilkan data di tabel tanpa database"
Posting Komentar
Artikel di blog ini bersumber dari pengalaman pribadi penulis, tulisan orang lain sebagai posting tamu maupun bayaran oleh sebab itu segala hak cipta baik kutipan dan gambar milik setiap orang yang merasa memilikinya