Membuat Aplikasi CRUD dengan Java dan MySQL Berbasis GUI Menggunakan Netbeans 2
Membuat Aplikasi CRUD dengan Java dan MySQL Berbasis GUI Menggunakan Netbeans 2 - Sebelumnya telah dijabarkan
mengenai tutorial untuk membuat database, project pada java, mengkoneksikan
database, hingga membuat desain interface aplikasi CRUD (Create, Read, Update,
Delete) sederhana berbasis java menggunakan netbeans. Bagi anda yang belum
mengikuti dari awal silahkan untuk membaca mulai dari step pertama terlebih
dahulu pada postingan tentang Membuat Aplikasi CRUD dengan Java dan MySQL Berbasis GUI Menggunakan Netbeans 1.
Baiklah setelah selesai membuat database hingga form pada postingan sebelumnya, langkah berikutnya adalah menambahkan aksi-aksi database seperti load data, menambahkan data, mengubah dan menghapus data.
Baiklah setelah selesai membuat database hingga form pada postingan sebelumnya, langkah berikutnya adalah menambahkan aksi-aksi database seperti load data, menambahkan data, mengubah dan menghapus data.
Menambahkan Aksi Load Data
Load data merupakan aksi pertama yang dibutuhkan aplikasi,
karena pertama kali yang harus dilakukan ketika aplikasi berjalan adalah
mengambil seluruh data yang terdapat pada tabel mahasiswa. Hal tersebut
dilakukan agar form aplikasi dapat menampilkan data ke dalam tabel yang ada
pada form.
Langkah awal untuk membuat aksi load adalah dengan membuat
sebuah metode. Silahkan beri nama sesuai dengan keinginan, dalam hal ini, saya
beri nama “loadData()”. Metode ini dibuat dalam kelas form dan dalam metode
tersebut berisi proses load dari database.
Hal yang perlu diperhatikan sebelum melakukan load data
adalah menghapus atau membersihkan seluruh isi baris yang ada pada tabel yang
terdapat pada form. Ini penting karena saat akan melakukan load ulang data,
tabel masih merekam tampilan sebelumnya sehingga perlu dikosongkan terlebih
dahulu. Berikut source code yang dapat digunakan untuk menghapus isi tabel.
public void loadData() { // menghapus seluruh data model.getDataVector().removeAllElements(); // memberi tahu bahwa data telah kosong model.fireTableDataChanged(); }
Setelah tabel telah dikosongkan barulah dapat dilakukan load
data. Proses load akan mengambil data dari database dimana pada proses ini
membutuhkan connection yang terdapat dalam kelas KoneksiDatabase yang telah
dibuat sebelumnya. Kemudian membuat Statement dan ResultSet seperti pada source
code berikut.
public void loadData() { // menghapus seluruh data model.getDataVector().removeAllElements(); // memberi tahu bahwa data telah kosong model.fireTableDataChanged(); try{ Connection c = KoneksiDatabase.getKoneksi Statement s = c.createStatement(); String sql = "SELECT * FROM MAHASISWA"; ResultSet r = s.executeQuery(sql); while (r.next()) { // lakukan penelusuran baris } r.close(); s.close(); } catch(SQLException e) { System.out.println("Terjadi Kesalahan"); } }
Ketika melakukan proses
penelusuran data menggunakan ResultSet, maka data dapat ditambahkan ke dalam
tabel yang terdapat pada form. Agar dapat menambahkan sebuah baris kedalam
tabel, kita harus menambahkannya ke DefaultTableModel dengan metode
addRow(Object[]). Berikut source code untuk menerapkan fungsi tersebut.
while(r.next()) { // lakukan penelusuran baris Object[] o = New Object[5]; o[0] = r.getString("NIM"); o[0] = r.getString("NAMA"); o[0] = r.getString("TANGGAL LAHIR"); o[0] = r.getString("JURUSAN"); o[0] = r.getString("ALAMAT"); model.addRow(o);
Silahkan cek kembali, nantinya
seluruh source code yang terdapat pada metode loadData() akan seperti pada kode
dibawah ini.
public void loadData() { // menghapus seluruh data model.getDataVector().removeAllElements(); // memberi tahu bahwa data telah kosong model.fireTableDataChanged(); try{ Connection c = KoneksiDatabase.getKoneksi Statement s = c.createStatement(); String sql = "SELECT * FROM MAHASISWA"; ResultSet r = s.executeQuery(sql); while (r.next()) { // lakukan penelusuran baris Object[] o = New Object[5]; o[0] = r.getString("NIM"); o[0] = r.getString("NAMA"); o[0] = r.getString("TANGGAL LAHIR"); o[0] = r.getString("JURUSAN"); o[0] = r.getString("ALAMAT"); model.addRow(o); } r.close(); s.close(); } catch(SQLException e) { System.out.println("Terjadi Kesalahan"); } }
Terakhir kita panggil metode
loadData() dalam konstruktor Form. Fungsinya adalah agar metode loadData()
dapat dipanggil ketika aplikasi dijalankan.
Menambahkan Aksi Tombol Tambah
Selanjutnya adalah menambahkan
aksi tombol tambah, dimana aksi tombol itu akan berjalan ketika tombol tambah
di klik. Langkah awal yang perlu dilakukan adalah masuk ke bagian desain, setelah
itu klik kanan pada tombol tambah. Kemudian pilih menu Events >> Action
>> action Performed. Nantinya netbeans IDE akan membuatkan metode baru
untuk aksi tombol tambah secara otomatis.
Fungsi untuk melakukan penambahan data ke dalam database akan di tanamkan dalam metode tersebut. Untuk menambahkan data ke dalam tabel Mahasiswa, otomatis kita membutuhkan data input dari user. Untuk mendapatkan data tulisan dari Text Field dan Text Area, maka kita dapat menggunakan metode getText(). Sedangkan untuk mendapatkan tanggal dari Formatted Field dapat menggunakan metode getValue(). Perlu diketahui bahwa metode getValue() menghasilkan object, sedangkan format data dalam aplikasi adalah dalam bentuk tanggal. Oleh karena itu, perlu dilakukan konversi dari object ke tanggal. Berikut source code untuk mengkonversi data dari object ke tanggal.
String nim = inputNim.getText(); String nama = inputNama.getText(); java.util.Date tanggalLahir = (java.util.Date) inputTanggalLahir.getValue(); String jurusan = inputJurusan.getText(); String alamat = inputAlamat.getText();
Setelah data dapat diambil dari
input, langkah selanjutnya adalah menyimpannya ke dalam database MySQL. Caranya
adalah dengan membuat connection dari kelas koneksiDatabase. Kemudian membuat
PrepareStatement untuk menyimpan datanya. Berikut source code yang digunakan.
String nim = inputNim.getText(); String nama = inputNama.getText(); java.util.Date tanggalLahir = (java.util.Date) inputTanggalLahir.getValue(); String jurusan = inputJurusan.getText(); String alamat = inputAlamat.getText(); try{ Connection c = KoneksiDatabase.getKoneksi(); String sql = "INSERT INTO MAHASISWA VALUES (?, ?, ?, ?, ?)"; PreparedStatement p = c.preparedStatement(sql); p.setString(1, nim); p.setString(2, nama); p.setDate(3, new java.sql.Date(tanggalLahir.getTime())); p.setString(4, jurusan); p.setString(5, alamat); p.excecuteUpdate(); p.close(); } catch(SQLException e) { System.out.println("Terjadi Kesalahan"); } finally { loadData(); }
Pada blok finally kita perlu
memanggil metode loadData(), hal ini bertujuan agar setelah proses penyimpanan
data ke database, data dapat dimuat ulang ke tabel yang terdapat dalam form.
Menambahkan Aksi Tombol Ubah
Secara fungsi, tombol ubah
memiliki fungsi yang sama dengan tombol edit dan update. Untuk menambahkan aksi
tombol tersebut, ada sedikit perbedaan jika dibandingkan dengan aksi tombol
tambah. Perbedaannya pada saat pertama aplikasi harus dapat mendeteksi baris
yang sedang di klik oleh user, setelah itu barulah dapat dilakukan pengubahan
data yang di klik dengan data baru yang ada dalam form input.
Menambahkan aksi tombol ubah dapat
dilakukan dengan cara yang hampir sama dengan tombol ubah, yaitu dengan klik
kanan tombol ubah, lalu pilih Events >> Action >> actionPerformed.
Selanjutnya kita harus mendapatkan baris yang terseleksi pada tabel, sedangkan jika tidak ada baris yang terseleksi maka proses perubahan data akan dibatalkan. Untuk mendapatkan baris yang terseleksi dapat menggunakan metode getSelectedRow() milik table, apabila returnnya -1 artinya tidak ada baris yang terseleksi. Lebih jelasnya lihat pada source code berikut.
int i = tabelMahasiswa.getSelectedRow(); if(i == -1) { // tidak ada baris terseleksi return; } // ambil nim yang terseleksi String nim = (String) model.getValueAt(i, 0); String nama = inputNama.getText(); java.util.Date tanggalLahir = (java.util.Date) inputTanggalLahir.getValue(); String jurusan = inputJurusan.getText(); String alamat = inputAlamat.getText();
Kemudian setelah mengambil data
NIM yang terseleksi dan data pelengkap lainnya dari form input, barulah dapat
dilakukan proses pengubahan data yang terdapat dalam database berdasarkan NIM
yang telah terseleksi tadi. Berikut source code selengkapnya.
int i = tabelMahasiswa.getSelectedRow(); if(i == -1) { // tidak ada baris terseleksi return; } // ambil nim yang terseleksi String nim = (String model.getValueAt(i, 0); String nama = inputNama.getText(); java.util.Date tanggalLahir = (java.util.Date) inputTanggalLahir.getValue(); String jurusan = inputJurusan.getText(); String alamat = inputAlamat.getText(); try{ Connection c = KoneksiDatabase.getKoneksi(); String sql = "UPDATE MAHASISWA SET NAMA = ?, TANGGAL_LAHIR = ?, JURUSAN = ?, ALAMAT = ? WHERE NIM = ?"; PreparedStatement p = c.prepareStatement(sql); p.setString(1, nama); p.setDate(2, new java.sql.Date(tanggalLahir.getTime())); p.setString(3, jurusan); p.setString(4, alamat); p.setString(5, nim); p.executeUpdate(); p.close(); } catch(SQLException e) { System.out.println("Terjadi Kesalahan"); } finally { loadData(); }
Menambahkan Aksi Tombol Hapus
Untuk menambahkan aksi tombol
hapus tidak perlu menggunakan input Form, yang diperlukan hanyalah baris yang
terseleksi. Proses penghapusan data tidak akan dapat dilakukan apabila tidak
ada baris yang terseleksi. Menambahkan aksi tombol hapus dapat dilakukan dengan
cara yang sama seperti menambahkan aksi tombol tambah dan ubah. Caranya adalah
dengan klik kanan tombol hapus, lalu pilih menu Events >> Action >>
actionPeformed.
Selanjutnya kita cek terlebih dahulu apakah ada baris terseleksi atau tidak. Jika ada ambil NIM yang terseleksi, jika tidak ada maka proses penghapusan akan dibatalkan. Berikut source code yang dapat digunakan.
int i = tabelMahasiswa.getSelectedRow(); if(i == -1) { // tidak ada baris terseleksi return; } // ambil nim yang terseleksi String nim = (String) model.getValueAt(i, 0);
Kemudian barulah dapat dilakukan
proses penghapusan data dari database berdasarkan data baris yang telah
terseleksi tadi. Berikut source code untuk menjalankan fungsi tersebut.
int i = tabelMahasiswa.getSelectedRow(); if(i == -1) { // tidak ada baris terseleksi return; } // ambil nim yang terseleksi String nim = (String) model.getValueAt(i, 0); try{ Connection c = KoneksiDatabase.getKoneksi(); String sql = "DELETE FROM MAHASISWA WHERE NIM = ?"; PreparedStatement p = c.prepareStatement(sql); p.setString(1, nim); p.executeUpdate(); p.close(); } catch(SQLException e) { System.err.println("Terjadi Kesalahan"); } finally { loadData(); }
Menambahkan Aksi Baris Terseleksi
Aksi ketika baris tabel terseleksi
merupakan aksi terakhir yang perlu ditambahkan. Maksudnya adalah ketika baris
pertama terseleksi maka aplikasi akan menampilkan data tersebut pada form. Hal
ini bertujuan agar proses pengubahan data dapat dilakukan dengan lebih mudah oleh
pengguna, karena kita tidak perlu lagi memasukkan seluruh data ke dalam form.
Menambahkan aksi baris terseleksi
dapat dilakukan dengan menggunakan aksi Mouse Click, yaitu aksi yang akan
dijalankan apabila pengguna mengklik mouse. Caranya adalah dengan klik kanan
komponen table pada form, lalu pilih menu Events >> Mouse >>
mouseClicked.
Setelah itu kita harus melakukan pengecekan apakah ada baris yang terseleksi. Apabila ada maka ambil data yang terseleksi dari DefaultTableModel untuk ditampilkan pada form. Namun jika tidak ada baris yang terseleksi, maka proses akan dibatalkan. Berikut ini merupakan source code untuk menjalankan fungsi tersebut.
int i = tabelMahasiswa.getSelectedRow(); if(i == -1) { // tidak ada baris terseleksi return; } String nim = (String) model.getValueAt(i, 0); inputNim.setText(nim); String nama = (String) model.getValueAt(i, 1); inputNama.setText(nama); java.util.Date tanggalLahir = (java.util.Date) model.getValueAt(i, 2); inputTanggalLahir.setValue(tanggalLahir); String jurusan = (String) model.getValueAt(i, 3); inputJurusan.setText(jurusan); String alamat = (String) model.getValueAt(i, 4); inputAlamat.setText(alamat);
Menjalankan Aplikasi
Proses pembuatan aplikasi telah
selesai. Kini saatnya mencoba menjalankan aplikasi. Langkah pertama yang harus
dilakukan adalah menentukan terlebih dahulu kelas yang akan digunakan sebagai
aplikasi, dimana pada project yang telah kita buat, kelas aplikasi adalah kelas
form.
Selanjutnya untuk megubah kelas
aplikasi menjadi kelas form, caranya adalah dengan klik kanan pada project lalu
pillih properties, kemudian akan menampilkan kotak dialog project properties.
Pada kotak dialog tersebut, di bagian categories pilih menu run untuk mengubah kelas yang akan dijalankan sebagai kelas aplikasi.
Pada input main class klik tombol browse untuk menampilkan daftar kelas yang dapat dijadikan sebagai kelas utama aplikasi. Nantinya akan tampil kotak dialog browse main class.
Kemudian silahkan pilih kelas form yang telah dibuat tadi. Setelah itu klik tombol select main class dan klik OK untuk mengkonfirmasi perubahan. Nah, sekarang kelas form akan menjadi kelas utama (main class) yang akan dijalankan ketika aplikasi dijalankan.
Menjalankan aplikasi dapat dilakukan
dengan cara klik kanan pada project yang telah kita buat, lalu pilih menu Run.
Nantinya aplikasi akan dijalankan secara otomatis oleh netbeans IDE.
Baiklah.. sekian tutorial membuat
aplikasi CRUD (Create, Read, Update, Delete) sederhana berbasis java
menggunakan tools netbeans IDE. Semoga bermanfaat. Salam 😊
Buset tuh ngasal aja yak banyak yg kurang dah gt scrip Button ga lu tulis malah method di taro buat Button wkwkw salah kaprah lu ngoding
BalasHapusTerimakasih koreksinya. Btw terkait method yang ditaruh untuk button, itu auto compose ketika menambahkan button melalui GUI builder
Hapusgmina nih
BalasHapus