14
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Sebagai penunjang data dan informasi untuk penyusunan tugas akhir ini
maka penulis melakukan riset ke perusahaan untuk menggali informasi yang
diperlukan sehingga apa yang ditulis dan program yang di rancang benar-benar
merupakan data yang sebenarnya dan dapat dipertanggung jawabkan sehingga
program yang di rancang juga tepat dan bermanfaat. Dalam tinjauan perusahaan ini
akan membahas mengenai sejarah perusahaan dan struktur organisasi serta fungsi
dalam perusahaan.
3.1.1. Sejarah Perusahaan
SMK Bisnis Informatika Bekasi berdiri pada tanggal 10 Oktober 1999
sesuai SK Menteri Pendidikan dan Kebudayaan Republik Indonesia tentang
Pembukaan Sekolah Tahun Pelajaran dengan Nomor SK Izin Operasional :
421/1296-SK Dikbud/VIII/2001, dengan nama SMK Bisnis Informatika Bekasi.
SMK Bisnis Informatika berlokasi di Jalan Cipendawa Lama No.27,
RT.4/RW.7, Bojong Menteng, Rawalumbu, Kota Bekasi, Jawa Barat 17117,
Indonesia.
Pihak sekolah berusaha memperbaiki mutu pendidikan dengan
menyediakan fasilitas perpustakaan untuk mempermudah siswa memperoleh
referensi-referensi dari buku-buku lain.
15
Adapun visi dan misi smk Bisnis Informatika :
Visi dan Misi Perpustakaan SMK Bisnis Informatika Bekasi
1. Visi Perpustakaan SMK Bisnis Informatika Bekasi
Berakhlak mulia, cerdas, terampil, kompetitif, dan menuj sekolah standar
masional (SSN)
2. Misi Perpustakaan SMK Bisnis Informatika Bekasi
1. Membentuk siswa yang berakhlak mulia.
2. Merealisasikan nilai – nilai islam dalam kehidupan sehari – hari.
3. Membentuk siswa yang inovatif dan kreatif.
4. Menghasilkan siswa yang berprestasi dalam akademik dan non
akademik.
5. Memberikan pelayanan secara profesional dengan semangat prestasi.
6. Menciptakan KBM yang bervariasi dan menyenangkan.
7. Mengoptimalkan pemanfaatan teknologi dalam KBM.
3.1.2. Struktur Organisasi dan Fungsi
Struktur organisasi adalah susunan subsistem / subbagian dengan
wewenang dan tanggung jawab masing – masing. Dimana pengorganisasian
merupakan proses penyusunan struktur organisasi yang sesuai dengan tujuan
organisasi, sumber daya yang diiliki dan lingkungan yang melingkupinya. Struktur
organisasi memungkinkan adanya pembagian tugas yang jelas dan tepat.
16
Adapun struktur organisasi pada perpustakaan SMK Bisnis Informatika
Bekasi.
Struktur Organisasi Perpustakaan
SMK Bisnis Informatika Bekasi
Gambar III.2. Struktur Organisasi
Adapun fungsi dari struktur organisasi adalah sebagai berikut :
1. Kepala Sekolah
Tugas dan fungsi kepala sekolah adalah mengkoordinasi dan penanggung
jawab penuh kegiatan perpustakaan.
2. Kepala Perpustakaan
a. Mengkoordinasi tugas seluruh sistem perpustakaan.
b. Menentukan kebijakan yang diperlukan untuk perpustakaan.
c. Membina dan membimbing serta mengarahkan pelaksanaan harian
dalam menjalankan tugasnya.
KEPALA SEKOLAH
N. Saidah, S.Ag
KEPALA PERPUSTAKAAN
Ahmad Hoerudin S.Pd
PETUGAS
Ayu Fitriani S.Pd PENGADAAN
Vivi Haryani S.Pd
SIRKULASI
Reti Rohati S.Pd
17
3. Bagian Pengadaan
a. Melakukan pengadaan buku.
b. Melakukan pemekrisaan buku – buku perpustakaan.
c. Menstempel buku – buku perpustakaan.
4. Bagian Petugas
a. Melayani peminjaman dan pengembalian buku.
b. Pengontrolan administrasi peminjaman.
5. Bagian Sirkulasi
a. Menyampul buku
b. Memelihara serta membersihkan area perpustakaan.
3.2. Tinjauan Kasus
Dalam penulisan Tugas Akhir ini, penulis hanya membahas tentang
Rancang Bangun Sistem Informasi Akuntansi Peminjaman dan Pengembalian Buku
pada Perpustakaan SMK Bisnis Inforatika Bekasi. Batasan dari penulisan
peminjaman dan pengembalian buku ini dimulai dari proses pendaftaran pembuatan
kartu anggota, proses peminjaman buku, proses pengembalian buku, dan proses
pembuatan laporan.
3.2.1. Proses Bisnis Sistem Berjalan
1. Proses pendaftaran pembuatan kartu anggota
Bagian petugas perpustakaan memudahkan bagi peminjam mendaftar untuk
pembuatan kartu perpustakaan, kemudian petugas perpustakaan melakukan
pengisian data formulir yang disebutkan oleh peminjam.
18
2. Proses peminjaman buku
Proses peminjaman buku dilakukan dengan menyerahkan buku yang akan di
pinjam dan kartu anggota kepada petugas. Petugas akan mencatat transaksi
peminjaman berupa nomor induk buku, judul buku, tanggal peminjaman,
tanggal pengembalian, nomor anggota peminjam, dan nama anggota
peminjam. Lalu petugas akan menyerahkan buku yang akan dipinjam
kepada peminjam dan menyimpan kartu anggota peminjam.
3. Proses pengembalian buku
Proses pengembalian buku dilakukan dengan cara peminjam menyerahkan
buku yang dipinjam kepada petugas, kemudian petugas mencocokkan
tanggal pengembalian. Jika peminjam terlambat mengembalikan buku,
maka peminjam dikenakan denda, dengan denda Rp 2000 setiap harinya
sebelum pengembalian buku. Jika peminjam menghilangkan buku pinjaman
maka peminjam harus mengganti buku yang hilang dengan cara membayar
berapa harga buku yang hilang. Dan jika peminjam ingin memperpanjang
masa peminjaman buku, kembali lagi seperti pada proses peminjaman buku.
Petugas akan menyimpan buku dan mengembalikan kartu anggota kepada
peminjam.
4. Proses pembuatan laporan
Petugas melakukan pembuatan data peminjaman dan pengembalian buku
dan melakukan pembuatan laporan transaksi yang terjadi pada setiap
harinya untuk dilaporkan kepada bagian pengadaan perpustakaan
5. Proses penerimaan laporan
Bagian pengadaan perpustakaan menerima laporan dari petugas untuk
melakukan pengecekan stok buku yang ada di dalam perpustakaan tersebut.
19
Jika terdapat kekosongan atau kekurangan stok buku setelah dilakukannya
pengecekan maka bagian pengadaan perpustakaan melakukan pemesanan.
Dan setelah selesai transaksi yang dibuat setiap harinya oleh petugas
perpustakaan maka bagian pengadaan membuat laporan buku setiap
bulannya untuk di serahkan kepada kepala perpustakaan.
3.2.2. Activity Diagram Sistem Berjalan
Sumber : Penulis (2019)
Gambar III.3. Diagram Activity Sistem Berjalan
20
3.2.3. Dokumen Masukan
A.1 Nama Dokumen : Formulir Data Anggota
Sumber : Anggota
Tujuan : Petugas Perpustakaan
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap ada anggota baru
Bentuk : Lampiran A-1
A.2 Nama Dokumen : Data Buku
Sumber : Petugas Perpustakaan
Tujuan : Anggota
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap ada koleksi buku baru
Bentuk : Lampiran A-2
3.2.4. Dokumen Keluaran
Dokumen keluaran merupakan dokumen yang dihasilkan dari proses yang
terjadi pada rancangan masukan. Adapun rancangan bentuk masukan adalah sebagai
berikut :
B.1 Nama Dokumen : Kartu Anggota
Sumber : Petugas Perpustakaan
Tujuan : Anggota
Media : Kertas
Jumlah : 1 Lembar
21
Frekuensi : Setiap ada anggota baru
Bentuk : Lampiran B-1
B.3 Nama Dokumen : Laporan Peminjaman Buku
Sumber : Petugas Perpustakaan
Tujuan : Kepala Perpustakaan
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap bulan
Bentuk : Lampiran B-3
B.4 Nama Dokumen : Laporan Pengembalian Buku
Sumber : Petugas Perpustakaan
Tujuan : Kepala Perpustakaan
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap bulan
Bentuk : Lampiran B-4
3.2.5. Permasalahan Pokok
Masih manualnya sistem berjalan yang digunakan, sehingga banyak
terjadi kekurangan disana-sini. Masalah yang dihadapi seperti :
a. Masih sering terjadi kekeliruan dalam pembuatan kartu perpustakaan, dan
menyulitkan bagi para peminjam untuk meminjam buku di perpustakaan.
b. Kurang telitinya dan keakuratan dalam proses pencatatan daftar nama-
nama peminjam dan pengembalian buku di perpustakaan.
22
3.2.6. Pemecahan Masalah
Setelah melihat permasalahan yang dihadapi pada SMK BISNIS
INFORMATIKA. Maka dari permasalahan yang terjadi perlu adanya pemecahan
masalah. Pemecahan-pemecahan masalah tersebut diantaranya:
a. Digunakan sistem komputerisasi pada pembuatan data perpustakaan,
karena hal ini dapat mempermudah dalam kegiatan peminjaman,
pengembalian serta pembuatan laporan.
b. Untuk memperlancar penyelesaian pekerjaan diadakan informasi
pengolahan data.
3.3. Analisa Kebutuhan Software
Analisa kebutuhan perangkat lunak (software) adalah kondisi, kriteria,
syarat atau kemampuan yang harus dimiliki oleh perangkat lunak untuk memenuhi
apa yang disyaratkan atau dinginkan pemakai.
3.3.1. Analisa Kebutuhan
Halaman kepala petugas mengakses menu utama
A.1 Petugas Login
A.2 Petugas dapat mengakses menu utama
A.3 Petugas dapat menambahkan daftar buku
A.4 Petugas dapat mengedit daftar buku
A.5 Petugas dapat mengelola data peminjam
A.6 Petugas dapat mengelola data informasi transaksi peminjaman
A.7 Petugas dapat mengelola data informasi transaksi pengembalian
A.8 Petugas dapat mencetak bukti peminjaman buku
23
A.9 Petugas Logout
Halaman Kepala Sekolah mengakses menu utama
A.1 Kepala Sekolah Login
A.2 Kepala Sekolah dapat mengakses menu utama
A.3 Kepala Sekolah dapat mengakses laporan transaksi peminjaman dan
pengembalian buku
A.4 Kepalah Sekolah Logout
3.3.2. Use Case Diagram
Use Case Diagram atau diagram use case merupakan pemodelan untuk
kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan
sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan
dibuat. Secara kasar use case digunakan untuk mengetahui fungsi apa saja yang ada
di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-
fungsi itu. Pada sistem peminjaman dan pengembalian buku berbasis JAVA 8.1.
24
A. Halaman Administrasi
A. Menu Utama Kepala Perpustakaan
Sumber : Penulis (2019)
Gambar III.4. Use Case Kepala Perpustakaan
25
Tabel III.1. Use Case Kepala Perpustakaan
Deskripsi Gambar Menu Utama
Use Case Narative Menu Utama Kepala Perpustakaan
Tujuan Kepala Perpustakaan dapat melakukan
pengolahan data yang ada di menu
utama, menu transaksi dan menu laporan
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola sistem mulai dari melihaat
data, input data sampai dengan mencetak
kartu anggota
Skenario Utama
Aktor Kepala Sekolah
Kondisi Awal Aktor membuka aplikasi sistem dan
masuk ke Menu Utama
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol Menu
Master
Sistem akan menampilkan sebmenu data
anggota, data buku, data peminjaman dan
pengembalian.
2. Aktor memilih tombol Menu
Transaksi
Sistem akan menampilkan submenu
input peminjaman dan pengembalian
buku.
3. Aktor memilih tombol Menu
Laporan
Sistem akan menampilkan submenu
laporan transaksi dan informasi laporan.
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan
oleh si Aktor.
26
B. Menu Utama Petugas
Sumber : Penulis (2019)
Gambar III.5. Use Case Petugas
27
Tabel III.2. Use Case Petugas Perpustakaan
Deskripsi Gambar Menu Utama Petugas
Use Case Narative Menu Utama Petugas
Tujuan Petugas Perpustakaan dapat melakukan
pengolahan data yang ada di menu
utama, menu transaksi dan menu laporan
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola sistem mulai dari melihaat
data, input data sampai dengan mencetak
kartu anggota
Skenario Utama
Aktor Kepala Sekolah
Kondisi Awal Aktor membuka aplikasi sistem dan
masuk ke Menu Utama
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol Menu
Master
Sistem akan menampilkan sebmenu data
anggota, data buku, data peminjaman dan
pengembalian.
2. Aktor memilih tombol Menu
Transaksi
Sistem akan menampilkan submenu
input peminjaman dan pengembalian
buku.
3. Aktor memilih tombol Menu
Laporan
Sistem akan menampilkan submenu
laporan transaksi dan informasi laporan.
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan
oleh si Aktor.
28
3.3.3. Activity Diagram
1. Activity Diagram Login
Sumber : Penulis (2019)
Gambar III.6. Activity Diagram Login
29
2. Activity Diagram Anggota
Sumber : Penulis (2019)
Gambar III.7. Activity Diagram Anggota
30
3. Activity Diagram Buku
Sumber : Penulis (2019)
Gambar III.8. Activity Diagram Buku
31
4. Activity Diagram Peminjaman
Sumber : Penulis (2019)
Gambar III.9. Activity Diagram Peminjaman
32
5. Activity Diagram Pengembalian
Sumber : Penulis (2019)
Gambar III.10. Activity Diagram Pengembalian
33
6. Activity Diagram Pengembalian
Sumber : Penulis (2019)
Gambar III.11. Activity Diagram Laporan
34
3.4. Desain
3.4.1. Entity Relationship Diagram (ERD)
Sumber : Penulis (2019)
Gambar III.12. Entity Relationship Diagram (ERD)
35
3.4.2. Logical Record Structure (LRS)
Sumber : Penulis (2019)
Gambar III.13. Logical Record Structure (LRS)
36
3.4.3. Spesifikasi File
Struktur file merupakan urutan data-data yang terdapat dalam sebuah record
informasi pengiriman barang atau paket dengan struktur file untuk perancangan
sistem karena struktur file ini akan menentukan data dan jenis data yang mengatakan
panjang elemen data dan jenis struktur file pada perancangan sistem yang dibangun
adalah sebagai berikut
1. Nama File : tbl_anggota
Fumgsi : Digunakan untuk menampilkan data anggota
Akronim : Anggota
Tipe : Master
Media File : Harddisk
Akses File : Random
Panjang Record : 65 karakter
Kunci File : kode_anggota
Software : MYSQL
37
Tabel III.3. Spesifikasi Anggota
N No. Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Anggota no_anggota Varchar 17 Primary Key
2 Nama Anggota nama_anggota Varchar 12
3 Kelas Kelas Varchar 7
4 Jurusan Jurusan Varchar 7
5 Jenis Kelamin jenis_kelamin Varchar 10
6 Alamat Alamat Text
7 No Telepon no_telepon Int 7
8 Status Status Varchar 5
2. Nama File : tbl_buku
Fumgsi : Digunakan untuk menampilkan data buku
Akronim : Buku
Tipe : Master
Media File : Harddisk
Akses File : Random
Panjang Record : 58 karakter
Kunci File : kode_buku
Software : MYSQL
38
III.4. Spesifikasi Buku
No. Elmen Data Akronim Type Panjang Keterangan
1 Kode Buku kode_buku Varchar 15 Primary Key
2 Judul Buku judul_buku Varchar 7
3 Pengarang pengarang Varchar 7
4 Penerbit Penerbit Varchar 7
5 Tahun Terbit tahun_terbit Int 10
6 Kategori Kategori Varchar 7
7 Stok Stok Int 5
3. Nama File : tbl_det_peminjaman
Fumgsi : Digunakan untuk mengelola data detail peminjaman
Akronim : Detail Peminjaman
Tipe : Master
Media File : Harddisk
Akses File : Random
Panjang Record : 25 karakter
Kunci File : no_peminjaman
Software : MYSQL
39
III.5. Spesifikasi Detail Peminjaman
No. Elmen Data Akronim Type Panjang Keterangan
1 No Peminjaman no_peminjaman Varchar 12 Primary Key
2 Kode Buku kode_buku Varchar 7
3 Jumlah Jumlah Int 6
4. Nama File : tbl_det_pengembalian
Fumgsi : Digunakan untuk mengelola data detail pengembalian
Akronim : Detail Pengembalian
Tipe : Master
Media File : Harddisk
Akses File : Random
Panjang Record : 25 karakter
Kunci File : no_pengembalian
Software : MYSQL
III.6. Spesifikasi Detail Pengembalian
No. Elmen Data Akronim Type Panjang Keterangan
1 No Pengembalian no_pengembalian Varchar 12 Primary Key
2 Kode Buku kode_buku Varchar 7
3 Jumlah Jumlah int 6
40
5. Nama File :tbl_peminjaman
Fumgsi : Digunakan untuk mengelola data peminjaman
Akronim : Peminjaman
Tipe : Master
Media File : Harddisk
Akses File : Random
Panjang Record : 41 karakter
Kunci File : no_peminjaman
Software : MYSQL
Tabel III.7. Spesifikasi Peminjaman
N No. Elemen Data Akronim Tipe Panjang Keterangan
11 1 No Peminjaman no_peminjaman Varchar 12 Primary Key
22 2 Tanggal
Peminjaman
tgl_peminjaman date
33 3 Tanggal
Pengembalian
tgl_pengembalian Date
444 Kode Petugas kode_petugas Varchar 11
555 No Anggota no_anggota Varcgar 12
66 Jumlah Buku jumlah_buku int 6
41
6. Nama File :tbl_pengembalian
Fumgsi : Digunakan untuk mengelola data pengembalian
Akronim : Pengembalian
Tipe : Master
Media File : Harddisk
Akses File : Random
Panjang Record : 42 karakter
Kunci File : no_pengembalian
Software : MYSQL
Tabel III.8. Spesifikasi Pengembalian
N No. Elemen Data Akronim Tipe Panjang Keterangan
1 No
Pengembalian
no_pengembalian Varchar 12 Primary Key
2 Tanggal
Pengembalian
tgl_pengembalian date
3 No Peminjaman no_peminjaman Varchar 12
4 Kode Petugas kode_petugas Varchar 11
5 Total Denda Totaldenda int 7
42
7. Nama File :tbl_petugas
Fumgsi : Digunakan untuk mengelola data petugas
Akronim : Petugas
Tipe : Master
Media File : Harddisk
Akses File : Random
Panjang Record : 40 karakter
Kunci File : kode_petugas
Software : MYSQL
Tabel III.9. Spesifikasi Petugas
N No. Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Petugas kode_petugas Varchar 11
2 Nama Petugas nama_petugas Varchar 7
3 User Name Username Varchar 7
4 Hak Akses hak_akses Varchar 10
5 Password Password Varchar 5
43
3.4.4. Squence Diagram
1. Squence Diagram Peminjaman
44
Sumber : Penulis (2019)
Gambar III.14. Squence Diagram Peminjaman
1. Squence Diagram Pengembalian
45
Sumber : Penulis (2019)
Gambar III.15. Squence Diagram Pengembalian
3.4.5. Deployment Diagram
Sumber : Penulis (2019)
Gambar III.16. Deployment Diagram
46
3.4.6. User Interface
1. Tampilan login
2. Tampilan Menu utama
47
3. Tampilan data buku
4. Tampilan data anggota
48
5. Tampilan data peminjaman buku
6. Laporan Anggota
49
7. Laporan stok buku
8. Lapran peminjaman menyeluruh
50
9. Laporan pengembalian menyeluruh
51
3.5. Implementasi
3.5.1 Code Generation
1. Data Anggota
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package GUI;
import java.sql.*;
52
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author ASUS
*/
public class Dataanggota extends javax.swing.JDialog {
koneksi kon = new koneksi();
public form_peminjaman pmj = null;
private Object[][] dataanggota = null;
private String[] label = {"No Anggota", "Nama Anggota", "Kelas", "Jurusan",
"Telepon "};
/**
* Creates new form Dataanggota
*/
public Dataanggota(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
kon.setKoneksi();
Bacatabelanggota();
}
private void Bacatabelanggota() {
try {
53
String sql = "Select *From tbl_anggota order by no_anggota";
kon.rs = kon.st.executeQuery(sql);
ResultSetMetaData m = kon.rs.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (kon.rs.next()) {
baris = kon.rs.getRow();
}
dataanggota = new Object[baris][kolom];
int x = 0;
kon.rs.beforeFirst();
while (kon.rs.next()) {
dataanggota[x][0] = kon.rs.getString("no_anggota");
dataanggota[x][1] = kon.rs.getString("nama_anggota");
dataanggota[x][2] = kon.rs.getString("kelas");
dataanggota[x][3] = kon.rs.getString("jurusan");
dataanggota[x][4] = kon.rs.getString("no_telepon");
x++;
}
tbl_barang.setModel(new DefaultTableModel(dataanggota, label));
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
54
private void Bacatabelanggota2() {
try {
String sql = "select *from tbl_anggota where nama_anggota like '%" +
tcari.getText() + "%' ";
kon.rs = kon.st.executeQuery(sql);
ResultSetMetaData m = kon.rs.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (kon.rs.next()) {
baris = kon.rs.getRow();
}
dataanggota = new Object[baris][kolom];
int x = 0;
kon.rs.beforeFirst();
while (kon.rs.next()) {
dataanggota[x][0] = kon.rs.getString("no_anggota");
dataanggota[x][1] = kon.rs.getString("nama_anggota");
dataanggota[x][2] = kon.rs.getString("kelas");
dataanggota[x][3] = kon.rs.getString("jurusan");
dataanggota[x][4] = kon.rs.getString("no_telepon");
x++;
}
tbl_barang.setModel(new DefaultTableModel(dataanggota, label));
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
55
}
/**
* 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() {
jPanel4 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tbl_barang = new javax.swing.JTable();
tcari = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.Borde
rFactory.createLineBorder(new java.awt.Color(0, 0, 0)), "Tabel Data Anggota"));
tbl_barang.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
56
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
tbl_barang.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tbl_barangMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tbl_barang);
tcari.addInputMethodListener(new java.awt.event.InputMethodListener() {
public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {
}
public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt)
{
tcariInputMethodTextChanged(evt);
}
});
tcari.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tcariActionPerformed(evt);
}
57
});
tcari.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
tcariKeyTyped(evt);
}
});
jLabel2.setText("Cari Barang");
javax.swing.GroupLayout jPanel4Layout = new
javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addComponent(tcari, javax.swing.GroupLayout.PREFERRED_SIZE,
145, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 695, Short.MAX_VALUE))
58
.addContainerGap())
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel4Layout.createSequentialGroup()
.addContainerGap(27, Short.MAX_VALUE)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
BASELINE)
.addComponent(jLabel2)
.addComponent(tcari, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 130,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(19, 19, 19))
);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Icon/datastudents.png"))); //
NOI18N
jLabel1.setText("Data ANGGOTA");
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
59
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE,
101, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
setLocationRelativeTo(null);
}// </editor-fold>
private void tbl_barangMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int tabelBarang = tbl_barang.getSelectedRow();
pmj.kode = tbl_barang.getValueAt(tabelBarang, 0).toString();
60
pmj.nama = tbl_barang.getValueAt(tabelBarang, 1).toString();
pmj.kelas = tbl_barang.getValueAt(tabelBarang, 2).toString();
pmj.jurusan = tbl_barang.getValueAt(tabelBarang, 3).toString();
pmj.not = tbl_barang.getValueAt(tabelBarang, 4).toString();
this.dispose();
}
private void tcariInputMethodTextChanged(java.awt.event.InputMethodEvent evt)
{
// TODO add your handling code here:
}
private void tcariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Bacatabelanggota2();
}
private void tcariKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
Bacatabelanggota2();
}
/**
* @param args the command line arguments
61
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default
look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Dataanggota.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Dataanggota.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Dataanggota.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
62
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Dataanggota.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
/* Create and display the dialog */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Dataanggota dialog = new Dataanggota(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel4;
63
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tbl_barang;
private javax.swing.JTextField tcari;
// End of variables declaration
}
3.5.2. Blackbox Testing
1. Form Login Admin
Tabel III.10. Blackbox Testing Form Login Petugas
No. Skenario
Penulisan
Test Case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1 Nama User dan
Password tidak
diisi kemudian
klik tombol
login
Nama user:
(kosong)
Password:
(kosong)
Sistem akan
menolak akses
dan
menampilkan
pesan “Kode
User dan
Password
salah”
Sesuia
harapan
Valid
2 Mengetikkan
Nama User dan
Password tidak
diisi atau kosong
kemudian klik
tombol login
Nama user:
Petugas
Password:
(kosong)
Sistem akan
menolak akses
dan
menampilkan
pesan “Kode
User dan
Password
salah”
Sesuai
harapan
Valid
3 Nama user tidak
diisi (kosong)
dan Password
diisi kemudian
klik tombol
login
Nama user:
(kosong)
Password:
123
Sistem akan
menolak akses
dan
menampilkan
pesan “Kode
User dan
Password
salah”
Sesui
harapan
Valid
4 Mengetikkan
salah satu
kondisi salah
pada Nama user
Nama user:
Petugas
(benar)
Sistem akan
menolak akses
dan
menampilka
Sesuai
harapan
Valid
64
atau Password
kemudian klik
tombol login
Password:
Petugas
(salah)
pesan “Kode
User dan
Password
salah”
5 Mengetikkan
Nama user dan
Password dengan
data yang benar
kemudian klik
tombol login
Nama user:
Petugas
(benar)
Password:
123
(benar)
Sistem akan
menerima
akses login
dan akan
menampilkan
pesan
“Selamat
Datang Devi”
Sesuai
harapan
Valid
2. Form Master Data Buku
Tabel III.11. Blackbox Testing Buku
No. Skenario
Penulisan
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1 Kode Buku,
Judul Buku,
Pengarang,
Penerbit,
Tahun Terbit,
Kategori Buku,
Jumlah.
Kode Buku:
(kosong)
Judul Buku:
(Kosong)
Pengarang:
(kosong)
Penerbit:
(kosong)
Tahun Terbit:
(kosong)
Kategori Buku:
(kosong)
Jumlah:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
2 Mengetikkan
Judul buku,
Pengarang,
Penerbit,
Tahun Terbit,
Kategori Buku,
Jumlah tidak
diisi atau
kosong
kemudian klik
tombol simpan
Judul Buku:
Matematika
Pengarang:
(kosong)
Penerbit:
(kosong)
Tahun Terbit:
(kosong)
Kategori Buku:
(kosong)
Jumlah:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
3 Mengetikkan
Judul Buku,
Pengarang,
Judul Buku:
(kosong)
Pengarang:
65
Penerbit,
Tahun Terbit,
Kategori Buku,
Jumlah tidak
diisi atau
kosong
kemudian klik
simpan
Deska
Penerbit:
(kosong)
Tahun Terbit:
(kosong)
Kategori Buku:
(kosong)
Jumlah:
(kosong)
4 Mengetikkan
Judul Buku,
Pengarang,
Penerbit,
Tahun Terbit,
Kategori Buku,
Jumlah tidak
diisi atau
kosong
kemudian klik
simpan
Judul Buku:
(kosong)
Pengarang:
(kosong)
Penerbit:
Gramedia
Tahun Terbit:
(kosong)
Kategori Buku:
(kosong)
Jumlah:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
5 Mengetikkan
Judul Buku,
Pengarang,
Penerbit,
Tahun Terbit,
Kategori Buku,
Jumlah tidak
diisi atau
kosong
kemudian klik
simpan
Judul Buku:
(kosong)
Pengarang:
(kosong)
Penerbit:
Gramedia
Tahun Terbit:
2006
Kategori Buku:
(kosong)
Jumlah:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
6 Mengetikkan
Judul Buku,
Pengarang,
Penerbit,
Tahun Terbit,
Kategori Buku,
Jumlah tidak
diisi atau
kosong
kemudian klik
simpan
Judul Buku:
(kosong)
Pengarang:
(kosong)
Penerbit:
Gramedia
Tahun Terbit:
2006
Kategori Buku:
unum
Jumlah:
(kosong)
66
7 Mengetikkan
Judul buku,
Pengarang,
Penerbit,
Tahun Terbit,
Kategori Buku,
Jumlah dengan
data yang
benar
kemudian klik
tombol simpan
Judul Buku:
Matematika
Pengarang:
Deska
Penerbit:
Gramedia
Tahun Terbit:
2016
Kategori Buku:
Umum
Jumlah: 1
3. Form Master Anggota
Tabel III.12. Blackbox Testing Anggota
No. Skenario
Penulisan
Test Case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1 No Anggota,
Nama
Anggota,
Kelas,
Jurusan, Jenis
Kelamin,
Alamat,
Nomor
Telepon,
Status tidak
diisi kemudian
klik tombol
Simpan
No Anggota:
(kosong)
Nama
Anggota:
(kosong)
Kelas:
(kosong)
Jurusan:
(kosong)
Jenis Kelamin:
(kosong)
Alamat:
(kosong)
Nomor
Telepon:
(kosong)
Status:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
2 Nama
Anggota,
Kelas,
Jurusan, Jenis
Kelamin,
Alamat,
Nomor
Telepon,
Status tidak
Nama
Anggota:
Diah
Kelas:
(kosong)
Jurusan:
(kosong)
Jenis Kelamin:
(kosong)
67
diisi kemudian
klik tombol
Simpan
Alamat:
(kosong)
Nomor
Telepon:
(kosong)
Status:
(kosong)
3 Nama
Anggota,
Kelas,
Jurusan,
Jenis Kelamin,
Alamat,
Nomor
Telepon,
Status tidak
diisi kemudian
klik tombol
Simpan
Nama
Anggota:
(kosong)
Kelas: 10C
Jurusan:
(kosong)
Jenis Kelamin:
(kosong)
Alamat:
(kosong)
Nomor
Telepon:
(kosong)
Status:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
4 Nama
Anggota,
Kelas,
Jurusan, Jenis
Kelamin,
Alamat,
Nomor
Telepon,
Status tidak
diisi kemudian
klik tombol
Simpan
Nama
Anggota:
(kosong)
Kelas:
(kosong)
Jurusan:
Akutansi
Jenis Kelamin:
(kosong)
Alamat:
(kosong)
Nomor
Telepon:
(kosong)
Status:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
5 Nama
Anggota,
Kelas,
Jurusan, Jenis
Kelamin,
Alamat,
Nomor
Telepon,
Status tidak
diisi kemudian
klik tombol
Nama
Anggota:
(kosong)
Kelas:
(kosong)
Jurusan:
Akutansi
Jenis Kelamin:
Perempuan
Alamat:
(kosong)
Sistem akan
menolak
akses dan
menampilkan
pesan
“Lengkapi
Data!”
Sesuai
harapan
Valid
68
Simpan Nomor
Telepon:
(kosong)
Status:
(kosong)
6 Nama
Anggota,
Kelas,
Jurusan, Jenis
Kelamin,
Alamat,
Nomor
Telepon,
Status tidak
diisi kemudian
klik tombol
Simpan
Nama
Anggota:
(kosong)
Kelas:
(kosong)
Jurusan:
Akutansi
Jenis Kelamin:
Perempuan
Alamat:
JL. Abadi
Nomor
Telepon:
(kosong)
Status:
(kosong)
7 Nama
Anggota,
Kelas,
Jurusan, Jenis
Kelamin,
Alamat,
Nomor
Telepon,
Status tidak
diisi kemudian
klik tombol
Simpan
Nama
Anggota:
(kosong)
Kelas:
(kosong)
Jurusan:
Akutansi
Jenis Kelamin:
Perempuan
Alamat:
JL. Abadi
Nomor
Telepon:
111213
Status:
(kosong)
8 Nama
Anggota,
Kelas,
Jurusan, Jenis
Kelamin,
Alamat,
Nomor
Telepon,
Status dengan
data yang
benar
kemudian klik
Nama
Anggota:
Diah
Kelas: 10C
Jurusan:
Akutansi
Jenis Kelamin:
Perempuan
Alamat:
JL. Abadi
Nomor
Telepon:
69
tombol
Simpan
111213
Status: Aktif
3.5.3. Spesifikasi Hardware dan Software
Tabel III.13. Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi Microsoft Windows 10
Processor Intel pentium Inside
RAM 4 GB
Harddisk 320 Gb
Monitor 14”
Keyboard Full size
Printer Laser Jet
Mouse Standard
Software
Kebutuhan menjalankan aplikasi secara local: Bahasa
script programming : JAVA 8.1
Web Server : Xampp
DBMS : MySQL
70