1. Buka xampp Control dan start kan
2. Lalu buka Crome dan masuk ke http://localhost/phpmyadmin/
3. Seelanjutnya kita akan membuat table Perpustakaan dengan cara
Klik New – Create databases (Perpustakaan) – Lansung saja tekan tombol Create
4. Selanjutnya untuk membuat tabelnya masukkan nama yang diinginkan seperti contoh Anggota dan kolom table nya ada 4 dan langsung tekan Go saja
5. Jika
sudah masukkan seperti berikut (Pertama
itu Primary lalu selanjutnya Index)
Jika sudah langsung scroll ke bawah
dan tekan Go / Save
Jika Selesai maka tampilannya
seperti berikut
Selanjutnya untuk memasukkan data
nya seperti berikut
Klik tools Insert – masukkan seperti berikut – lalu Go / Save
Jika berhasil seperti berikut tool Browse
6. Jika
ingin membuat table baru maka lakukan hal yang sama sepereti tadi
Seperti contoh table kedua adalah
Buku
Selanjutnya Buat Projek di Netbeans
seperti berikut
A. Koneksi Databases
Langkah pertama yang harus dilakukan agar bias menggunakan JDBC adalah menambahkan pustaka Mysql JDBC Driver pada projek yang dibuat. Contohnya seperti berikut. Klik kanan pada Projek – Properties
Selanjutnya Libraries – Add Library – Mysql JDBC Drive – Add Library – OK
Seperti berikut
Selanjutnya
klik 2x pada tombol Hubungkan ke
Databases
Lalu masukkan source code berikut
Sebelum membuat event tombol, Lakukanlah panggilan terhadap beberapa kelas dari pustaka JDBC dengan menggunakan perintah berikut
import java.sql.Connection;
import java.sql.DriverManager;
// TODO add
your handling code here: try{ String driver =
"com.mysql.jdbc.Driver"; //String driver untuk koneksi ke
databse perpustakaan String db =
"jdbc:mysql://localhost/perpustakaan"; //String untuk koneksi ke database
perpustakaan String user = "root"; //user database String password = "root"; //password database Class.forName(driver); Connection con = DriverManager.getConnection(db,
user, password); if (con!=null){
javax.swing.JOptionPane.showMessageDialog(rootPane, "Koneksi
Berhasil !"); con.close(); } }catch(Exception ex){
javax.swing.JOptionPane.showMessageDialog(rootPane, "Koneksi
Gagal !"); } } |
Jika Berhasil maka saat di Run akan seperti ini
Jika ingin Koneksi berhasil maka tinggal kosongkan passwordnya
7. Selanjutnya membuat Projek baru seperti berikut
B. Menampilkan Data Buku
(Jangan lupa di table nya ganti nama variable nya dengan nama tabelBuku)
Untuk menambahkan table ataupun merubah namanya dengan cara Klik kanan – properties - model - Insert - Ok
Selanjutnya klik 2x pada tombol TAMPILKAN DATA BUKU lalu masukkan source code berikut
package MenampilkanDataBuku;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
try{ String driver =
"com.mysql.jdbc.Driver"; //string driver untuk koneksi ke
MySql String db =
"jdbc:mysql://localhost/perpustakaan"; //string untuk koneksi ke
database perpustakaan String user = "root"; //user database String password = ""; //password database Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); //membuat koneksi dengan database Statement
stmt=con.createStatement(); String queri="SELECT*FROM
buku"; ResultSet
rs=stmt.executeQuery(queri); int index=0; while(rs.next()) {
tabelBuku.getModel().setValueAt(rs.getString("id_buku"),
index, 0); tabelBuku.getModel().setValueAt(rs.getString("judul"),
index, 1);
tabelBuku.getModel().setValueAt(rs.getString("pengarang"),
index, 2);
tabelBuku.getModel().setValueAt(rs.getString("penerbit"),
index, 3); tabelBuku.getModel().setValueAt(rs.getString("jumlah"),
index, 4); index++; } rs.close(); stmt.close(); con.close(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, "Koneksi
Gagal !"); } } |
Jika berhasil maka saat di Run tamilannya sebagai berikut :
C. Entri Data Buku
Catatan
:
·
Pakai
text Field dengan variable change “teksbuku, teksjudul, dan seterusnya”
·
Untuk
dibawah pake table seperti sebelumnya dengan variable change “tabelbuku”
Selanjutnya
masukkan source code berikut
package EntriDataBukuPia; import
java.sql.Connection; import
java.sql.DriverManager; import
java.sql.Statement; import
java.sql.ResultSet; import
javax.swing.table.DefaultTableModel; public
class formEntriDataBuku extends javax.swing.JFrame { String driver = "com.mysql.jdbc.Driver"; String db =
"jdbc:mysql://localhost/perpustakaan"; String user = "root"; String password = ""; DefaultTableModel model=new
DefaultTableModel();
public formEntriDataBuku() { initComponents(); } void entriData(String id, String judul,
String pengarang, String penerbit, int jumlah) { try { Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); Statement stmt=con.createStatement(); String queri="INSERT INTO
buku(ID_Buku,Judul,Pengarang,Penerbit,Jumlah) VALUES"
+"('"+id+"','"+judul+"','"+pengarang+"','"+penerbit+"',"+jumlah+")"; stmt.executeUpdate(queri); con.close(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } } int getJumlahData(ResultSet x) { int n=0; try { x.last(); n=x.getRow(); x.close(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } return n; } void tampilData() { try { Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); //membuat koneksi dengan database Statement
stmt=con.createStatement(); String queri="SELECT*FROM buku"; ResultSet
rs=stmt.executeQuery(queri); int jumbaris=getJumlahData(rs);
String[]titleKolom={"ID_BUKU","JUDUL","PENGARANG","PENERBIT","JUMLAH"}; String[][]databuku=new
String[jumbaris][5]; int index=0; rs=stmt.executeQuery(queri); while(rs.next()) {
databuku[index][0]=rs.getString("ID_Buku");
databuku[index][1]=rs.getString("Judul");
databuku[index][2]=rs.getString("Pengarang");
databuku[index][3]=rs.getString("Penerbit");
databuku[index][4]=rs.getString("Jumlah"); index++; } model.setDataVector(databuku,
titleKolom); tabelBuku.setModel(model); rs.close(); con.close(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } } |
Untuk
tombol Entri berikut source code nya
//
TODO add your handling code here: try{ String id=teksbuku.getText(); String judul=teksjudul.getText(); String
pengarang=tekspengarang.getText(); String
penerbit=tekspenerbit.getText(); int jumlah=Integer.parseInt(teksJumlah.getText());
entriData(id,judul,pengarang,penerbit,jumlah); //entri data menggunakan method
entriData }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } }
|
Untuk
tombol Tampil berikut source code nya
//
TODO add your handling code here: try{ tampilData(); //menampilkan data menggunakan
method tampilData }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } }
|
Jika
berhasil Berikut tampilannya saat di run
Saat
meekan Tombol Tampil dan Tombol Entri
D. Form Ubah Data
Masukkan source code nya sebagai berikut :
package
PencarianDataPia; import
java.sql.Connection; import
java.sql.DriverManager; import
java.sql.Statement; import
java.sql.ResultSet; import javax.swing.table.DefaultTableModel; public class
formPencarian extends javax.swing.JFrame { String driver =
"com.mysql.jdbc.Driver"; String db =
"jdbc:mysql://localhost/perpustakaan"; String user = "root"; String password = ""; DefaultTableModel model=new
DefaultTableModel(); public formPencarian() { initComponents(); tampilData(); //pemanggilam method tampilData untuk
menampilkan data pada saat pertama kali dijalankan } int getJumlahData(ResultSet x) { int n=0; try { x.last(); n=x.getRow(); x.close(); }catch(Exception ex) { } return n; } void tampilData() { try { Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); //membuat koneksi dengan database Statement stmt=con.createStatement(); String queri="SELECT*FROM
anggota"; ResultSet rs=stmt.executeQuery(queri); int jumbaris=getJumlahData(rs); String[]titleKolom={"ID
Anggota","Nama","Alamat","Tlp"}; String[][]dataanggota=new
String[jumbaris][4]; int index=0; rs=stmt.executeQuery(queri); while(rs.next()) {
dataanggota[index][0]=rs.getString("ID_Anggota");
dataanggota[index][1]=rs.getString("Nama");
dataanggota[index][2]=rs.getString("Alamat");
dataanggota[index][3]=rs.getString("No_Telp"); index++; } model.setDataVector(dataanggota,
titleKolom); tabelAnggota.setModel(model); rs.close(); con.close(); }catch(Exception
ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } } void tampilData(String nama) { try { Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); //membuat koneksi dengan database Statement
stmt=con.createStatement(); String queri="SELECT * FROM
anggota WHERE nama like '%"+nama+"%'"; ResultSet
rs=stmt.executeQuery(queri); int jumbaris=getJumlahData(rs); String[]titleKolom={"ID
Anggota","Nama","Alamat","Tlp"}; String[][]dataanggota=new
String[jumbaris][4]; int index=0; rs=stmt.executeQuery(queri); while(rs.next()) {
dataanggota[index][0]=rs.getString("ID_Anggota"); dataanggota[index][1]=rs.getString("Nama");
dataanggota[index][2]=rs.getString("Alamat");
dataanggota[index][3]=rs.getString("No_Telp"); index++; } model.setDataVector(dataanggota,
titleKolom); tabelAnggota.setModel(model); rs.close(); con.close(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } } |
Untuk
Tombol Cari
//
TODO add your handling code here: try{ String nama=teksNama.getText(); tampilData(nama); //memanggil method tampilData
dengan parameter nama }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } }
|
Berikut
jika di run
E.
Ubah Data
Berikut Source code nya
package
MengubahDataAnggotaPia; import
java.sql.Connection; import
java.sql.DriverManager; import
java.sql.Statement; import
java.sql.ResultSet; import
javax.swing.table.DefaultTableModel; public class
formUbahdata extends javax.swing.JFrame { String driver =
"com.mysql.jdbc.Driver"; String db =
"jdbc:mysql://localhost/perpustakaan"; String user = "root"; String password = ""; DefaultTableModel model=new
DefaultTableModel(); public formUbahdata() { initComponents(); tampilData(); } int getJumlahData(ResultSet x) { int n=0; try { x.last(); n=x.getRow(); x.close(); }catch(Exception ex) { } return n; } void tampilData() { try { Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); //membuat koneksi dengan database Statement
stmt=con.createStatement(); String queri="SELECT*FROM
anggota"; ResultSet rs=stmt.executeQuery(queri); int jumbaris=getJumlahData(rs); String[]titleKolom={"ID
Anggota","Nama","Alamat","Telp"}; String[][]dataanggota=new
String[jumbaris][4]; int index=0; rs=stmt.executeQuery(queri); while(rs.next()) {
dataanggota[index][0]=rs.getString("id_anggota");
dataanggota[index][1]=rs.getString("nama");
dataanggota[index][2]=rs.getString("alamat");
dataanggota[index][3]=rs.getString("no_telp"); index++; } model.setDataVector(dataanggota,
titleKolom); tabelAnggota.setModel(model); rs.close(); con.close(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } } void CariData(String idanggota) { try { Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); //membuat koneksi dengan database Statement
stmt=con.createStatement(); String queri="SELECT*FROM
anggota WHERE id_anggota='"+idanggota+"'"; ResultSet
rs=stmt.executeQuery(queri); while(rs.next()) {
teksAnggota.setText(rs.getString("id_anggota"));
teksnama.setText(rs.getString("nama"));
teksalamat.setText(rs.getString("alamat"));
tekstelp.setText(rs.getString("no_telp")); } rs.close(); con.close(); }catch(Exception ex) {javax.swing.JOptionPane.showMessageDialog(rootPane,
ex.getMessage()); } } void ubahData(String id, String nama,
String alamat, String telp) { try { Class.forName(driver); Connection con =
DriverManager.getConnection(db, user, password); Statement
stmt=con.createStatement(); String queri="UPDATE anggota
set nama='"+nama+"',alamat='"+alamat+"',"
+"no_telp='"+telp+"'WHERE
id_anggota='"+id+"'"; stmt.executeUpdate(queri); con.close(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } } /** * This method is called from within the
constructor to initialize the form. * WARNING: Do NOT modify this code. The
content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold
defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); TombolUbah = new
javax.swing.JButton(); TombolCari = new
javax.swing.JButton(); jScrollPane1 = new
javax.swing.JScrollPane(); tabelAnggota = new
javax.swing.JTable(); teksAnggota = new
javax.swing.JTextField(); teksnama = new javax.swing.JTextField(); teksalamat = new
javax.swing.JTextField(); tekstelp = new
javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setFont(new java.awt.Font("Tahoma",
1, 11)); // NOI18N jLabel1.setText("FORM UBAH DATA
ANGGOTA"); jLabel2.setText("ID
Anggota"); jLabel3.setText("Nama"); jLabel4.setText("Alamat"); jLabel5.setText("No Telp"); TombolUbah.setText("UBAH"); TombolUbah.addActionListener(new
java.awt.event.ActionListener() { public void
actionPerformed(java.awt.event.ActionEvent evt) {
TombolUbahActionPerformed(evt); } }); TombolCari.setText("CARI"); TombolCari.addActionListener(new
java.awt.event.ActionListener() { public void
actionPerformed(java.awt.event.ActionEvent evt) {
TombolCariActionPerformed(evt); } }); tabelAnggota.setModel(new
javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null} }, new String [] { "ID_BUKU",
"NAMA", "ALAMAT", "NO_TELP" } ));
jScrollPane1.setViewportView(tabelAnggota); javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel3) .addComponent(jLabel4) .addComponent(jLabel5)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
375, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup() .addComponent(jLabel2) .addGap(46, 46, 46)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup() .addComponent(TombolUbah) .addGap(18,
18, 18)
.addComponent(TombolCari))
.addComponent(jLabel1) .addGroup(layout.createSequentialGroup() .addGap(10,
10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(tekstelp, javax.swing.GroupLayout.DEFAULT_SIZE, 190,
Short.MAX_VALUE)
.addComponent(teksalamat)
.addComponent(teksnama)
.addComponent(teksAnggota)))))) .addContainerGap(15,
Short.MAX_VALUE)) ); layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE) .addComponent(jLabel1) .addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2)
.addComponent(teksAnggota, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(teksnama,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(teksalamat,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(tekstelp,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(TombolUbah)
.addComponent(TombolCari))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)) ); pack(); }// </editor-fold> private void
TombolCariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try{
if(!teksAnggota.getText().isEmpty()) { String
id=teksAnggota.getText(); CariData(id); } else{
javax.swing.JOptionPane.showMessageDialog(rootPane, "Sihlakan
masukkan id anggota yang ingin dicari !"); } }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } }
|
Untuk Tombol Cari
// TODO add
your handling code here: try{ if(!teksAnggota.getText().isEmpty()) { String
id=teksAnggota.getText(); CariData(id); } else{
javax.swing.JOptionPane.showMessageDialog(rootPane, "Sihlakan
masukkan id anggota yang ingin dicari !"); } }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } }
|
Untuk Tombol Ubah
// TODO add
your handling code here: try{ String id=teksAnggota.getText(); String nama=teksnama.getText(); String
alamat=teksalamat.getText(); String telp=tekstelp.getText(); ubahData(id,nama,alamat,telp); //memanggil method ubah data
untuk melakukan perubahan data anggota tampilData(); }catch(Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } }
|
Berikut jika di Run
Komentar
Posting Komentar