Skip to main content

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

Adapun komponen Swing yang saya gunakan antara lain :

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

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

memberi warna atau background pada GUI

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

mengisi opsi dropdown

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

mendesain tampilan tabel

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

memberikan aksi

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 

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

Input data table

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

Membersihkan Tabel

    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

Menghitung total 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 :

java menampilkan data dengan tabel jtable

java joptionpane sederhana

java joptionpane sederhana2 

Jika Anda merasa bahwa artikel-artikel di blog ini bermanfaat, Anda bisa memberikan donasi melalui Paypal.

Jangan lupa untuk mengulas blog ini lewat google my business Berikan ulasan

Diperbolehkan menyalin artikel diblog ini dengan syarat mencantumkan sumber . Blog anda tidak akan dihapus , deindex , adsense tidak akan menerima keluhan hak cipta dari saya dsb
Buka Komentar
Tutup Komentar