Anda di halaman 1dari 7

Belajar Java : CRUD Operations MySQL

Database + Source Code


Tutorial Belajar bahasa pemrogramman Java NetBeans IDE : CRUD
(Create,Read,Update,Delete) examples, cara membuat CRUD sederhana dengan java JFrame
Form java koneksi JDBC mySQL + Source Code

Bahasa pemrograman Java memang sangat populer baik dikalangan pembuat aplikasi
berbasis desktop maupun aplikasi mobile khususnya android. Java memiliki keunggulan
utama yaitu sekali menuliskan code program bisa dijalankan dimana saja. Tutorial java kali
ini akan membahas tentang bagaimana cara membuat aplikasi desktop CRUD (Create,
Read,Update,Delete) sederhana menggunakan database MySQL, dan pada pelajaran java
sebelumnya sudah kami jelaskan bagaimana cara mudah membuat sebuah koneksi dari java
JDBC ke MySQL.

Aplikasi CRUD sederhana ini memiliki logika yang sangat sederhana, yaitu pertama saat
aplikasi dijalankan, maka aplikasi CRUD akan meload semua data sebuah column dan
menampilkannya di tabel, serta mengisi text box dengan data data yang sama pada table
yang sudah siap untuk diedit. Selanjutnya jika melakukan pengeditan berarti memerintahkan
aplikasi untuk mengupdate data ke database, sedangkan jika melakukan penambahan data
maka aplikasi akan menambah data tersebut dengan perintah Insert ke database mysql. Dan
terakhir melakukan perintah delete, baris yang dipilih pada tabel akan dihapus secara
permanent. Setelah menambah dan mengedit atau menghapus data, maka tabel akan kembali
di update.

Langusng saja kita membuat aplikasi sederhana membuat crud java, kamu juga tentu bisa
mendownload source code contoh aplikasi crud ini, serta video tutorial ini sudah kami
publish di youtube https://www.youtube.com/watch?v=dmo7rZXcFG0 untuk memudahkan
dalam belajar java menggunakan bahasa indonesia. Apa yang harus dipersiapkan ?

Sebelum membuat project baru menggunakan NetBenas IDE maupun IDE Eclipse dan yang
lainnya, kamu harus sudah menyiapkan sebuah database yang akan dipergunakan untuk
aplikasi kita nantinya.

Membuat Database Baru di MySQL

Buatlah database baru dan beri nama crudjava.sql atau kamu bisa menyesuaikan sesuai
kebutuhan kamu. Atau kamu juga bisa mendownload contoh database yang sudah kami
siapkan khusus dalam pembuatan aplikasi sederhana ini dibagian terakhir postingan. Berikut
code pembuatan databasenya :
-- phpMyAdmin SQL Dump
-- version 4.4.14
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: May 01, 2016 at 08:14 PM
-- Server version: 5.6.26
-- PHP Version: 5.5.28

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";


SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;


/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `delta_db`
--

-- --------------------------------------------------------

--
-- Table structure for table `karyawan`
--

CREATE TABLE IF NOT EXISTS `karyawan` (


`id_karyawan` int(11) NOT NULL,
`nama_karyawan` varchar(50) DEFAULT NULL,
`nik` varchar(20) DEFAULT NULL,
`jabatan` varchar(20) DEFAULT NULL,
`no_telphone` varchar(20) DEFAULT NULL,
`alamat` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `karyawan`
--

INSERT INTO `karyawan` (`id_karyawan`, `nama_karyawan`, `nik`, `jabatan`,


`no_telphone`, `alamat`) VALUES
(1, 'Harison', '123456789', 'Wakil Direktur', '0821 23456787', 'Jln. Mayor
Ruslan III'),
(2, 'Budi Setiadi', '121313', 'Direktur', '32489234', 'Tanjung Tebat'),
(3, 'Agus dermawan', '13212', 'Bendahara', '12347819', 'Lahat'),
(4, 'Yudha Novi Susanto', '613287', 'Pegawai', '8734972', 'Lahat'),
(6, 'Agung', '15262', 'Pelayan', '14215217', 'lahat sumsel'),
(7, 'Rahman Mtd', '213123', 'Pegawai', '34234234', 'lahat'),
(8, 'adsjha', '6138768172', 'asdhakj', '217836781236', 'jkasdhkasd'),
(9, 'asda dad', 'a1231', 'asdasd', '231312', 'asedad'),
(10, 'asd asd dasda', '2341312', 'adsasda', '141234123', 'asdasdasd'),
(11, 'dsadasd', 'asd', 'asd', 'ads', 'ads'),
(111, 'wa', 'asd', 'sad', 'sd', 'sdadsa');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `karyawan`
--
ALTER TABLE `karyawan`
ADD PRIMARY KEY (`id_karyawan`);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;


/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Membuat Project Baru NetBeans IDE


Buatlah project baru pada NetBeans IDE kamu, klik File > New Project > pilih Java >
java Applications > dan Next, beri nama project baru sesuai kebutuhan dan > Finish.
Selanjutnya kita akan membuat tampilan utama dimana kita akan membuat form baru pada
project yang barusan kamu buat, caranya klik kanan pada Java Sources Package > New >
pilih Jframe Form untuk membuat form baru dan beri nama FrmUtama.java atau kamu bisa
sesuaikan dengan keinginan. Dan design tampilan formUtama.Java seperti gambar berikut :

Gambar diatas hanyalah sebagai contoh sederhana yang bisa kamu ganti dan sesuaikan untuk
kebutuhan masing masing.

Sebelum kita membuat Class koneksi, kita akan menginput library java MySQL JDBC
Driver untuk membuat koneksi dari aplikasi ke database MySQL, kamu bisa mendapatkan
link download nya pada akhir postingan ini, silahkan download dan ekstrak file JDBC driver
tersebut. Selanjutnya input library java dengan Cara nya klik kanan pada Libraries > Add
JAR/Folders dan OK.

Membuat Class Connections Java


Klik kanan pada Java Source Package project kamu > New > pilih Java Class dan
berinama koneksi.java, bisa juga kamu sesuaikan tergantung kebutuhan. Tuliskan seluruh
code untuk membuat koneksi java menggunakan class koneksi JDBC Driver MySQL
database berikut :
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package delta;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class koneksi { // koneksi ke database


private static Connection mysqlkonek;
public static Connection koneksiDB() throws SQLException {
if(mysqlkonek==null){
try {
String DB="jdbc:mysql://localhost:3306/delta_db"; //
nama database
String user="root"; // user
String pass=""; // password

DriverManager.registerDriver(new
com.mysql.jdbc.Driver());
mysqlkonek = (Connection)
DriverManager.getConnection(DB,user,pass);

} catch (Exception e) {
JOptionPane.showMessageDialog(null,"gagal koneksi");
}
}
return mysqlkonek;
}
}

Fungsi function java diatas adalah untuk membuat sebuah koneksi ke database mysql
sehingga aplikasi bisa melakukan perintah CRUD tentunya, selanjutnya kembali ke
formUtama.java dan ikuti step by stepnya.

Import library yang dibutuhkan

import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;

Deklarasikan Data Baru

Deklarasikan variable databaru di bawah Class Frm Utama :


public boolean databaru;

Source Code Button New

Untuk membuat data baru tuliskan code java berikut :


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
databaru=true; // mengosongkan textboxt
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
}

Buat Functions untuk Memanggil Data Dari Database

Tuliskan seluruh code berikut :


private void GetData(){ // menampilkan data dari database
try {
Connection conn =(Connection)delta.koneksi.koneksiDB();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery("select * from
karyawan");
jTable1.setModel(DbUtils.resultSetToTableModel(sql));
}
catch (SQLException | HeadlessException e) {
}
}

Source Code Button Save Java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if (databaru == true) { // prosess simpan atau edit
try {
String sql = "insert into karyawan
values('"+jTextField1.getText()+"','"+jTextField2.getText()
+"','"+jTextField3.getText()+"','"+jTextField4.getText()
+"','"+jTextField5.getText()+"','"+jTextField6.getText()+"')";
java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.PreparedStatement pst =
conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "berhasil
disimpan");
} catch (SQLException | HeadlessException e) {
JOptionPane.showMessageDialog(null, e);
}
} else {
try {
String sql = "update karyawan SET
nama_karyawan='"+jTextField2.getText()+"',nik='"+jTextField3.getText()
+"',jabatan='"+jTextField4.getText()
+"',no_telphone='"+jTextField5.getText()+"',alamat='"+jTextField6.getText()
+"' where id_karyawan='"+jTextField1.getText()+"'";
java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.PreparedStatement pst =
conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "berhasil disimpan");
} catch (SQLException | HeadlessException e) {
JOptionPane.showMessageDialog(null, e);
}
}
GetData();
}

Source Code Delete Java

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
try { // hapus data
String sql ="delete from karyawan where
id_karyawan='"+jTextField1.getText()+"'";
java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.PreparedStatement pst = conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "Data akan dihapus?");
databaru=true;
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
} catch (SQLException | HeadlessException e) {
}
GetData();
}

Source Code Exit

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
System.exit(0); // keluar
}

Source Code Event Klick JTable


untuk mengisi Text Box pada java, kita perlu membuat actions yang ada di jTable, caranya
klik kanan pada jTable > dan Events > Mouse > Mouse Clicked, tuliskan code berikut :
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
databaru = false; // menampilkan data ke textboxt
try {
int row =jTable1.getSelectedRow();
String tabel_klik=(jTable1.getModel().getValueAt(row,
0).toString());
java.sql.Connection conn
=(java.sql.Connection)delta.koneksi.koneksiDB();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery("select * from
karyawan where id_karyawan='"+tabel_klik+"'");
if(sql.next()){
String id = sql.getString("id_karyawan");
jTextField1.setText(id);
String nama = sql.getString("nama_karyawan");
jTextField2.setText(nama);
String nik = sql.getString("nik");
jTextField3.setText(nik);
String jabatan = sql.getString("jabatan");
jTextField4.setText(jabatan);
String no_telp = sql.getString("no_telphone");
jTextField5.setText(no_telp);
String alamat = sql.getString("alamat");
jTextField6.setText(alamat);
}
} catch (Exception e) {
}
}

Silahkan jalankan aplikasi sederhana CRUD example yang sudah kamu buat, jika masih
terjadi kesalahan atau error, kamu boleh bertanya pada kotak komentar dibawah ini, atau bisa
juga langsung tonton video tutorial nya di https://www.youtube.com/watch?
v=dmo7rZXcFG0.

Berikut daftar file yang bisa kamu download sebagai bahan pelajaran yang sudah kami
siapkan sebelumnya :

1. JDBC MySQL Driver dan Rs2XML.Jar


https://www.dropbox.com/s/xuracalv1h4bwhs/fil-mysql-connector-java-5.1.2.jar.zip?
dl=0

2. Download Source Code Aplikasi CRUD Java Sederhana Lengkap


https://www.dropbox.com/s/cnyihtqhnstaie9/CrudDelta.zip?dl=0

3. Download Contoh Database MySQL untuk Aplikasi CRUD Java


https://www.dropbox.com/s/rvvu4mzu2xjcs8o/delta_db.sql?dl=0

Jangan lupa share, subscribe dan comment jika bermanfaat, belajar java bahasa indonesia
sampai ngehh