Selasa, 30 Juni 2015

UAS Smester 2 - Absen Kelas Sederhana

1.





package absensi_sederhana;

/**
 *
 * @author alfa
 */
public class MainHome extends javax.swing.JFrame {

    /**
     * Creates new form MainHome
     */
    public MainHome() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                        
    private void initComponents() {

        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem3 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jMenu1.setText("Data Master");

        jMenuItem1.setText("Data Mahasiswa");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem1);

        jMenuItem2.setText("Data Mata Kuliah");
        jMenu1.add(jMenuItem2);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Data Kelas");

        jMenuItem3.setText("Nama Kelas");
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem3);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 279, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                      

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
    }                                        

    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
    }                                        

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(MainHome.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(MainHome.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(MainHome.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MainHome.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>



       /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MainHome().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                    
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3

2.

Codingan :

package absensi_sederhana;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;
import javax.swing.JOptionPane;

/**
 *
 * @author alfa
 */
public class KelasForm extends javax.swing.JFrame {

    /**
     * Creates new form KelasForm
     */
    public KelasForm() {
        initComponents();
    }
 private void kosong(){
        jTextField1.setText("");
        jTextField2.setText("");      

    }
    private void disabel(){
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
        jComboBox1.setEnabled(false);      
    }
    private void enabel(){
        jTextField1.setEnabled(true);
        jTextField2.setEnabled(true);
        jComboBox1.setEnabled(true);              
    }
        private void tambah(){
        tambah.setEnabled(false);
        simpan.setEnabled(true);
        update.setEnabled(false);
        hapus.setEnabled(false); 
        batal.setEnabled(true);
        kosong();
        enabel();
        }
    private void edit(){
        tambah.setEnabled(false);
        simpan.setEnabled(false);
        hapus.setEnabled(false); 
        batal.setEnabled(true);  
        update.setEnabled(true);      
    }
        private void LoadData(){
            String[]kolom={"No.","Nama Kelas","Mata Kuliah","Jam"};
            DefaultTableModel tabel = null;
            tabel = new DefaultTableModel(null,kolom){
                Class[]types= new Class[]{
                    java.lang.String.class,
                    java.lang.String.class,
                    java.lang.String.class,
                    java.lang.String.class,};
                public Class getColumnClass(int columnIndex){
                    return types[columnIndex];}};
                    listmhs.setModel(tabel);
                    Connection conn = null;
                    try{
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");  
                        Statement stat = (Statement)conn.createStatement();
                        String sql = "SELECT tb_kelas.*, tb_matakuliah.matkul FROM tb_kelas INNER JOIN tb_matakuliah ON tb_matakuliah.id_matkul = tb_kelas.id_matkul";                      
                        ResultSet res = stat.executeQuery(sql);
                        while(res.next()){
                            String cetaknim = res.getString(1);
                            String cetaknama = res.getString(2);
                            String cetakang = res.getString(5);
                            String cetakjur = res.getString(3);
                            Object[] data = {cetaknim,cetaknama,cetakang,cetakjur};
                            tabel.addRow(data);
                            listmhs.getColumnModel().getColumn(0).setPreferredWidth(100);
                            listmhs.getColumnModel().getColumn(1).setPreferredWidth(100);
                            listmhs.getColumnModel().getColumn(2).setPreferredWidth(100);
                            listmhs.getColumnModel().getColumn(3).setPreferredWidth(100);
                        }
                        conn.close();                          
                        stat.close();                          
                    }catch(SQLException Ex){
                        System.out.println(Ex.getMessage());                      
                    }catch(Exception e){
                        System.out.println(e.getMessage());
                    }
                  
                }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                        
    private void initComponents() {

        batal = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        tambah = new javax.swing.JButton();
        simpan = new javax.swing.JButton();
        update = new javax.swing.JButton();
        jLabel5 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        hapus = new javax.swing.JButton();
        jComboBox1 = new javax.swing.JComboBox();
        jLabel3 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        listmhs = new javax.swing.JTable();
        jLabel4 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowActivated(java.awt.event.WindowEvent evt) {
                formWindowActivated(evt);
            }
        });

        batal.setText("Batal");
        batal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                batalActionPerformed(evt);
            }
        });

        jLabel2.setText("Mata Kuliah");

        tambah.setText("Tambah Baru");
        tambah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tambahActionPerformed(evt);
            }
        });

        simpan.setText("Simpan");
        simpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                simpanActionPerformed(evt);
            }
        });

        update.setText("Update");
        update.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                updateActionPerformed(evt);
            }
        });

        jLabel5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel5.setText("Form Daftar Kelas");

        jLabel1.setText("Nama Kelas");

        hapus.setText("Hapus");
        hapus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                hapusActionPerformed(evt);
            }
        });

        jComboBox1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jComboBox1MouseClicked(evt);
            }
        });

        jLabel3.setText("Jam Masuk");

        listmhs.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        listmhs.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listmhsMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(listmhs);

        jLabel4.setText("jLabel4");

        jLabel6.setText("jLabel6");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(199, 199, 199)
                                .addComponent(jLabel5))
                            .addGroup(layout.createSequentialGroup()
                                .addContainerGap()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel1)
                                    .addComponent(jLabel2)
                                    .addComponent(jLabel3))
                                .addGap(37, 37, 37)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(layout.createSequentialGroup()
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                            .addComponent(jComboBox1, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 139, Short.MAX_VALUE))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(jLabel6))
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(tambah)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(simpan, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(update)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(hapus)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(batal)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(jLabel4)))))
                        .addGap(0, 53, Short.MAX_VALUE))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel5)
                .addGap(28, 28, 28)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6))
                .addGap(10, 10, 10)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(simpan)
                    .addComponent(tambah)
                    .addComponent(update)
                    .addComponent(hapus)
                    .addComponent(batal)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                      

    private void batalActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        tambah.setEnabled(true);
        simpan.setEnabled(false);
        hapus.setEnabled(false);
        batal.setEnabled(false);
        update.setEnabled(false);
        disabel();
    }                                   

    private void tambahActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        tambah();
    }                                    

    private void simpanActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");
            Statement stat = (Statement)conn.createStatement();
            String sql = "INSERT INTO tb_kelas(namakelas,jammasuk,id_matkul)VALUES('"+jTextField1.getText()+"','"+jTextField2.getText()+"','"+jComboBox1.getSelectedIndex()+"')";
            stat.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data Kelas Berhasil Ditambah");
            conn.close();
            stat.close();
            LoadData();
            kosong();
        }catch(SQLException Ex){
            System.out.println(Ex.getMessage());
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }                                    

    private void updateActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");
            Statement stat = (Statement)conn.createStatement();
            String sql = "UPDATE tb_kelas SET namakelas='"+jTextField1.getText()+"', jammasuk= '"+jTextField2.getText()+"', id_matkul= '"+jComboBox1.getSelectedIndex()+"' WHERE id_kelas = '"+jLabel3.getText()+"'";
            stat.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data Mata Kuliah Berhasil Diubah");
            conn.close();
            stat.close();
            LoadData();
            kosong();
        }catch(SQLException Ex){
            System.out.println(Ex.getMessage());
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }                                    

    private void hapusActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");
            Statement stat = (Statement)conn.createStatement();
            String sql = "DELETE FROM tb_kelas WHERE id_kelas = '"+jLabel4.getText()+"'";
            stat.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Dihapus");
            conn.close();
            stat.close();
            LoadData();
            kosong();
        }catch(SQLException Ex){
            System.out.println(Ex.getMessage());
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }                                   

    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                   
        // TODO add your handling code here:
        LoadData();
        disabel();
        tambah.setEnabled(true);
        simpan.setEnabled(false);
        hapus.setEnabled(false); 
        batal.setEnabled(false);
        update.setEnabled(false);         
        Connection conn = null;
                    try{
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");  
                        Statement stat = (Statement)conn.createStatement();
                        String sql = "SELECT * FROM tb_matakuliah";                      
                        ResultSet res = stat.executeQuery(sql);
                        jComboBox1.addItem("--- Choose ---");
                        while(res.next()){
                            String id = res.getString(1);
                            String matkul = res.getString(2);
                            jComboBox1.addItem(matkul);
                        }
                        conn.close();                          
                        stat.close();                          
                    }catch(SQLException Ex){
                        System.out.println(Ex.getMessage());                      
                    }catch(Exception e){
                        System.out.println(e.getMessage());
                    }
    }                                  

    private void listmhsMouseClicked(java.awt.event.MouseEvent evt) {                                   
        // TODO add your handling code here:
                // TODO add your handling code here:
        tambah.setEnabled(false);
        simpan.setEnabled(false);
        hapus.setEnabled(true);
        batal.setEnabled(true);
        update.setEnabled(true);
        int row = listmhs.rowAtPoint(evt.getPoint());
        String id = listmhs.getValueAt(row, 0).toString();
        String matkul = listmhs.getValueAt(row, 1).toString();
        String dosen = listmhs.getValueAt(row, 2).toString();
        String jammasuk = listmhs.getValueAt(row, 3).toString();
        enabel();
        jTextField2.setText(matkul);
        jTextField1.setText(jammasuk);
        jComboBox1.setSelectedItem(dosen);
        jLabel4.setText(id);
    }                                  

    private void jComboBox1MouseClicked(java.awt.event.MouseEvent evt) {                                      
        // TODO add your handling code here:

3.

Coding :

package absensi_sederhana;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;
import javax.swing.JOptionPane;
/**
 *
 * @author alfa
 */
public class MatkulForm extends javax.swing.JFrame {

    /**
     * Creates new form MatkulForm
     */
    public MatkulForm() {
        initComponents();
        LoadData();
    }
private void kosong(){
        jTextField1.setText("");
        jTextField2.setText("");        
    }
    private void disabel(){
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
    }
    private void enabel(){
        jTextField1.setEnabled(true);
        jTextField2.setEnabled(true);
    }
        private void tambah(){
        tambah.setEnabled(false);
        simpan.setEnabled(true);
        update.setEnabled(false);
        hapus.setEnabled(false);   
        batal.setEnabled(true);
        kosong();
        enabel();
        }
    private void edit(){
        tambah.setEnabled(false);
        simpan.setEnabled(false);
        hapus.setEnabled(false);   
        batal.setEnabled(true);    
        update.setEnabled(true);        
    }
        private void LoadData(){
            String[]kolom={"No.","Mata Kuliah","Dosen Pengajar"};
            DefaultTableModel tabel = null;
            tabel = new DefaultTableModel(null,kolom){
                Class[]types= new Class[]{
                    java.lang.String.class,
                    java.lang.String.class,
                    java.lang.String.class,};
                public Class getColumnClass(int columnIndex){
                    return types[columnIndex];}};
                    listmhs.setModel(tabel);
                    Connection conn = null;
                    try{
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");    
                        Statement stat = (Statement)conn.createStatement();
                        String sql = "SELECT * FROM tb_matakuliah";                        
                        ResultSet res = stat.executeQuery(sql);
                        while(res.next()){
                            String id = res.getString(1);
                            String cetakmatkul = res.getString(2);
                            String cetakdosen = res.getString(3);
                            Object[] data = {id,cetakmatkul,cetakdosen};
                            tabel.addRow(data);
                            listmhs.getColumnModel().getColumn(0).setPreferredWidth(100);
                            listmhs.getColumnModel().getColumn(1).setPreferredWidth(100);                            
                            listmhs.getColumnModel().getColumn(2).setPreferredWidth(100);
                        }
                        conn.close();                            
                        stat.close();                            
                    }catch(SQLException Ex){
                        System.out.println(Ex.getMessage());                        
                    }catch(Exception e){
                        System.out.println(e.getMessage());
                    }
                    
                }
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        update = new javax.swing.JButton();
        batal = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        listmhs = new javax.swing.JTable();
        jTextField2 = new javax.swing.JTextField();
        tambah = new javax.swing.JButton();
        simpan = new javax.swing.JButton();
        jLabel5 = new javax.swing.JLabel();
        hapus = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowActivated(java.awt.event.WindowEvent evt) {
                formWindowActivated(evt);
            }
        });

        update.setText("Update");
        update.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                updateActionPerformed(evt);
            }
        });

        batal.setText("Batal");
        batal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                batalActionPerformed(evt);
            }
        });

        listmhs.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        listmhs.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listmhsMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(listmhs);

        tambah.setText("Tambah Baru");
        tambah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tambahActionPerformed(evt);
            }
        });

        simpan.setText("Simpan");
        simpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                simpanActionPerformed(evt);
            }
        });

        jLabel5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel5.setText("Form Data Mata Kuliah");

        hapus.setText("Hapus");
        hapus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                hapusActionPerformed(evt);
            }
        });

        jLabel1.setText("Nama Mata Kuliah");

        jLabel2.setText("Nama Dosen Pengajar");

        jLabel3.setText("jLabel3");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane1))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addGap(129, 129, 129)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel5)
                                .addGap(0, 0, Short.MAX_VALUE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(tambah)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(simpan, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(update)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(hapus)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(batal)))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel3)
                .addContainerGap())
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel1)
                        .addComponent(jLabel2))
                    .addGap(40, 40, 40)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(97, Short.MAX_VALUE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel5)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 113, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tambah)
                    .addComponent(simpan)
                    .addComponent(hapus)
                    .addComponent(batal)
                    .addComponent(update))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 298, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3))
                .addContainerGap())
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(62, Short.MAX_VALUE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2)
                        .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(383, 383, 383)))
        );

        pack();
    }// </editor-fold>                        

    private void updateActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");
            Statement stat = (Statement)conn.createStatement();
            String sql = "UPDATE tb_matakuliah SET matkul='"+jTextField1.getText()+"', dosen= '"+jTextField2.getText()+"' WHERE id_matkul = '"+jLabel3.getText()+"'";
            stat.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data Mata Kuliah Berhasil Diubah");
            conn.close();
            stat.close();
            LoadData();
            kosong();
        }catch(SQLException Ex){
            System.out.println(Ex.getMessage());
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }                                      

    private void batalActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        tambah.setEnabled(true);
        simpan.setEnabled(false);
        hapus.setEnabled(false);
        batal.setEnabled(false);
        update.setEnabled(false);
        disabel();
    }                                     

    private void listmhsMouseClicked(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
        tambah.setEnabled(false);
        simpan.setEnabled(false);
        hapus.setEnabled(true);
        batal.setEnabled(true);
        update.setEnabled(true);
        int row = listmhs.rowAtPoint(evt.getPoint());
        String id = listmhs.getValueAt(row, 0).toString();
        String matkul = listmhs.getValueAt(row, 1).toString();
        String dosen = listmhs.getValueAt(row, 2).toString();
        enabel();
        jTextField1.setText(matkul);
        jTextField2.setText(dosen);
        jLabel3.setText(id);
    }                                    

    private void tambahActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        tambah();
    }                                      

    private void simpanActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");
            Statement stat = (Statement)conn.createStatement();
            String sql = "INSERT INTO tb_matakuliah(matkul,dosen) VALUES('"+jTextField1.getText()+"','"+jTextField2.getText()+"')";
            stat.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Ditambah");
            conn.close();
            stat.close();
            LoadData();
            kosong();
        }catch(SQLException Ex){
            System.out.println(Ex.getMessage());
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }                                      

    private void hapusActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");
            Statement stat = (Statement)conn.createStatement();
            String sql = "DELETE FROM tb_matakuliah WHERE id_matkul = '"+jLabel3.getText()+"'";
            stat.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Dihapus");
            conn.close();
            stat.close();
            LoadData();
            kosong();
        }catch(SQLException Ex){
            System.out.println(Ex.getMessage());
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }                                     

    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
        // TODO add your handling code here:
        tambah.setEnabled(true);
        simpan.setEnabled(false);
        hapus.setEnabled(false);   
        batal.setEnabled(false);
        update.setEnabled(false);
        disabel();

        LoadData();

    }                                    

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(MatkulForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(MatkulForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(MatkulForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MatkulForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MatkulForm().setVisible(true);
            }
        });
    }

4.

Coding :

package absensi_sederhana;

import java.sql.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.JOptionPane;

/**
 *
 * @author alfa
 */
public class MhsForm extends javax.swing.JFrame {

    /**
     * Creates new form MhsForm
     */
    public MhsForm() {
        initComponents();
    }
    
    private void kosong(){
        jTextField1.setText("");
        jTextField2.setText("");        
    }
    private void disabel(){
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
        jTextField3.setEnabled(false);
        jComboBox2.setEnabled(false);        
    }
    private void enabel(){
        jTextField1.setEnabled(true);
        jTextField2.setEnabled(true);
        jTextField3.setEnabled(true);
        jComboBox2.setEnabled(true);                
    }
        private void tambah(){
        tambah.setEnabled(false);
        simpan.setEnabled(true);
        update.setEnabled(false);
        hapus.setEnabled(false);   
        batal.setEnabled(true);
        kosong();
        enabel();
        }
    private void edit(){
        tambah.setEnabled(false);
        simpan.setEnabled(false);
        hapus.setEnabled(false);   
        batal.setEnabled(true);    
        update.setEnabled(true);        
    }
        private void LoadData(){
            String[]kolom={"NIM","Nama Mahasiswa","Angkatan","Jurusan"};
            DefaultTableModel tabel = null;
            tabel = new DefaultTableModel(null,kolom){
                Class[]types= new Class[]{
                    java.lang.String.class,
                    java.lang.String.class,
                    java.lang.String.class,
                    java.lang.String.class,};
                public Class getColumnClass(int columnIndex){
                    return types[columnIndex];}};
                    listmhs.setModel(tabel);
                    Connection conn = null;
                    try{
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");    
                        Statement stat = (Statement)conn.createStatement();
                        String sql = "SELECT * FROM tb_mhs";                        
                        ResultSet res = stat.executeQuery(sql);
                        while(res.next()){
                            String cetaknim = res.getString(1);
                            String cetaknama = res.getString(2);
                            String cetakang = res.getString(3);
                            String cetakjur = res.getString(4);
                            Object[] data = {cetaknim,cetaknama,cetakang,cetakjur};
                            tabel.addRow(data);
                            listmhs.getColumnModel().getColumn(0).setPreferredWidth(100);
                            listmhs.getColumnModel().getColumn(1).setPreferredWidth(100);
                            listmhs.getColumnModel().getColumn(2).setPreferredWidth(100);
                            listmhs.getColumnModel().getColumn(3).setPreferredWidth(100);
                        }
                        conn.close();                            
                        stat.close();                            
                    }catch(SQLException Ex){
                        System.out.println(Ex.getMessage());                        
                    }catch(Exception e){
                        System.out.println(e.getMessage());
                    }
                    
                }
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        listmhs = new javax.swing.JTable();
        hapus = new javax.swing.JButton();
        jLabel5 = new javax.swing.JLabel();
        simpan = new javax.swing.JButton();
        tambah = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        jTextField1 = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jComboBox2 = new javax.swing.JComboBox();
        batal = new javax.swing.JButton();
        update = new javax.swing.JButton();
        jTextField3 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosed(java.awt.event.WindowEvent evt) {
                formWindowClosed(evt);
            }
            public void windowActivated(java.awt.event.WindowEvent evt) {
                formWindowActivated(evt);
            }
        });

        listmhs.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        listmhs.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listmhsMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(listmhs);

        hapus.setText("Hapus");
        hapus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                hapusActionPerformed(evt);
            }
        });

        jLabel5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel5.setText("Form Data Mahasiswa");

        simpan.setText("Simpan");
        simpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                simpanActionPerformed(evt);
            }
        });

        tambah.setText("Tambah Baru");
        tambah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tambahActionPerformed(evt);
            }
        });

        jLabel2.setText("Nama Mahasiswa");

        jLabel1.setText("NIM Mahasiswa");

        jLabel4.setText("Jurusan");

        jLabel3.setText("Angkatan");

        batal.setText("Batal");
        batal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                batalActionPerformed(evt);
            }
        });

        update.setText("Update");
        update.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                updateActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1)
                    .addComponent(jLabel2)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4))
                .addGap(40, 40, 40)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(104, 104, 104)
                        .addComponent(tambah)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(simpan, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(update)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(hapus)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(batal))
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(jTextField2, javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 139, Short.MAX_VALUE)
                        .addComponent(jTextField3, javax.swing.GroupLayout.Alignment.LEADING)))
                .addGap(85, 85, 85))
            .addGroup(layout.createSequentialGroup()
                .addGap(325, 325, 325)
                .addComponent(jLabel5)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addComponent(jScrollPane1)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel5)
                .addGap(29, 29, 29)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(9, 9, 9)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel4)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(tambah)
                        .addComponent(simpan)
                        .addComponent(hapus)
                        .addComponent(batal)
                        .addComponent(update)))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 298, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void formWindowClosed(java.awt.event.WindowEvent evt) {                                  
        // TODO add your handling code here:
    }                                 

    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
        // TODO add your handling code here:
        tambah.setEnabled(true);
        simpan.setEnabled(false);
        hapus.setEnabled(false);   
        batal.setEnabled(false);
        update.setEnabled(false);
        disabel();

        LoadData();

        jComboBox2.addItem("Sistem Informasi");
        jComboBox2.addItem("Teknik Informatika");        
    }                                    


    private void listmhsMouseClicked(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
        tambah.setEnabled(false);
        simpan.setEnabled(false);
        hapus.setEnabled(true);   
        batal.setEnabled(true);
        update.setEnabled(true);
        int row = listmhs.rowAtPoint(evt.getPoint());
        String nim = listmhs.getValueAt(row, 0).toString();
        String nama = listmhs.getValueAt(row, 1).toString();
        String angkat = listmhs.getValueAt(row, 2).toString();
        String jur = listmhs.getValueAt(row, 3).toString();  
        enabel();
        jTextField1.setText(nim);
        jTextField2.setText(nama);
        jTextField3.setText(angkat);
        jComboBox2.setSelectedItem(jur);        
    }                                    

    private void updateActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        Connection conn = null;
                    try{
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");    
                        Statement stat = (Statement)conn.createStatement();
                        String sql = "UPDATE tb_mhs SET namamhs='"+jTextField2.getText()+"', angkatan = '"+jTextField3.getText()+"', jurusan= '"+jComboBox2.getSelectedItem()+"' WHERE nim = '"+jTextField1.getText()+"'";                        
                        stat.executeUpdate(sql);
                        JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Diubah");
                        conn.close();                            
                        stat.close();                
                        LoadData();
                        kosong();
                    }catch(SQLException Ex){
                        System.out.println(Ex.getMessage());                        
                    }catch(Exception e){
                        System.out.println(e.getMessage());
                    }        
    }                                      

    private void tambahActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        tambah();
    }                                      

    private void batalActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:        
        tambah.setEnabled(true);
        simpan.setEnabled(false);
        hapus.setEnabled(false);   
        batal.setEnabled(false);
        update.setEnabled(false);
        disabel();
    }                                     

    private void simpanActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        Connection conn = null;
                    try{
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");    
                        Statement stat = (Statement)conn.createStatement();
                        String sql = "INSERT INTO tb_mhs VALUES('"+jTextField1.getText()+"','"+jTextField2.getText()+"','"+jTextField3.getText()+"','"+jComboBox2.getSelectedItem()+"')";                        
                        stat.executeUpdate(sql);
                        JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Ditambah");
                        conn.close();                            
                        stat.close();                
                        LoadData();
                        kosong();
                    }catch(SQLException Ex){
                        System.out.println(Ex.getMessage());                        
                    }catch(Exception e){
                        System.out.println(e.getMessage());
                    }
    }                                      

    private void hapusActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        Connection conn = null;
                    try{
                        Class.forName("com.mysql.jdbc.Driver");
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_absensi","root","");    
                        Statement stat = (Statement)conn.createStatement();
                        String sql = "DELETE FROM tb_mhs WHERE nim = '"+jTextField1.getText()+"'";                        
                        stat.executeUpdate(sql);
                        JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Dihapus");
                        conn.close();                            
                        stat.close();                
                        LoadData();
                        kosong();
                    }catch(SQLException Ex){
                        System.out.println(Ex.getMessage());                        
                    }catch(Exception e){
                        System.out.println(e.getMessage());
                    }      
    }                                     

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(MhsForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(MhsForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(MhsForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MhsForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MhsForm().setVisible(true);
            }
        });
    }


Sekian.