Sunday , October 6 2024

LANJUTAN – CRUD BUKU TELEPON SEDERHANA MENGGUNAKAN DATABASE MYSQL [NETBEANS]

Hallo teman-teman, setelah kemarin kita membuat button simpan, kali ini kita akan menambahkan beberapa button seperti : lihat, ubah data, hapus, refresh, clear, exit, cari. Silahkan teman teman buka jFrame Form input_data_kontak kemudian design seperti dibawah ini yah, sebelah kiri adalah tampilan sebelumnya, dan sebelah kanan adalah tampilan yang akan kita buat.

– Change variable name jTable1 menjadi “Table”, tanpa tanda kutip

– Klik kanan pada Table -> Properties -> Model, kemudian edit seperti dibawah ini:

– Kemudian teman teman tambahkan source code berikut dibawah import javax.swing.JOptionPane;

import javax.swing.table.*;

– Masukkan konstruktor “private DefaultTableModel dtm;” dibawah “private String t;”

– Klik kanan pada button refresh -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:

    new input_data_kontak().setVisible(true);
    dispose();

– Klik kanan pada button hapus -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:

    int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Mendelete record ini???",
            "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION);
    if (ok==0){
        try{
            String sql="delete from data_kontak where id_kontak='"+id_KontakTextField.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            st.executeUpdate();
            JOptionPane.showMessageDialog(null, "Delete Data Sukses");
        }
        catch (Exception e){
            JOptionPane.showMessageDialog(null, "Delete Data Gagal");
        }
    }

– Klik kanan pada button lihat -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:

    try{
        Object [] rows={"Id","Nama ","No Kontak","Alamat","Status"};
        dtm=new DefaultTableModel(null,rows);
        Table.setModel(dtm);
        Table.setBorder(null);
        jScrollPane1.setVisible(true);
        jScrollPane1.setViewportView(Table);
        int no = 1;
        String id_kontak="",nama_kontak="",no_kontak="",alamat="",status="";
        try{
            String sql="select * from data_kontak";
            Statement st=con.createStatement();
            ResultSet rs=st.executeQuery(sql);
            while(rs.next()){
                id_kontak=rs.getString("id_kontak");
                nama_kontak=rs.getString("nama_kontak");
                no_kontak=rs.getString("no_kontak");
                alamat=rs.getString("Alamat");
                status=rs.getString("status");
                String [] tampil={""+id_kontak,nama_kontak,no_kontak,alamat,status};
                dtm.addRow(tampil);
            }
        } catch(SQLException e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(null,"Query Salah "+e);
        }
    } catch(Exception e){
        e.printStackTrace();
    }

– Klik kanan pada tabel -> Events -> Mouse -> mouseClicked, kemudian masukkan source code berikut:

    int i = Table.getSelectedRow();
    if(i==-1){
        return;
    }
    String code = (String)Table.getValueAt(i,0);
    String code1 = (String)Table.getValueAt(i,1);
    String code2 = (String)Table.getValueAt(i,2);
    String code3 = (String)Table.getValueAt(i,3);
    String code4 = (String)Table.getValueAt(i,4);
    
    id_KontakTextField.setText(code);
    nama_KontakTextField.setText(code1);
    no_KontakTextField.setText(code2);
    alamat_KontakTextField.setText(code3);
    statusComboBox.setSelectedItem(code4);

– Klik kanan pada button cari -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:

    try {
        res=stat.executeQuery("select * from data_kontak where "+ "id_kontak='" +id_KontakTextField.getText()+"'" );
        while (res.next()){
            nama_KontakTextField.setText(res.getString("nama_kontak"));
            no_KontakTextField.setText(res.getString("no_kontak"));
            alamat_KontakTextField.setText(res.getString("alamat"));
            statusComboBox.setSelectedItem(res.getString("status"));
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(rootPane, e);
    }

– Klik kanan pada button ubah data -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:

    int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini???","Confirmation",JOptionPane.YES_NO_OPTION);
    try {
        String sql="update data_kontak set id_kontak=?,nama_kontak=?,no_kontak=?,Alamat=?,status=? where id_kontak='"+id_KontakTextField.getText()+"'";
        PreparedStatement st=con.prepareStatement(sql);
        if(ok==0) {
            try {
                st.setString(1,id_KontakTextField.getText());
                st.setString(2,nama_KontakTextField.getText());
                st.setString(3,no_KontakTextField.getText());
                st.setString(4,alamat_KontakTextField.getText());
                st.setString(5, (String) statusComboBox.getSelectedItem());
                st.executeUpdate();
                JOptionPane.showMessageDialog(null,"Update Data Sukses");
            }
            catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Update Data Gagal");
            }
        }
    }
    catch (Exception e){}

– Klik kanan pada button clear -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:

    id_KontakTextField.setText("");
    nama_KontakTextField.setText("");
    no_KontakTextField.setText("");
    alamat_KontakTextField.setText("");
    id_KontakTextField.requestFocus();
    statusComboBox.setSelectedIndex(-1);

– Klik kanan pada button exit -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:

    JOptionPane.showMessageDialog(null, "Anda, exit");
    System.exit(0);

 

About Chandra Nugraha

Leave a Reply

Your email address will not be published. Required fields are marked *