Anda di halaman 1dari 14

TUGAS

SISTEM BASIS DATA LANJUT


PRAKTIKUM

Disusun oleh:

Nama : Rosita Afida


NIM : 5170411026
Prodi : Informatika A

FAKULTAS TEKNOLOGI INFORMASI DAN ELEKTRO


UNIVERSITAS TEKNOLOGI YOGYAKARTA
TAHUN AJARAN 2018/2019
Pembuatan CRUD dengan NetBeans

1. Membuat database

2. Membuat GUI menggunakan NetBeans


Kelas Koneksi.java

import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
public class Koneksi {
public Connection koneksi;
public Statement statement;
public Koneksi(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e){
System.err.println("JDBC Driver tidak ditemukan :
"+e.getMessage());
}
koneksi = null;
try {
koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/komik","root","");
statement = koneksi.createStatement();
} catch (Exception e){
System.err.println("KOneksi DB error :"+e.getMessage());
}
if (koneksi!=null){
System.out.println("Koneksi DB berhasil");
}
}
}

Buat terlebih dulu class koneksi untuk menghubungkan ke database. Kemudian jalankan, jika
berhasil maka akan muncul seperti ini :
Source Code:

import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class GUIDataBuku extends javax.swing.JFrame {


private final Koneksi k = new Koneksi();
DefaultTableModel tm = new DefaultTableModel();
String id;
public GUIDataBuku() {
initComponents();
dataBuku();
}
private void dataBuku(){
tm.addColumn("ID Buku");
tm.addColumn("Nama Buku");
tm.addColumn("Pengarang");
tm.addColumn("Tahun Terbit");
tm.addColumn("Penerbit");
tm.addColumn("Stok");
tm.addColumn("Harga Beli");
tm.addColumn("Harga Jual");
tabel.setModel(tm);
}
@SuppressWarnings("unchecked")
private void simpanActionPerformed(java.awt.event.ActionEvent evt) {
String
tidbuku,tjudul,tpengarang,tterbit,tpenerbit,tstok,tbeli,tjual;
tidbuku=idbuku.getText();
tjudul=judul.getText();
tpengarang=pengarang.getText();
tterbit=tahunterbit.getText();
tpenerbit=penerbit.getText();
tstok=stok.getText();
tbeli=hargabeli.getText();
tjual=hargajual.getText();
String masukkan = "INSERT INTO buku
(id_buku,judul,pengarang,tahun_terbit,penerbit,stok,harga_beli,harga_jua
l)"
+ "VALUES
('"+tidbuku+"','"+tjudul+"','"+tpengarang+"','"+tterbit+"','"+tpenerbit+
"','"+tstok+"','"+tbeli+"','"+tjual+"');";
try {
k.statement.execute(masukkan);
JOptionPane.showMessageDialog(this, "Simpan
Sukses","Informasi",
JOptionPane.INFORMATION_MESSAGE);
tampil();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this,ex.getMessage(),"Error",
JOptionPane.ERROR_MESSAGE);
}
}
private void ubahActionPerformed(java.awt.event.ActionEvent evt) {
String
tidbuku,tjudul,tpengarang,tterbit,tpenerbit,tstok,tbeli,tjual;
tjudul=judul.getText();
tpengarang=pengarang.getText();
tterbit=tahunterbit.getText();
tpenerbit=penerbit.getText();
tstok=stok.getText();
tbeli=hargabeli.getText();
tjual=hargajual.getText();
String ganti = "update buku set judul='"+tjudul+"',
pengarang='"+tpengarang+"',tahun_terbit='"+tterbit+"', "
+
"penerbit='"+tpenerbit+"',stok='"+tstok+"',harga_beli='"+tbeli+"',harga_
jual='"+tjual+"' where id_buku='"+id+"'";
try {
k.statement.execute(ganti);
JOptionPane.showMessageDialog(this, "Simpan
Sukses","Informasi",
JOptionPane.INFORMATION_MESSAGE);
tampil();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this,ex.getMessage(),"Error",
JOptionPane.ERROR_MESSAGE);
}
}
private void tabelMouseClicked(java.awt.event.MouseEvent evt) {
int i=tabel.getSelectedRow();
idbuku.setText(tm.getValueAt(i, 0).toString());
judul.setText(tm.getValueAt(i, 1).toString());
pengarang.setText(tm.getValueAt(i, 2).toString());
tahunterbit.setText(tm.getValueAt(i, 3).toString());
penerbit.setText(tm.getValueAt(i, 4).toString());
stok.setText(tm.getValueAt(i, 5).toString());
hargabeli.setText(tm.getValueAt(i, 6).toString());
hargajual.setText(tm.getValueAt(i, 7).toString());
//id=tm.getValueAt(i, 0).toString();
}
private void hapusActionPerformed(java.awt.event.ActionEvent evt) {
String
tidbuku,tjudul,tpengarang,tterbit,tpenerbit,tstok,tbeli,tjual;
tjudul=judul.getText();
tpengarang=pengarang.getText();
tterbit=tahunterbit.getText();
tpenerbit=penerbit.getText();
tstok=stok.getText();
tbeli=hargabeli.getText();
tjual=hargajual.getText();
String hapus = "delete from buku where id_buku='"+id+"'";
try {
k.statement.execute(hapus);
JOptionPane.showMessageDialog(this, "Simpan
Sukses","Informasi",
JOptionPane.INFORMATION_MESSAGE);
tampil();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this,ex.getMessage(),"Error",
JOptionPane.ERROR_MESSAGE);
}
}
private void cariiKeyReleased(java.awt.event.KeyEvent evt) {
int row = tabel.getRowCount();
for (int s=0 ; s<row;s++){
tm.removeRow(0);
}
try {
String cari = "select * from buku where id_buku like
'%"+carii.getText()+"%' OR judul like'%"+carii.getText()+"%'";
ResultSet rs = k.statement.executeQuery(cari);
while (rs.next()){
tm.addRow(new Object[]{
rs.getString("id_buku"),
rs.getString("judul"),
rs.getString("pengarang"),
rs.getString("tahun_terbit"),
rs.getString("penerbit"),
rs.getString("stok"),
rs.getString("harga_beli"),
rs.getString("harga_jual")
});
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(rootPane, e.getMessage());
}
}
private void tampilMouseClicked(java.awt.event.MouseEvent evt) {
if(tampil.isSelected()){
try {
String sql = "select * from buku";
ResultSet rs = k.statement.executeQuery(sql);
while (rs.next()){
tm.addRow(new Object[]{
rs.getString("id_buku"),
rs.getString("judul"),
rs.getString("pengarang"),
rs.getString("tahun_terbit"),
rs.getString("penerbit"),
rs.getString("stok"),
rs.getString("harga_beli"),
rs.getString("harga_jual")
});
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(rootPane, e.getMessage());
}
} else {
int row = tabel.getRowCount();
for (int s=0 ; s<row;s++){
tm.removeRow(0);
}
}
}
private void tampil() {
int row = tabel.getRowCount();
for (int s=0 ; s<row;s++){
tm.removeRow(0);
}
try {
String sql = "select * from buku";
ResultSet rs = k.statement.executeQuery(sql);
while (rs.next()){
tm.addRow(new Object[]{
rs.getString("id_buku"),
rs.getString("judul"),
rs.getString("pengarang"),
rs.getString("tahun_terbit"),
rs.getString("penerbit"),
rs.getString("stok"),
rs.getString("harga_beli"),
rs.getString("harga_jual")
});
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(rootPane, e.getMessage());
}
}
public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GUIDataBuku().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JTextField carii;
private javax.swing.JButton hapus;
private javax.swing.JTextField hargabeli;
private javax.swing.JTextField hargajual;
private javax.swing.JTextField idbuku;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable1;
private javax.swing.JTextField judul;
private javax.swing.JTextField penerbit;
private javax.swing.JTextField pengarang;
private javax.swing.JButton simpan;
private javax.swing.JTextField stok;
private javax.swing.JTable tabel;
private javax.swing.JTextField tahunterbit;
private javax.swing.JCheckBox tampil;
private javax.swing.JButton ubah;
// End of variables declaration
}
PENGUJIAN

3. Menyimpan data
Masukkan beberapa data
Jika berhasil disimpan maka akan muncul “Simpan Sukses”

Beberapa data yang sudah masuk dan sudah tersimpan pada database.
4. Mengubah data
Jika akan mengubah data, pilih data yang akan diubah pada tabel.

private void tabelMouseClicked(java.awt.event.MouseEvent evt) {


int i=tabel.getSelectedRow();
idbuku.setText(tm.getValueAt(i, 0).toString());
judul.setText(tm.getValueAt(i, 1).toString());
pengarang.setText(tm.getValueAt(i, 2).toString());
tahunterbit.setText(tm.getValueAt(i, 3).toString());
penerbit.setText(tm.getValueAt(i, 4).toString());
stok.setText(tm.getValueAt(i, 5).toString());
hargabeli.setText(tm.getValueAt(i, 6).toString());
hargajual.setText(tm.getValueAt(i, 7).toString());
Ubah data telah terpilih maka akan muncul “Ubah Sukses”.

Dan data berhasil dirubah

Query ini digunakan untuk mengubah sebuah data, dimana kondisi WHERE mengambil
id_buku.

String ganti = "UPDATE buku SET judul='"+tjudul+"',


pengarang='"+tpengarang+"',tahun_terbit='"+tterbit+"', "
+
"penerbit='"+tpenerbit+"',stok='"+tstok+"',harga_beli='"+tbeli+"',harga_
jual='"+tjual+"'WHERE id_buku='"+id+"'";
5. Menghapus data

Muncul “Hapus Sukses” merupakan tanda bahwa data yang dipilih sudah dihapus

Query yang digunakan ialah “DELETE”

String hapus = "DELETE FROM buku WHERE id_buku='"+id+"'";


6. Cari
Jika data yang ada terlalu banyak, maka opsi cari dibutuhkan untuk mencari sebuah
data dengan lebih cepat.

Dengan Nama Buku

Dengan ID Buku

Query

String cari = "SELECT * FROM buku where id_buku like


'%"+carii.getText()+"%' OR judul like'%"+carii.getText()+"%'";

Dimana berdasarkan pada “id_buku” dan “judul”


private void tampil() {
int row = tabel.getRowCount();
for (int s=0 ; s<row;s++){
tm.removeRow(0);
}
try {
7. CheckBox String sql = "SELECT * FROM buku";
Jika “Tampil Data” di rs
ResultSet centang maka semua data bisa terlihat
= k.statement.executeQuery(sql);
while (rs.next()){
tm.addRow(new Object[]{
rs.getString("id_buku"),
rs.getString("judul"),
rs.getString("pengarang"),
rs.getString("tahun_terbit"),
rs.getString("penerbit"),
rs.getString("stok"),
rs.getString("harga_beli"),
rs.getString("harga_jual")
});
}
Jika di UnCheck maka data yang ada tidak ditampilkan
} catch (SQLException e) {
JOptionPane.showMessageDialog(rootPane,
e.getMessage());
}
}

Anda mungkin juga menyukai