import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;

public class Biodata implements ActionListener{
    Connection cery;
    Koneksi somay;
    String SQLt;
    Statement sawo;
    String snpm, snama, sketerangan, semail, stelp;

    public JLabel lblNPM, lblNama, lblEmail, lblTelp, lblKeterangan;
    public JTextField txtNPM, txtNama, txtEmail, txtTelp, txtKeterangan;
    public JButton btnNew, btnSave, btnDelete, btnUpdate, btnExit, btnCari, btnPrint;

    String [] judul = {“No”, “NPM”, “Nama”, “Email”, “Telp”, “Keterangan”};
    DefaultTableModel modelnya = new DefaultTableModel (null, judul);
    JTable tabelnya = new JTable ();
    JScrollPane scrollnya = new JScrollPane ();
    JOptionPane jpane = new JOptionPane ();

    //===========================================
    public Biodata (){
        tabelnya.setModel (modelnya);
        scrollnya.getViewport().add(tabelnya);
        tabelnya.setEnabled(true);
        scrollnya.setBounds(10,230,500,150);

        lblNPM = new JLabel (“NPM”);
        lblNPM.setLocation (10,10);
        lblNPM.setSize(lblNPM.getPreferredSize());
        txtNPM = new JTextField (20);
        txtNPM.setLocation (10,25);
        txtNPM.setSize (txtNPM.getPreferredSize());

        lblNama = new JLabel (“Nama”);
        lblNama.setLocation (10,45);
        lblNama.setSize(lblNama.getPreferredSize());
        txtNama = new JTextField (20);
        txtNama.setLocation (10,60);
        txtNama.setSize (txtNama.getPreferredSize());

        lblEmail = new JLabel (“Email”);
        lblEmail.setLocation (10,80);
        lblEmail.setSize(lblEmail.getPreferredSize());
        txtEmail = new JTextField (20);
        txtEmail.setLocation (10,95);
        txtEmail.setSize (txtEmail.getPreferredSize());

        lblTelp = new JLabel (“Telp”);
        lblTelp.setLocation (10,115);
        lblTelp.setSize(lblTelp.getPreferredSize());
        txtTelp = new JTextField (20);
        txtTelp.setLocation (10,130);
        txtTelp.setSize (txtTelp.getPreferredSize());

        lblKeterangan = new JLabel (“Keterangan”);
        lblKeterangan.setLocation (10,150);
        lblKeterangan.setSize(lblKeterangan.getPreferredSize());
        txtKeterangan = new JTextField (20);
        txtKeterangan.setLocation (10,165);
        txtKeterangan.setSize (txtKeterangan.getPreferredSize());

        //——————————————–
        btnNew = new JButton (“New”);
        btnNew.setLocation (10,190);
        btnNew.setSize (btnNew.getPreferredSize ());
        btnNew.addActionListener (this);
        btnNew.setMnemonic (‘e’);

        btnSave = new JButton (“Save”);
        btnSave.setLocation (70,190);
        btnSave.setSize (btnSave.getPreferredSize ());
        btnSave.addActionListener (this);
        btnSave.setMnemonic (‘a’);

        btnDelete = new JButton (“Delete”);
        btnDelete.setLocation (135,190);
        btnDelete.setSize (btnDelete.getPreferredSize ());
        btnDelete.addActionListener (this);
        btnDelete.setMnemonic (‘l’);

        btnUpdate = new JButton (“Update”);
        btnUpdate.setLocation (190,190);
        btnUpdate.setSize (btnUpdate.getPreferredSize ());
        btnUpdate.addActionListener (this);
        btnUpdate.setMnemonic (‘U’);

        btnExit = new JButton (“Exit”);
        btnExit.setLocation (310,190);
        btnExit.setSize (btnExit.getPreferredSize ());
        btnExit.addActionListener (this);
        btnExit.setMnemonic (‘t’);

        btnCari = new JButton (“Cari”);
        btnCari.setLocation (250,190);
        btnCari.setSize (btnCari.getPreferredSize ());
        btnCari.addActionListener (this);
        btnCari.setMnemonic (‘C’);

        btnPrint = new JButton (“Print”);
        btnPrint.setLocation (370,190);
        btnPrint.setSize (btnPrint.getPreferredSize ());
        btnPrint.addActionListener (this);
        btnPrint.setMnemonic (‘P’);
    }
    //====================================================
    public void lp2maray(){
        JFrame.setDefaultLookAndFeelDecorated (true);
        JFrame frame = new JFrame (“Data Siswa”);
        frame.setLayout(null);
        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

        frame.getContentPane().add (lblNPM);
        frame.getContentPane().add (txtNPM);
        frame.getContentPane().add (lblNama);
        frame.getContentPane().add (txtNama);
        frame.getContentPane().add (lblEmail);
        frame.getContentPane().add (txtEmail);
        frame.getContentPane().add (lblTelp);
        frame.getContentPane().add (txtTelp);
        frame.getContentPane().add (lblKeterangan);
        frame.getContentPane().add (txtKeterangan);
        frame.getContentPane().add (btnNew);
        frame.getContentPane().add (btnSave);
        frame.getContentPane().add (btnDelete);
        frame.getContentPane().add (btnUpdate);
        frame.getContentPane().add (btnExit);
        frame.getContentPane().add (btnCari);
        frame.getContentPane().add (btnPrint);

        frame.setBounds (0,0,550,500);
        frame.setLocationRelativeTo (null);
        frame.getContentPane().add(scrollnya);

        try {somay = new Koneksi ();
        } catch (Exception e) {
          JOptionPane.showMessageDialog(null, “Terjadi Kesalahan, mungkin DATABASEnya belum konek !!”);
          System.out.println (“Terjadi kesalahan, mungkin database atau tabelnya belum ada”);
          }
          lihatdata();
          frame.setVisible (true);

    }
    //=============================================================
    public void actionPerformed (ActionEvent event){
        JButton btn = (JButton) event.getSource();
        if (btn==btnSave){ Simpan(); }
        else if (btn==btnNew) { Bersih();
                                txtNPM.setEditable(true);
                                txtNPM.requestFocus(); }
        else if (btn==btnDelete) { if (JOptionPane.showConfirmDialog (null, “Apakah Anda Yakin ingin menghapus ?”,
                 “Konfirmasi”,
                 JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION)
                                 { Hapus ();} }
        else if (btn==btnUpdate) { Ubah(); }
        else if (btn==btnExit) { if(JOptionPane.showConfirmDialog (null, “Apakah Anda Yakin ingin keluar ?”,
                 “Konfirmasi”,
                 JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION)
                                  { System.exit (0);} }
        else if (btn==btnCari) { Cari(); }  
        else if (btn==btnPrint) { new ProsesCetak();}
    }
    //—————
    void Simpan (){
        snpm = txtNPM.getText();
        snama = txtNama.getText();
        semail = txtEmail.getText();
        stelp = txtTelp.getText ();
        sketerangan = txtKeterangan.getText ();

        try { cery=somay.bakso ();
               sawo=cery.createStatement ();

               SQLt=”insert into tabelbiodata values (‘”+snpm+”‘,’”+snama+”‘,’”+semail+”‘,’”+stelp+”‘,’”+sketerangan+”‘)”;
               sawo.executeUpdate (SQLt);
               sawo.close();
               cery.close();
               JOptionPane.showMessageDialog(null, “Data dengan NPM = “+snpm+” sukses disimpan”);
               Bersih();
               txtNPM.setEditable(true);
               txtNPM.requestFocus();
               System.out.println (“DATA SUKSES DITAMBAHKAN”);
               System.out.println (“=======================”);
         } catch (Exception e){ JOptionPane.showMessageDialog(null, “Terjadi kesalahan, belum konek !!!”);
                                 System.out.println (“Terjasi kesalahan, mungkin database atau tabelnya belum ada”);

           }
           lihatdata();
    }
    //————-
    void Hapus (){
        snpm = txtNPM.getText();
        try { cery=somay.bakso();
              sawo=cery.createStatement();
              SQLt=”delete from tabelbiodata where npm=’”+snpm+”‘ “;
              sawo.executeUpdate(SQLt);
              sawo.close();
              cery.close();
              JOptionPane.showMessageDialog(null, “Data dengan NPM = “+snpm+” sukses dihapus”);
              Bersih();
              txtNPM.setEditable(true);
              txtNPM.requestFocus();
              System.out.println(“DATA SUKSES DIHAPUS”);
              System.out.println (“==================”);
        } catch (Exception e){ JOptionPane.showMessageDialog (null, “Terjadi Kesalahan, belum konek !!”);
                               System.out.println(“Terjadi Kesalahan, mungkin database atau tabelnya belum ada”);
          }
          lihatdata();
    }
    //————————
    void Ubah (){
        snpm=txtNPM.getText();
        snama=txtNama.getText();
        semail=txtEmail.getText();
        stelp=txtTelp.getText();
        sketerangan=txtKeterangan.getText();

        try{ cery=somay.bakso();
             sawo=cery.createStatement();
             SQLt=”Update tabelbiodata set nama=’”+snama+”‘, email=’”+semail+”‘, telp=’”+stelp+”‘, keterangan=’”+sketerangan+”‘ where npm=’”+snpm+”‘ “;        
             sawo.executeUpdate(SQLt);
             sawo.close();
             cery.close();
             JOptionPane.showMessageDialog (null,”Data dengan NPM = “+snpm+” sukses diubah”);
             Bersih();
             txtNPM.setEditable(true);
             txtNPM.requestFocus();
             System.out.println (“DATA SUKSES DIUBAH”);
             System.out.println (“================”);
             } catch (Exception e){
                                     JOptionPane.showMessageDialog(null, “Terjadi Kesalahan, belum konek !”);
                                     System.out.println(“Terjadi kesalahan, mungkin database atau labelnya belum ada”);
                                     }
             lihatdata();
    }
    //—————————-
    void Cari(){
            snpm=txtNPM.getText();
            try { cery=somay.bakso();
                  sawo=cery.createStatement();
                  SQLt=”Select * from tabelbiodata where npm=’”+snpm+”‘ “;
                  ResultSet cari=sawo.executeQuery(SQLt);
                  if (cari.next()) {
                      String a=cari.getString (“npm”);
                      String aa=cari.getString (“nama”);
                      String aaa=cari.getString (“email”);
                      String aaaa=cari.getString (“telp”);
                      String aaaaa=cari.getString (“keterangan”);

                      System.out.println (“Data detail dengan npm = “+a);
                      System.out.println (“Nama = “+aa);
                      System.out.println (“Email = “+aaa);
                      System.out.println (“Telp = “+aaaa);
                      System.out.println (“Keterangan = “+aaaaa);

                      txtNPM.setText(a);
                      txtNama.setText(aa);
                      txtEmail.setText(aaa);
                      txtTelp.setText(aaaa);
                      txtKeterangan.setText (aaaaa);

                      JOptionPane.showMessageDialog(null, “Data dengan NPM = “+snpm+” sukses dicari”);
                      txtNPM.setEditable(true);
                      txtNama.requestFocus();
                      System.out.println(“Data anda NPM= “+snpm+” sukses di cari!!”);
                      }
                  else {
                           JOptionPane.showMessageDialog(null, “data tidak ditemukan”);
                         Bersih(); }
                  System.out.println (“==========================================”);
             } catch (Exception e){
                                          JOptionPane.showMessageDialog(null, “terjadi kesalahan, belum konek”);
                                          System.out.println (“Terjadi kesalahan, mungkin database atau tabelnya belum ada”);
                                          }
    }

    //===========================
    public static void main (String [] args){
        javax.swing.SwingUtilities.invokeLater (new Runnable() {
            public void run (){
                Biodata ab = new Biodata ();
                ab.lp2maray();
            }
        } );
    }
    //—————————
    void Bersih (){
        txtNPM.setText (“”);
        txtNama.setText(“”);
        txtEmail.setText(“”);
        txtTelp.setText(“”);
        txtKeterangan.setText(“”);
        txtNPM.requestFocus();
    }
    //—————————–
    void lihatdata (){
        try{
            hapustabel();
            cery=somay.bakso();
            sawo=cery.createStatement();
            SQLt=”Select * from tabelbiodata”;
            ResultSet cari=sawo.executeQuery(SQLt);
            while (cari.next()){
                String a=cari.getString(“npm”);
                String aa=cari.getString(“nama”);
                String aaa=cari.getString(“email”);
                String aaaa=cari.getString(“telp”);
                String aaaaa=cari.getString(“keterangan”);

                String [] data = {“”,a,aa,aaa,aaaa,aaaaa};
                modelnya.addRow(data);
                System.out.println (a+”\t”+aa+”\t”+aaa+”\t”+aaaa+”\t”+aaaaa);
                System.out.println (“————————————-”);
                resetNo();
            }
            sawo.close();
            cery.close();
        }catch (Exception e){
                             JOptionPane.showMessageDialog(null, “terjadi kesalahan, belum konek !!!!!!!!!!”);
                             System.out.println (“Terjadi kesalanan AA,mungkin database atau tabelnya belum ada”);            
                            }
    }
    //——————–
    void resetNo(){
        int baris=modelnya.getRowCount();
        for (int i=0;i<baris;i++){
                                  String Nomor=String.valueOf(i+1);
                                  modelnya.setValueAt(Nomor,i,0);
                                }
    }
    //———————
    void hapustabel (){
        int baris=modelnya.getRowCount();
        for (int i=0; i<baris; i++){
                                    modelnya.removeRow(0);
                                    Bersih();
                                    }
    }

}

import java.sql.*;
import javax.swing.*;
class Koneksi {
    public Koneksi (){}
    public Connection bakso () throws SQLException {
        Connection cery = null;
        try {
             //Class.forName(“com.mysql.jdbc.Driver”);
             //cery=DriverManager.getConnection (“jdbc:mysql://localhost/dbmacambarang”,”root”,”root”);
             Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
             cery=DriverManager.getConnection(“jdbc:odbc:KoneksiAkses”,”",”");
        }catch (Exception e){
                             JOptionPane.showMessageDialog(null, “Drivernya belum konek !!!”);
                             System.out.println (“Terjadi kesalahan, mungkin database atau tabelnya belum ada”);
                            }
        return cery;   
    }
}

import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.sql.*;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.Statement;
/*
public class ProsesCetak extends JFrame {
    Connection cery;
    Koneksi somay;
    String SQLt;
    Statement sawo;
    public ProsesCetak (){
        DefaultTableModel dtm = null;
        try {
             somay=new Koneksi ();
             cery=somay.bakso();
             sawo=cery.createStatement();
             SQLt=”Select * from tabelbiodata”;
             ResultSet cari = sawo.executeQuery(SQLt);

             dtm=createTable(cari);
        }catch (SQLException ex){
                                  JOptionPane.showMessageDialog(null, ex.getMessage());
                                 }
        final JTable tbl=new JTable (dtm);
        add (new JScrollPane(tbl));
        JPanel pnl = new JPanel();
        JButton btn = new JButton (“Print”);
        btn.addActionListener( new ActionListener(){
            public void actionPerformed(ActionEvent e){
                try{
                    tbl.print();
                }catch (java.awt.print.PrinterException ex) {
                        JOptionPane.showMessageDialog(null, ex.getMessage());
                 }
            }
        });
        pnl.add(btn);
        add(pnl, “South”);
        setTitle(“Cetak Data Barang”);
        pack();
        setVisible(true);
    }
    //—————————–
    private DefaultTableModel createTable(ResultSet cari) throws SQLException {
        DefaultTableModel dtm = new DefaultTableModel ();
        ResultSetMetaData rsmd = cari.getMetaData();
        int intNum = rsmd.getColumnCount();

        String [] str = new String [intNum];
        for (int i=0;i<intNum; i++){
            str[i]=rsmd.getColumnName(i+1);
        }
        dtm.setColumnIdentifiers (str);
        while (cari.next()){
            String [] data = new String [intNum];
            for (int i=0;i<intNum; i++){
                data[i]=cari.getString(i+1);
            }
            dtm.addRow(data);
        }
        return dtm;
    }
    public static void main (String [] args){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                new ProsesCetak ();
            }
        });
    }
}
*/