Oleh :
Nur Siti Rahma ( 43191003 )
SMP Pasundan 2 Garut adalah salah satu sekolah menengah pertama swasta yang
sangat terkenal di Garut. Biasanya para siswa mengerjakan tugas maupun membaca buku
pasti ke perpustakaan. Perpustakaan di Sekolah ini adalah salah satu sarana di sekolah
dengan fasilitas lengkap. Selama ini sistem yang ada masih belum sesuai dengan kebutuhan
baik siswa maupun admin. Diantaranya sebagai berikut.
1. Pada proses peminjaman buku, permasalahan yang timbul adalah ketika anggota akan
Meminjam buku di perpustakaan seringkali buku tersebut stoknya sudah tidak tersedia
Karena sudah di pinjam orang lain. Sehingga pengunjung tidak mendapatkan buku yang
Diinginkan.
2. Proses pengolahan data peminjaman buku masih ditulis di dalam buku peminjaman yang
masih menggunakan pencatatan pada buku sehingga proses kerja dibutuhkan waktu yang
cukup lama dan menjadi tidak optimal.
3. Tidak adanya katalog buku untuk mengetahui buku yang tersedia di perpustakaan,
Sehingga anggota harus mencari buku yang di inginkan pada rak – rak perpustakaan.
4. Pada proses pendaftaran anggota perpustakaan masih ditulis di dalam kartu
perpustakaan. Ini beralasan karena mungkin pihak sekolah tidak menggunakan software
Microsoft office baik Excel maupun Word.
B. Tujuan
Pada pembuatan program ini pembuat bertujuan untuk, sebagai berikut :
1. Memudahkan admin dalam menerapkan OOP pada peminjaman buku perpustakaan
2. Mengamankan akun admin dan siswa agar tidak dipakai oleh bukan pihaknya.
3. Memudahkan siswa dan siswi dalam pencarian buku yang akan dipinjam.
C. Struktur Menu
Struktur menu program adalah kerangka yang menggambarkan hubungan antara
fungsi yang terdapat dalam suatu program. Untuk struktur menu ini Sebelum ke menu utama,
saya akan menempatkan halaman login diletakkan di atas menu utama. Dibawah ini
merupakan struktur menu program peminjaman buku perpustakaan yang akan dibuat.
Menu Utama
Syarat-syarat anggota
perpustakaan
Biodata Login
Cara peminjaman Admin Peminjaman
Buku
Tata tertib selama
di dalam Databuku
perpustakaan
Anggota
Sanksi-sanksi
di dalam
perpustakaan
Peminjaman
Buku
ABOUT SISWA
Exit
BIODATA
NIM : 43191003
KELAS : REGULER
SEMESTER : 4A
Kembali
Tentang
Kembali
Cara peminjaman
Sanksi di Perpustakaan
Design Form Sanksi di Perpustakaan
Kembali
4. Dijatuhi hukuman ganti rugi atau denda sesuai dengan peraturan yang berlaku.
2. Kerusakan buku dikenakan sanksi membayar ongkos perbaikan kerusakan buku tsb.
Diganti dengan uang yang besarnya:1 x harga buku untuk terbitan dalam negeri yang
bukunya mudah diperoleh ditambah biaya administrasi
2 x harga buku, untuk terbitan dalam negeri tetapi termasuk buku langka
Catatan:
1. Bagi siswa kelas 3 yang akan keluar/telah lulus wajib memiliki surat bukti bebas
perpustakaan.
2. Bagi siswa anggota / perpustakaan yang pindah wajib lapon kepetugas perpustakaan.
3. Bagi siswa kelas 3 yang telah lulus, diwajibkan untuk menyumbangkan buku ke
perpustakaan (akhir tahun pelajaran).
Kembali
1. Yang menjadi anggota perpustakaan SMP Paundan 2 Garut: siswa. guru,karyawan, Tata
Usaha, masyarakat umum yang telah mendapat izin khusus dari pihak perpustakaan.
Kembali
4. Anggota dapat meminjam buku paling banyak 3 buah (untuk pinjaman harian.
5. Lamanya Pinjaman:
Untuk siswa selama 1 minggu dan dapat diperpanjang selama 2 kali masa peminjaman.
7. Setiap peminjam wajib memenksa keutuhan bahan yang akan dipinjamnya sebelum dibawa
keluar perpustakaan.
Kembali
5. Pembaca boleh mengambil buku atau majalab langsung dan rak dengan
sepengathuan petugas.
6. Buku/majalah yang akan dibaca di luar perpustakaan harus terlebih dahulu dicatat
petugas perpustakaan
7. Buku/majalah/surat kabar yang telah selesai dibaca harus disimpan kembali pada rak
Kembali
LOGIN PAGE
Username :
Password :
Username :
Password :
Login
Kembali Keluar
Registration Form
Nama :
Username :
Password :
Konfirmasi Password :
Design Form Data Buku
Save
DATA ANGGOTA
Search Refresh
Nama :
NIM
Jenis Kelamin :
Alamat :
Save Exit
Kelas :
Title 1 Title 2 Title 3 Title 4
Gambar 1.13 Design Menu Anggota
Data Buku
Kode Buku
Search Refresh
Nama Buku
Peminjaman Buku
Tabel Data Buku
NIS :
Search Refresh
Nama :
Tanggal Pengembalian
Table Data Peminjam
Title 1 Title 2 Title 3 Title 4
package perpustakaan;
import javax.swing.JoptionPane;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class login extends javax.swing.Jframe {
public login() {
initComponents();
}
private void loginActionPerformed(java.awt.event.ActionEvent evt) {
String username = user.getText();
String password = pass.getText();
this.setVisible(false);
// TODO add your handling code here:
try {
Class.forName(“com.mysql.jdbc.Driver”);
Connection
con=DriverManager.getConnection(“jdbc:mysql://127.0.0.1/database_perpustakaan”, “root”,
“”);
Statement stat=con.createStatement();
ResultSet res= stat.executeQuery(“Select * from login where
Username=”+”’”+username+”’”+”and Password=’”+password+”’”);
System.out.println(“Koneksi Berhasil!!”);
if (res.next()){
JoptionPane.showMessageDialog(null, “Login Berhasil”,”Informasi”,
JoptionPane.INFORMATION_MESSAGE);
new menuutama().setVisible(true);
this.dispose();
}
else {
JoptionPane.showMessageDialog(null, “Maaf Username atau Password salah”,”Informasi”,
JoptionPane.INFORMATION_MESSAGE);
}
}
catch(Exception e){
JoptionPane.showMessageDialog(null, “Gagal, Silakan ulangi”,”Informasi”,
JoptionPane.INFORMATION_MESSAGE);
}
}
private void exitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (JoptionPane.showConfirmDialog(null, “Apakah No. ingin keluar?”,”Yakin”,
JoptionPane.YES_NO_OPTION)==JoptionPane.YES_OPTION)
System.exit(0);
}
private void regActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JoptionPane.showConfirmDialog(null, “Apakah No. ingin membuat akun baru?”,”IYA”,
JoptionPane.YES_NO_OPTION)==JoptionPane.YES_OPTION){
new akun().show();
this.dispose();
}
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new login().setVisible(true);
}
});
}
/**
* Creates new form menuutama
*/
public menuutama() {
initComponents();
setLocationRelativeTo(null);
}
private void exitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (JoptionPane.showConfirmDialog(null, “Apakah No. ingin keluar?”,”Yakin”,
JoptionPane.YES_NO_OPTION)==JoptionPane.YES_OPTION)
System.exit(0);
}
}
private void siswaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
new peminjaman().setVisible(true);
package perpustakaan;
import javax.swing.JoptionPane;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.PreparedStatement;
/**
* Creates new form loginadmin
*/
public loginadmin() {
initComponents();
setLocationRelativeTo(null);
}
private void loginActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(user.getText().equals(“Admin1”)){
if(pass.getText().equals(“Databuku”))
{
new databuku().show();
this.dispose();
}}
if(user.getText().equals(“Admin1”)){
if(pass.getText().equals(“Anggota”)){
new anggota().show();
this.dispose();
}}
if(user.getText().equals(“Admin1”)){
if(pass.getText().equals(“Peminjam”)){
new peminjaman().show();
this.dispose();
}}
}
java.awt.EventQueue.invokeLater(new Runnable() {
new Cara_Peminjaman().setVisible(true);
});
Gambar 1.26 Tampilan Input Dialog Masukan Gambar 1.27 Tampilan Message Dialog
NIS pada button search di Menu Anggota OK pada button Search
Gambar 1.28 Tampilan Confirmation Dialog pada Gambar 1.29 Tampilan Message Dialog
button edit di Menu Anggota Yes pada button edit
Gambar 1.30 Tampilan Message Dialog Gambar 1.31 Tampilan Message Dialog Data
Koneksi Gagal Tersimpan pada Button Save
Gambar 1.32 Tampilan Message Dialog Gambar 1.33 Tampilan Message Dialog Data
Data telah dihapus pada button Delete tidak ditemukan pada button Search
package perpustakaan;
import java.awt.HeadlessException;
import javax.swing.JOptionPane;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.table.DefaultTableModel;
public class anggota extends javax.swing.JFrame {
Connection con;
Statement stat;
ResultSet res;
PreparedStatement st;
/**
* Creates new form databuku
*/
public databuku() {
initComponents();
setLocationRelativeTo(null);
koneksi();
loaddata();
}
Gambar 1.36 Tampilan Message Gambar 1.37 Tampilan Input Kode Buku pada
berhasil menyimpan data pada button save button Search di Menu Peminjaman.
Di Menu Peminjaman
Gambar 1.38 Tampilan Message Dialog Gambar 1.39 Tampilan Message Dialog Yes
Buku belum ditemukan pada button Search Peminjam Ditemukan pada Button Search di
peminjam peminjam
package perpustakaan;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import javax.swing.table.DefaultTableModel;
public class peminjaman extends javax.swing.JFrame {
Connection conn;
PreparedStatement st;
Statement stat;
ResultSet res;
Connection con;
/**
* Creates new form peminjaman
*/
public peminjaman() {
initComponents();
koneksi();
loaddata();
loaddata1();
}
}
private void peminjamMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int i = peminjam.getSelectedRow();
if(i==-1){ return; }
String code = (String)peminjam.getValueAt(i,0);
String code1 = (String)peminjam.getValueAt(i,1);
String code2 = (String)peminjam.getValueAt(i,2);
String code3 = (String)peminjam.getValueAt(i,3);
String code4 = (String)peminjam.getValueAt(i,4);
String code5 = (String)peminjam.getValueAt(i,5);
nis.setText(code);
nama.setText(code1);
kodebuku.setText(code2);
namabuku.setText(code3);
tglp.setText(code4);
tglk.setText(code5);
}
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new peminjaman().setVisible(true);
}
});
}