Upload
others
View
30
Download
2
Embed Size (px)
Citation preview
20
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Pada SMK Dharma Bhakti Ady Tangerang memiliki sebuah aspek penting
dalam memenuhi kebutuhan para siswa dan orang tua yaitu dalam pembayaran
administrasi sekolah. Dengan meningkatkan pelayanan pada proses pembayaran
administrasi sekolah, maka kebutuhan siswa dan orang tua telah terpenuhi karena
telah melayani dengan efektif dan efisien.
3.1.1. Sejarah Perusahaan
SMK Dharma Bhakti Ady adalah sebuah lembaga pendidikan yang
bernaung di bawah Yayasan Pendidikan Dharma Bhakti Ady yang beralamat di Jl.
Taman Adiyasa Cisoka RT/RW: 05/07 Cikuya, Solear, Kab. Tangerang 15730.
SMK Dharma Bhakti Ady di pimpin oleh bapak Sutan Sudaryo, SE, Sy. Dengan
SK Pendirian: 02/YPDBA/III/2012 – 421.5/309-DISPENDIK/2012 dan NPSN/
NSS: 20623238/ 402280337004, email: [email protected],
website: http://smkdbady.blogspot.com, telepon: 021-59750343, dengan luas
tanah: 4000 m2. SMK Dharma Bhakti Ady ini memiliki 12 ruang kelas, 2 ruang
lab, 1 ruang perpus, 2 ruang guru, dan 4 ruang MCK. Selain itu memiliki 30
tenaga pengajar, 3 karyawan, dan jumlah siswa mencapai 238 siswa. Adapun visi
dan misi SMK Dharma Bhakti Ady sebagai berikut:
21
VISI : “Menghasilkan lulusan yang cerdas, terampil dibidang IPTEK, budaya
yang berkarakter kebangsaan, watak kewirausahaan, memiliki daya saing nasional
serta global dibidang industri, beriman dan berakhlak mulia serta bertakwa kepada
Tuhan Yang Maha Esa”.
MISI :
1. Mengimplementasikan iman dan takwa dalam kehidupan sehari-hari.
2. Mewujudkan manajemen berbasis sekolah tangguh.
3. Mewujudkan sekolah berwawasan wiyatamandala dan budaya bersih.
4. Mewujudkan kualitas kegiatan pengembangan diri dan mengoptimalkan
potensi siswa.
3.1.2. Struktur Organisasi dan Fungsi
Dibawah ini adalah struktur organisasi SMK Dharma Bhakti Ady Tahun
Ajaran 2017/2018.
Sumber: SMK Dharma Bhakti Ady
Gambar III.1. Struktur Organisasi SMK Dharma Bhakti Ady
Kepala Sekolah Dewan Komite
Tata Usaha
Wakasek
Kurikulum
Wakasek Kesiswaan Wakasek Humas Wakasek
Sarpras
Guru
Siswa/ Siswi
22
Berdasarkan struktur organisasi diatas dapat dijelaskan fungsi/ tugas dari setiap
bagiannya, yaitu:
1. Kepala Sekolah
Bertugas : melakukan evaluasi kegiatan sekolah, menciptakan inovasi yang
baru untuk perkembangan sekolah, mengambil keputusan, mengatur
administrasi, menjabarkan dan mengembangkan pembelajaran kurikulum.
2. Dewan Komite
Bertugas : mediator antara pemerintah (eksekutif) dengan masyarakat di
satuan pendidikan, pendukung, baik yang berwujud finansial, tenaga maupun
pemikiran dalam penyelenggaraan pendidikan, mendorong tumbuhnya
perhatian dan komitmen masyarakat terhadap penyelenggaraan pendidikan
yang bermutu.
3. Tata Usaha
Bertugas : menyusun program tata usaha dan administrasi keuangan,
mencatat pembayaran siswa setiap bulan, menyusun laporan pelaksanaan
kegiatan pengurusaan ke tata usahaan secara berkala,
mempertanggungjawabkan keuangan sekolah dengan baik, mengkoordinir
dan melaksanakan pengumpulan sumbangan dana dari orangtua siswa.
4. Wakasek Kurikulum
Bertugas : merencanakan dan melaksanakan ulangan tengah semester serta
ulangan akhir semester, mengkoordinasikan pembagian tugas guru dan
jadwal pembelajaran, mengkaji dan menguasai pelaksanaan dan
pengembangan kurikulum.
23
5. Wakasek Kesiswaaan
Bertugas : merencanakan dan melaksanakan kegiatan penerimaan siswa baru,
meningkatkan kegiatan ekstrakulikuler, menegakkan terwujudnya dan
terlaksananya tata tertib sekolah, menangani berbagai bentuk pelanggaran
yang dilanggar oleh siswa dan memberikan jalan keluarnya.
6. Wakasek Humas
Bertugas : mempersiapkan rapat antar anggota komite sekolah,
mempersiapkan rapat pertemuan antara walikelas dengan orangtua siswa,
mempersiapkan dan mengadakan kegiatan pertandingan antar kelas dan antar
sekolah.
7. Wakasek Sarpras
Bertugas : memelihara barang inventaris sekolah, memelihara dan
meningkatkan kebersihan sekolah, menyediakan dan memelihara alat
pembantu pengajar.
8. Guru
Bertugas : melaksanakan kegiatan belajar mengajar secara efektif disekolah,
melakukan penilaian terhadap proses belajar, mengadakan program
pengembangan pengajaran, melaksanakan analisis hasil ulangan harian.
9. Siswa
Bertugas : memahami dan mempelajari materi yang telah diajarkan, menaati
peraturan tata tertib sekolah, mempertanggung jawabkan hasil
pembelajarannya.
24
3.2. Tinjauan Kasus
3.2.1. Proses Bisnis Sistem Berjalan
Siswa melakukan pembayaran SPP kepada pihak TU diruang tata usaha.
Siswa memberikan uang dan kartu SPP kepada TU, kemudian TU melakukan
pencatatan dikartu SPP dengan mengisi tanggal pembayaran, memberi paraf dan
stempel, setelah pencatatan selesai kartu tersebut dikembalikan kepada siswa.
Selanjutnya TU langsung menulis transaksi pembayaran SPP tersebut dibuku
pembayaran iuran SPP agar tidak terjadi kesalahan pencatatan. Setiap bulan TU
membuat laporan pembayaran iuran SPP baik per kelas ataupun keseluruhan
berdasarkan buku pembayaran iuran SPP. Kemudian laporan pembayaran iuran
SPP diberikan kepada kepala sekolah untuk di ACC atas keakuratan laporan
tersebut dan diarsipkan pada arsip laporan pembayaran iuran SPP.
25
1.2.2. Activity Diagram
Gambar III.2. Activity Diagram Proses Bisnis Sistem Berjalan
1.2.3. Dokumen Masukan
Spesifikasi sistem berjalan yaitu serangkaian dari bentuk dokumen untuk
mendukung terbentuknya file-file yang dibutuhkan serta informasi yang
disajikan, maka dibutuhkan masukan-masukan untuk sistem.
1. Nama dokumen : Kartu pembayaran SPP
Fungsi : Sebagai bukti sudah melakukan pembayaran SPP
Sumber : Siswa
Tujuan : Tata Usaha
26
Media : Kertas
Jumlah : Satu lembar
Frekuensi : Setiap melakukan pembayaran SPP
Format : Lampiran A.1
1.2.4. Dokumen Keluaran
1. Nama Dokumen : Buku Pembayaran Iuran SPP
Fungsi : Sebagai pencatatan data pembayaran SPP
Sumber : Tata Usaha
Tujuan : Kepala Sekolah
Media : Kertas
Jumlah : Satu lembar
Frekuensi : Setiap ada data pembayaran SPP
Format : Lampiran B.1
2. Nama Dokumen : Laporan Pembayaran Iuran SPP
Fungsi : Laporan data pembayaran SPP selama 1(satu)
Bulan
Sumber : Tata Usaha
Tujuan : Kepala Sekolah
Media : Kertas
Jumlah : Satu lembar
Frekuensi : Setiap bulan
Format : Lampiran B.2
27
1.2.5. Permasalahan Pokok
Dari sistem yang ada, maka penulis dapat melihat permasalahan yang
terjadi pada SMK Dharma Bhakti Ady Tangerang sebagai berikut :
1. Dibutuhkan waktu yang cukup lama untuk pencarian data, sehingga dapat
menyebabkan tertundanya proses transaksi pembayaran SPP.
2. Adanya kesalahan dalam pencatatan data pembayaran SPP yang dapat
menyebabkan keterlambatan dalam pembuatan laporan.
3. Membutuhkan tempat penyimpanan yang cukup banyak untuk menyimpan
dokumen pembayaran dan data siswa yang dapat memberi resiko
kemungkinan dokumen hilang atau rusak.
3.2.6. Pemecahan Masalah
Berdasarkan permasalahan pokok diatas, maka penulis mencoba
memberikan alternatif pemecahan masalah dalam permasalahan sistem
pembayaran SPP pada SMK Dharma Bhakti Ady Tangerang yaitu dengan
menggunakan sistem komputerisasi dan penyimpanan file-file data tanpa
harus menghilangkan prosedur yang ada. Adapun alternatif untuk masalah
diatas adalah sebagai berikut :
1. Dengan sistem yang terkomputerisasi ini, dalam pencatatan yang
dilakukan akan lebih mengefisien waktu.
2. Membuat database di dalam penyimpanan hard disk agar semua data
dapat tersimpan dengan baik, dan mengurangi arsip yang berlebihan
dengan menggunakan file yang spesifik sehingga mudah dicari dan
memiliki ruang penyimpanan yang memadai.
28
3. Dalam pembuatan laporan lebih efektif dan kesalahan nilai kemungkinan
sangat kecil karena penggunaan media komputer sebagai alat bantu dalam
pemrosesan data ini dapat diperoleh informasi yang lebih cepat, tepat, dan
akurat.
3.3. Analisis Kebutuhan Software
3.3.1. Analisis Kebutuhan
Berdasarkan proses pembayaran SPP sistem berjalan pada SMK
Dharma Bhakti Ady, maka tahapan berikutnya adalah analisa kebutuhan.
Berikut ini spesifikasi kebutuhan (system requirement) dari sistem
pembayaran SPP pada SMK Dharma Bhakti Ady.
A. Tata Usaha (TU)
A1. TU Login
A2. TU mengelola data akun
A3. TU mengelola data kelas
A4. TU mengelola data siswa
A5. TU mengelola data tahun ajaran
A6. TU mengelola data tata usaha
A7. TU mengelola data jurnal umum
A8. TU mengelola data pembayaran SPP
A9. TU mengelola dan mencetak data laporan kelas
A10. TU mengelola dan mencetak data laporan siswa
A11. TU mengelola dan mencetak data laporan tahun ajaran
A12. TU mengelola dan mencetak data laporan tata usaha
A13. TU mengelola dan mencetak data laporan jurnal umum
29
A14. TU mengelola dan mencetak data laporan pembayaran SPP
A15. TU mengelola dan mencetak data laporan tunggakan
A16. TU Logout
3.3.2. Use Case Diagram Tata Usaha
Gambar III.3. Use Case Diagram Tata Usaha
30
Tabel III.1 Deskripsi Use Case Diagram Tata Usaha
Use Case Narative Tata Usaha
Tujuan
TU dapat melihat data yang ada di dalam sistem
halaman tata usaha
Deskripsi
Sistem ini memungkinkan aktor untuk masuk ke
halaman tata usaha yang didalamnya ada data tata
usaha, data siswa, data kelas, data akun, data tahun
ajaran, transaksi pembayaran spp, jurnal umum, laporan
data siswa, laporan data kelas, laporan data tata usaha,
laporan data tahun ajaran, laporan jurnal umum, laporan
transaksi, dan laporan tunggakan.
Skenario Utama
Aktor
Tata Usaha
Kondisi Awal
Aktor membuka Aplikasi halaman tata usaha
Aksi Aktor
Reaksi Sistem
1. Aktor memilih
data siswa
2. Aktor memilih
data kelas
3. Aktor memilih
data tahun ajaran
4. Aktor memilih
data tata usaha
5. Aktor memilih
data akun
6. Aktor memilih
data transaksi
pembayaran SPP
7. Aktor memilih
jurnal umum
8. Aktor memilih
laporan data siswa
9. Aktor memilih
laporan data kelas
10. Aktor memilih
laporan data tahun
ajaran
11. Aktor memilih
laporan data tata
usaha
Sistem ini akan menampilkan informasi data siswa
Sistem ini akan menampilkan informasi data kelas
Sistem ini akan menampilkan informasi data tahun
ajaran
Sistem ini akan menampilkan informasi data tata usaha
Sistem ini akan menampilkan informasi data akun
Sistem ini akan menampilkan informasi data transaksi
pembayaran SPP
Sistem ini akan menampilkan informasi jurnal umum
Sistem ini akan menampilkan informasi laporan data
siswa
Sistem ini akan menampilkan informasi laporan data
kelas
Sistem ini akan menampilkan informasi laporan data
tahun ajaran
Sistem ini akan menampilkan informasi laporan data
tata usaha
31
12. Aktor memilih
laporan data jurnal
umum
13. Aktor memilih
laporan transaksi
pembayaran SPP
14. Aktor memilih
laporan data
tunggakan
Sistem ini akan menampilkan informasi laporan data
jurnal umum
Sistem ini akan menampilkan informasi laporan data
transaksi pembayaran SPP
Sistem ini akan menampilkan informasi laporan data
tunggakan
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
yang di inginkan
3.3.3. Activity Diagram Tata Usaha
Gambar III.4. Activity Diagram Tata Usaha
32
3.4. Desain
3.4.1. Entity Relationship Diagram (ERD)
Gambar III.5. Entity Relationship Diagram (ERD)
33
3.4.2. Logical Record Structure (LRS)
Gambar III.6. Logical Record Structure (LRS)
34
3.4.3. Spesifikasi File
1. Spesifikasi File Tabel User
Nama Database : user
Nama File : user
Tipe File : File Master
Akses File : Random
Panjang Record : 105 karakter
Field Key : nip
Tabel III.2
Spesifikasi File User
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Nomor induk Nip Varchar 10 Primary Key
2. Nama tata usaha Nama_tu Varchar 20
3. Alamat Alamat Varchar 30
4. No. Telpon No_telp Varchar 15
5. Jenis Kelamin J_kelamin Varchar 10
6. Username Username Varchar 12
7. Password Password Varchar 8
2. Spesifikasi File Tabel Siswa
Nama Database : siswa
Nama File : siswa
Tipe File : File Master
Akses File : Random
35
Panjang Record : 100 karakter
Field Key : nis
Tabel III.3
Spesifikasi File Siswa
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Nomor induk siswa Nis Varchar 10 Primary Key
2. Nama siswa Nama_siswa Varchar 30
3. Alamat Alamat Varchar 20
4. Jenis Kelamin J_kelamin Varchar 10
5. Tanggal lahir Tgl_lahir Date
6. Agama Agama Varchar 10
7. Nama kelas Nama kelas Varchar 10
8. Kode tahun ajaran Kd_t_ajaran Varchar 10 Foreign Key
3. Spesifikasi File Tabel Kelas
Nama Database : kelas
Nama File : kelas
Tipe File : File Master
Akses File : Random
Panjang Record : 20 karakter
Field Key : kd_kelas
36
Tabel III.4
Spesifikasi File Kelas
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Kode kelas Kd_kelas Varchar 10 Primary Key
2. Nama Kelas Nama_kelas Varchar 10
4. Spesifikasi File Tabel Tahun Ajaran
Nama Database : tahun_ajaran
Nama File : tahun ajaran
Tipe File : File Master
Akses File : Random
Panjang Record : 35 karakter
Field Key : kd_t_ajaran
Tabel III.5
Spesifikasi File Tahun Ajaran
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Kode tahun ajaran Kd_t_ajaran Varchar 10 Primary Key
2. Tahun ajaran T_ajar Varchar 10
3. Jumlah bayar spp B_spp Int 15
5. Spesifikasi File Tabel Data Akun
Nama Database : data_akun
Nama File : data akun
Tipe File : File Master
37
Akses File : Random
Panjang Record : 35 karakter
Field Key : kd_akun
Tabel III.6
Spesifikasi File Data Akun
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Kode akun Kd_akun Varchar 5 Primary Key
2. Nama Akun Nm_akun Varchar 20
3. Jenis Saldo Jns_saldo Varchar 10
6. Spesifikasi File Tabel Status
Nama Database : status
Nama File : status
Tipe File : File Master
Akses File : Random
Panjang Record : 40 karakter
Field Key : nis
Tabel III.7
Spesifikasi File Status
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Bulan Bulan Varchar 15
2. Status Status Varchar 15
3. NIS Nis Varchar 10 Foreign Key
38
7. Spesifikasi File Tabel Bulan
Nama Database : bulan
Nama File : bulan
Tipe File : File Master
Akses File : Random
Panjang Record : 27 karakter
Field Key : no
Tabel III.8
Spesifikasi File Bulan
No. Elemen Data Akronim Tipe Panjang Keterangan
1. No No Int 12 Primary Key
2. Bulan Bulan Varchar 15
8. Spesifikasi File Tabel SPP
Nama Database : spp
Nama File : spp
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 55 karakter
Field Key : id_pembayaran
39
Tabel III.9
Spesifikasi File SPP
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Id Pembayaran Id_pembayaran Varchar 10 Primary Key
2. NIS Nis Varchar 10 Foreign Key
3. NIP Nip Varchar 10 Foreign Key
4. Jumlah Bulan J_bulan Varchar 15
5. Jumlah Bayar Jumlah Int 10
6. Tanggal
pembayaran
Tgl_pembayaran Date
9. Spesifikasi File Tabel Detail SPP
Nama Database : detail_spp
Nama File : detail spp
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 70 karakter
Field Key : id_spp
40
Tabel III.10
Spesifikasi File Detail SPP
No. Elemen Data Akronim Tipe Panjang Keterangan
1. Kode SPP Id_spp Int 10 Primary Key
2. Bulan Bulan Varchar 20
3. Bayar Bayar Varchar 15
4. NIS Nis Varchar 10 Foreign Key
5. Kode Pembayaran Id_pembayaran Varchar 15 Foreign Key
10. Spesifikasi File Tabel Jurnal
Nama Database : jurnal
Nama File : jurnal
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 20 karakter
Field Key : no_jurnal
Tabel III.11
Spesifikasi File Jurnal
No. Elemen Data Akronim Tipe Panjang Keterangan
1. No. Jurnal No_jurnal Varchar 10 Primary Key
2. Tanggal jurnal Tgl_jurnal Date
3. Id pembayaran Id_pembayaran Varchar 10 Foreign Key
41
11. Spesifikasi File Tabel Detail Jurnal
Nama Database : detail_jurnal
Nama File : detail jurnal
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 100 karakter
Field Key : no_jurnal
Tabel III.12
Spesifikasi File Detail Jurnal
No. Elemen Data Akronim Tipe Panjang Keterangan
1. No. Jurnal No_jurnal Varchar 10 Foreign Key
2. Debet Debet Int 15
3. Kredit Kredit Int 15
4. Tanggal jurnal Tgl_jurnal Date
5. Nama akun Nm_akun Varchar 10
6. Keterangan Keterangan Varchar 50
42
3.4.4. Sequence Diagram
1. Sequence Diagram Transaksi Pembayaran SPP
Gambar III.7. Sequence Diagram Transaksi Pembayaran SPP
43
3.4.5. Deployment Diagram Sistem Pembayaran SPP
Gambar III.8. Deployment Diagram Sistem Pembayaran SPP
3.4.6. User Interface
1. User Interface Login
Gambar III.9. User Interface Login
44
2. User Interface Menu Utama
Gambar III.10. User Interface Menu Utama
3. User Interface Data Siswa
Gambar III.11. User Interface Data Siswa
45
4. User Interface Data Kelas
Gambar III.12. User Interface Data Kelas
5. User Interface Data Tahun Ajaran
Gambar III.13. User Interface Data Tahun Ajaran
46
6. User Interface Data Tata Usaha
Gambar III.14. User Interface Data Tata Usaha
7. User Interface Data Akun
Gambar III.15. User Interface Data Akun
47
8. User Interface Transaksi Pembayaran SPP
Gambar III.16. User Interface Transaksi Pembayaran SPP
9. User Interface Jurnal Umum
Gambar III.17. User Interface Jurnal
48
10. User Interface Laporan Data Siswa
Gambar III.18. User Interface Laporan Data Siswa
11. User Interface Laporan Data Kelas
Gambar III.19. User Interface Laporan Data Kelas
12. User Interface Laporan Data Tahun Ajaran
Gambar III.20. User Interface Laporan Data Tahun Ajaran
13. User Interface Laporan Data Tata Usaha
Gambar III.21. User Interface Laporan Data Tata Usaha
49
14. User Interface Laporan Transaksi
Gambar III.22. User Interface Laporan Transaksi
15. User Interface Laporan Tunggakan
Gambar III.23. User Interface Laporan Tunggakan
16. User Interface Laporan Jurnal Umum
Gambar III.24. User Interface Laporan Jurnal Umum
50
3.5. Implementasi
3.5.1. Code Generation
1. Form Transaksi Pembayaran SPP
package gui;
import entitas.*;
import java.io.File;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import method.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import method.Siswa_Method;
/**
*
* @author User
*/
51
public class Pembayaran extends javax.swing.JFrame {
private DefaultTableModel model;
String auto;
Connection con = null;
Statement st = null;
ResultSet rs = null;
String sql = null;
String Bln;
List<Entitas_Siswa> listSiswa = new ArrayList<>();
Entitas_Siswa es = new Entitas_Siswa();
Siswa_Method sm = new Siswa_Method();
private DefaultTableModel modeltrnas;
List<Entitas_Pembayaran> listBayar = new ArrayList<>();
Entitas_Pembayaran ep = new Entitas_Pembayaran();
SPP_Method sp = new SPP_Method();
List<Entitas_Trans> listSpp = new ArrayList<>();
Entitas_Trans et = new Entitas_Trans();
Trans_Method tm = new Trans_Method();
List<Entitas_TA> listTA = new ArrayList<>();
Entitas_TA eta = new Entitas_TA();
TA_Method tam = new TA_Method();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> param = new HashMap<String, Object>();
int total,jml;
// LaporanControl lc = new LaporanControl();
/**
* Creates new form Pembayaran
*/
52
public Pembayaran() {
initComponents();
Locale.setDefault(new Locale("in", "ID"));
tgl.setDate(new Date());
BuatTabel();
tampil();
try {
st = koneksi.getKoneksi().createStatement();
} catch (SQLException ex) {
Logger.getLogger(Pembayaran.class.getName()).log(Level.SEVERE, null,
ex); }
SiapIsi(false);
btntambah.setEnabled(true);
nip.setText(MenuUtama.nip.getText());
private void btntambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(btntambah.getText().equalsIgnoreCase("baru")){
btntambah.setText("Simpan");
Bersih();
buatNota();
BuatTabelsiswa();
tampilsiswa();
SiapIsi(true);
btntambah.setEnabled(true);
btnhapus.setEnabled(true);
btnsimpan.setEnabled(true);
btnkeluar.setEnabled(true);
}else{
String pilihan[] = {"Ya ", "Tidak "};
53
int pesan = JOptionPane.showOptionDialog(this, "Yakin ingin Menyimpan
Data Transaksi ??","Simpan",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, pilihan, pilihan[0]);
if(pesan == JOptionPane.YES_OPTION){
ep.setId_pembayaran(nobayar.getText());
ep.setTgl_pembayaran(sdf.format(tgl.getDate()));
ep.setNis(nis.getText());
ep.setNip(nip.getText());
ep.setBulan(j_bln.getText());
ep.setJumlah(jml);
btntambah.setText("Baru");
if(sp.edit(ep)==1){
JOptionPane.showMessageDialog(null, "Simpan Data Berhasil");
}else{
JOptionPane.showMessageDialog(null, "Simpan Data Gagal !!"); }
BuatTabel();
tombolAwal();
Bersih(); }} }
private void btnsimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(nobayar.getText().isEmpty() || nis.getText().isEmpty()
|| jumbay.getText().isEmpty()||bulan.getSelectedIndex()==0){
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Data !!");
}else{
total=Integer.valueOf(j_bln.getText())+1;
j_bln.setText(""+total);
jml=(total*Integer.valueOf(jumbay.getText()));
totalbayar.setText("Rp."+jml);
54
ep.setId_pembayaran(nobayar.getText());
ep.setTgl_pembayaran(sdf.format(tgl.getDate()));
ep.setNis(nis.getText());
ep.setNip(nip.getText());
ep.setBulan(j_bln.getText());
ep.setJumlah(Integer.parseInt(jumbay.getText()));
et.setBayar(jumbay.getText());
et.setBulan(bulan.getSelectedItem().toString());
et.setId_pembayaran(nobayar.getText());
et.setNis(nis.getText());
if(btntambah.getText().equalsIgnoreCase("Simpan")){
if (tbltrans.getRowCount()==0) {
if(sp.tambah(ep)==1){
tm.tambah(et);
entitas.nunggak n=new nunggak();
method.Nunggak_Method mn=new Nunggak_Method();
mn.ubahlunas(nis.getText(),bulan.getSelectedItem().toString());
JOptionPane.showMessageDialog(null, "Simpan Data Berhasil");
}else{
JOptionPane.showMessageDialog(null, "Simpan Data Gagal !!"); }
tampil(); }
else{
if(tm.tambah(et)==1){
JOptionPane.showMessageDialog(null, "Simpan Data Berhasil");
}else{
JOptionPane.showMessageDialog(null, "Simpan Data Gagal !!"); }
tampil(); }
(nis.getText(), nobayar.getText()); }
55
KurangBulan();
bulan.setSelectedIndex(0);
// Bersih();
// SiapIsi(false); }}
private void btnhapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
total=Integer.valueOf(j_bln.getText())-1;
j_bln.setText(""+total);
jml=(total*Integer.valueOf(jumbay.getText()));
totalbayar.setText("Rp."+jml);
et.setBulan(Bln);
et.setNis(nis.getText());
et.setId_pembayaran(nobayar.getText());
int pesan = JOptionPane.showConfirmDialog(null, "Apakah Anda Yakin
Ingin Menghapus Data Ini ??", "Konfirmasi", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(pesan == JOptionPane.YES_OPTION){
if (tbltrans.getRowCount()==1) {
if((sp.hapus(et)==1) && (tm.hapus(et)==1)){
cekbulan();
entitas.nunggak n=new nunggak();
method.Nunggak_Method mn=new Nunggak_Method();
n.setNis(nis.getText());=[
JOptionPane.showMessageDialog(null, "Hapus Data Berhasil");
tampil();
}else{
JOptionPane.showMessageDialog(null, "Hapus Data Gagal !!");
}}
else{
56
if(sp.hapus(et)==1){
cekbulan();
JOptionPane.showMessageDialog(null, "Hapus Data Berhasil");
tampil();
}else{
JOptionPane.showMessageDialog(null, "Hapus Data Gagal !!!"); }}}
SiapIsi(true); }
private void btnkeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose(); }
private void tblsiswaMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int baris = tblsiswa.getSelectedRow();
nis.setText(tblsiswa.getModel().getValueAt(baris,0).toString());
txtnama.setText(tblsiswa.getModel().getValueAt(baris,1).toString());
listSiswa = sm.tampilSiswa(nis.getText());
kelas.setText(listSiswa.get(0).getKelas());
TA.setText(listSiswa.get(0).getTahun_ajaran());
jumbay.setText(""+listSiswa.get(0).getB_spp());
jDialog1.setVisible(false);
cekbulan(); }
private void cariKeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
String find = null;
find = cari.getText();
model.getDataVector().removeAllElements();
model.fireTableDataChanged();
listSiswa.clear();
57
listSiswa=sm.cari(find);
for (int i = 0; i < listSiswa.size(); i++) {
Object[] a=new Object[3];
a[0]=listSiswa.get(i).getNis();
a[1]=listSiswa.get(i).getNama_siswa();
a[2]=listSiswa.get(i).getAlamat();
model.addRow(a); } }
private void edcariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jDialog1.pack();
jDialog1.setAlwaysOnTop(true);
jDialog1.setVisible(true);
BuatTabelsiswa();
tampilsiswa(); }
private void tbltransMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int baris = tbltrans.getSelectedRow();
Bln=(tbltrans.getModel().getValueAt(baris, 0).toString());
btnhapus.setEnabled(true);
btnsimpan.setEnabled(false);
btntambah.setEnabled(false);
jLabel15.setText(Bln); }
private void jScrollPane2MouseClicked(java.awt.event.MouseEvent evt) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Pembayaran().setVisible(true); } }); }
58
private void BuatTabelsiswa(){
model=new DefaultTableModel();
model.addColumn("NIS");
model.addColumn("Nama");
model.addColumn("Kelas");
model.addColumn("Tahun Ajaran");
tblsiswa.setModel(model); }
private void tampilsiswa(){
model.getDataVector().removeAllElements();
model.fireTableDataChanged();
listSiswa.clear();
listSiswa=sm.tampil();
for (int i = 0; i < listSiswa.size(); i++) {
Object[] a=new Object[4];
a[0]=listSiswa.get(i).getNis();
a[1]=listSiswa.get(i).getNama_siswa();
a[2]=listSiswa.get(i).getKelas();
a[3]=listSiswa.get(i).getTahun_ajaran();
model.addRow(a); } }
private void buatNota(){
try {
String sql = "SELECT id_pembayaran FROM spp ORDER BY id_pembayaran
DESC";
rs=st.executeQuery(sql);
if (rs.next()) {
String kd_barang = rs.getString("id_pembayaran").substring(2);
String AN = "" +(Integer.parseInt(kd_barang) + 1);
String Nol = "";
if(AN.length()==1)
59
{Nol = "0000";}
else if(AN.length()==2)
{Nol = "000";}
else if(AN.length()==3)
{Nol = "00";}
else if(AN.length()==4)
{Nol = "0";}
else if(AN.length()==5)
{Nol = "";}
nobayar.setText("N-"+ Nol +AN);
} else {
nobayar.setText("N-00001");
}
} catch (Exception e) {
e.printStackTrace(); } }
private void tombolAwal(){
btntambah.setEnabled(true);
btnsimpan.setEnabled(false);
btnhapus.setEnabled(false);
btnkeluar.setEnabled(true);
// kode.setEnabled(true);}
private void Bersih(){
nobayar.setText(null);
nis.setText(null);
bulan.setSelectedIndex(0);
totalbayar.setText("Rp.0");
j_bln.setText("0");
totalbayar.setText("0");
60
txtnama.setText(null);
kelas.setText(null);
TA.setText(null);
jumbay.setText(null);
totalbayar.setText("0");}
private void Bersih2(){
bulan.setSelectedIndex(0);
totalbayar.setText("Rp.0");
j_bln.setText("0");
totalbayar.setText("0");
txtnama.setText(null);
kelas.setText(null);
TA.setText(null);
jumbay.setText(null);
totalbayar.setText("0"); }
private void BuatTabel(){
modeltrnas=new DefaultTableModel();
modeltrnas.addColumn("Bulan");
modeltrnas.addColumn("Bayar");
tbltrans.setModel(modeltrnas); }
private void tampil(){
modeltrnas.getDataVector().removeAllElements();
modeltrnas.fireTableDataChanged();
listSpp.clear();
listSpp=tm.tampilBayar(nobayar.getText(), nis.getText());
for (int i = 0; i < listSpp.size(); i++) {
Object[] a=new Object[6];
a[0]=listSpp.get(i).getBulan();
61
a[1]=listSpp.get(i).getBayar();
modeltrnas.addRow(a); }}
private void SiapIsi(boolean a){
nobayar.setEnabled(false);
nis.setEnabled(false);
bulan.setEnabled(a);
edcari.setEnabled(a);
btnhapus.setEnabled(false);
btnsimpan.setEnabled(a);
btntambah.setEnabled(a);
tgl.setEnabled(false);
nip.setEnabled(false);
jumbay.setEnabled(false);
txtnama.setEnabled(false);
TA.setEnabled(false);
kelas.setEnabled(false); }
void cekbulan(){
bulan.setModel(new javax.swing.DefaultComboBoxModel(new
String[] { "pilih", "Juli", "Agustus", "September", "Oktober", "November",
"Desember", "Januari", "Februari", "Maret", "April", "Mei", "Juni" }));
listSpp=tm.tampilBulan(nis.getText());
for (int i = 0; i < listSpp.size(); i++) {
Object[] a=new Object[6];
bulan.removeItem( a[1]=listSpp.get(i).getBulan()); }
if (bulan.getItemCount()==1) {
JOptionPane.showMessageDialog(null,"Siswa Telah Melunasi SPP
Tahun Ajaran Ini !!!");
btnsimpan.setEnabled(false);
btntambah.setEnabled(true);
62
Bersih2();
// btntambah.setText("Baru");
}else{
btnsimpan.setEnabled(true); }}
void KurangBulan(){
bulan.setModel(new javax.swing.DefaultComboBoxModel(new
String[] { "pilih", "Juli", "Agustus", "September", "Oktober", "November",
"Desember", "Januari", "Februari", "Maret", "April", "Mei", "Juni" }));
listSpp=tm.tampilBulan(nis.getText());
for (int i = 0; i < listSpp.size(); i++) {
Object[] a=new Object[6];
bulan.removeItem( a[1]=listSpp.get(i).getBulan()); }
if (bulan.getItemCount()==1) {
JOptionPane.showMessageDialog(null,"Siswa Telah Melunasi SPP
Tahun Ajaran Ini !!!");
btnsimpan.setEnabled(false);
}else{ } } }
63
3.5.2. Blackbox Testing
1. Form Data Kelas
Tabel III.13
Hasil Pengujian Black Box Testing Form Data Kelas
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1. Kode Kelas
dan Nama
Kelas tidak
diisi
kemudian
klik tombol
simpan
Kode kelas:
(kosong)
Nama kelas:
(kosong)
Sistem akan
menolak akses
dan menampilkan
pesan “Silahkan
Lengkapi Data ”.
Sesuai
harapan
Valid
2. Mengetikkan
Kode Kelas
namun Nama
Kelas tidak
diisi atau
kosong
kemudian
klik tombol
simpan
Kode kelas:
(171811AK1)
Nama kelas :
(kosong)
Sistem akan
menolak akses
dan menampilkan
pesan “Silahkan
Lengkapi Data”.
Sesuai
harapan
Valid
3. Mengetikkan
Nama Kelas
dan Kode
Kelas tidak
diisi atau
kosong
kemudian
klik tombol
simpan
Kode kelas:
(Kosong)
Nama kelas :
(11 AK-1)
Sistem akan
menolak
Akses dan
menampilkan
pesan “Silahkan
Lengkapi Data”.
Sesuai
harapan
Valid
4. Mengetikkan
Kode Kelas
dan Nama
Kelas
kemudian
klik tombol
Simpan
Kode kelas :
(171811AK1)
Nama kelas :
(11 AK-1)
Sistem akan
menerima akses
simpan dan akan
menampilkan
pesan “Simpan
Data Berhasil”.
Sesuai
harapan
Valid
64
3.5.3. Spesifikasi Hardware dan Software
Tabel IV.14
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Microsoft Windows 7 32-bit
Processor Celeron 1000M @ 1,1 Ghz
RAM 2 GB
Hard Disk 320 GB
Monitor LCD 14 “
Keyboard 108 key
Printer Injket
Mouse Standard
Software Kebutuhan menjalankan aplikasi secara local :
Bahasa Script Programing: Java Netbeans IDE 8.1
Web Server : Apache 2.4.3
DBMS : MySQL