Belajar CRUD Java Desktop Netbeans
artikel ini membahas cara CRUD Java Desktop Netbeans
Artikel yang akan saling berkaitan pada project ini :
- CRUD Java Desktop
- Pencarian Data Menggunakan Java Desktop
- Mencetak Laporan dengan Java Desktop
- Membuat Login dengan Java Desktop
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 :
Selanjutnya pilih Next kemudian berikan nama projectnya pos kemudian buang checkbox Create Main Class karena kita tidak menggunakan nya. setelah itu klik Finish
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 :
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 :
Selanjutnya tambahkan deklarasi variabel dan fungsi Tampil_data seperti berikut :
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
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 :
- Membuat Database
- Membuat Project
- Membuat Koneksi Database
- Membuat Design Windows Form
- Membuat Proses Tampil Data (Read)
- Membuat Proses Simpan Data (Create)
- Membuat Proses Ubah Data (Update)
- Membuat Proses Hapus Data (Delete)
Membuat Database
Pemilihan Database atau RDBMS (Relationship Database Management System)
sangatlah penting karena akan berpengaruh terhadap efektifitas dan
kecepatan dala menjalankan setiap perintah. Banyak database yang dapat
kita gunakan seperti Microsoft Access, MySQL,MariaDB, Postgres SQL, SQL
Server, Oracle Database.
DBMS diatas teridiri dari yang berbayar dan juga gratis,salah satu yang
berbayar misalnya Oracle Database, merupakan DBMS yang sangat powerfull
tetapi juga mahal serta DBMS Oracle Database ini lebih cocok untuk
aplikasi yang sangat besar seperti aplikasi e-commerce yang traffic nya
sehari bisa mencapai ribuan. Dalam hal ini Oracle Database mempunyai
kemampuan untuk menangani hal tersebut.
Selain Oracle database yang berbayar ada juga DBMS yang gratis yaitu
MariaDB mempunyai kemampuan seperti MySQL dan perintah2 nya juga sangat
mirip, cocok untuk aplikasi besar maupun aplikasi kecil.
Perlu diketahui bahwa RDBMS MySQL saat ini tidak open source lagi /
tidak gratis pemilik RDBMS tersebut semenjak 2010 sampai saat ini adalah
Oracle Corporation yang merupakan pemilik yang sama dari DBMS Oracle
Database. Sehingga sebenarnya DBMS yang include dari XAMPP adalah MariaDB
bukan lagi MySQL. Namun perintah perintah nya sama persis karena
pengembang baik MySQL ataupun MariaDB orang nya masih sama.
Pada proje 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
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 :
- jTextField_kode_barang
- jTextField_nama_barang
- jTextField_harga
- jTextField_satuan
- jTextField_stok
- jTable_barang
- jButton_baru
- jButton_simpan
- jButton_edit
- 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
Selanjutnya panggl fungsi yang telah dibuat di Konstruktor seperti berikut
:
Sebelum dilakukan pengetesan tambahkan beberapa baris record kedalam tabel barang, agar ketika dijalankan jika berhasil maka data akan tampil. hasil setelah dijalankan seperti berikut :
untuk melakukan pencarian data silahkan buka artikel berikut : Pencarian data Java Desktop
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);
}
}
untuk melakukan pencarian data silahkan buka artikel berikut : Pencarian data Java Desktop
Baca juga :
- 15 Soal dan Jawaban PAS Informatika SMA Kelas X Semester 1 Kurikulum Merdeka - Contoh Aplikasi
- 29 Latihan Soal dan Jawaban Ekonomi Kelas X K13 Terbaru - Contoh Aplikasi
- 30 Latihan Soal dan Jawaban PAS Ganjil Seni Budaya Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Fisika Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Ganjil Matematika Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Kimia Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Matematika Wajib SMA Kelas X K13 Terbaru - Contoh Aplikasi
- 40 Latihan Soal dan Jawaban Bahasa Indonesia Kelas X K13 Terbaru - Contoh Aplikasi
- 40 Latihan Soal dan Jawaban Geografi Kelas X K13 Terbaru - Contoh Aplikasi
5 تعليقات
https://jatimtimes.com
https://malangtimes.com
https://jatimtimes.com/baca/238215/20210324/121100/polisi-tangkap-terduga-pembunuh-wanita-yang-ditemukan-setengah-telanjang-di-pakisaji
java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/pos
Exception in thread "main" java.lang.NullPointerException
at konfigurasi.koneksi.main(koneksi.java:36)
C:\Users\Administrator\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
tampil data dimana ya terimakasih