KONEKSI KE DATABASE DENGAN JDBC 2 Mengubah data Acuan satu project dari form sebelumya. Pada bagian ini akan mencoba untuk memisahkan kelas yang secara umum digunakan pada kelas lain. Misalnya setiap kelas Form membutuhkan fungsi untuk koneksi. Sehingga fungsi tersebut dibuat dimasukan ke dalam kelas tersendiri. Untuk mengubah tabel pada MysSQL dengan menggunakan perintah : UPDATE nama_tabel SET kolom1=’isi_kol1’, kolom2=’isi_kol2’, Kolom_n=’isi_koln’ WHERE kolom_kunci=’isi_kol_kunci’;
Buat rancangan sebagai berikut
Pengaturan isi properti seperti tabel berikut : Komponen JFrame ButtonGroup JButton JButton
Property Class setTitle() Variable Name Variable Name SetText() Variable Name SetText()
Nilai NewJFrameUbahData Mengubah Data Pegwai buttonGroupSeks jButtonSelesai Selesai jButtonSimpan Simpan
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
JComboBox
Variabel Name model
JRadioButton JRadioButton JComboBox
Variable Name Variable Name Variable Name model Variable Name SetText() Variable Name SetText()
JTextField JTextField
jComboBoxAgama ISLAM PROTESTAN KATHOLIK HINDU BUDHA jRadioButtonL jRadioButtonP jComboBoxNip kosongkan JTextField jTextFieldNama “” JTextField jTextFieldAlamat “”
Pembuatan kelas untuk koneksi: Kelas-kelas ini diciptakan untuk digunakan semua modul atau kelas interface lain misalnya sejumlah JFrame yang lain. Cara membuat kelas adalah sebagai berkut : • Pada tab Project pilih Source pagkage • Klik kanan mouse, pilih New • Kemudin pilih dan klik Java Class… Sebelum anda membuat program maka,
Pada Class Name diberi nama NewClassKoneksi yang nantinya akan menjadi nama file NewClassKoneksi.java
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
Klik tombol Finis Kemudian lengkapilah seperti program berikut : import java.sql.*; public class NewClassKoneksi { public Connection conn; public Statement st; public ResultSet rs; // menciptakan fungsi konec() public void koneksi() { // mamangil fungsi konek() untuk melakukan koneksi konek("localhost","simpeg1","badi","badi"); }
// fungi konek public void konek(String server,String db, String user,String passwd){ System.out.println("Keterangan"); try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) {
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
System.out.println( "Ada kesalahan Driver ODBC tidak barhasil Load"); e.printStackTrace(); return; } System.out.println("PostgreSQL JDBC Driver berhasil di Load"); conn = null; try { conn = DriverManager.getConnection("jdbc:mysql://"+ server+":3306/"+db,user,passwd); } catch (SQLException e) { System.out.println("Tidak bisa koneksi ke database"); e.printStackTrace(); return; } if (conn != null) System.out.println("Berhasil Koneksi!"); else System.out.println("Koneksi Gagal........ !"); } }
Penjelasan Class.forName("com.mysql.jdbc.Driver"); Memanggil driver jdbc Tambahkan pada Form NewJFrameUbahData.java, sebagai berikut : import java.sql.*; import java.io.*;
public class NewJFrameUbahData extends javax.swing.JFrame { NewClassKoneksi x; /** Creates new form NewJFrameUbahData */ public NewJFrameUbahData() { initComponents(); x = new NewClassKoneksi(); buttonGroup1.add(jRadioButtonL); buttonGroup1.add(jRadioButtonP); x.koneksi(); }
Penjelasan NewClassKoneksi x; deklarasi kelas x turunan dari kelas NewClassKoneksi
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
x = new NewClassKoneksi(); menciptakan kelas x turunan dari kelas NewClassKoneksi x.koneksi(); menaggi x.koneksi public void koneksi() { // mamangil fungsi konek() untuk melakukan koneksi konek("localhost","simpeg1","badi","badi"); }
Mengisi jComboBoxNip [ ] dengan mengambil field “nip” dari tabel pegawai. Event pada saat program dijalankan. Klik pada From NewJFrameUbahData Klik kanan mouse dan pilih Events Klik Window Klik windowActive
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
Isikan Kode berikut : private void formWindowActivated(java.awt.event.WindowEvent evt) { // TODO add your handling code here: String sql="SELECT nip FROM pegawai ORDER BY nip"; jComboBoxNip.removeAllItems(); try { x.st = x.conn.createStatement(); x.rs = x.st.executeQuery(sql); } catch (SQLException e){ return; } try{ while (x.rs.next()) { jComboBoxNip.addItem(x.rs.getString("nip").toString()); } x.rs.close(); x.st.close(); } catch (SQLException e){ return; } }
Penjelasan try{ while (x.rs.next()) { jComboBoxNip.addItem(x.rs.getString("nip").toString()); } Melakukan loop untuk mengisi jComboBoxNip Kemudian membuat fungsi tampilkan() void tampilkan(String nip) { String sql="SELECT * FROM pegawai WHERE nip='"+nip+"';"; try { x.st = x.conn.createStatement(); x.rs = x.st.executeQuery(sql); } catch (SQLException e){ return; } try{ while (x.rs.next()) { jTextFieldNama.setText(x.rs.getString("nama").toString());
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
jTextFieldAlamat.setText( x.rs.getString("alamat").toString()); if (x.rs.getString("seks").equals("L")) jRadioButtonL.setSelected(true); else jRadioButtonP.setSelected(true); int i=0; int ketemu=0; while (i<=jComboBoxAgama.getItemCount()-1 ) { if (x.rs.getString("agama").equals( jComboBoxAgama.getItemAt(i).toString())) { ketemu=i; } i++; } jComboBoxAgama.setSelectedIndex(ketemu); } x.rs.close(); x.st.close(); } catch (SQLException e){ return; } }
Event untuk ComboBoxNip [
] dipilih
Klik kanan mouse dan pilih Events Klik mouse Klik mouseClicked
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
Masukan kode berikut : private void jComboBoxNipMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: tampilkan(jComboBoxNip.getItemAt(jComboBoxNip.getSelectedIndex()).toStr ing()); }
Penjelasan Tampilkan( jComboBoxNip.getItemAt(jComboBoxNip.getSelectedIndex()).toString() Nilai pareter jComboBoxNip.getItemAt(jComboBoxNip.getSelectedIndex()).toString()
Event tombol Klik Tombol Simpan Klik mouse Klik mouseClicked
);
,
Masukan kode berkut : private void jButtonSimpanMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: String nip,nama,alamat,jk,agama,sql; nip = jComboBoxNip.getItemAt( jComboBoxNip.getSelectedIndex()).toString(); nama =jTextFieldNama.getText(); alamat =jTextFieldAlamat.getText(); agama =jComboBoxAgama.getItemAt(
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………
jComboBoxAgama.getSelectedIndex()).toString(); if (jRadioButtonL.isSelected()==true) jk ="L"; else jk="P"; sql = "UPDATE pegawai SET nama='"+nama+"',"+ "alamat='"+alamat+"',"+ "seks='"+jk+"',"+ "agama='"+agama+"'"+ " WHERE nip='"+nip+"'"; jTextField1.setText(sql); try { x.st = x.conn.createStatement(); x.st.execute(sql); } catch (SQLException e){ System.out.println("Penyimpanan Gagal "); return; } System.out.println("data sudah tersimpan!"); }
Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………