Anda di halaman 1dari 10

Belajar CRUD Java Desktop Netbeans

CRUD atau Create, Read,Update,Delete merupakan sebuah dasar yang harus


dikuasai terlebih dahulu sebelum anda membuat pemrograman basis data
dalam skala yang lebih besar, karena apapun aplikasi yang dibuat pasti akan
memuat CRUD tersebut.

Saat ini kita akan belajar membuat CRUD Java Desktop menggunakan
Netbeans, database yang akan digunakan adalah mysql pada artikel berikut
terdapat beberapa tahap yang akan kita lakukan diantaranya adalah :

1. Membuat Database
2. Membuat Project
3. Membuat Koneksi Database
4. Membuat Design Windows Form
5. Membuat Proses Tampil Data (Read)
6. Membuat Proses Simpan Data (Create)
7. Membuat Proses Ubah Data (Update)
8. Membuat Proses Hapus Data (Delete)

Membuat Database
Pada projek ini buatlah database menggunakan mariaDB (bawaan XAMPP)
berikan nama database dengan nama pos kemudian tambahkan sebuah table
dengan nama barang, berikut adalah source SQL pembuatan database dan
table :

CREATE DATABASE pos;


use pos;
CREATE TABLE barang (
kode_barang varchar(20) PRIMARY KEY,
nama_barang varchar(200) DEFAULT NULL,
harga double NOT NULL,
satuan varchar(20) DEFAULT NULL,
stok double NOT NULL
);
Membuat Project

Buatlah project menggunakan netbeans caranya buka netbeans anda kemudian pilih
menu File - New Project - Java Application

Selanjutnya pilih Next kemudian berikan nama projectnya pos kemudian buang
checkbox Create Main Class karena kita tidak menggunakan nya. setelah itu klik Finish

Membuat Koneksi Database

untuk membuat koneksi tambahkan terlebih dahulu sebuah package dengan nama
Konfigurasi setelah itu buatlah sebuah class baru dengan nama Koneksi.java masukan
code berikut agar aplikasi yang kita buat dapat terkoneksi ke database :

package Konfigurasi;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
*
* @author Jajang Nurjaman
*/
public class Koneksi {

public static Connection getConnection() {


Connection conn = null;
String url = "jdbc:mysql://localhost:3306/pos";
String user = "root";
String password = "";
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println(e);
}
return conn;
}

public static void main(String[] args) {


try {
Connection c = Koneksi.getConnection();
System.out.println(String.format("Connected to database %s " + "successfully.",
c.getCatalog()));
} catch (SQLException e) {
System.out.println(e);
}
}
}
Jika sudah sekarang coba tes koneksi yang telah dibuat dengan menekan tombol
Shift+F6 atau bisa melalui menu Run - Run File hasilnya harus seperti berikut :

Membuat Design Windows Form


Buatlah sebuah Package baru dengan nama Form untuk meletakkan Windows form
yang akan kita design, tambahkan sebuah Windows dengan nama JFrame Form pada
package tadi kemudian berikan nama form_barang tambahkan beberapa komponen
sehingga menjadi seperti berikut :

Berikan penamaan variabel kepada komponen yang telah dimasukan, agar mudah
diingat kita berikan penamaan sesuai dengan kegunaan nya masing-masing, seperti
berikut :
1. jTextField_kode_barang
2. jTextField_nama_barang
3. jTextField_harga
4. jTextField_satuan
5. jTextField_stok
6. jTable_barang
7. jButton_baru
8. jButton_simpan
9. jButton_edit
10. jButton_hapus

Membuat Proses Tampil Data (Read)


untuk menampilkan data kita akan membuat fungsi agar dapat dipanggil secara
berulang - ulang dan namun sebelum membuatnya kita perlu
menambahkan/menyesuaikan header untuk pemanggilan library yang digunakan,
berikut adalah header yang akan kita buat :

package Form;

import Konfigurasi.Koneksi;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.table.DefaultTableModel;

Selanjutnya tambahkan deklarasi variabel dan fungsi Tampil_data seperti berikut :

private DefaultTableModel DftTblModel_barang;


private String SQL;
public void TampilData() {
DftTblModel_barang = new DefaultTableModel();
DftTblModel_barang.addColumn("KODE BARANG");
DftTblModel_barang.addColumn("NAMA BARANG");
DftTblModel_barang.addColumn("HARGA");
DftTblModel_barang.addColumn("SATUAN");
DftTblModel_barang.addColumn("STOK");
jTable_barang.setModel(DftTblModel_barang);
Connection conn = Koneksi.getConnection();
try {
java.sql.Statement stmt = conn.createStatement();
SQL = "select * from barang";
java.sql.ResultSet res = stmt.executeQuery(SQL);
while (res.next()) {
DftTblModel_barang.addRow(new Object[]{
res.getString("kode_barang"),
res.getString("nama_barang"),
res.getString("harga"),
res.getString("satuan"),
res.getString("stok")
});
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}

jangan lupa tambahkan library MySQL JDBC Driver agar project yang kita buat dapat
terkoneksi kedatabase dengan cara klik kanan Libraries->Add Library->MySQL JDBC
Driver

Kemudian pilih MySQL JDBC Driver


Selanjutnya panggl fungsi yang telah dibuat di Konstruktor seperti berikut :

public form_barang() {
initComponents();
this.TampilData();
}

Sebelum dilakukan pengetesan tambahkan beberapa baris record kedalam tabel


barang, agar ketika dijalankan jika berhasil maka data akan tampil. hasil setelah
dijalankan seperti berikut :
Membuat Simpan Data

Untuk melakukan penyimpanan data tambahkan coding berikut pada event tombol simpan dengan
cara klik kanan tombol simpan – Events – Action – ActionPerformed kemudian masukan coding
berikut :
try {
Connection conn = Koneksi.getConnection();
PreparedStatement stmt = conn.prepareStatement("insert into barang(kode_barang,
nama_barang, harga, satuan, stok) values(?,?,?,?,?)");
stmt.setString(1, jTextField_kode_barang.getText());
stmt.setString(2, jTextField_nama_barang.getText());
stmt.setString(3, jTextField_harga.getText());
stmt.setString(4, jTextField_satuan.getText());
stmt.setString(5, jTextField_stok.getText());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil disimpan", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
TampilData();
} catch (SQLException e) {
System.out.println(e.getMessage());
}

Membuat Edit Data


Sebelum melakukan edit data kita perlu memilih data mana yang akan diedit, untuk itu
kita perlu menambahkan coding pada event table saat diklik agar muncul pada
textfield berikut cara memberikan event pada saat table diklik : klik kanan table –
Mouse – mouse click kemudian masukan coding berikut :

int baris = jTable_barang.getSelectedRow();


jTextField_kode_barang.setText(DftTblModel_barang.getValueAt(baris, 0).toString());
jTextField_nama_barang.setText(DftTblModel_barang.getValueAt(baris, 1).toString());
jTextField_harga.setText(DftTblModel_barang.getValueAt(baris, 2).toString());
jTextField_satuan.setText(DftTblModel_barang.getValueAt(baris, 3).toString());
jTextField_stok.setText(DftTblModel_barang.getValueAt(baris, 4).toString());
selanjutnya Untuk melakukan edit data tambahkan coding berikut pada event tombol
edit dengan cara klik kanan tombol Edit – Events – Action – ActionPerformed kemudian
masukan coding berikut :

try {
Connection conn = Koneksi.getConnection();
PreparedStatement stmt = conn.prepareStatement("update barang set nama_barang=?,
harga=?, satuan=?, stok=? where kode_barang=?");
stmt.setString(1, jTextField_nama_barang.getText());
stmt.setString(2, jTextField_harga.getText());
stmt.setString(3, jTextField_satuan.getText());
stmt.setString(4, jTextField_stok.getText());
stmt.setString(5, jTextField_kode_barang.getText());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil diubah", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
TampilData();
} catch (SQLException e) {
System.out.println(e.getMessage());
}

Membuat Hapus Data


Sama halnya seperti edit data kita perlu melakukan pemilihan data mana yang akan
dihapus, tapi karena sebelumnya kita telah menambahkan coding pilih data maka kita
tidak perlu menambahkan coding lagi, langsung saja untuk melakukan penyimpanan
data tambahkan coding berikut pada event tombol hapus dengan cara klik kanan
tombol Hapus – Events – Action – ActionPerformed kemudian masukan coding berikut :

Connection conn = Koneksi.getConnection();


int confirm = JOptionPane.showConfirmDialog(null, "Apakah anda yakin ingin
menghapus data tersebut?", "Konfirmasi", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (confirm == 0) {
try {
java.sql.PreparedStatement stmt = conn.prepareStatement("delete from barang
where kode_barang ='" + jTextField_kode_barang.getText() + "'");
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil dihapus", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
TampilData();
jTextField_kode_barang.setText("");
jTextField_nama_barang.setText("");
jTextField_harga.setText("");
jTextField_satuan.setText("");
jTextField_stok.setText("");
jTextField_kode_barang.requestFocus();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Data gagal di hapus" + e.getMessage(),
"Pesan", JOptionPane.ERROR_MESSAGE);
}
}

Anda mungkin juga menyukai