Pages

Subscribe:

Ads 468x60px

Kamis, 31 Mei 2012

Form Input, Edit Dan Hapus Dengan Java

 2. Cara Mengubah Dan Menghapus


 //ValidasiGabungan.java

 package LatihanUbahData;
import javax.swing.*;

import java.sql.*;
import java.awt.*;
import javax.swing.table.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.text.*;
public class ValidasiGabungan extends JFrame{
    JScrollPane jScrollPane1 = new JScrollPane();
    JTable tabel = new JTable();
    DefaultTableModel tabMode;
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel4 = new JLabel();
    JLabel jLabel5 = new JLabel();
    JTextField textKode = new JTextField();
    JTextField textNama = new JTextField();
    JTextField textAlmt = new JTextField();
    JLabel jLabel3 = new JLabel();
    Choice pilihKelas = new Choice();
    Button button1 = new Button();
    Button rubah = new Button();
    Button hapus = new Button();
    JTextPane caraPengguna = new JTextPane();
    Connection konek;
   
    public static void main (String args[]){
        ValidasiGabungan ValidasiGabungan = new ValidasiGabungan();
        ValidasiGabungan.setSize(400,460);
        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
        int lebar = (screen.width - ValidasiGabungan.getSize().width)/2;
        int tinggi = (screen.height - ValidasiGabungan.getSize().height)/2;
       
        ValidasiGabungan.setTitle("Form Mahasiswa Teknik Informatika");   
        ValidasiGabungan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ValidasiGabungan.setLocation(lebar,tinggi);
        ValidasiGabungan.setResizable(false);
        ValidasiGabungan.setVisible(true);   
    }
   
    public ValidasiGabungan(){
        tabel.setToolTipText("");
        tabel.setVerifyInputWhenFocusTarget(false);
        Object[] row = {"NIM","Nama Mahasiswa","Alamat","Kelas"};
        tabMode = new DefaultTableModel(null,row);
        jScrollPane1.setBounds(new Rectangle(13,195,365,100));
        tabel.setModel(tabMode);
        // Menambahkan MouseListenet pada Tabel
        tabel.addMouseListener(new java.awt.event.MouseAdapter(){
            //Proses saat Tabel di klik
            public void mouseClicked(MouseEvent e){
                dapatData_dari_Tabel();
            }
        });
        jLabel1.setHorizontalAlignment(SwingConstants.LEFT);
        jLabel1.setText("NIM ");
        jLabel1.setBounds(new Rectangle(10,13,120,15));
        this.getContentPane().setLayout(null);
        jLabel2.setBounds(new Rectangle(10,43,120,15));
        jLabel2.setHorizontalAlignment(SwingConstants.LEFT);
        jLabel2.setText("Nama Mahasiswa ");
        jLabel4.setBounds(new Rectangle(10,73,120,15));
        jLabel4.setHorizontalAlignment(SwingConstants.LEFT);
        jLabel4.setText("Alamat ");
        jLabel5.setBounds(new Rectangle(10,103,120,15));
        jLabel5.setHorizontalAlignment(SwingConstants.LEFT);
        jLabel5.setText("Kelas ");
        textKode.setText(null);
        textKode.setBounds(new Rectangle(130,13,187,21));
        textKode.setDocument(new batasInput((byte)10).getFilter());
        textNama.setText(null);
        textNama.setBounds(new Rectangle(130,43,187,21));
        textAlmt.setText(null);
        textAlmt.setBounds(new Rectangle(130,73,187,21));
        pilihKelas.setEnabled(true);
        pilihKelas.setBounds(new Rectangle(130,103,121,22));
        pilihKelas.addItem("IFA");
        pilihKelas.addItem("IFB");
        pilihKelas.addItem("IFC");
        pilihKelas.addItem("IFD");
        jLabel3.setText("Daftar para Mahasiswa yang telah tersimpan sebelumnya");
        jLabel3.setBounds(new Rectangle(29,169,343,15));
        button1.setLabel("Simpan");
        button1.setBounds(new Rectangle(30,137,93,24));
        //Menambahkan Actin Listener
        button1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                //Method yang dipanggil saat tombol ditekan
                cekAndSaveData(e);
            }
        });
        rubah.setActionCommand("");
        rubah.setEnabled(false);
        rubah.setLabel("Rubah");
        rubah.setBounds(new Rectangle(140,137,93,24));
        // Menambahkan Actin Listener pada tombol RUBAH
        rubah.addActionListener(new java.awt.event.ActionListener(){
            //Proses saat tombol RUBAH diklik
            public void actionPerformed(ActionEvent e){
                proses_RubahData();
            }
        });
        hapus.setActionCommand("");
        hapus.setEnabled(false);
        hapus.setLabel("Hapus");
        hapus.setBounds(new Rectangle(250,137,93,24));
        // Menambahkan Action Listener pada tombol HAPUS
        hapus.addActionListener(new java.awt.event.ActionListener(){
            // Proses saat tombol HAPUS di klik
            public void actionPerformed(ActionEvent e){
                proses_hapusData();
            }
        });
        caraPengguna.setEditable(false);
        caraPengguna.setText("Cara Menggunakan :\n" +
                "1. Masukkan string, lalu klik tombol 'Simpan' untuk menyimpan data ke database.\n" +
                "2. Klik tombol 'Rubah', jika ingin merubah isi record.\n" +
                "3. Klik tombol 'Hapus', jika ingin menghapus isi record.");
        caraPengguna.setBounds(new Rectangle(13,300,367,110));
        this.getContentPane().add(jScrollPane1, null);
        jScrollPane1.getViewport().add(tabel, null);
        this.getContentPane().add(jLabel1,null);
        this.getContentPane().add(jLabel2,null);
        this.getContentPane().add(jLabel4,null);
        this.getContentPane().add(jLabel5,null);
        this.getContentPane().add(textKode,null);
        this.getContentPane().add(textNama,null);
        this.getContentPane().add(textAlmt,null);
        this.getContentPane().add(jLabel3,null);
        this.getContentPane().add(pilihKelas, null);
        this.getContentPane().add(button1,null);
        this.getContentPane().add(rubah, null);
        this.getContentPane().add(hapus, null);
        this.getContentPane().add(caraPengguna, null);
        //Memanggil method untuk koneksi database dan daftar kode yang telah tersimpan
        koneksiDatabase();
        daftarKode();
    }
    /**
     *Method koneksiDatabase
     *Untuk melakukan koneksi dengan Database Server
     */
    public void koneksiDatabase() {
        //Mencoba memanggil Driver JDBC
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            System.out.println("Sukses Driver JDBC ditemukan...");
            //Mencoba melakukan koneksi dengan database
            try {
                String db = "mahasiswa";
                String url = "jdbc:mysql://localhost/" + db;
                String user = "root";
                String pass = "";
                konek = DriverManager.getConnection(url,user,pass);
                System.out.println("Sukses Koneksi...");
            }
            //Gagal Koneksi dengan database
            catch (SQLException se){
                System.out.println("Koneksi Gagal= "+se);
            }
        }
        //Gagal Memanggil Driver JDBC
        catch (ClassNotFoundException cnfe){
            System.out.println("Class tidak ditemukan..Error: "+cnfe);
        }
    }//Akhir method koneksiDarabase()
    /**
     * Method daftarKode()
     * Untuk menampilkan daftar kode dan nama siswa yang telah tersimpan di database
     */
    public void daftarKode() {
        hapusTabel();
        //Mencoba mengirim Statement SQL
        try {
            String sql = "Select * from data ORDER BY NIM ASC";
            Statement stat = konek.createStatement();
            ResultSet set = stat.executeQuery(sql);
            while (set.next()){
                String nim = set.getString("NIM");
                String nama_mahasiswa = set.getString("Nama_Mahasiswa");
                String alamat = set.getString("Alamat");
                String kelas = set.getString("Kelas");
                String[] data = {nim, nama_mahasiswa, alamat, kelas};
                tabMode.addRow(data);
            }
            stat.close();
        }
        //Kesalahan pengiriman Statement SQL
        catch (SQLException se){
            System.out.println("SQL salah = "+se);
        }
        catch (Exception e){
            System.out.println("Pesan Error = "+e);
        }
    }//Akhir method daftarKode()
    /**
     * Method hapusTabel
     * Untuk menghapus semua data yang terdapat pada tabel
     */
    public void hapusTabel(){
        int row = tabMode.getRowCount();
        for (int i=0; i<row; i++){
            tabMode.removeRow(0);
        }
    }
    /**
     * Method cekAndSaveData(ActinEvent e)
     * Untuk melakukan pemeriksaan apakah data yang dimasukkan valid atau tidak-
     * Jika valid, data tersebut disimpan
     * tetapi jika tidak valid maka menampilkan pesan kesalahan
     * @param e: Actin Event
     */
    void cekAndSaveData(ActionEvent e){
        //Mencoba Mengirim Statement SQL
        try {
            PreparedStatement stat = konek.prepareStatement(
                    "Insert Into data values(?,?,?,?)");
            try {
                stat.setString(1, textKode.getText());
                stat.setString(2, textNama.getText());
                stat.setString(3, textAlmt.getText());
                stat.setString(4, pilihKelas.getSelectedItem());
                stat.executeUpdate();
            }
            //Gagal Mengirim Statement SQL (Data tidak valid)
            catch (SQLException se){
                System.out.println("Gagal Menyimpan..Pesan Error="+se);
                JOptionPane.showMessageDialog(null, "Kode yang Anda masukkan telah ada sebelumnya \nGagal disimpan.. Coba Lagi\nPesan Error :\n" +
                        "<html><font color=#66ffff>"+se+"</font></html>");
                textKode.setFocusable(true);
            }
            daftarKode();
            stat.close();
        }
        catch(Exception er) {
            System.out.println("Pesan Error ="+er);
        }
    }//Akhir Method cekAndSaveData(ActiontEvent e)
    /**
     * Membuat Kelas Untuk membatasi Input yang masuk
     */
    class batasInput {
        byte length;
        PlainDocument filter;
        public batasInput(byte length) {
            this.length = length;
        }
        public PlainDocument getFilter() {
            filter = new javax.swing.text.PlainDocument() {
                public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
                    int ab = textKode.getText().length();
                    if (ab < length) {
                        super.insertString(offs, str, a);
                    }
                }
            };
            return filter;
        }
    }
    void dapatData_dari_Tabel() {
        int row = tabel.getSelectedRow();
        // Mengambil data-data yang dipilih pada TABEL
        String Nim = tabMode.getValueAt(row, 0).toString();
        String Nama_Mahasiswa = tabMode.getValueAt(row, 1).toString();
        String Alamat = tabMode.getValueAt(row, 2).toString();
        String Kelas = tabMode.getValueAt(row, 3).toString();
        textKode.setText(Nim);
        textNama.setText(Nama_Mahasiswa);
        textAlmt.setText(Alamat);
        pilihKelas.select(Kelas);
        // Apabila data tidak dipilih
        if (textKode.getText().equals("")){
            rubah.setEnabled(false);
            hapus.setEnabled(false);
            textKode.setEnabled(false);
            textNama.setEnabled(false);
            textAlmt.setEnabled(false);
            pilihKelas.setEnabled(false);
        }
        // Apabila data dipilih
        else {
            rubah.setEnabled(true);
            hapus.setEnabled(true);
            textKode.setEnabled(false);
            textNama.setEnabled(true);
            textAlmt.setEnabled(true);
            pilihKelas.setEnabled(true);
            textNama.requestFocus();
        }
    }
    /**
     * Method proses_RubahData()
     * Untuk melakukan modifikasi data
     */
    public void proses_RubahData(){
        // Konfirmasi sebelum melakukan perubahan data
        int ok = JOptionPane.showConfirmDialog(null, "Anda Yakin Ingin Memodifikasi Data\nDengan Kode = "+textKode.getText()+"", "Konfirmasi Memodifikasi Data", JOptionPane.YES_NO_OPTION);
        // Apabila tombol OK ditekan
        if (ok == 0){
            try{
                String sql = "UPDATE data SET Nama_Mahasiswa = ?, Alamat = ?, Kelas = ? WHERE NIM = "+ textKode.getText()+"";
                PreparedStatement stat = konek.prepareStatement(sql);
                try{
                    stat.setString(1, textNama.getText());
                    stat.setString(2, textAlmt.getText());
                    stat.setString(3, pilihKelas.getSelectedItem());
                    stat.executeUpdate();
                    daftarKode();
                    textKode.setText("");
                    textNama.setText("");
                    textAlmt.setText("");
                    rubah.setEnabled(false);
                    textKode.setEnabled(true);
                    textNama.setEnabled(true);
                    textAlmt.setEnabled(true);
                    pilihKelas.setEnabled(true);
                }
                catch(SQLException se){}
            }
            catch(SQLException se){}
        }
    }
    /**
     * Method proses_hapusData()
     * Untuk melakukan modifikasi data
     */
    public void proses_hapusData(){
        // Konfirmasi sebelum melakukan penghapusan data
        int ok = JOptionPane.showConfirmDialog(null,"Anda Yakin Ingin Menghapus Data\nDengan NIM = " + textKode.getText() + "","Konfirmasi Menghapus Data", JOptionPane.YES_NO_OPTION);
        // Apabila tombol OK ditekan
        if (ok == 0){
            try {
                String sql = "DELETE FROM data WHERE NIM = " +
                    textKode.getText() + "";
                PreparedStatement stat = konek.prepareStatement(sql);
                stat.executeUpdate();
                daftarKode();
                textKode.setText("");
                textNama.setText("");
                textAlmt.setText("");
                hapus.setEnabled(false);
            }
            catch (SQLException se){
                System.out.println("Gagal Hapus.. Pesan Error = " + se);
                JOptionPane.showMessageDialog(null, "Gagal Hapus Data.. Coba Lagi\nPesan Error :\n"
                        + "<html><font color=#FF0000>" + se + "</font></html>");
                textKode.setFocusable(true);
            }
        }
    }
   
}//Akhir Kelas ValidasiPrimaryKey



// utama_Perpustakaan


package LatihanUbahData;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class utama_Perpustakaan extends JFrame{
    JMenuBar menuBar = new JMenuBar();
    JMenu menu_file = new JMenu();
    JMenuItem file_keluar = new JMenuItem();
    JMenu menu_input = new JMenu();
    JMenu menu_proses = new JMenu();
    JMenuItem input_buku = new JMenuItem();
   
    JMenuItem proses_pinjam = new JMenuItem();
    JMenuItem proses_kembali = new JMenuItem();
    JDesktopPane desk = new JDesktopPane();
   
    public static void main(String args []){
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }
        catch(Exception Ignored){
        }
        new utama_Perpustakaan();
    }
   
    public utama_Perpustakaan() {
        super("Aplikasi");
        setJMenuBar(menuBar);
        setContentPane(desk);
        tampilanGUI();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
        setSize(screen.width, screen.height - 40);
        setVisible(true);
        prosesMenu();
    }
    void tampilanGUI(){
        menu_file.setText("file");
        file_keluar.setText("keluar");
        menu_input.setText("Input Data");
        menu_proses.setText("Proses Data");
        input_buku.setText("Input Data Mahasiswa");
        proses_pinjam.setText("Edit Data Mahasiswa");
        proses_kembali.setText("Hapus Data Mahasiswa");
        // Menambahkan menu pada menu bar
        menuBar.add(menu_file);
        menuBar.add(menu_input);
        menuBar.add(menu_proses);
        //Menambahkan sub menu dan separator pada menu
        menu_file.addSeparator();
        menu_file.add(file_keluar);
        menu_file.addSeparator();
        menu_input.addSeparator();
        menu_input.add(input_buku);
        menu_input.addSeparator();
       
        menu_input.addSeparator();
        menu_proses.addSeparator();
        menu_proses.add(proses_pinjam);
        menu_proses.addSeparator();
        menu_proses.add(proses_kembali);
        menu_proses.addSeparator();
    }
   
    public void prosesMenu() {
        file_keluar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int tutup = JOptionPane.showConfirmDialog(null, "Apakah Anda ingin menutup Aplikasi ini???", "Exit", JOptionPane.YES_NO_OPTION);
                if(tutup == 0) {
                    System.exit(0);
                }
            }
        });
       
        input_buku.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                desk.removeAll();
                repaint();
                ValidasiGabungan input_buku = new ValidasiGabungan();
                input_buku.setSize(desk.getSize().width, desk.getSize().height);
                input_buku.show();
                desk.add(input_buku);
            }
        });
       
       
       
        proses_pinjam.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                desk.removeAll();
                repaint();
                ValidasiGabungan proses_pinjam = new ValidasiGabungan();
                proses_pinjam.setSize(desk.getSize().width, desk.getSize().height);
                proses_pinjam.show();
                desk.add(proses_pinjam);
   
            }
        });
       
        proses_kembali.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                desk.removeAll();
                repaint();
                ValidasiGabungan proses_kembali = new ValidasiGabungan();
                proses_kembali.setSize(desk.getSize().width, desk.getSize().height);
                proses_kembali.show();
                desk.add(proses_kembali);
            }
        });
    }

}





Data Base nya Gan :







0 komentar:

Posting Komentar

Barudak IF.A

 
Free HTML Blog 4u