BELAJAR ILMU DUNIA DAN AKHIRAT

PENGENALAN BAHASA JAVA

ASSALAMUALAIKUM WR.WB Pengertian Java Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon gengg...

Senin, 19 Desember 2016

Membuat Aplikasi CRUD Java Swing

ASSALAMUALAIKUM WR.WB


Tutorial Java Khusus Pemula - Bagaimana cara membuat aplikasi CRUD (create, read, update, delete) sederhana menggunakan aplikasi NetBeans IDE dan koneksi database MySQL JDBC driver? dalam tutorial ini penulis akan mencoba menjelaskan tentang pembuatan aplikasi CRUD java seperti pertanyaan diatas, penjelasan sederhana mengenai aplikasi yang akan dibuat adalah dimana aplikasi nantinya akan melakukan koneksi ke database MySQL menggunakan koneksi ODBC driver dan mengeksekusi query yang diperintahkan oleh user untuk menampilkan data dengan perintah Select, mengupdate dengan perintah SQL update, menambah data dengan perintah Insert dan untuk menghapus data dengan perintah Delete.


1. Membuat database "delta_db" MySQL

Buatlah sebuah database dengan nama delta_db, dan jalankan perintah sql berikut untuk membuat tabel dalam database delta_db.
CREATE TABLE `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,
  PRIMARY KEY (`id_karyawan`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

2. Membuat Project baru Java NetBeans

Buka aplikasi NetBeans dan buat project baru New Project > Java > Java Application > Next > dan buat nama project "AplikasiCrud" > finish . untuk nama project bisa diganti sesuai kebutuhan.

Setelah project dibuat, secara default akan otomatis membuat Main Class dari project dengan nama sesuai nama project java kita, silahkan hapus terlebih dahulu (AplikasiCrud.java). kita akan membuat Form baru dengan JFrame dimana berfungsi untuk menampilkan seluruh data dan interface antara user dan database.


3. Membuat Form Baru Jframe (FrmUtama.Java)

Buatlah Form baru dengan cara klik kanan pada source package AplikasiCrud > New > Jframe > tuliskan nama form baru dengan nama "FrmUtama.java" dan > Finish. serta desainlah tampilan FrmUtama.java seperti gambar berikut :









Setelah semuanya beres, tinggalkan sejenak FormUtama.Java ini, karena kita harus membuat Class Koneksi yang akan membuat koneksi dari aplikasi ke Database MySQL nantinya.

4. Mambuat Class Koneksi Database MySQL.

Tutorial membuat koneksi ke database mysql sudah pernah kami bahas sebelumnya, baca Cara mudah membuat koneksi java database mysql dengan JDBC driver. atau langsung saja ikuti langkah berikut, Buatlah class baru dengan nama "koneksi.java". Sebelum memulai menuliskan code untuk koneksi java silahkan tambahkan library JDBCdriver ke dalam project dengan cara Klik kanan pada Libraries > ADD Jar / Folder dan pilih file MySQL JDBC Driver yang bisa kamu download di link dibawah artikel ini (MySQL JDBC Driver.jar dan Rs 2 xml.jar ).

Jika semua beres, langsung saja tuliskan code java untuk class koneksi.java berikut ini :


package delta; // nama package seusuai dengan nama project

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"; // delta_db database
            String user="root"; // user database
            String pass=""; // password database
            DriverManager.registerDriver(new com.mysql.jdbc.Driver());
            mysqlkonek = (Connection) DriverManager.getConnection(DB,user,pass);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"gagal koneksi");
        }
    }
    return mysqlkonek;
    }
}
Jangan lupa untuk mengedit nama database, user dan kebutuhan lainnya.

5. Source Code Tombol New

Sebelum menuliskan code pada sub yang lain, silahkan import namespace yang dibutuhkan,
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
dan deklarasikan variable "databaru" dibawah class FrmUtama.java


public boolean databaru;
Selanjutnya langsung saja tuliskan code berikut pada tombol new
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        databaru=true;
        // mengosongkan textbox
        jTextField1.setText("");
        jTextField2.setText("");
        jTextField3.setText("");
        jTextField4.setText("");
        jTextField5.setText("");
        jTextField6.setText("");
    }
Berfungsi untuk mengosongkan seluruh TextField dan mendeklarasikan databaru menjadi true.

6. Function GetData (menampilkan data ke JTable)
    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) {
        }
    }


7. Souce Code Tombol Save
    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();  
    }
8. Source Code Tombol Delete
    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();
    }


9. Source Code Form Load Form Utama
    public FrmUtama() {
        initComponents();
        GetData(); // tampilkan ke grid
        databaru=true;      
    }
10. Source Code Event JTable
    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) {
        }
    }
11. Source Code Tombol Exit
    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        System.exit(0); // keluar
    }
Aplikasi diatas merupakan aplikasi CRUD yang paling sederhana dan mudah untuk di pelajari, jika ada diantara sobat yang masih bingung dengan penjelasan diatas, silah kan tanya di kolom komentar.





WASSALAMULALAIKUM WR.WB


Tidak ada komentar:

Posting Komentar