Langsung aja ni, simak program Data Mahasiswa dengan menggunakan bahasa java. Untuk packagenya bisa disesuaikan.
nama file login.javapackage tugas; import java.awt.Button; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.SystemColor; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.swing.*; public class login extends JFrame{ JPanel panel1 = new JPanel(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JTextField username = new JTextField(); JPasswordField password = new JPasswordField(15); Button log = new Button(); Connection konek; public static void main (String args[]){ login Data = new login(); Data.setSize(300, 170); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int lebar = (screen.width-Data.getSize().width)/2; int tinggi = (screen.height-Data.getSize().height)/2; Data.setTitle("Login Form"); Data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Data.setLocation(lebar, tinggi); Data.setResizable(false); Data.setVisible(true); } public login(){ String nama; String pass; this.getContentPane().setLayout(null); jLabel1.setRequestFocusEnabled(true); jLabel1.setHorizontalAlignment(SwingConstants.RIGHT); jLabel1.setText("User Name : "); jLabel1.setBounds(new Rectangle(1,22,92,23)); jLabel2.setBounds(new Rectangle(1,62,89,23)); jLabel2.setText("Password : "); jLabel2.setHorizontalAlignment(SwingConstants.RIGHT); jLabel2.setRequestFocusEnabled(true); username.setEnabled(true); username.setBounds(new Rectangle(100,20,153,25)); password.setEnabled(true); password.setBounds(new Rectangle(100,60,153,25)); log.setActionCommand(""); log.setBackground(SystemColor.inactiveCaption); log.setEnabled(true); log.setLabel("LOGIN"); log.setBounds(new Rectangle(160,100,93,26)); /* Menambahkan Action Listener */ log.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ /* Method yang dipanggil saat tombil ditekan */ proses_login(e); } }); this.getContentPane().add(jLabel1,null); this.getContentPane().add(jLabel2,null); this.getContentPane().add(username,null); this.getContentPane().add(password,null); this.getContentPane().add(log,null); } 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..."); }catch(SQLException se){ /* gagal koneksi */ System.out.print("koneksi gagal = "+se); System.exit(0); } }catch(ClassNotFoundException cnfe){ /* gagal memanggil driver JDBC */ System.out.print("class tidak ditemukan.. Error : "+cnfe); System.exit(0); } } /* akhir koneksi database() */ public void proses_login(ActionEvent ae){ String value1 = username.getText(); String value2 = password.getText(); String nama; String pass; koneksiDatabase(); try{ Statement stat = konek.createStatement(); ResultSet rSet = stat.executeQuery("Select * from user"); /* mengambil hasil SQL */ rSet.next(); nama = rSet.getString("nama"); pass = rSet.getString("pass"); if(value1.equals(nama) && value2.equals(pass)){ username.setText(""); password.setText(""); log.setEnabled(false); data_mahasiswa page = new data_mahasiswa(); page.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ log.setEnabled(true); } }); page.setSize(1000, 800); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int lebar = (screen.width-page.getSize().width)/2; int tinggi = (screen.height-page.getSize().height)/2; page.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); page.setLocation(lebar, tinggi); page.setResizable(true); page.setVisible(true); }else{ JOptionPane.showMessageDialog(this,"Incorrect login or password", "Error",JOptionPane.ERROR_MESSAGE); } stat.close(); }catch (SQLException se){ /* kesalahan pengiriman Statement SQL */ System.out.print("SQL salah = " + se); }catch(Exception e){ System.out.print("pesan error = " + e); } } }nama file data_mahasiswa.java
package tugas; import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class data_mahasiswa 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_mahasiswa = new JMenuItem(); JMenuItem proses_edit_data = new JMenuItem(); JMenuItem proses_hapus_data = new JMenuItem(); JDesktopPane desk = new JDesktopPane(); Connection konek; /* public static void main(String[] args){ try{ UIManager.setLookAndFeel("com.sun.java.swing.plat.windows.WindowsLkAndFeel"); }catch (Exception ignored){ } new utama_perpustakaan(); } */ public data_mahasiswa(){ super(".:: Aplikasi Sistem Informasi Data Mahasiswa UIN SGD Bandung -- by Najib ::."); setJMenuBar(menuBar); setContentPane(desk); tampilanGUI(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); setSize(screen.width,screen.height = 40); setVisible(true); prosesMenu(); koneksiDatabase(); } 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..."); }catch(SQLException se){ /* gagal koneksi */ System.out.print("koneksi gagal = "+se); System.exit(0); } }catch(ClassNotFoundException cnfe){ /* gagal memanggil driver JDBC */ System.out.print("class tidak ditemukan.. Error : "+cnfe); System.exit(0); } }/* akhir koneksi database() */ void tampilanGUI(){ menu_file.setText("File"); file_keluar.setText("Keluar"); menu_input.setText("Input Data"); menu_proses.setText("Proses Data"); input_mahasiswa.setText("Input Data Mahasiswa"); proses_edit_data.setText("Edit Data Mahasiswa"); proses_hapus_data.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_mahasiswa); //menu_input.addSeparator(); //menu_proses.addSeparator(); menu_proses.add(proses_edit_data); menu_proses.addSeparator(); menu_proses.add(proses_hapus_data); //menu_proses.addSeparator(); } //Metod Proses Menu public void prosesMenu(){ //action listener untuk sub menu keluar 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); } } }); //action listener untuk sub menu Input Data Mahasiswa input_mahasiswa.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ desk.removeAll(); repaint(); tambahData input_mahasiswa = new tambahData(); input_mahasiswa.show(); input_mahasiswa.setSize(400,400); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int lebar = (screen.width-input_mahasiswa.getSize().width)/2; int tinggi = (screen.height-input_mahasiswa.getSize().height)/2; input_mahasiswa.setLocation(lebar,tinggi); input_mahasiswa.setResizable(false); input_mahasiswa.setVisible(true); desk.add(input_mahasiswa); } }); //action listener untuk sub menu Proses Edit Data proses_edit_data.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ desk.removeAll(); repaint(); rubahData proses_edit_data = new rubahData(); proses_edit_data.show(); proses_edit_data.setSize(400, 500); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int lebar = (screen.width-proses_edit_data.getSize().width)/2; int tinggi = (screen.height-proses_edit_data.getSize().height)/2; proses_edit_data.setTitle("Data Mahasiswa"); proses_edit_data.setLocation(lebar, tinggi); proses_edit_data.setResizable(false); proses_edit_data.setVisible(true); desk.add(proses_edit_data); } }); //action listener untuk sub menu Proses Hapus Data proses_hapus_data.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ desk.removeAll(); repaint(); hapusData proses_hapus_data = new hapusData(); proses_hapus_data.show(); proses_hapus_data.setSize(400,500); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int lebar = (screen.width -proses_hapus_data.getSize().width)/2; int tinggi =(screen.height -proses_hapus_data.getSize().height)/2; proses_hapus_data.setLocation(lebar, tinggi); proses_hapus_data.setResizable(false); proses_hapus_data.setVisible(true); desk.add(proses_hapus_data); } }); } }nama file tambahData.java
package tugas; import javax.swing.*; import java.awt.*; import java.sql.*; import java.awt.event.*; import javax.swing.text.*; public class tambahData extends JFrame { 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 textAlamat = new JTextField(); JTextField texttgl_lahir = new JTextField(); List daftar = new List(); JLabel jLabel3 = new JLabel(); Button button1 = new Button(); Connection konek; /** * Method Main * @program args : Arguments */ /* public static void main (String args[]){ tambahData ValidasiPrimaryKey = new tambahData(); ValidasiPrimaryKey.setSize(400,400); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int lebar = (screen.width-ValidasiPrimaryKey.getSize().width)/2; int tinggi = (screen.height-ValidasiPrimaryKey.getSize().height)/2; ValidasiPrimaryKey.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ValidasiPrimaryKey.setLocation(lebar,tinggi); ValidasiPrimaryKey.setResizable(false); ValidasiPrimaryKey.setVisible(true); } */ public tambahData(){ jLabel1.setHorizontalAlignment(SwingConstants.RIGHT); jLabel1.setText("NIM :"); jLabel1.setBounds(new Rectangle(10, 8, 86, 15)); this.getContentPane().setLayout(null); jLabel2.setBounds(new Rectangle(10, 38, 86, 15)); jLabel2.setHorizontalAlignment(SwingConstants.RIGHT); jLabel2.setText("Nama :"); jLabel4.setBounds(new Rectangle(10, 68, 86, 15)); jLabel4.setHorizontalAlignment(SwingConstants.RIGHT); jLabel4.setText("Alamat :"); jLabel5.setBounds(new Rectangle(10, 96, 86, 15)); jLabel5.setHorizontalAlignment(SwingConstants.RIGHT); jLabel5.setText("Tanggal Lahir :"); textKode.setText(null); textKode.setBounds(new Rectangle(100, 8, 187,21)); textKode.setDocument(new batasiInput((byte)12).getFilter()); textNama.setText(null); textNama.setBounds(new Rectangle(100,38,187,21)); daftar.setBounds(new Rectangle(29, 160, 288, 182)); textAlamat.setText(null); textAlamat.setBounds(new Rectangle(100,68,187,21)); texttgl_lahir.setText(null); texttgl_lahir.setBounds(new Rectangle(100,96,187,21)); jLabel3.setText("daftar kode-kode siswa yang telah tersimpan sebelumnya"); jLabel3.setBounds(new Rectangle(29,145,321,15)); button1.setLabel("SAVE"); button1.setBounds(new Rectangle(97, 120, 128, 24)); /* Menambahkan Action Listener */ button1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ // Method yang dipanggil saat tombil ditekan cekAndSaveData(e); } }); 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(textAlamat, null); this.getContentPane().add(texttgl_lahir, null); this.getContentPane().add(daftar, null); this.getContentPane().add(jLabel3, null); this.getContentPane().add(button1, 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(){ try{ Class.forName("com.mysql.jdbc.Driver"); System.out.print("suksess Driver JDBC ditemukan...."); try{ String db = "mahasiswa"; String url = "jdbc:mysql://localhost/"+db; String usr = "root"; String pwd = ""; konek = DriverManager.getConnection(url, usr, pwd); System.out.print("sukses koneksi..."); }catch (SQLException se){ System.out.print("koneksi Gagal...."); } } catch(ClassNotFoundException cnfe){ System.out.print("Class tidak ditemukan... Error : "+cnfe); } } // method daftarkode // untuk memanggil daftar kode dan nama siswa yang telah tersimpan di database public void daftarKode(){ daftar.removeAll(); /* mencoba mengirim statement SQL */ try{ Statement stat = konek.createStatement(); ResultSet rSet = stat.executeQuery("Select * from data"); /* mengambil hasil SQL */ while (rSet.next()) { daftar.add(rSet.getString("nim") + " " + rSet.getString("nama")); } stat.close(); }catch (SQLException se){ /* kesalahan pengiriman Statement SQL */ System.out.print("SQL salah = " + se); }catch(Exception e){ System.out.print("pesan error = " + e); } } /* akhir method daftarKode() */ /** * method cekAndSaveData(actionevent e) * untuk melakukan pemeriksaan apakah data yang dimasukkan valid atau tidak * jika valid, data tersebut disimpan * tetapi jika tidak valid maka menampilak kesalahan * @param e : action 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, textAlamat.getText()); stat.setString(4, texttgl_lahir.getText()); stat.executeUpdate(); }catch (SQLException se){ /* gagal mengirim statement SQL (data tidak valid) */ System.out.print("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=#FF0000>"+se+" </font> </html>"); textKode.setFocusable(true); } daftarKode(); stat.close(); }catch(Exception er){ System.out.println("pesan error = " +er); } } /* akhir method cekAndSaveData(ActionEvent e) */ /** * membuat kelas untuk membatasi input yang masuk */ class batasiInput{ byte length; PlainDocument filter; public batasiInput(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; } } } /* akhir kelas ValidasiPrimaryKey */nama file rubahData.java
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","TTL"}; 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(18,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("TTL : "); 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); } }catch(ClassNotFoundException cnfe){ //gagal memanggil driver JDBC 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){} } /** 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); } } 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); }else{ //apabila data dipilih 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 */nama file hapusData.java
package tugas; import javax.swing.*; import java.sql.*; import java.util.Properties; import java.awt.*; import javax.swing.table.*; import java.awt.event.*; public class hapusData extends JFrame{ //Deklarasi Komponen JLabel jLabel4 = new JLabel(); JScrollPane jScrollPane1 = new JScrollPane(); JTable tabel = new JTable(); DefaultTableModel tabMode; Connection konek; private JLabel jLabel2 = new JLabel(); private JTextField dataAlamat = new JTextField(); private JTextField dataKode = new JTextField(); private JLabel jLabel1 = new JLabel(); private JLabel jLabel3 = new JLabel(); private Button hapus = new Button(); private JTextField dataNama = new JTextField(); private JLabel jLabel5 = new JLabel(); private JTextField datatgl_lahir = new JTextField(); private JTextPane caraPengguna = new JTextPane(); /** * Method main * @param args : arguments */ /*public static void main (String[]args){ hapusData Data = new hapusData(); 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.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Data.setLocation(lebar, tinggi); Data.setResizable(false); Data.setVisible(true); }*/ /** * Konstruktor * Method ini berisikan pembuatan kompoen dan penambahan Action Listener */ public hapusData(){ this.getContentPane().setLayout(null); this.setTitle("Proses Menghapus Data"); //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 Mouse Listener pada tabel tabel.addMouseListener(new MouseAdapter(){ //Proses saat TABEL di klik public void mouseClicked(MouseEvent e){ dapatData_dari_Tabel(); } }); jLabel4.setText("Daftar Data yang telah tersimpan di dalam database"); jLabel4.setBounds(new Rectangle (15,9,362,19)); 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.setBounds(new Rectangle(18,363,89,23)); jLabel3.setRequestFocusEnabled(true); jLabel3.setText("Alamat : "); jLabel3.setHorizontalAlignment(SwingConstants.RIGHT); jLabel5.setRequestFocusEnabled(true); jLabel5.setText("Tgl lahir :"); jLabel5.setHorizontalAlignment(SwingConstants.RIGHT); 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)); caraPengguna.setEditable(true); caraPengguna.setText("Cara menggunakan:\nKlik data yang ingin dihapus pada TABEL, kemudian " +"klik tombol HAPUS untuk melakukan proses penghapusan data"); caraPengguna.setBounds(new Rectangle(new Rectangle(13,210,367,55))); hapus.setActionCommand(""); hapus.setBackground(SystemColor.inactiveCaption); hapus.setEnabled(true); hapus.setLabel("H A P U S !!!"); hapus.setBounds(new Rectangle(123,430,93,26)); //menambahkan Action Listener pada tombol HAPUS hapus.addActionListener(new java.awt.event.ActionListener(){ //proses saat tombol HAPUS dklik public void actionPerformed(ActionEvent e){ proses_hapusData(); } }); this.getContentPane().add(jScrollPane1,null); jScrollPane1.getViewport().add(tabel,null); this.getContentPane().add(jLabel4,null); this.getContentPane().add(jLabel2,null); this.getContentPane().add(dataAlamat,null); this.getContentPane().add(dataKode,null); this.getContentPane().add(jLabel1,null); this.getContentPane().add(jLabel3,null); this.getContentPane().add(hapus,null); this.getContentPane().add(dataNama,null); this.getContentPane().add(jLabel5,null); this.getContentPane().add(datatgl_lahir,null); this.getContentPane().add(caraPengguna,null); this.getContentPane().add(hapus,null); //Memanggil Method koneksiDatabase() untuk koneksi databse koneksiDatabase(); //memanggil method tampilDataTabel() untuk menampilkan data pada tabel tampilDataKeTabel(); } /** * method koneksiDatabse * untuk melakukan koneksi dengan database server * databse server = MySQL * getConection yang digunakan adalah getConnection(url,user,password) */ 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..."); }catch(SQLException se){ //gagal koneksi System.out.print("koneksi gagal = "+se); System.exit(0); } }catch(ClassNotFoundException cnfe){ //gagal memanggil driver JDBC System.out.print("class tidak ditemukan.. Error : "+cnfe); System.exit(0); } } /* akhir method koneksiDatabase() */ /** * method tampilDataKeTabel * untuk menampilkan data yang telah tersimpan pad 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){} } /** * 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 dapatData_Dari_Tabel * Untuk mengambil data yang dipilih pada TABEL(data yang akan di rubah) */ void dapatData_dari_Tabel(){ //mengambil data-data yang dipilih pada TABEL int row = tabel.getSelectedRow(); 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 di pilih if (dataKode.getText().equals(" ")){ dataKode.setEnabled(false); dataNama.setEnabled(false); dataAlamat.setEnabled(false); datatgl_lahir.setEnabled(false); hapus.setEnabled(false); }else{ //apabila data dipilih dataKode.setEnabled(false); dataNama.setEnabled(true); dataAlamat.setEnabled(true); datatgl_lahir.setEnabled(true); dataNama.requestFocus(); hapus.setEnabled(true); } } /** * 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 Kode =" + dataKode.getText() + "","konfirmasi menghapus Data",JOptionPane.YES_NO_OPTION); //apabila tombol OK ditekan if(ok==0){ try{ String sql = "DELETE FROM data WHERE nim =" + dataKode.getText()+ ""; PreparedStatement stat = konek.prepareStatement(sql); stat.executeUpdate(); tampilDataKeTabel(); dataKode.setText(""); dataAlamat.setText(""); datatgl_lahir.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 = #FFOOOO>"+se+" </font> </html>"); dataKode.setFocusable(true); } } } }Catatan:
Kata kunci:
Muhamad Fajar
30 mei 2012 pukul 05:02
mantap jib, eta tah seuri nu di terakhirna tekuat euy, ckakaka
kazuya
30 mei 2012 pukul 11:19
mksih sekali atas wejangannya mbah najibuddin... :D