Sunday, May 1, 2016

Belajar Java : CRUD Operations MySQL Database + Source Code

CRUD Operations MySQL Database

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 :

Membuat crud java database mysql
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 di www.ngehh.id.

No comments:

Post a Comment