1.1. Latar Belakang
Seiring dengan perkembangan teknologi yang semakin meningkat, banyak orang yang sudah memanfaatkan kecanggihan teknologi sebagai contoh adalah teknologi komputer yang semakin canggih sehingga menyebabkan banyak perusahaan yang bersaing dalam menciptakan teknologi komputer yang baru. Contohnya Peng inputan data peminjaman buku di perpustakaan yang masih menggunakan alat manual untuk mengelola data-datanya. Hal tersebut menyebabkan kesulitan dalam mencatat data. Oleh karena itu di usulkan program aplikasi yang diharapkan jika terealisasikan bisa mempermudah segala bentuk transaksi, dan laporan. Selain itu penyusunan laporan ini adalah untuk memenuhi tugas besar mata kuliah Perancangan Berorientasi Objek. di era globalisasi sekarang ini sangat penting dalam pengolahan informasi, karena dengan pengolahan informasi yang berbasis komputer akan mampu menghasilkan informasi yang tepat, akurat, dan bermanfaat bagi suatu organisasi atau perusahaan.

1.1.
Tujuan
Tujuan Membuat sebuah Aplikasi Perpustakaan ini yang dapat memudahkan proses
penginputan data peminjaman, data buku, data mahasiswa. Dan lain-lain. Adapun tujuan yang hendak dicapai dalam
pembuatan aplikasi ini :
1.
Diharapkan
dapat mempermudah dalam penyampaian informasi transaksi peminjaman
perpustakaan dan report data yang berjalan.
2.
Menguji sistem informasi yang diharapkan dapat mempermudah pegawai dalam mengelola data.
1.2.
Ruang Lingkup
Untuk membatasi permasalahan pada
sistem informasi yang akan dibangun harus diberikan batasan untuk memperjelas dan
mencapai tujuan utama. Batasan masalah dari sistem yang dibahas adalah sebagai
berikut :
1.
Pegawai melakukan pengelolaan
data transaksi peminjaman, data anggota/mahasiswa, data buku, report dan
laporan.
2.
Owner dapat
memonitoring aktivitas yang terjadi pada sistem.
BAB II
PEMBAHASAN
1.1.
Aktor
dan Diagram Use Case
2.2.
Perancangan
Interface dan Source code
a a. Form Menu Utama
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.sql.Connection;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.Timer;
import javax.swing.table.DefaultTableModel;
public class form_utama extends javax.swing.JFrame
{
public form_utama() {
initComponents();
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(screen.width,screen.height);
setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
tampil_tb_mahasiswa();
tampil_tb_buku();
tampil_tb_peminjaman();
Tanggal_sekarang();
jamDigital();
}
/**
* This method is called from within the constructor to initialize the
form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed"
desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
lbl_jam = new javax.swing.JLabel();
lbl_tanggal = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTabbedPane1 = new javax.swing.JTabbedPane();
Peminjaman = new javax.swing.JPanel();
txt_cari_peminjaman = new javax.swing.JTextField();
btn_cari_peminjaman = new javax.swing.JButton();
jScrollPane3 = new javax.swing.JScrollPane();
tb_peminjaman = new javax.swing.JTable();
btn_edit_peminjaman = new javax.swing.JButton();
btn_edit_peminjaman1 = new javax.swing.JButton();
data_buku = new javax.swing.JPanel();
txt_cari_buku = new javax.swing.JTextField();
btn_cari_buku = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
tb_buku = new javax.swing.JTable();
btn_edit_buku = new javax.swing.JButton();
btn_edit_buku1 = new javax.swing.JButton();
data_mahasiswa = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
txt_cari_mahasiswa = new
javax.swing.JTextField();
btn_cari_mahasiswa = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tb_mahasiswa = new javax.swing.JTable();
jButton2 = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
buku = new javax.swing.JButton();
mhs = new javax.swing.JButton();
transaksi = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(0, 204, 204));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Tahoma", 0, 11), new java.awt.Color(204, 204, 204)));
// NOI18N
lbl_jam.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
lbl_jam.setForeground(new java.awt.Color(255, 255, 255));
lbl_jam.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbl_jam.setText("JAM");
b. Form
Input Data Buku
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class form_entry_buku extends
javax.swing.JDialog {
/**
* Creates new form form_entry_buku
*/
public form_entry_buku(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
tampil_tb_buku();
}
//private DefaultTableModel tabmode;
private DefaultTableModel tabmode;
public void tampil_tb_buku(){
Object []baris = {"Kode Buku","Judul
Buku","Tanggal Terbit","Pengarang"};
tabmode = new DefaultTableModel(null, baris);
tb_buku.setModel(tabmode);
Connection con = new koneksi_2().getConnection();
try {
String sql = "select * from tb_buku order by kode_buku asc";
java.sql.Statement stat = con.createStatement();
java.sql.ResultSet hasil = stat.executeQuery(sql);
while (hasil.next()){
String kode_buku =
hasil.getString("kode_buku");
String judul_buku =
hasil.getString("judul_buku");
String tanggal_terbit =
hasil.getDate("tanggal_terbit").toString();
String pengarang =
hasil.getString("pengarang");
String[] data = {kode_buku,
judul_buku, tanggal_terbit, pengarang};
tabmode.addRow(data);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Menampilkan data
GAGAL","Informasi", JOptionPane.INFORMATION_MESSAGE);
}
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed"
desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tb_buku = new javax.swing.JTable();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
txt_kode_buku = new javax.swing.JTextField();
txt_pengarang = new javax.swing.JTextField();
btn_simpan = new javax.swing.JButton();
btn_reset = new javax.swing.JButton();
btn_update = new javax.swing.JButton();
btn_delete = new javax.swing.JButton();
cmb_jenis = new javax.swing.JComboBox();
t_tgl_terbit = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("FORM INPUT DATA BUKU");
tb_buku.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1",
"Title 2", "Title 3", "Title 4"
}
));
tb_buku.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tb_bukuMouseClicked(evt);
}
c. Form Input Data Mahasiswa
import java.sql.*;
/*
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Time;
*/
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class form_entry_mahasiswa extends
javax.swing.JDialog {
public form_entry_mahasiswa(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
tampil_tb_mahasiswa();
}
form_entry_mahasiswa(form_entry_peminjaman aThis, boolean
rootPaneCheckingEnabled) {
throw new UnsupportedOperationException("Not yet
implemented");
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
tb_mahasiswa = new javax.swing.JTable();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
txt_tempat_lahir = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
simpan = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
reset = new javax.swing.JButton();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
txt_no_anggota = new javax.swing.JTextField();
txt_nama = new javax.swing.JTextField();
txt_jurusan = new javax.swing.JTextField();
bnt_update = new javax.swing.JButton();
delete = new javax.swing.JButton();
t_tgl_lahir = new javax.swing.JTextField();
t_tgl_masuk = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("FORM INPUT DATA MAHASISWA");
tb_mahasiswa.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1",
"Title 2", "Title 3", "Title 4"
}
));
tb_mahasiswa.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tb_mahasiswaMouseClicked(evt);
}
});
d. Form Input Data Peminjaman
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class form_entry_peminjaman extends
javax.swing.JDialog {
public form_entry_peminjaman(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
Tanggal_sekarang();
tampil_tb_peminjaman();
}
public void Tanggal_sekarang(){
java.util.Date sekarang = new java.util.Date();
java.text.SimpleDateFormat kal = new java.text.SimpleDateFormat
("yyyy-MM-dd");
lbl_tanggal.setText(kal.format(sekarang));
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed"
desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
txt_no_anggota = new javax.swing.JTextField();
txt_nama = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
txt_jurusan = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel();
txt_judul_buku = new javax.swing.JTextField();
txt_kode_buku = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
btn_simpan = new javax.swing.JButton();
btn_reset = new javax.swing.JButton();
btn_delete = new javax.swing.JButton();
txt_tanggal_terbit = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
tgl_pinjam = new javax.swing.JTextField();
tgl_kembali = new javax.swing.JTextField();
jPanel4 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tb_peminjaman = new javax.swing.JTable();
lbl_tanggal = new javax.swing.JLabel();
lbl_tanggal1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("FORM INPUT DATA PEMINJAMAN");
jPanel1.setBackground(new java.awt.Color(204, 204, 204));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Data
Mahasiswa"));
jPanel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel2.setText("Id Anggota");
jLabel3.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel3.setText("Nama");
txt_no_anggota.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txt_no_anggotaActionPerformed(evt);
}
});
e. Koding Koneksi
Koding
ini sebagai link untuk semua form-form yang ada di aplikasi, yang tujuannya
adalah agar semua aplikasi dapat terkoneksi satu sama lain.
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class koneksi_2 {
Connection con;
public Connection getConnection(){
try {
con =
DriverManager.getConnection("jdbc:mysql://localhost/perpustakaan","root","");
} catch (Exception e) {
JOptionPane.showMessageDialog(null,
"Koneksi GAGAL \n"+e);
}
return con;
}
}
BAB III
PENUTUP
1.1.
Kesimpulan
Dengan adanya Aplikasi perpustakan ini diharapkan dapat mengelola data perpustakaan menjadi lebih tertata dimana data buku,data anggota perpustakaan dan peminjaman menjadi tertata dengan rapih, juga untuk melakukan input,hapus maupun edit dari data-data tersebut menjadi lebih mudah. Dengan begitu diharapkan dapat membantu operasional atau kerja dari Perpustakaan tersebut.
1.2.
Saran
Aplikasi ini masih bisa dapat dikembangkan dengan menambahkan fitur-fitur yang dibutuhkan sesuai dengan kebutuhan perpustakaan. Aplikasi ini diharapkan dapat menjadi referensi pengembangan tersebut.
Link Youtube : https://youtu.be/TR_PfzHt2A0
Link Youtube : https://youtu.be/TR_PfzHt2A0
Nama Kelompok
Asep Ferry (A3.1600002)
Azis Ismail (A3.1600004)
Nadi Nugraha (A3.1600043)
Tedi Mulyana (A3.1600038)
0 Komentar untuk "APLIKASI PERPUSTAKAAN STBA SEBELAS APRIL SUMEDANG"
Silakan tinggalkan komentar anda. DILARANG KERAS menyimpan link blog/web pada komentar dengan tujuan backlink, Spam.