Membuat Aplikasi Perpustakaan (Java GUI)
Pada kesempatan kali ini, saya akan share tutorial Membuat Aplikasi Perpustakaan (Java GUI) sederhana. Mungkin saja teman-teman ada yang membutuhkan atau untuk referensi.
Tutorial Membuat Aplikasi Perpustakaan (Java GUI) ini terkoneksi dengan Database MySQL dan pada contoh ini saya menggunakan PHPmyAdmin sebagai databasenya. Program ini masih sederhana yang mungkin bisa sebagai jembatan buat teman-teman yang masi bingung, untuk kelanjutannya silahkan teman-teman bisa kembangkan lagi sesuai dengan keinginan.
Untuk lebih jelasnya silahkan simak langkah-langkah di bawah ini:
Membuat Database
Pada langkah pertama ini kita akan membuat databasenya terlebih dahulu dengan nama perpustakaan. Kita bisa membuatnya secara manual melalui PHPMyAdmin atau dengan menggunakan perintah kode di bawah berikut ini:
CREATE TABLE `perpus` (
`no_buku` INT( 11 ) NOT NULL ,
`judul_buku` VARCHAR( 100 ) NOT NULL ,
`pengarang` VARCHAR( 30 ) NOT NULL ,
`tahun` INT( 4 ) NOT NULL ,
`penerbit` VARCHAR( 100 ) NOT NULL ,
PRIMARY KEY ( `no_buku` )
) ENGINE = INNODB DEFAULT CHARSET = latin1;
2. Membuat Project Baru
Pada tulisan ini saya tidak mencontohkan cara membuat tampilan GUI nya, kalian bisa menyesuaikan membuat tampilannya kurang lebih seperti contoh gambar di bawah ini:

Component yang dibutuhkan
- 6 Jlabel
- 5 jtextfield
- 6 JButton
- JTable
Nama variabel
- Jtextfield1 ⇒ no
- Jtextfield2 ⇒ judul
- Jtextfield3 ⇒ pengarang
- Jtextfield4 ⇒ tahun
- Jtextfield5 ⇒ penerbit
- Jbutton1 ⇒ simpan
- Jbutton2 ⇒ edit
- Jbutton3 ⇒ baca
- Jbutton4 ⇒ clear
- Jbutton5 ⇒ hapus
- Jbutton6 ⇒ keluar
Menambahkan import
Masuk ke editor source, dan kita tambahkan daftar import di bawah ini
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
Menambahkan Attribute
Tambahkan source code di bawah ini
private Connection con;
private Statement stat;
private ResultSet res;
tepat dibawah public class perpustakaan extends javax.swing.JFrame {
Memanggil method atau fungsi di dalam Constructor
setTitle("Perpustakaan");
koneksi();
tabel();
kosongkan();
ClearTabel();
tepat di bawah public perpustakaan() {
Membuat Methods yang Dibutuhkan
Tambahkan code di bawah ini
//membuat koneksi kedatabase
private void koneksi(){
try {
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/perpustakaan", "", "");
stat=con.createStatement();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void tabel(){
DefaultTableModel tb= new DefaultTableModel();
// Memberi nama pada setiap kolom tabel
tb.addColumn("No.Buku");
tb.addColumn("Judul Buku");
tb.addColumn("Pengarang");
tb.addColumn("Tahun");
tb.addColumn("Penerbit");
tabel.setModel(tb);
try{
// Mengambil data dari database
res=stat.executeQuery("select * from perpus");
while (res.next())
{
// Mengambil data dari database berdasarkan nama kolom pada tabel
// Lalu di tampilkan ke dalam JTable
tb.addRow(new Object[]{
res.getInt("no_buku"),
res.getString("judul_buku"),
res.getString("pengarang"),
res.getInt("tahun"),
res.getString("penerbit")
});
}
}catch (Exception e){
}
}
private void kosongkan(){
no.setText("");
judul.setText("");
pengarang.setText("");
tahun.setText("");
penerbit.setText("");
no.requestFocus();
}
private void ClearTabel(){
int cb=tabel.getRowCount();
int cc=tabel.getColumnCount();
for (int i=0;i<cb;i++)
for (int j=0;j<cc;j++)
{tabel.setValueAt(null, i, j);
}
}
tepatnya di bawah code
public perpustakaan() {
initComponents();
setTitle("Perpustakaan");
koneksi();
tabel();
kosongkan();
ClearTabel();
}
Menambahkan Librarry
Menambahkan Library MYSQL JDBC Driver agar kita bisa terkoneksi ke database, ikuti langkah” di bawah ini
Klik kanan Libraries pada project kalian lalu pilih Add Library ==> MYSQL JDBC Driver ==> Add Library.

Mengisi pada masing-masing method tombolnya
Menambahkan source code pada setiap tombol
Source code tombol SIMPAN
try {
stat.executeUpdate("insert into perpus values ("
+ "'" + no.getText()+"',"
+ "'" + judul.getText()+"',"
+ "'" + pengarang.getText()+ "',"
+ "'" + tahun.getText()+ "',"
+ "'" + penerbit.getText()+ "')"
);
kosongkan();//Mengosongkan text field setelah berhasil menyimpan data
tabel();// Menampilkan isi tabel
JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan...");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Keterangan Error : "+e);
}
Source code tombol EDIT
try {
stat.executeUpdate("update perpus set "
+ "judul_buku='"+judul.getText()+"',"
+ "pengarang='"+pengarang.getText()+"',"
+ "tahun='"+tahun.getText()+"',"
+ "penerbit='"+penerbit.getText()+"'"
+ " where "
+ "no_buku='"+no.getText()+"'"
);
kosongkan();
tabel();
JOptionPane.showMessageDialog(rootPane, "Data berhasil Diupdate");
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
Source code tombol BACA TABEL
tabel();
Source code tombol CLEAR TABEL
ClearTabel();
Source code tombol HAPUS
try {
stat.executeUpdate("delete from perpus where "
+ "no_buku='"+no.getText()+"'"
);
kosongkan();
tabel();
JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "pesan salah : "+e);
}
Langkah terakhir menmbahkan source code untuk textfield1 yg nantinya berguna untuk melakukan pengeditan dan penghapusan data dengan cara memasukan nomor buku yang akan di edit atau hapus lalu tekan tombol ENTER pada keyboard untuk menampilkan datanya. Berikut adalah source codenya:
try {
//melakukan pencarian data berdasarkan primary key pada tabel
res=stat.executeQuery("select * from perpus where "+ "no_buku='"+no.getText()+"'"
);
while (res.next()) {
judul.setText(res.getString("judul_buku"));
pengarang.setText(res.getString("pengarang"));
tahun.setText(res.getString("tahun"));
penerbit.setText(res.getString("penerbit"));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
SELESAI
Selamat mencoba, semoga bermanfaat 🙂
Dapatkan kode: Unduh
Terimakasih kak, sangat membantu kontennya
Terima kasih, semoga bermanfaat.
Mas , lapor kemana ya, klo nilai praktik dr sya itu dibenarkan saja. Karna sy lg ikutin program prakerja ,klo gini gak cair2 insentif sy😭 kagak faham salah ambil pelatihan.
Mas ,, lapor kemana ya,, klo nilai praktik dr sya itu dibenarkan saja. Karna sy lg ikutin program prakerja ,klo gini gak cair2 insentif sy😭 kagak faham salah ambil pelatihan.
saya tidak MYSQL JDBC Driver untuk ditambahkan
saya juga heran kenapa cuma saya yang tidak punya MYSQL JDBC Driver
dan setiap saya membuat library nya secara manual dan memasukkan Connector/J, kode yang pakai mysql seperti perpustakaan, bisa berjalan tapi banyak meninggalkan error
tolong bantuannya mas
kak saya sudah unduh tp eror
Exception in thread “main” java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source code – class perpustakaan is public, should be declared in a file named perpustakaan.java
at perpustakaan.perpustakaan.(Perpustakaan.java:19)
C:\Users\LENOVO\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
Permisi mas. Saya mau nanya ketika saya copas method tabel ke netbeans saya nemu error di kode
tabel.setModel(tb);
Kira2 gimana solusinya ya? Terima kasih.
Halo, untuk detail error nya seperti apa ya?
saya udah tau penyebabnya. Gara2 nama tabel gk saya ganti dulu jadi error. Sekarang program udah bisa jalan tapi tombol2nya masih error wkwk. Saya masih coba cari solusinya.
Mantap, semangat 👍
bang tolong di acc bg untuk saya akses filenya untuk referensi saya bg
Halo, sudah saya update link nya, silakan bisa dicoba kembali. Atau bisa klik link berikut: unduh
Pak Gani,
Boleh di-share untuk file javanya? Saya butuh untuk referensi tugas akhir.
Terima kasih
Bisa langsung di-download lewat link download nya
Terima kasih banyak Pak
semoga bermanfaat 🙂
Gan ini nama databasenya apa + paswordnya apa
Boleh bagi untuk file-nya? sudah tidak bisa di-download.
Terima kasih sebelumnya
Bisa langsung di-download lewat link download nya.
Bro bisa gaya kalo mau nyimpan data trus di tampilkan tapi menggunakan vector bukan database bisa ga ya ?
terimakasih kang, bermanfaat
Terima kasih kembali 🙂
Semoga bermanfaat.
Ane ijin download ya min aplikasinya 😀
Silahkan mas, semoga bermanfaat. 🙂
dowloadnya gk bisa bro
Sudah diperbaiki link downloadnya, silahkan. ?
ini masuk kategori sistem pakar gk yah kang ?
nb: blogroll udh terpasang, link akang udh muncul tuh… coba deh di cek :p