Pemrograman
Now Reading
Cara Memasukkan Data ke dalam JTable Secara Manual
0

Cara Memasukkan Data ke dalam JTable Secara Manual – Halo sobat IT sekalian. Mungkin pada artikel sebelumnya kita telah membahas bagaimana cara memasukkan data ke dalam JTable dengan menggunakan database. Namun, tahukah kalian bahwa kita dapat membuat data JTable kita sendiri secara manual? Nah, pada artikel kali ini saya akan membahas mengenai Cara Memasukkan Data ke dalam JTable Secara Manual. Hal yang harus diperhatikan dalam membuat JTable ini adalah dalam pembuatan row nya. Dimana jumlah row pada saat pertama kali kita buat harus lah sama hingga kolom yang terakhir. Penasaran bagaimana cara membuatnya? Oke, simak terus yah artikel ini teman-teman 😀

Cara Memasukkan Data ke dalam JTable Secara Manual

Agak berbeda dengan cara memasukkan data ke dalam JTable melalui database. Kali ini, kita harus menyediakan datanya terlebih dahulu. Nah, data yang kita sediakan dapat dalam bentuk ArrayList ataupun LinkList sesuai yang kalian kuasai. Pada artikel ini, saya akan menggunakan ArrayList untuk memudahkan dalam menyimpan data. Berikut adalah langkah-langkah yang harus kalian lakukan :

1. Siapkan tampilan JFrame Form kalian beserta dengan toolsnya

Sebagai contoh dalam pembuatan JTable secara manual ini, saya gunakan contoh pada form transaksi. Dimana data-data yang akan diinput disaat transaksi terjadi akan langsung dimasukkan ke dalam JTable secara manual (tanpa di simpan di database terlebih dahulu). Nah, kalian dapat mengikuti tampilan transaksi yang saya buat ini :

Contoh Form Transaksi

Contoh Form Transaksi

Nah, kalian dapat coba untuk membuat tools-tools yang saya buat. Seperti combo box yang ada pada Nama Pelanggan, Jumlah, dan lain sebagainya. Untuk harga, pada saat kita menekan tombol “Tambah”, maka harga akan secara otomasi diambil dari database kita, kemudian akan langsung dimasukkan ke dalam JTable kita secara manual.

Baca juga : Cara Mengambil Data dari Tabel Netbeans

2. Sediakan ArrayList kalian

Karena pada contoh ini saya menggunakan ArrayList sebagai media penyimpanan data untuk JTable-nya, maka kita buat dulu ArrayListnya. Kalian dapat menggantinya dengan yang lain sesuai yang kalian hendaki. Pada contoh kali ini, saya membuat arraylist yang banyak, dimana arraylist ini saling terpisah sesuai dengan field-field yang ada pada JTable-nya. Berikut adalah contoh kodingnya :

public class FRM_TRANSAKSI extends javax.swing.JFrame {

    Connection koneksi = null;
    ResultSet rs = null;
    PreparedStatement pst = null;

    // Membuat ArrayList
    public ArrayList no = new ArrayList();
    public ArrayList kb = new ArrayList();
    public ArrayList harga = new ArrayList();
    public ArrayList nb = new ArrayList();
    public ArrayList jmlh = new ArrayList();
    public ArrayList diskon = new ArrayList();
    public ArrayList totalharga = new ArrayList();

    public FRM_TRANSAKSI() {
        initComponents();
    }
}

3. Buat Method untuk JTable

Selanjutnya tinggal membuat method untuk memasukkan datanya secara manual. Kalian dapat membuat method ini, kemudian dimodifikasi dengan perintah perhitungan kalian agar dapat sesuai dengan transaksi yang kalian inginkan. Nah, untuk contoh methodnya adalah sebagai berikut :

public void viewTable(){
        Subtotal = 0;
        TotalDiskon = 0;
        
        // Membuat Field Table
        DefaultTableModel Tabelbrg = new DefaultTableModel();
        Tabelbrg.addColumn("No");
        Tabelbrg.addColumn("Kode Barang");
        Tabelbrg.addColumn("Nama Barang");
        Tabelbrg.addColumn("Jumlah");
        Tabelbrg.addColumn("Harga");
        Tabelbrg.addColumn("Diskon");
        Tabelbrg.addColumn("Total");
        
        // Mengisi JTable secara manual dengan bantuan ArrayList
        for(int k = 0; k<no.size();k++){
            do{
                for (int z = 0; z <no.size(); z++) {
                    Tabelbrg.addRow(new Object[]{
                    no.get(z),
                    kb.get(z),
                    nb.get(z),
                    jmlh.get(z),
                    harga.get(z),
                    diskon.get(z),
                    totalharga.get(z)
                                
                    });
                      
                 k++;
                }

            }while(k<no.size());
        }
        TabelPenjualan.setModel(Tabelbrg);
        
        // Perhitungan Biasa
        double pajak, bayar2=0;
        
        for (int i = 0; i < harga.size(); i++) {
            Subtotal += (Integer)harga.get(i)*(Integer)jmlh.get(i);
            TotalDiskon += (Integer)diskon.get(i);
        }
        
        
        pajak = Subtotal*0.1;
        bayar2 = Subtotal +pajak - TotalDiskon;
        TotalBayar = bayar2;
        
        textSubtotal.setText(df.format(Subtotal));
        textDiskon.setText(df.format(TotalDiskon));
        textPajak.setText(df.format(pajak));
        textTotalNetto.setText(df.format(bayar2));
        textTotal.setText(df.format(TotalBayar));
}

Untuk perintah perhitungannya dapat kalian modifikasi sesuai dengan perhitungan kalian masing-masing. Ini adalah seluruh contoh koding saya pada perintah viewTable(). Method ini berfungsi untuk setiap data yang dimasukkan, maka table akan dibuat ulang dengan data yang baru. Jika data yang ditambahkan ada 1, dan akan ditambahkan lagi, maka table akan dibuat ulang dengan data yang sebelumnya dan yang barunya. Maka dari itu saya menggunakan ArrayList untuk menyimpan data yang lama dan yang barunya.

4. Koding di Button “Tambah”

Kemudian tinggal kita beri perintah di button “Tambah” kita. Sehingga saat tombol itu ditekan, maka data akan secara otomatis masuk ke dalam JTable kita, namun data tersebut belum kita simpan yah di database. Sehingga data masih bisa diubah ataupun ditambah terlebih dahulu. Berikut adalah contoh kodingnya :

private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {                                          
        if(textJumlah.getText().isEmpty()){
            JOptionPane.showMessageDialog(null,"Jumlah tidak boleh kosong!!!");
        }
        else{
                nomor=nomor+1;
                int k = 0;
                Date tgl1 = textTanggal.getDate();
               // String KodeP = cmbPelanggan.getSelectedItem().toString();
                String KodeS = cmbSalesman.getSelectedItem().toString();
                int jumlah = Integer.parseInt(textJumlah.getText());
                String namabarang = cmbBarang.getSelectedItem().toString();
                
                try{
                    String sql = "Select KODE_BARANG, HARGA_JUAL from Barang \n" +
                        "Where NAMA_BARANG ='"+cmbBarang.getSelectedItem().toString()+"'";
                    pst = koneksi.prepareStatement(sql);
                    rs = pst.executeQuery(sql);
                    while(rs.next()){
                        row.add(new Object[]{
                            rs.getString(1),
                            rs.getString(2),
                        });
                        textKode.setText(rs.getString(1));
                        Harga = Integer.parseInt(rs.getString(2));
                    }
                }catch(Exception ex){
                    JOptionPane.showMessageDialog(rootPane, "Data yang dicari tidak ada !!!!");
                }
                
                try{
                    String sql = "Select KODE_PELANGGAN from PELANGGAN \n" +
                        "Where NAMA_PELANGGAN ='"+ cmbPelanggan.getSelectedItem().toString()+"'";
                    pst = koneksi.prepareStatement(sql);
                    rs = pst.executeQuery(sql);
                    while(rs.next()){
                        row.add(new Object[]{
                            rs.getString(1),
                        });
                        KP = rs.getString(1);
                    }
                }catch(Exception ex){
                    JOptionPane.showMessageDialog(rootPane, "Data yang dicari tidak ada !!!!");
                }

                //System.out.println(KP);
                
                try{
                    String sql = "Select KODE_SALESMAN from SALESMAN \n" +
                        "Where NAMA_SALESMAN ='"+ cmbSalesman.getSelectedItem().toString()+"'";
                    pst = koneksi.prepareStatement(sql);
                    rs = pst.executeQuery(sql);
                    while(rs.next()){
                        row.add(new Object[]{
                            rs.getString(1),
                        });
                        KS = rs.getString(1);
                    }
                }catch(Exception ex){
                    JOptionPane.showMessageDialog(rootPane, "Data yang dicari tidak ada !!!!");
                }
                
                int total1 = 0, diskon1 = 0;
                double pajak = 0; 
                int harga1 = Harga;
                if(jumlah >10){
                    diskon1 = 10000;
                }
                total1 = harga1 * jumlah;

                no.add(nomor);  
                kb.add(textKode.getText());
                nb.add(cmbBarang.getSelectedItem().toString());
                jmlh.add(jumlah);
                harga.add(harga1);
                diskon.add(diskon1);
                totalharga.add(total1);

                cmbSalesman.setEnabled(false);
                textTanggal.setEnabled(false);
                cmbPelanggan.setEnabled(false);
                btnInsertPelanggan.setEnabled(false);
                btnInsertSalesman.setEnabled(false);

                Harga = 0;

                viewTable();
                textKode.setText("");
                cmbBarang.setSelectedIndex(0);
                textJumlah.setText("");
                KodeBarang = "";
                NamaBarang = "";


                double kembali = bayar-TotalBayar ;
                textKembali.setText(df.format(kembali));
                textBayar.setText(df.format(bayar));
       
      }

        
}

Nah, setelah kalian masukkan perintah ini kedalam tombol “Tambah” kalian, kalian sudah dapat menjalankannya. Kalian pun dapat membuat data pada JTable kalian sendiri secara manual. Oke, untuk memperjelas artikel ini saya akan buatkan video tutorialnya yah. Kalian dapat nantikan video tutorialnya pada Channel YouTube kami di Bier Pinter. Jika ada pertanyaan yang kurang jelas, kalian dapat tuliskan di form komentar yah. Sekian dari saya… Salam IT ^_^

Baca juga : Cara Membuat Judul Form Bergerak Pada Netbeans

What's your reaction?
Luar Biasa
0%
Suka Sekali
0%
Keren
0%
Kagum
0%
Jelek
0%
Tidak Suka
0%
About The Author
GreenIT

You must log in to post a comment