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:

perpustakaan

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.

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

Memiliki pertanyaan atau saran? Silakan klik disini untuk berkomentar :).

Masgani

Halo, perkenalkan nama saya Gani. Saat ini saya sebagai penulis sekaligus pemilik situs web masgani.com. Selain menulis di situs web ini, keseharian saya saat ini yaitu sebagai Developer di salah satu perusahaan Startup. Saya berharap tulisan saya situs web ini dapat bermanfaat dan menginspirasi. Terima kasih :)

Postingan Terkait

27 Respon

  1. zulfi zibyan berkata:

    Terimakasih kak, sangat membantu kontennya

  2. Umar safi'i nasution berkata:

    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.

  3. Umar safi'i nasution berkata:

    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.

  4. alex tom berkata:

    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

  5. rama berkata:

    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)

  6. arkan berkata:

    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.

  7. moch rosul berkata:

    bang tolong di acc bg untuk saya akses filenya untuk referensi saya bg

  8. Rian berkata:

    Pak Gani,

    Boleh di-share untuk file javanya? Saya butuh untuk referensi tugas akhir.
    Terima kasih

  9. Andrian berkata:

    Gan ini nama databasenya apa + paswordnya apa

  10. Naruto berkata:

    Bro bisa gaya kalo mau nyimpan data trus di tampilkan tapi menggunakan vector bukan database bisa ga ya ?

  11. Teguh Gunawan berkata:

    terimakasih kang, bermanfaat

  12. Ramdani berkata:

    Ane ijin download ya min aplikasinya 😀

  13. Jhon berkata:

    dowloadnya gk bisa bro

  14. Umar Azmar MF berkata:

    ini masuk kategori sistem pakar gk yah kang ?

    nb: blogroll udh terpasang, link akang udh muncul tuh… coba deh di cek :p

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.