Membuat Aplikasi Manipulasi Data dengan Java Netbeans dan MySQL, Insert Update Delete Database Java Netbeans dan MySQL >
Hai semuanya, apa kabar ? Dah lama nih gak ngeblogging, dan kali ini saya akan membuat tutorial bagaimana membuat aplikasi sederhana yang masih dasar dengan java netbeans, ini aplikasi pertama saya dengan java dan Alhamdulillah berhasil, makanya saya share buat belajar bareng-bareng, hehe. Ya udah langsung saja simak langkah-langkahnya dibawah ini :
1. Disini kita menggunakan aplikasi Netbeans 7 keatas dikit. Yang pertama buatlah sebuah project baru dengan nama sesuai dengan selera Anda pada IDE Netbeans. Dengan cara klik File > New Project, setelah muncul pop-up baru pada categoriesnya pilih Java dan pada Projects pilih Java Application. Selanjutnya klik Next seperti gambar dibawah :
2. Kemudian akan muncul pop-up terkait tentang penamaan project, kalo sudah klik Finish. Pada gambar dibawah yang saya kasih lingkarang merah berarti nama project dan lokasi penyimpanannya yang diberi nama terserah Anda.
3. Saya membuat project dengan nama Manipulasi Data, dan saya membuat form dengan nama MyProject, cara membuat formnya seperti gambar screenshoot dibawah :
4. Lalu klik 2x pada MyProject dan buatlah interface formnya seperti gambar dibawah ini dengan drag & drop JLabel, JTextField, JTable dan JButton.
5. Ubah Nama Variable Control dengan mengklik kanan pada control dan pilih Change Variable Name.
6. Isi variable namenya sesuaikan dengan gammbar dibawah. Besar kecil hurufnya juga diperhatikan ya.
7. Kita sudah setengah perjalanan karena telah membuat tampilan form programnya. Selanjutnya buat database terserah kamu, (disini saya buat database dengan nama perpustakaan, kalo nama database Anda berbeda dengan saya nanti saat masukin script koneksi ke database, nama databasenya harus dirubah sesuai dengan nama database yang telah Anda buat).
Disini saya membuat database dan tabel dengan SQL Yog, terserah Anda mau pake' apa, bisa juga lewat localhost/phpmyadmin, yang penting sama. Ni screenshoot saya dalam membuat databasenya :
Kalo tidak pingin susah payah membuat database bisa langsung diimport saja dari file download-an [nanti dibawah akan saya kasih link download program + tabel databasenya ]
8. Selanjutnya kita membuat Koneksi Database, langkah pertama klik kanan pada library pilih Add library. Kemudian akan ada pop-up baru dan pilih MySQL JDBC Driver dan Klik Add Lilbrary seperti gambar dibawah :
9. Buka form dengan mengklik 2x pada FormKoneksi yang telah anda buat tadi, lalu klik tab Source seperti gambar dibawah :
10. Lalu ketik kode dibawah ini tepat dibawah 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;
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.
11. Untuk selanjutnya dibawah class MyProject sisipkan kode :
private static Connection koneksi; //Koneksi
private DefaultTableModel model; //Model Tabel
private DefaultTableModel model; //Model Tabel
Meletakannya seperti gambar dibawah,
12. Pada public MyProject 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");
model=new DefaultTableModel();
this.jTable1.setModel(model);
model.addColumn("ID");
model.addColumn("Nama");
model.addColumn("Alamat");
model.addColumn("Telepon");
Cara meletakkan script seperti ini,
13. Buat sebuah void / function untuk membuat sebuah koneksi database, kenapa dibuat pakai function ? Yaitu untuk meminimalkan penggunaan kode yang banyak, jadi tinggal panggil function aja nanti. Ini scriptnya :
private static Connection buka_koneksi() {
if (koneksi==null) {
try {
String url="jdbc:mysql://localhost:3306/perpustakaan"; //nama database perpustakaan
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;
}
if (koneksi==null) {
try {
String url="jdbc:mysql://localhost:3306/perpustakaan"; //nama database perpustakaan
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;
}
Yang saya cetak berwarna biru adalah nama database, sesuaikan dengan database kita masing-masing. Dan screenshot pemasangan kodenya seperti ini,
14. Saatnya kita membuat proses pada tiap-tiap button. Caranya buka mode design dan klik kanan pada tombol Add , pilih actionnya.
15. 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);
}
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);
}
16. 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);
}
{
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);
}
17. Lalu masukkan script action klik Button Delete berikut :
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());
}
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());
}
18. Kemudian action Button Refresh, tulis kode ini :
ambil_data_tabel();
19. Membuat Function panggil database dan function penggunaan JTabel. Caranya yaitu buat function untuk memasukkan data ke JTabel, ni scriptnya :
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());
}
}
{
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());
}
}
20. Buat function saat JTabel di klik, ni kodenya :
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, 1);
this.TxtNama.setText(nama);
String alamat=(String) model.getValueAt(i, 2);
this.TxtAlamat.setText(alamat);
String tlp=(String) model.getValueAt(i, 3);
this.TxtTelepon.setText(tlp);
}
{
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, 1);
this.TxtNama.setText(nama);
String alamat=(String) model.getValueAt(i, 2);
this.TxtAlamat.setText(alamat);
String tlp=(String) model.getValueAt(i, 3);
this.TxtTelepon.setText(tlp);
}
21. Lalu buat action JTabel saat di klik, dengan cara masuk ke design kemudian klik tabel, terus klik kanan pilih Events > Mouse > MouseClicked seperti gambar dibawah :
22. Sisipkan code berikut pada action MouseClicked :
this.ambil_tabel_klik();
Bagi yang males buat program sendiri ni saya kasih link download aplikasi + databasenya, klik gambar download dibawah,
Dan ini tampilan screenshot program yang sudah jadi :
Ok cukup sekian tutorial membuat aplikasi manipulasi data dengan netbeans + mysql, semoga bermnfaat. Sekian dan Terimakasih. Salam Blogger Indonesia !
Untuk melihat tutorial Membuat Aplikasi Manipulasi Data dengan Borland Pascal 7 + MySQL bisa dilihat DISINI.
Kalau menggunakan radio buyton gimana gan.....
ReplyDeleteya tinggal ditambahkan komponen radio button kemudian prosesnya gan
Deletegan kok pas ane cobain isi dari txtnya gk muncul ditabel ya gan, mohon pencerahannya gan
ReplyDeleteGak bisa input data dari txt ke table maksud ente gan ?
Deletegan udh ane coba tp knp datanya gk msuk ke table ya?
ReplyDeleteksh solusinya gan
Anda mungkin ada yang salah, coba diteliti lagi.
Deletegak masuk kedalam tabel gan, padahal ane copas 100% dari ente
DeleteThis comment has been removed by the author.
Deletemungkin databasenya gan, coba ente cek,
Deletedatabase nya gmn mksd nya?
Deleteterimakasih gan bermanfaat bgt buat ane yang baru belajar netbeans hehe..
ReplyDeleteSama2 gan. Alhamdulillah :)
Deleteijin download projectnya mas
ReplyDeletelinknya mati gan, mohon diperbaiki, saya pengen download aplikasinya.
ReplyDeleteOk gan.
DeleteSementara Anda bisa meng-copy paste script diatas.
Sama2, Alhamdulillah :)
ReplyDeletegan ane ada ke sulitan di ambil_data_tabel
ReplyDeleteitu gmn yah?
gan yang Buat function saat JTabel di klik, yang no 19 itu gmana mohon bantuannya
ReplyDeletebroken link om
ReplyDeleteupload lagi dunk
broken link gan, reupload dong
ReplyDeleteizin sedot gan sangat bermanfaat
ReplyDeleteSilahkan gan. Thanks :)
Deletelink mati gan, problemnya sama gamasuk ke table
ReplyDeletemin bingung nih, yg bagian "Membuat Function panggil database dan function penggunaan JTabel....."
ReplyDeleteitu codingan-nya disisipin dimana?
coba link download-nya diperbaiki juga
gan, kalo misalnya saya pake localhost/phpmyadmin itu location databasenya gmn tulisnya ya?
ReplyDeleteini tabel ID itu gk di deklarasikan y
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteGAn ane bingung nih kok database nya gak muncul terus si crud nya gak jalan
ReplyDeleteuntuk penulisan kode jtabel, nulisnya dimna bang ?
ReplyDeleteUdah gk aktif ngblog lagi kayaknya
ReplyDeleteSaya binghung penaruhan code no 18, 19, 20 gan
Pengen download jg gk bisa
link downloadnya sudah aus min, tlng diperbaiki
ReplyDelete