Pada artikel sebelumnya saya sudah membahas tentang JDBC dan sekarang saya akan membahas
tentang CRUD dengan Java. Ok sekarang kita sudah mencapai materi terakhir dalam matakuliah PBO.
CRUD adalah singkatan dari Create Read Update Delete , yang sering digunakan pada aplikasi-aplikasi
pengolahan data yang kebanyakan mengguanakan fungsi CRUD didalamnya . Fungsi ini digunakan
untuk menambahkan data, menghapus data, serta mengupdate data.
Apa saja yang dibutuhkan untuk membuat sebuah CRUD GUI pada Java ?
1. JDBC
2. MySQL
3. JFrame
import java.sql.*;
try {
Class.forName("com.mysql.jdbc.Driver");
cc=DriverManager.getConnection("jdbc:mysql://localhost/db_mahasiswa","root",""
);
System.out.println("koneksi okey");
System.out.println(e);
}
Pindah ke tab Source dan masukan kode berikut:
package crud_tugas;
import java.sql.*;
import java.text.SimpleDateFormat;
import crud_tugas.koneksi;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
koneksi con;
initComponents();
con.Class();
BacaTabel();
try {
con.rr = con.ss.executeQuery(sql);
ResultSetMetaData m = con.rr.getMetaData();
int baris = 0;
while (con.rr.next()){
baris = con.rr.getRow();
int x = 0;
con.rr.beforeFirst();
while (con.rr.next()){
x++;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
txtnim.setText((String)txttabel.getValueAt(row, 0));
txtnama.setText((String)txttabel.getValueAt(row, 1));
txtprodi.setText((String)txttabel.getValueAt(row, 2)); ;
txtalamat.setText((String)txttabel.getValueAt(row, 3));
txtnohp.setText((String)txttabel.getValueAt(row, 4));
}
private void simpan(){
try {
PreparedStatement p = (PreparedStatement)
con.cc.prepareStatement(sql);
p.setString(1, nim);
p.setString(2, nama);
p.setString(3, prodi);
p.setString(4, alamat);
p.setString(5, no_hp);
p.executeUpdate();
BacaTabel();
System.out.println(e);
}
try {
PreparedStatement p = (PreparedStatement)
con.cc.prepareStatement(sql);
p.setString(5, nim);
p.setString(1, nama);
p.setString(2, prodi);
p.setString(3, alamat);
p.setString(4, no_hp);
p.executeUpdate();
BacaTabel();
JOptionPane.showMessageDialog(this, "Data sukses di edit");
System.out.println(e);
try {
con.ss.executeUpdate(sql);
con.ss.close();
BacaTabel();
txtnim.requestFocus();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
txtnama.setText("");
txtprodi.setText("");
txtalamat.setText("");
txtnohp.setText("");
@SuppressWarnings("unchecked")
//
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("NAMA");
jLabel2.setText("NIM");
jLabel4.setText("DATA MAHASISWA");
jLabel6.setText("ALAMAT");
txttabel.setModel(new javax.swing.table.DefaultTableModel(
},
new String [] {
));
txttabel.addMouseListener(new java.awt.event.MouseAdapter() {
txttabelMouseClicked(evt);
});
jScrollPane1.setViewportView(txttabel);
txtalamat.setColumns(20);
txtalamat.setRows(5);
jScrollPane2.setViewportView(txtalamat);
Fsimpan.setText("SIMPAN");
Fsimpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
FsimpanActionPerformed(evt);
});
Fedit.setText("EDIT");
Fedit.addActionListener(new java.awt.event.ActionListener() {
FeditActionPerformed(evt);
});
Fhapus.setText("HAPUS");
Fhapus.addActionListener(new java.awt.event.ActionListener() {
FhapusActionPerformed(evt);
});
Fbaru.setText("BARU");
Fbaru.addActionListener(new java.awt.event.ActionListener() {
});
Fkeluar.setText("KELUAR");
Fkeluar.addActionListener(new java.awt.event.ActionListener() {
FkeluarActionPerformed(evt);
});
jLabel7.setText("PRODI");
jLabel8.setText("NO HP");
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING, false)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 518,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addComponent(jLabel1)
.addComponent(jLabel6)
.addComponent(jLabel2)
.addComponent(jLabel7)
.addComponent(jLabel8))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addComponent(txtnohp,
javax.swing.GroupLayout.PREFERRED_SIZE, 245,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addComponent(jScrollPane2)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(Fsimpan,
javax.swing.GroupLayout.PREFERRED_SIZE, 79,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Fedit,
javax.swing.GroupLayout.PREFERRED_SIZE, 65,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Fhapus)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Fbaru)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Fkeluar))
.addComponent(txtnim,
javax.swing.GroupLayout.PREFERRED_SIZE, 154,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
TRAILING, false)
.addComponent(txtprodi,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, 346, Short.MAX_VALUE)
.addComponent(txtnama,
javax.swing.GroupLayout.Alignment.LEADING)))
.addGap(0, 0, Short.MAX_VALUE))))))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel4)))
.addContainerGap(31, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 105,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
TRAILING)
.addComponent(jLabel2)
.addComponent(txtnim,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addComponent(txtnama,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
BASELINE)
.addComponent(jLabel7)
.addComponent(txtprodi,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addComponent(jLabel6)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.PREFERRED_SIZE, 49,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
BASELINE)
.addComponent(txtnohp,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addGap(32, 32, 32)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
BASELINE)
.addComponent(Fsimpan)
.addComponent(Fedit)
.addComponent(Fhapus)
.addComponent(Fbaru)
.addComponent(Fkeluar))
.addContainerGap(57, Short.MAX_VALUE))
);
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}//
dispose();
baru();
hapus();
edit();
setTabel();
java.awt.EventQueue.invokeLater(new Runnable() {
new CrudMahasiswa().setVisible(true);
});
Setelah itu jalankan projectnya Run File, dan berikut ini hasilya:
Crud Java Gui Mysql