Cara Membuat Aplikasi CRUD (Create, Read, Update, Delete) Dengan Java (Netbeans) dan SQLite

Aplikasi crud atau istilah panjangnya create, read, update, dan delete adalah sebuah aplikasi yang biasanya dibuat untuk pekerjaan pengisian formulir yang digunakan untuk mendata object atau orang ataupun digunakan untuk sebuah manajemen dari perusahaan tertentu.

Aplikasi create, read, update, dan delete kali ini akan dibuat dengan java yang menggunakan software development yaitu netbeans dan database sebagai penyimpanan datanya menggunakan sqlite, sqlite adalah database manajemen yang portabel, jadi bisa di copy paste ke berbagai sistem operasi.

SQLite disini adalah menggunakan source kode sqlite langsung, bukan hanya databasenya saja tapi semua tool tool sqlite akan digunakan, jadi aplikasi yang akan dibuat menggunakan sqlite embeded.

sqliteembeded-2016-05-04
Buatlah jframe form baru dengan nama terserah anda. namun saya mengunakan nama passwordsimpan.java dengan nama project Password Simpan. Buatlah rancangan form seperti gambar dibawah ini.
passwordsimpanform-2016-05-04
Kemudian buat variabel dan letakkan dibawah public class passwordsimpan extends javax.swing.JFrame.

private DefaultTableModel model;
private Connection conn;
private Statement stat;
private PreparedStatement prep;
private ResultSet rs;

Buatlah method koneksi ke database sqlite (database akan dibuat sendiri pada syntax ini)

public void koneksiDatabase() {
        try {
            Class.forName("org.sqlite.JDBC");
            conn = DriverManager.getConnection("jdbc:sqlite:passwordsimpan"); // nama file SQLite = mahasiswa
            stat = conn.createStatement();
            // stat.executeUpdate("drop table if exists tMahasiswa;");   // Untuk menghapus database jika database sudah ada.
            stat.executeUpdate("create table IF NOT EXISTS tpassim (id integer primary key autoincrement, alamat text, pengguna text, password text);"); // membuat data base
        } catch (Exception ex1) {
            System.out.println(ex1.toString());
        }
    }

Buat tampilan data dalam tabel dengan method loaddata

public void loadData(){
        // menghapus seluruh data
        model.getDataVector().removeAllElements();
        // memberi tahu bahwa data telah kosong
        model.fireTableDataChanged();
        try {
            rs = stat.executeQuery("select * from tpassim");
        
            while(rs.next()){
                // lakukan penelusuran baris
                Object[] o = new Object[4];
                o[0] = rs.getString("id");
                o[1] = rs.getString("alamat");
                o[2] = rs.getString("pengguna");
                o[3] = rs.getString("password");
                model.addRow(o);
            }
                    rs.close();
            stat.close();           
        }catch(SQLException e){
            System.out.println("Terjadi Error load data");
        }
    }

Tempel syntax ke dalam konstruktor seperti dibawah ini (public passwordsimpan() ) dan penambahan pada konstruktor ( throws SQLException )

public passwordsimpan() throws SQLException {
        initComponents();
        koneksiDatabase();
        
        // membuat tabel
        model = new DefaultTableModel();
        
        jTable1.setModel(model);
        
        model.addColumn("ID");
        model.addColumn("Alamat");
        model.addColumn("Pengguna");
        model.addColumn("Password");
        
        // memanggil fungsi load data
        loadData();
    }

Baru akan membuat event actionproformed dengan klik kanan pada button yang telah dibuat – pilih events – pilih action – pilih actionproformed. Untuk button hapus syntaxnya seperti dibawah ini.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        int i = jTable1.getSelectedRow();
        if(i == -2){
            // tidak ada baris terseleksi
            return;
        }

        String nim = (String) model.getValueAt(i, 0);

        try {
            String sql = "DELETE FROM tpassim WHERE id = ?";

            prep = conn.prepareStatement(sql);

            prep.setString(1, nim);

            prep.executeUpdate();
            prep.close();
        }catch(SQLException e){
            System.err.println("Terjadi Error button hapus");
        }finally{
            loadData();
        }
    }

Untuk button update syntaxnya dibawah ini

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        int i = jTable1.getSelectedRow();
        if(i == -1){
            // tidak ada baris terseleksi
            return;
        }

        // ambil nim yang terseleksi
        String nim = (String) model.getValueAt(i, 0);
        String nima = jTextField1.getText();
        String nama = jTextField2.getText();
        String jurusan = jTextField3.getText();

        try{
            String sql = "UPDATE tpassim SET alamat = ?, pengguna = ?, password = ? WHERE id = ?";

            prep = conn.prepareStatement(sql);

            prep.setString(1, nima);
            prep.setString(2, nama);
            prep.setString(3, jurusan);
            prep.setString(4, nim);

            prep.executeUpdate();
            prep.close();
        }catch(SQLException e){
            System.err.println("Terjadi Error button ubah");
        }finally{
            loadData();
        }
    }

Untuk button simpan syntaxnya dibawah ini

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        String nima = jTextField1.getText();
        String nama = jTextField2.getText();
        String jurusan = jTextField3.getText();

        try{
            prep = conn.prepareStatement("insert into tpassim values (?, ?, ?, ?);");

            prep.setString (1, null);
            prep.setString (2, nima);
            prep.setString (3, nama);
            prep.setString (4, jurusan);

            prep.executeUpdate();
            prep.close();
        } catch (SQLException e) {
            System.err.println("Terjadi Error button tambah");
        } finally {
            loadData();
        }
    }

Untuk button bersih yaitu menghapus atau mereset data aktif dari form, syntaxnya dibawah ini

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        jTextField1.setText(null);
        jTextField2.setText(null);
        jTextField3.setText(null);
        jTextField1.requestFocus();
    }

Untuk menapilkan data untuk proses update dan delete dari tabel atau database adalah dengan menggunakan mouse klik pilih tabel yang dibuat kemudian klik kanan – pilih events – pilih mouse – pilih mouseClicked. syntaxnya dibawah ini

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
        int i = jTable1.getSelectedRow();
        if (i == -1){
            // tak ada baris terseleksi
            return;
        }

        String nim = (String) model.getValueAt(i, 1);
        jTextField1.setText(nim);

        String nama = (String) model.getValueAt(i, 2);
        jTextField2.setText(nama);

        String jurusan = (String) model.getValueAt(i, 3);
        jTextField3.setText(jurusan);
    }

Hasilnya adalah seperti yang terlihat dibawah ini.

apppassim-2016-05-04

Download Source Code