Widget HTML #1

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 







Pegawai Kantoran dan Pekerja Serabutan Online
Pegawai Kantoran dan Pekerja Serabutan Online "Apabila anak adam (manusia) telah meninggal dunia, maka terputuslah amalnya darinya, kecuali tiga perkara, yaitu sedekah jariyah (sedekah yang pahalanya terus mengalir), ilmu yang bermanfaat, atau anak saleh yang selalu mendoakannya." (HR Muslim No. 1631)

Posting Komentar untuk "Java Netbeans : Menampilkan data di tabel tanpa database"