buat sebuah tabel dengan nama t_siswa dengan 5 field
dengan detail fieldnya
lalu klik “Save”
Buka Netbeans -> New Project -> Java Application -> Masukan Nama Projek (Finish)
Setelah Project berhasil dibuat, Kita buat sebuah Class yang berfungsi untuk mengkoneksikan program ke database
Klik Finish, class KoneksiDB telah sukses dibuat. selanjutnya untuk mengkoneksikan Program ke Database MySQL itu membutuhkan sebuah Library Tambahan, cara menambahkan library yaitu klik Kanan pada folder “Libraries” dalam projek anda
setelah itu pilih library “MySQL JDBC Driver”
Klik Add Library, oke semua kebutuhan sudah siap. Buka class KoneksiDB.java lalu tambahkan Coding ini di bawah Kode “package testcrud;”
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public static Connection setKoneksi() {
String konString = “jdbc:mysql://localhost:3306/db_testkoneksi”;
Connection koneksi = null;
try {
Class.forName(“com.mysql.jdbc.Driver”);
koneksi = (Connection) DriverManager.getConnection(konString,”root”,””);
System.out.println(“Koneksi Berhasil”);
} catch (ClassNotFoundException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println(“Koneksi Gagal”);
} catch (SQLException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println(“Koneksi Gagal”);
}
return koneksi;
}
String konString = “jdbc:mysql://localhost:3306/db_testkoneksi”;
Connection koneksi = null;
try {
Class.forName(“com.mysql.jdbc.Driver”);
koneksi = (Connection) DriverManager.getConnection(konString,”root”,””);
System.out.println(“Koneksi Berhasil”);
} catch (ClassNotFoundException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println(“Koneksi Gagal”);
} catch (SQLException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println(“Koneksi Gagal”);
}
return koneksi;
}
tambahkan juga dibawah fungsi koneksi, yaitu fungsi untuk execute insert, update, delete
public static int execute(String SQL) {
int status = 0;
Connection koneksi = setKoneksi();
try {
Statement st = koneksi.createStatement();
status = st.executeUpdate(SQL);
} catch (SQLException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
}
return status;
}
int status = 0;
Connection koneksi = setKoneksi();
try {
Statement st = koneksi.createStatement();
status = st.executeUpdate(SQL);
} catch (SQLException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
}
return status;
}
setelah itu juga kita buat fungsi untuk select data dengan perintah executeQuery
public static ResultSet executeQuery(String SQL) {
ResultSet rs = null;
Connection koneksi = setKoneksi();
try {
Statement st = koneksi.createStatement();
rs = st.executeQuery(SQL);
} catch (SQLException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
}
return rs;
}
ResultSet rs = null;
Connection koneksi = setKoneksi();
try {
Statement st = koneksi.createStatement();
rs = st.executeQuery(SQL);
} catch (SQLException ex) {
Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
}
return rs;
}
oke, selanjutnya kita buat sebuah Form dengan cara klik kanan di package aplikasi anda -> New -> JFrame Form
masukan nama Form, saya berinama “frmMain” lalu klik Finish. dan akan muncul tampilan seperti ini
oke selanjutnya kita desain form nya
selanjutnya kita ganti nama setiap objek dengan cari klik kanan di objeknya -> Change Variable Name -> Masukan nama objek (contoh: txtNIS,tblData,btnAdd,dll)
setelah semua objek sudah diganti namanya kita buka bagian Source dari frmMain.java
pertama kita akan buat prosedur untuk mengambil data (select) dari database, masukan coding ini dibawah constructor (public frmMain() {})
public void selectData() {
String kolom[] = {“NIS”,”Nama”,”Jenis Kelamin”,”Kelas”,”Alamat”};
DefaultTableModel dtm = new DefaultTableModel(null, kolom);
String SQL = “SELECT * FROM t_siswa”;
ResultSet rs = KoneksiDB.executeQuery(SQL);
try {
while(rs.next()) {
String NIS = rs.getString(1);
String Nama = rs.getString(2);
String JK = “”;
if (“L”.equals(rs.getString(3))) {
JK = “Laki-Laki”;
} else {
JK = “Perempuan”;
}
String Kelas = rs.getString(4);
String Alamat = rs.getString(5);
String data[] = {NIS,Nama,JK,Kelas,Alamat};
dtm.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmMain.class.getName()).log(Level.SEVERE, null, ex);
}
tblData.setModel(dtm);
}
String kolom[] = {“NIS”,”Nama”,”Jenis Kelamin”,”Kelas”,”Alamat”};
DefaultTableModel dtm = new DefaultTableModel(null, kolom);
String SQL = “SELECT * FROM t_siswa”;
ResultSet rs = KoneksiDB.executeQuery(SQL);
try {
while(rs.next()) {
String NIS = rs.getString(1);
String Nama = rs.getString(2);
String JK = “”;
if (“L”.equals(rs.getString(3))) {
JK = “Laki-Laki”;
} else {
JK = “Perempuan”;
}
String Kelas = rs.getString(4);
String Alamat = rs.getString(5);
String data[] = {NIS,Nama,JK,Kelas,Alamat};
dtm.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmMain.class.getName()).log(Level.SEVERE, null, ex);
}
tblData.setModel(dtm);
}
Sekarang kita coba buat fungsi untuk Insert data ke database, klik 2x objek button Add dan tambahkan coding ini didalamnya
if (“”.equals(txtNIS.getText()) || “”.equals(txtAlamat.getText()) ||
“”.equals(txtKelas.getText()) || “”.equals(txtNama.getText())) {
JOptionPane.showMessageDialog(this, “Harap Lengkapi Data”, “Error”, JOptionPane.WARNING_MESSAGE);
} else {
String JK = “”;
if (rdLaki.isSelected()) {
JK = “L”;
} else {
JK = “P”;
}
String SQL = “INSERT INTO t_siswa (NIS,NamaSiswa,JenisKelamin,Kelas,Alamat) ”
+ “VALUES(‘”+txtNIS.getText()+”‘,'”+txtNama.getText()+”‘,'”+JK+”‘,”
+ “‘”+txtKelas.getText()+”‘,'”+txtAlamat.getText()+”‘)”;
int status = KoneksiDB.execute(SQL);
if (status == 1) {
JOptionPane.showMessageDialog(this, “Data berhasil ditambahkan”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
selectData();
} else {
JOptionPane.showMessageDialog(this, “Data gagal ditambahkan”, “Sukses”, JOptionPane.WARNING_MESSAGE);
}
}
“”.equals(txtKelas.getText()) || “”.equals(txtNama.getText())) {
JOptionPane.showMessageDialog(this, “Harap Lengkapi Data”, “Error”, JOptionPane.WARNING_MESSAGE);
} else {
String JK = “”;
if (rdLaki.isSelected()) {
JK = “L”;
} else {
JK = “P”;
}
String SQL = “INSERT INTO t_siswa (NIS,NamaSiswa,JenisKelamin,Kelas,Alamat) ”
+ “VALUES(‘”+txtNIS.getText()+”‘,'”+txtNama.getText()+”‘,'”+JK+”‘,”
+ “‘”+txtKelas.getText()+”‘,'”+txtAlamat.getText()+”‘)”;
int status = KoneksiDB.execute(SQL);
if (status == 1) {
JOptionPane.showMessageDialog(this, “Data berhasil ditambahkan”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
selectData();
} else {
JOptionPane.showMessageDialog(this, “Data gagal ditambahkan”, “Sukses”, JOptionPane.WARNING_MESSAGE);
}
}
run lagi dan tambahkan sebuah data ke database
sekarang kita buat fungsi untuk refresh, klik 2x button refresh dan didalamnya masukkan coding
selectData();
untuk load ulang data di table dari database.
oke Insert dan Refresh sudah berhasil, selanjutnya kita buat fungsi untuk delete.
Klik 2x button delete dan masukkan coding ini didalamnya
int baris = tblData.getSelectedRow();
if (baris != -1) {
String NIS = tblData.getValueAt(baris, 0).toString();
String SQL = “DELETE FROM t_siswa WHERE NIS='”+NIS+”‘”;
int status = KoneksiDB.execute(SQL);
if (status==1) {
JOptionPane.showMessageDialog(this, “Data berhasil dihapus”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, “Data gagal dihapus”, “Gagal”, JOptionPane.WARNING_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(this, “Pilih Baris Data Terlebih dahulu”, “Error”, JOptionPane.WARNING_MESSAGE);
}
if (baris != -1) {
String NIS = tblData.getValueAt(baris, 0).toString();
String SQL = “DELETE FROM t_siswa WHERE NIS='”+NIS+”‘”;
int status = KoneksiDB.execute(SQL);
if (status==1) {
JOptionPane.showMessageDialog(this, “Data berhasil dihapus”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, “Data gagal dihapus”, “Gagal”, JOptionPane.WARNING_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(this, “Pilih Baris Data Terlebih dahulu”, “Error”, JOptionPane.WARNING_MESSAGE);
}
Coba run, dan hasilnya
dan yang terakhir kita buat fungsi edit.
tapi sebelum nya kita tambahkan dulu event handler untuk table jika salah satu data row ada yang ingin diedit, dengan cara klik kanan di Table Objek anda -> Events -> Mouse -> mouseClicked
setelah itu akan masuk ke bagian source dari Table mouseClicked handler, didalamnya tambahkan coding ini
int baris = tblData.getSelectedRow();
if (baris != -1) {
txtNIS.setText(tblData.getValueAt(baris, 0).toString());
txtNama.setText(tblData.getValueAt(baris, 1).toString());
if (“Laki-Laki”.equals(tblData.getValueAt(baris, 2).toString())) {
rdLaki.setSelected(true);
} else {
rdPerempuan.setSelected(true);
}
txtKelas.setText(tblData.getValueAt(baris, 3).toString());
txtAlamat.setText(tblData.getValueAt(baris, 4).toString());
}
if (baris != -1) {
txtNIS.setText(tblData.getValueAt(baris, 0).toString());
txtNama.setText(tblData.getValueAt(baris, 1).toString());
if (“Laki-Laki”.equals(tblData.getValueAt(baris, 2).toString())) {
rdLaki.setSelected(true);
} else {
rdPerempuan.setSelected(true);
}
txtKelas.setText(tblData.getValueAt(baris, 3).toString());
txtAlamat.setText(tblData.getValueAt(baris, 4).toString());
}
Klik 2x button edit, dan tambahkan coding ini didalamnya
if (“”.equals(txtNIS.getText()) || “”.equals(txtAlamat.getText()) ||
“”.equals(txtKelas.getText()) || “”.equals(txtNama.getText())) {
JOptionPane.showMessageDialog(this, “Harap Lengkapi Data”, “Error”, JOptionPane.WARNING_MESSAGE);
} else {
String JK = “”;
if (rdLaki.isSelected()) {
JK = “L”;
} else {
JK = “P”;
}
String SQL = “UPDATE t_siswa SET ”+ “NamaSiswa='”+txtNama.getText()+”‘,”
+ “JenisKelamin='”+JK+”‘,Kelas='”+txtKelas.getText()+”‘,”
+ “Alamat='”+txtAlamat.getText()+”‘ ”+ “WHERE NIS='”+txtNIS.getText()+”‘”;
int status = KoneksiDB.execute(SQL);
if (status == 1) {
JOptionPane.showMessageDialog(this, “Data berhasil diupdate”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
selectData();
} else {
JOptionPane.showMessageDialog(this, “Data gagal diupdate”, “Sukses”, JOptionPane.WARNING_MESSAGE);
}
}
“”.equals(txtKelas.getText()) || “”.equals(txtNama.getText())) {
JOptionPane.showMessageDialog(this, “Harap Lengkapi Data”, “Error”, JOptionPane.WARNING_MESSAGE);
} else {
String JK = “”;
if (rdLaki.isSelected()) {
JK = “L”;
} else {
JK = “P”;
}
String SQL = “UPDATE t_siswa SET ”+ “NamaSiswa='”+txtNama.getText()+”‘,”
+ “JenisKelamin='”+JK+”‘,Kelas='”+txtKelas.getText()+”‘,”
+ “Alamat='”+txtAlamat.getText()+”‘ ”+ “WHERE NIS='”+txtNIS.getText()+”‘”;
int status = KoneksiDB.execute(SQL);
if (status == 1) {
JOptionPane.showMessageDialog(this, “Data berhasil diupdate”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
selectData();
} else {
JOptionPane.showMessageDialog(this, “Data gagal diupdate”, “Sukses”, JOptionPane.WARNING_MESSAGE);
}
}
run aplikasinya