MATERI PEMROGRAMAN GUI JAVA
CREATE-READ-UPDATE-DELETE (CRUD) DATABASE MYSQL
Tool yang akan digunakan:
1. Tool yang akan digunakan untuk membuat basisdata : a) Web Server Apache(Boleh yang lainnya)
b) MySQL/MariaDB Server
c) PhpMyAdmin
2. Tool yang digunakan dalam pemrograman: a) JDK (Java Development Kit)
b) Library MySQL JDBC Driver
c) IDE Netbeans (disini menggunakan versi 8.2)
Langkah-Langkah CRUD Basisdata MySQL : 1. Membuat basisdata
Jalankan webserver apache dan mysql server (bisa menggunakan XAMPP Control Panel). Selanjutnya buka web browser (Google Chrome, Mozilla Firefox, Safari, Opera, Vivaldi, dsb) lalu ketikkan alamat domain (URL) localhost/phpmyadmin. Link itu di gunakan untuk membuka aplikasi phpmyadmin yang digunakan sebagai aplikasi manajemen database mysql. Tampilannya sebagai berikut:
Membuat basisdata, klik menu basisdata --> tampil form new basisdata --> tuliskan nama basisdata dbakademik,sebagai berikut:
Melihat user dari basisdata MySQL dapat dilakukan melalui menu Privilages, seperti berikut:
Untuk pengembangan, bisa dibuatkan beberapa tabel lagi, namun dalam tutorial ini hanya satu tabel, karena ini masih CRUD sederhana.
2. Membuat Graphical User Interface (GUI) Dengan Java Swing Silahkan buka IDE Netbeans 8.2 buat project baru :
a) Klik menu File --> New Project --> Buat Nama Project CRUD --> Seperti Gambar Berikut
c) Buat Package dengan nama com.stmik.royal dengan cara klik kanan project CRUD --> Pilih New --> Java Package --> tampil dialog new java package --> sbg berikut
d) Isikan nama package diatas pada bagian Package Name dan Klik Finish e) Finish
f) Selanjutnya membuat class pada package com.stmik.royal:
i. Klik kanan package com.stmik.royal --> New --> JFrame Form --> Tampil Dialog
g) Desainlah form App sebagai berikut:
h) Selanjutnya buat form untuk CRUD tblmhsw dengan jenis JInternal Frame Form, dengan cara Klik Kanan Package com.stmik.royal --> New --> JInternal Frame Form --> FormMhsw --> desainlah seperti gambar berikut:
3. Menambahkan librari MySQL JDBC Driver ke project dengan cara: a) Klik Kanan pada folder Libraries --> Pilih Add Library: txt_user txt_pwd txt_nama txt_nama tbl_user btn_save btn_update btn_delete btn_clear
b) Tampil Dialog Add Library --> Seperti berikut:
c) Tekan Button Add Library untuk menambahkan library yang akan digunakan dalam project. Hasilnya dapat dilihat pada gambar berikut:
4. Membuat CRUD Ke Basisdata:
a) Membuat Koneksi ke basisdata --> Klik kanan package com.stmik.royal --> New --> Java Class --> Buat nama class -->KoneksiDB-->Ketikkan Kode berikut ini:
1. package com.stmik.royal; 2. import java.sql.Connection; 3. import java.sql.DriverManager; 4. import java.sql.SQLException; 5. /** 6. *
7. * @author rolly yesputra (rollyyp.wordpress.com) 8. */
9. public class KoneksiDB {
10.private final static String url="jdbc:mysql://localhost/dbakademik"; 11.private final static String driver= "com.mysql.jdbc.Driver";
12.private final static String userdb="root"; 13.private final static String passdb="root";
Pilih MySQL JDBC Library
Library yang sudah ditambahkan
22. e.printStackTrace(); 23. } catch (Exception e) { 24. e.printStackTrace(); 25. } 26.return koneksi; 27. } 28.}
b) Menampilkan data dari tblmhsw ke JTable (tbl_user):
Ketikkan Kode berikut:
Masuk ke jendela source --> tambahkan kode berikut pada bagian kode paling atas, dibawah kode package :
Kode diatas digunakan untuk proses ke basisdata. Selanjutnya deklarasikan variabel yang dibutuhkan untuk proses ke basisdata, tempatkan diatas konstruktor:
Buatkan method untuk menampilkan data ke tabel --> tambahkan kode berikut ini pada baris kode paling bawah sebelum } (tanda kurung tutup class):
Data dari tblmhsw akan ditampilkan ke tabel yang ada pada form
1. import java.sql.PreparedStatement; 2. import java.sql.ResultSet;
3. import java.sql.Statement; 4. import javax.swing.JOptionPane;
5. import javax.swing.table.DefaultTableModel;
1. private ResultSet rs; //untuk menampung data dari hasil query 2. private PreparedStatement ps; //untuk memproses query ke basisdata
3. /**
4. * Creates new form FormUser
5. */
6. public FormMhsw() {
7. initComponents();
8. }
1. private void tampil(String sql){
2. try {
3. Object baris[]={"No","User","Password","Nama","Alamat"}; 4. DefaultTableModel model=new DefaultTableModel(null,baris);
Tambahkan kode untuk memanggil fungsi tampil didalam konstruktor, agar ketika program di jalankan (running) method tampil sekaligus dijalankan.
Jalankan aplikasi, outputnya sebagai berikut:
5. tbl_user.setModel(model); 6. //st=KoneksiDB.getKoneksi().createStatement(); 7. ps=KoneksiDB.getKoneksi().prepareStatement(sql); 8. rs=ps.executeQuery(sql); 9. int no=1; 10. while(rs.next()){
11. String data[]={String.valueOf(no), rs.getString("userid"), rs.getString("passwd"), rs.getString("nama"),rs.getString("alamat")}; 12. model.addRow(data); 13. no++; 14. } 15. }catch (Exception e) { 16. e.printStackTrace(); 17. } 18. } 1. public FormMhsw() { 2. initComponents(); 3. tampil("SELECT * FROM tblmhsw"); 4. }
Hasil data dari tblmhsw, pada gambar disamping data contoh.
d) Delete data dari database -->Klik Kanan Tombol Delete --> Events --> ActionPerformed --> Masuk ke jendela kode -->Ketikkan kode berikut ini :
Output: 5. ps.setString(2,txt_pwd.getText()); 6. ps.setString(3,txt_nama.getText()); 7. ps.setString(4,txt_alamat.getText()); 8. ps.executeUpdate(); 9. JOptionPane.showMessageDialog(rootPane,"Data Sudah Disimpan","Proses Simpan",JOptionPane.INFORMATION_MESSAGE); 10. tampil("SELECT * FROM tblmhsw"); 11. } catch (Exception e) { 12. e.printStackTrace(); 13. }
Isi data dan tekan tombol Save, jika berhasil akan tampil. Jika gagal, akan tampil pesan gagal.
1. try {
2. String sql="DELETE FROM tblmhsw WHERE userid=?";
3. ps=KoneksiDB.getKoneksi().prepareStatement(sql); 4. ps.setString(1,txt_user.getText()); 5. ps.executeUpdate(); 6. JOptionPane.showMessageDialog(rootPane,"Data Sudah Dihapus","Proses Hapus",JOptionPane.INFORMATION_MESSAGE); 7. tampil("SELECT * FROM tblmhsw"); 8. } catch (Exception e) { 9. e.printStackTrace(); 10. }
Data sudah dihapus, akan tampil message seperti diatas.
e) Update data dari database --> Klik Kanan --> Events --> Action Performed --> Ketikkan kode berikut:
Output:
1. try{
2. Stringsql="UPDATE tblmhsw SET passwd=?,nama=?,alamat=? WHERE userid=?";
3. ps=KoneksiDB.getKoneksi().prepareStatement(sql); 4. ps.setString(1,txt_pwd.getText()); 5. ps.setString(2,txt_nama.getText()); 6. ps.setString(3,txt_alamat.getText()); 7. ps.setString(4,txt_user.getText()); 8. ps.executeUpdate();
9. JOptionPane.showMessageDialog(rootPane,"Data Sudah Diupdate","Proses Update",JOptionPane.INFORMATION_MESSAGE); 10. tampil("SELECT * FROM tblmhsw"); 11. } catch (Exception e) { 12. e.printStackTrace(); 13. } Setalah data di update dan ditekan tombol update, jika sukses akan tampil pesan seperti gambar
f) Memberikan event untuk tabel jika isi tabel di klik maka data akan tampil di objek textfield. Langkah-langkahnya klik kanan tabel -->Event --> Mouse Click--> Tambahkan kode berikut:
g) Finish.
Demikianlah CRUD dengan java secara basic. Untuk dapat dikembangkan lagi sesuai dengan kebutuhan.
Terima Kasih....
1. private void tbl_userMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tbl_userMouseClicked
2. // TODO add your handling code here:
3. txt_user.setText(tbl_user.getValueAt(tbl_user.getSelectedRow(), 1).toString()); 4. txt_pwd.setText(tbl_user.getValueAt(tbl_user.getSelectedRow(), 2).toString()); 5. txt_nama.setText(tbl_user.getValueAt(tbl_user.getSelectedRow(),3).to String()); 6. txt_alamat.setText(tbl_user.getValueAt(tbl_user.getSelectedRow(), 4).toString()); 7. }//GEN-LAST:event_tbl_userMouseClicked Klik record ditabel, nnt akan tampil pada textfield