Skip to main content

Belajar CRUD Java 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 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

buatlah database menggunakan mysql 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 :
koneksi berhasil

Membuat Design Form

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

form data barang
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 fungsi tampil data seperti berikut :
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());
        }
    }

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);
            }
        }



Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar
-->