Thursday, May 24, 2012

java edit data di eclipse

cekibrot, ini terusan java yg sebelumnya. sekarang akan ngposting ttg rubah data di java. langsung aja ni source code na.
masalah package bebas tinggal disesuaikan saja.


package tugas;

import javax.swing.*;
import java.sql.*;
import java.awt.*;

import javax.swing.table.*;
import java.awt.event.*;
import java.util.*;

public class rubahData extends JFrame
{
//deklarasi komponen
    JTabbedPane tab = new JTabbedPane();
    JPanel panel1 = new JPanel();
   
    JLabel jLabel4 = new JLabel();
    JScrollPane jScrollPane1 = new JScrollPane();
    JTable tabel = new JTable();
    DefaultTableModel tabMode;
    Connection konek;
    JLabel jLabel2 = new JLabel();
    JTextField dataAlamat = new JTextField();
    JTextField datatgl_lahir = new JTextField();
    JTextField dataKode = new JTextField();
    JLabel jLabel1 = new JLabel();
    JLabel jLabel3 = new JLabel();
    Button rubah = new Button();
    JTextField dataNama = new JTextField();
    JLabel jLabel5 = new JLabel();
    JTextPane caraPengguna = new JTextPane();
    /**
     * Method main
     * @param args = arguments
     */
    public static void main (String args[]){
        rubahData Data = new rubahData();
        Data.setSize(400, 500);
        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
        int lebar = (screen.width-Data.getSize().width)/2;
        int tinggi = (screen.height-Data.getSize().height)/2;
        Data.setTitle("Data Mahasiswa");
        Data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Data.setLocation(lebar, tinggi);
        Data.setResizable(false);
        Data.setVisible(true);
    }
    /**
     * konstruktor
     * method ini berisikan pembuatan komponen dan penambahan action listener
     */
   
    public rubahData(){
        this.getContentPane().setLayout(null);
        tabel.setToolTipText("");
        tabel.setVerifyInputWhenFocusTarget(false);
        jLabel4.setText("Daftar Data yang telah tersimpan di dalam database");
        jLabel4.setBounds(new Rectangle(15,9,362,19));
        //membuat tabel
        Object[] row = {"NIM","Nama","Alamat","Tgl lahir"};
        tabMode = new DefaultTableModel(null,row);
        jScrollPane1.setBounds(new Rectangle(13,31,365,167));
        tabel.setModel(tabMode);
        //menambahkan MouseListener pada tabel
        tabel.addMouseListener(new java.awt.event.MouseAdapter(){
            //proses saat tabel dklik
            public void mouseClicked(MouseEvent e){
                dapatData_dari_Tabel();
            }
        });
       
        jLabel1.setRequestFocusEnabled(true);
        jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
        jLabel1.setText("NIM : ");
        jLabel1.setBounds(new Rectangle(15,309,92,23));
        jLabel2.setBounds(new Rectangle(15,334,89,23));
        jLabel2.setText("Nama : ");
        jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
        jLabel2.setRequestFocusEnabled(true);
        jLabel3.setRequestFocusEnabled(true);
        jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);
        jLabel3.setText("Alamat : ");
        jLabel3.setBounds(new Rectangle(18,363,89,23));
        jLabel5.setRequestFocusEnabled(true);
        jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
        jLabel5.setText("Tanggal lahir : ");
        jLabel5.setBounds(new Rectangle(18,397,89,22));
        dataAlamat.setEnabled(true);
        dataAlamat.setBounds(new Rectangle(109,366,177,22));
        dataKode.setEnabled(true);
        dataKode.setBounds(new Rectangle(109,309,91,22));
        dataNama.setEnabled(true);
        dataNama.setBounds(new Rectangle(109,336,177,22));
        datatgl_lahir.setEnabled(true);
        datatgl_lahir.setBounds(new Rectangle(109,397,177,22));
        rubah.setActionCommand("");
        rubah.setBackground(SystemColor.inactiveCaption);
        rubah.setEnabled(true);
        rubah.setLabel("EDIT");
        rubah.setBounds(new Rectangle(123,430,93,26));
       
        this.setTitle("Proses Memodifikasi Data");
        caraPengguna.setEditable(true);
        caraPengguna.setText("Cara menggunakan :\nKlik data yang ingin dirubah pada TABEL, kemudian"+"memodifikasi data yang anda inginkan pada kotak teks di bawah ini "+"dan klik tombol RUBAH untuk melakukan proses modifikasi atau perubahan data");
        caraPengguna.setBounds(new Rectangle(13,210,367,87));
       
       
        // menambahkan Action Listener pada tombol RUBAH
        rubah.addActionListener(new java.awt.event.ActionListener(){
            //proses saat tombol RUBAH dklik
            public void actionPerformed(ActionEvent e){
                proses_rubahData(e);
            }
        });
        this.getContentPane().add(jScrollPane1, null);
        this.getContentPane().add(jLabel4, null);
        jScrollPane1.getViewport().add(tabel, null);
        this.getContentPane().add(rubah,null);
        this.getContentPane().add(jLabel2,null);
        this.getContentPane().add(caraPengguna,null);
        this.getContentPane().add(dataAlamat,null);
        this.getContentPane().add(dataKode,null);
        this.getContentPane().add(jLabel1,null);
        this.getContentPane().add(jLabel3,null);
        this.getContentPane().add(dataNama,null);
        this.getContentPane().add(datatgl_lahir,null);
        this.getContentPane().add(jLabel5,null);
        this.getContentPane().add(tab,null);
        //memanggil method koneksiDatabase()untuk koneksi database
        koneksiDatabase();
        //memanggil method tampilDataTabel()untuk menampilkan data pada tabel
        tampilDataKeTabel();
       
    }
    /**
     * method koneksiDatabase
     * untuk melakukan koneksi dengan database server
     * database server = MySQL
     * getConection yang digunakan adalah getConection(url, properties)
     */
    public void koneksiDatabase()
    {
        //mencoba memanggil Driver JDBC
        try{
            Class.forName("com.mysql.jdbc.Driver");
            System.out.print("suksess driver JDBC ditemukan...");
       
        try
        {
            String url = "jdbc:mysql://localhost:3306/mahasiswa";
            Properties prop = new Properties();
            prop.put("user", "root");
            prop.put("password", "");
            konek = DriverManager.getConnection(url,prop);
            System.out.print("sukses koneksi...");
        }
        //gagal koneksi
        catch(SQLException se)
        {
            System.out.print("koneksi gagal = "+se);
            System.exit(0);
        }
       
        }
    //gagal memanggil driver JDBC
        catch(ClassNotFoundException cnfe)
        {
            System.out.print("class tidak ditemukan.. Error : "+cnfe);
            System.exit(0);
        }

}// akhir koneksi database()

/*method tampilDatakeTabel
 * untuk menampilkan data yang telah tersimpan pada database ke tabel
 */
public void tampilDataKeTabel(){
    hapusTabel();
    try{
        String sql = "Select * from data order by NIM";
        Statement stat = konek.createStatement();
        ResultSet set = stat.executeQuery(sql);
        while (set.next()){
            String kode = set.getString("nim");
            String nama = set.getString("nama");
            String alamat = set.getString("alamat");
            String tgl_lahir = set.getString("tgl_lahir");
            String data [] = {kode, nama, alamat, tgl_lahir};
            tabMode.addRow(data);
           
        }
    }
    catch(Exception e){}
}

public void hapusTabel(){
    int row = tabMode.getRowCount();
    for (int i = 0; i < row; i++){
        tabMode.removeRow(0);
    }
}

void dapatData_dari_Tabel(){
    int row = tabel.getSelectedRow();
    // mengambil data-data yang dipilih pada tabel
    String Kode = tabMode.getValueAt(row, 0).toString();
    String Nama = tabMode.getValueAt(row, 1).toString();
    String Alamat = tabMode.getValueAt(row, 2).toString();
    String tgl_lahir = tabMode.getValueAt(row, 3).toString();
    dataKode.setText(Kode);
    dataNama.setText(Nama);
    dataAlamat.setText(Alamat);
    datatgl_lahir.setText(tgl_lahir);
   
    //apabila data tidak dipilih
    if (dataKode.getText().equals(" ")){
        dataKode.setEnabled(false);
        dataNama.setEnabled(false);
        dataAlamat.setEnabled(false);
        datatgl_lahir.setEnabled(false);
        rubah.setEnabled(false);
    }
    //apabila data dipilih
    else{
        dataKode.setEnabled(false);
        dataNama.setEnabled(true);
        dataAlamat.setEnabled(true);
        datatgl_lahir.setEnabled(true);
        dataNama.requestFocus();
        rubah.setEnabled(true);
    }
}
/**
 * method proses_rubahData()
 * untuk melakukan modifikasi data
 */
public void proses_rubahData(ActionEvent e){
    int ok = JOptionPane.showConfirmDialog(null, "anda yakin ingin memodifikasi data\ndengan kode = "+dataKode.getText()+"","konfirmasi memodifikasi data", JOptionPane.YES_NO_OPTION);
    //apabila tombol OK ditekan
    if (ok == 0){
        try{
            String sql = "update data set nama=?,alamat=?,tgl_lahir=? where nim="+dataKode.getText()+"";
            PreparedStatement stat = konek.prepareStatement(sql);
            try{
                stat.setString(1, dataNama.getText());
                stat.setString(2, dataAlamat.getText());
                stat.setString(3, datatgl_lahir.getText());
               
                stat.executeUpdate();
                tampilDataKeTabel();
                dataKode.setText("");   
                dataNama.setText("");
                dataAlamat.setText("");
                datatgl_lahir.setText("");
                rubah.setEnabled(true);
                dataNama.setEnabled(true);
                dataAlamat.setEnabled(true);
                datatgl_lahir.setEnabled(true);
            }
            catch (SQLException se){
                System.out.println("pesan error = " +se);
            }
        }
        catch (SQLException se){}
        }   
    }
}// akhir kelas


diatas sebagai tampilan awal. skrg kita akan mengedit bagian tanggal lahir yaitu menjadi 26 mei 1992. seperti ini tampilannya
Inilah tampilan akhir dari program diatas.
wasalam. Share

0 comments:

Post a Comment