Rekomendasi : jika baru mengenal IDE Java Netbeans, buat file yang sesuai dengan TUTORIAL ini. Kita akan membuat Koneksi dan Impleme...
Rekomendasi : jika baru mengenal IDE Java Netbeans, buat file yang sesuai dengan TUTORIAL ini.
Kita akan membuat Koneksi dan Implementasi Fungsi (INSERT, UPDATE, DELETE) Java Netbeans dengan Database MySQL di XAMPP.
Buatlah sebuah DATABASE dengan XAMPP dengan nama "belajar" dan bikin tabel anggota, berikut struktur tabelnya :
id int(10)
nama varchar(30)
alamat varchar(40)
tlp varchar(16).
Atau anda bisa men-download file .sql yang telah dibuat di SINI, dan IMPORT file tersebut pada database yang anda buat dengan nama "belajar" di XAMPP.
Buatlah sebuah project baru dengan nama sesuai dengan selera anda pada IDE Netbeans. Lalu buatlah sebuah form terserah apa saja.

Klik Next >
Klik Finish
Saya membuat project dengan nama Tes Database dan Form FormKoneksi
Lalu klik 2x pada FormKoneksi buatlah interface form nya seperti ini :
Drag Drop JLabel,JTextField,JTable dan JButton. Ubah Nama Variable Control dengan mengklik kanan pada control dan pilih Change Variable

Berikut langkah yang sudah saya susun :
1. Buat Koneksi Database
Add JAR Library MySQL
Klik Add Library
Buka form dengan mengklik 2x pada FormKoneksi yang telah anda buat tadi, lalu klik tab Source.
Lalu ketik kode ini tepat di bawah nama package
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
Ini berfungsi agar paket-paket yang tersedia untuk Netbeans bekerja dengan baik
Lalu di bawah class FormKoneksi sisipkan kode :
private static Connection koneksi; //Koneksi
private DefaultTableModel model; //Model Tabel
Pada public FormKoneksi sisipkan kode berikut
//buat model tabel / header tabel
model=new DefaultTableModel();
this.jTable1.setModel(model);
model.addColumn("ID");
model.addColumn("Nama");
model.addColumn("Alamat");
model.addColumn("Telepon");
Buat sebuah void / function untuk membuat sebuah koneksi database, kenapa dibuat pakai function? untuk menimalkan penggunaan kode yang banyak, jadi tinggal panggil function aja nanti
private static Connection buka_koneksi() {
if (koneksi==null) {
try {
String url="jdbc:mysql://localhost:3306/belajar"; //nama database belajar
String user="root"; //user mysql
String password=""; //password mysql
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t) {
System.out.println("Error membuat koneksi");
}
}
return koneksi;
}
2. Proses Klik Button
Buka mode design dan klik kanan pada tombol Add , pilih actionnya
Maka anda langsung melihat mode source pada aksi Event klik Button Add
Buat kode berikut :
Connection c=buka_koneksi(); //panggil function koneksi
if("Add".equals(this.cmbAdd.getText())) //Jika Button Add teks nya Add
{
this.cmbAdd.setText("Save"); //Buat Teks Button Add yaitu Save
this.cmbEdit.setText("Cancel");
this.cmbDelete.enable(false);
this.cmbRefresh.enable(false);
this.lblKode.setText("0"); //Kosongkan Nilai LabelKode
this.TxtNama.setText("");
this.TxtAlamat.setText("");
this.TxtTelepon.setText("");
}else if("Save".equals(this.cmbAdd.getText()))
{
//bikin sql query tambah data
String sqlkode="Insert into anggota (`nama`,`alamat`,`tlp`) "
+ "values ('"+this.TxtNama.getText()+"',"
+ "'"+this.TxtAlamat.getText()+"',"
+ "'"+this.TxtTelepon.getText()+"')";
try { //jalankan query tersebut
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}else if("Update".equals(this.cmbAdd.getText()))
{//bikin query update data
String sqlkode="Update anggota SET `nama`='"+this.TxtNama.getText()+"',"
+ "`alamat`='"+this.TxtAlamat.getText()+"',"
+ "`tlp`='"+this.TxtTelepon.getText()+"' "
+ "Where ID='"+this.lblKode.getText()+"'";
try {
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}
Lalu action pada Button Edit
if("Edit".equals(this.cmbEdit.getText()))
{
this.cmbAdd.setText("Update");
this.cmbEdit.setText("Cancel");
this.cmbDelete.enable(false);
this.cmbRefresh.enable(false);
}else if("Cancel".equals(this.cmbEdit.getText()))
{
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}
Action klik Button Delete
Connection c=buka_koneksi();
String sqlkode="Delete from anggota "
+ "Where ID='"+this.lblKode.getText()+"'";
try {
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
Action Button Refresh
ambil_data_tabel();
3. Function Panggil Database dan Function Penggunaan JTabel
Buat function untuk memasukkan data ke JTabel
private void ambil_data_tabel()
{
model.getDataVector().removeAllElements();
model.fireTableDataChanged();
try {
Connection c=buka_koneksi();
Statement s= c.createStatement();
String sql="Select * from anggota";
ResultSet r=s.executeQuery(sql);
while (r.next()) {
Object[] o=new Object[4];
o[0]=r.getString("id");
o[1]=r.getString("nama");
o[2]=r.getString("alamat");
o[3]=r.getString("tlp");
model.addRow(o);
}
r.close();
s.close();
ambil_tabel_klik();
}catch(SQLException e) {
System.out.println("Terjadi kesalahan "+e.getMessage());
}
}
Buat function saat JTabel di klik
private void ambil_tabel_klik()
{
int i=this.jTable1.getSelectedRow();
if(i==-1)
{
return;
}
String kode=(String) model.getValueAt(i, 0);
this.lblKode.setText(kode);
String nama=(String) model.getValueAt(i, 0);
this.TxtNama.setText(nama);
String alamat=(String) model.getValueAt(i, 1);
this.TxtAlamat.setText(alamat);
String tlp=(String) model.getValueAt(i, 2);
this.TxtTelepon.setText(tlp);
}
Lalu buat action JTabel saat di klik
Sisipkan code berikut pada action MouseClicked :
this.ambil_tabel_klik();
=====Bila anda ingin langsung mencobanya tanpa ingin bersusah payah, silahkan download PROJECT JAVA nya di SINI. Extract Pada Directory Penyimpanan Project Java anda.
Contoh : C:\Users\NAMA_USER_ANDA\Documents\NetBeansProjects\TESTDB
sorry sebelumnya min, sy sudah mencoba untuk run file hasil coding mimin yang TESTDB. tapi hasilnya sendiri error, apa bisa di cek kembali?
BalasHapus