3.1. Tinjauan Perusahaan
Setiap organisasi atau perusahaan pasti membutuhkan fungsi serta struktur
jabatan yang jelas didalamnya. Hal ini dimaksudkan agar proses bisnis dapat berjalan
sesuai dengan yang diharapkan.
Tahap tinjauan perusahaan ini, penulis akan menjelaskan hal-hal yang berkaitan
dengan perusahaan diantaranya adalah sejarah perusahaan, struktur organisasi beserta
tanggung jawab dari tiap-tiap bagian dalam perusahaan.
3.1.1. Sejarah Perusahaan
PT Markoni Mandiri Perkasa tumbuh dari sebuah entitas bisnis kecil yang
didirikan di Pamanukan oleh Bapak Ir. Emanuel Suherling pada tahun 1987. Pada
awalnya menjalankan bisnis service kendaraan bermotor di Pamanukan, hingga
kemudian diangkat menjadi AHHASS.
Seiring waktu berjalan, pada tahun 2001 Bapak Ir. Emanuel Suherling mulai
menjalankan bisnis penjualan Sepeda Motor Honda yang didukung oleh PT Daya
Adicipta Mustika (PT Daya Adicipta Motora) memberikan kepercayaan kepada PT
Markoni Mandiri Perkasa untuk menjadi dealer motor khusu nya penjualan motor
honda di wilayah Pamanukan Kab.Subang, Jawa Barat.
Dari tahun ke tahun dealer motor ini semakin maju dan berkembang, sehingga
akhirnya ingin mengembangkan bisnis penjualan kendaraan sepeda motornya menjadi
Induk Usaha 9120207852502) dan beralamat di JL. Raya Cikalongsari RT 001/ RW
004, Kec Jatisari, Kab. Karawang – 41374.
3.1.2. Struktur Organisasi dan Fungsi
Sumber: PT. Markoni Mandiri Perkasa
Gambar III.1
Struktur Organisasi
Fungsi:
1.
Pemilik Dealer
Bertanggung jawab atas kemajuan perusahaan dan kinerja karyawan serta
mengawasi setiap kegiatan yang dilakukan dalam perusahaan tersebut agar tidak
terjadinya suatu masalah besar dan merugikan perusahaan maupun karyawan
yang bekerja.
2.
Kepala Cabang
Bertanggung jawab dalam membantu pemilik dealer dalam mengatur,
merencanakan rencana kerja, mengawasi kegiatan pelaksanaan penjualan dan
bertanggung jawab atas setiap penjualan yang terjadi pada dealer tersebut dan
menentukan dalam pengaturan permintaan jumlah kendaraan motor sebagai
stok.
3.
Admin Service
Bertanggung jawab terhadap pelayanan jasa service yang terjadi serta bertugas
untuk merekap laporan hasil dari pendapatan jasa service motor setiap bulan nya.
4. Kepala Mekanik
Bertanggung jawab dan mengawasi kinerja atas apa yang dilakukan oleh atau
dikerjakan oleh para mekanik.
5.
Mekanik
Bertanggung jawab terhadap setiap perbaikan kendaraan motor pelanggan dan
3.2. Tinjauan Kasus
3.2.1. Proses Bisnis Sistem Berjalan
Berikut adalah proses sistem berjalan yang ada pada PT.Markoni Mandiri
Perkasa:
Customer mendatangi bagian admin service untuk melalukan pendaftaran.
Selanjutnya customer menunjukan STNK kepada admin dan selanjutnya diperiksa
terdahulu lalu, setelah itu admin mencatat daftar customer ke buku WO (Work Order)
dan STNK akan di simpan terlebih dahulu. Lalu, admin memperbolehkan bagian
mekanik untuk melihat dan memperbaiki motor customer Setelah selesai proses
perbaikan, maka bagian mekanik memberikan nota yang berisi kerusakan apa saja
yang dialami oleh motor tersebut dan admin akan menunjukan atau memberikan nota
tersebut kepada pemilik motor.
Setelah proses perbaikan selesai admin mecatat total biaya kerusakan dan jasa
service dalam nota yang nanti nya akan ditunjukan kepada pemilik motor atau
customer setelah admin selesai mecatat pada nota pembayaran, maka pemilik motor
akan di panggil dan akan di berikan total biaya keseluruhan dari kerusakan motor dan
jasa nya. Setelah itu pemilik motor membayar secara tunai kepada pihak admin. Lalu
admin memberikan nota pembayaran dan STNK ke pada pemilik motor. Admin
menyimpan nota pembayaran dan diinput kedalam Ms.excel.
Pada proses pendapatan jasa service admin merekap dan membuat laporan
pendapat hasil dari keseluruhan transaksi yang ada pada jasa service motor selama satu
bulan. Setelah itu diserahkan kepada Kepala Cabang, setelah itu Kepala Cabang
3.2.2. Activity Diagram
A.
Activity Diagram Jasa Service Motor
Sumber: PT. Markoni Mandiri Perkasa
Gambar III.2
B.
Activity Digram Pembuatan Laporan
Sumber: PT. Markoni Mandiri Perkasa
Gambar III.3
Activity Diagram Pembuatan Laporan
3.2.3. Dokumen Masukan
Dokumen masukan adalah dokumen yang dimasukan kedalam sistem untuk
diproses agar sistem dapat berjalan sehingga dapat menghasilkan keluaran. Adapun
dokumen masukan PT. Markoni Mandiri Perkasa sebagai berikut:
1.
WO (Work Order)
Nama
: Tanda Bukti Pendaftaran
Fungsi
: Sebagai Laporan data pelanggan
Sumber
: Admin Service
Tujuan
: customer
Frekuensi
: Setiap Terjadinya Pendaftaran service Kendaraan Motor
Jumlah
: 1 Rangkap
Bentuk
: Lampiran A.1
2.
STNK (Surat Tanda Nomor Kendaraan)
Nama
: STNK
Fungsi
: Sebagai Pendaftaran Service
Sumber
: customer
Tujuan
: Admin Service
Media
: Kertas
Frekuensi
: Setiap Terjadinya Pendaftaran Service Motor
Jumlah
: 1 Rangkap
Bentuk
: Kertas
3.2.4. Dokumen Keluaran
Dokumen keluaran adalah segala bentuk dokumen dari hasil proses pengolahan
dokumen masukan yang terjadi pada suatu sistem. Adapun dokumen keluaran PT.
Markoni Mandiri Perkasa sebagai berikut:
1.
Bukti Tanda Pembayaran
Nama
: Tanda Bukti Pembayaran
Fungsi
: Sebagai Laporan Pembayaran
Sumber
: Admin Service
Tujuan
: customer
Media
: Kertas
Frekuensi
: Setiap Terjadinya Pembayaran Service Motor
3.2.5. Permasalahan Pokok
Berdasarkan pengamtan yang dilakukan oleh penulis bahwa terdapat beberapa
permasalahan yang ada pada PT. Markoni Mandiri Perkasa, diantara nya:
1.
Pada PT. Markoni Mandiri Perkasa sistem yang digunakan nya masih manual
dan pencatan pelanggan nya masih menggunakan buku WO (Work Order)
sehingga sering terjadinya kesalahan dalam penginputan laporan service,
memasukan data pendapatan dan data laporan jasa. Jadi akan memakan waktu
yang cukup lama untu proses penginputan service maupun penginputan data
pendapatan.
2.
Proses pembayaran yang terjadi pada dealer tersebut masih sagat manual,
sehingga besar kemungkinan terjadinya kesalahan dalam perhitungan
pendapatan ysng tidak sesuai atau tidak balance dengan banyak nya pelanggang
yang datang untuk service motor.
3.2.6. Pemecahan Masalah
Dengan melihat permasalahan yang ada, maka untuk mengatasi pemecahan
masalah penulis akan memberikan solusinya, diantaranya:
1.
Penulis ingin mnegubah cara kerja sistem yang ada pada PT. Markoni Mandiri
Perkasa menjadi sistem yang lebih dan terkomputerisasi. Dengan membuat
sistem yang baru sehingga data perusahaan akan tersusun rapih dan
memudahkan dalam penginputan data pendapatan nya.
2.
Penulis akan membuat sistem informasi akuntansi yang memudahkan pihak
dealer untuk menggunakan nya dan agar sistem keuangan nya menjadi lebih
aman dan tidak akan terjadi nya kekeliruan saat menghitung hasil pendatan dari
3.3. Analisa Kebutuhan Software
3.3.1. Analisa Kebutuhan
Berdasarkan analisa dari proses pendapatan jasa service pada PT. Markoni
Mandiri Perkasa, maka pada tahapan ini adalah analisis kebutuhan pada sistem yang
akan dirancang dan digunakan oleh admin dan kepala cabang. Berikut ini spesifikasi
kebutuhan (System Requirement) yang dapat diuraikan:
1.
Admin
A.1. Admin dapat melakukan Login
A.2. Admin dapat mengelola data jasa service
A.3. Admin dapat mengelola data customer
A.4. Admin dapat mengelola pelayanan jasa service
A.5. Admin dapat mengelola pembayaran
A.6. Admin dapat mengelola perkiraan
A.7. Admin dapat mengelola jurnal umum
A.8. Admin dapat mengakses laporan jurnal umum
A.9. Admin dapat mengakses laporan pelayanan jasa service
2.
Bagian Kepala Cabang
B.1. Kepala Cabang dapat melakukan login
B.2. Kepala Cabang dapat mengelola data admin
B.3. Kepala Cabang dapat mengakses laporan jurnal umum
3.3.2. Use Case Diagram
1.
Use Case Diagram Admin
Gambar III.4
Use Case Diagram Admin
Tabel III.1
2.
Use Case Diagram Kepala Cabang
Gambar III.5
Use Case Diagram Kepala Cabang
Tabel III.2
3.3.3. Activity Diagram
1.
Activity Diagram Melakukan Login
Gambar III.6
2.
Activity Diagram Mengelola Jasa
Gambar III.7
Activity Diagram Mengelola Jasa
Untuk aliran data menu jasa, admin dan customer memiliki aktivitas yang sama,
3.
Activity Diagram Mengelola Pelayanan Jasa
Gambar III.8
Activity Diagram Mengelola Pelayanan Jasa
Untuk aliran data menu pelayanan jasa, pembayaran dan jurnal umum memiliki
4.
Activity Diagram Mengelola Perkiraan
Gambar III.9
Activity Diagram Mengelola Perkiraan
Untuk aliran data menu laporan pelayanan jasa dan laporan jurnal umum
memiliki aktivitas yang sama, maka activity diagram dapat dilihat dari gambar
diatas.
3.4. Desain
3.4.1. Entity Relationship Diagram (ERD)
Gambar III.11
3.4.2. Logical Record Structure (LRS)
Gambar III.12
Logical Record Structure (LRS)
3.4.3. Spesifikasi File
File adalah komponen utama dari sebuah sistem komputerisasi. File
memiliki fungsi sebagai data masukan dan keluaran untuk menunjang jalan nya
sistem dan program yang sedang dibangun. Adapun spesifikasi file sebagai
Nama Database
: jasa_servis
Nama File
: Admin
Tipe File
: File Master
Akses File
: Random
Panjang Record
: 108
Kunci File
: id_admin
Tabel III.3
Spesifikasi File Admin
No Elemen Data
Nama Field
Type
Panjang
Keterangan
1
Id admin
id_admin
Varchar
8
Primary Key
2
Username
Username
Varchar
40
3
Password
password
Varchar
35
4
Hak akses
hak_akses
varchar
25
2. Spesifikasi File Customer
Nama Database
: jasa_servis
Nama File
: Admin
Tipe File
: File Master
Akses File
: Random
Panjang Record
: 122
Kunci File
: id_admin
Tabel III.4
Spesifikasi File Customer
1
Id Customer
id_customer
Varchar
8
Primary Key
2
Nm Customer nm_customer
Varchar
50
3
Alamat
alamat
Varchar
50
4
No Tlp
no_tlp
Varchar
14
3. Spesifikasi File Jurnal
Nama Database
: jasa_servis
Nama File
: Jurnal
Tipe File
: File Jurnal
Akses File
: Random
Panjang Record
: 164
Kunci Field
: nomor
Tabel III.5
Spesifikasi File Jurnal
No Elemen Data
Nama Field
Type
Panjang
Keterangan
1
Nomor
nomor
Integer
11
Primary Key
2
Kode jual
kode_jual
Varchar
8
3
No jurnal
no_jurnal
Varchar
11
4
Tanggal jurnal
tanggal_jurnal
Varchar
12
5
No akun
no_akun
Integer
12
6
Nama akun
nama_akun
Varchar
20
9
Keterangan
Keterangan
Varchar
50
1. Spesifikasi File Pembayaran
Nama Database
: jasa_servis
Nama File
: Pembayaran
Tipe File
: File Transaksi
Akses File
: Random
Panjang Record
: 68
Kunci Field
: kd_bayar
Tabel III.6
Spesifikasi File Pembayaran
No Elemen Data
Nama Field
Type
Panjang
Keterangan
1
Kd bayar
kd_bayar
Varchar
8
Primary Key
2
Tanggal
tanggal
Date
3
Kd servis
kd_servis
Varchar
8
4
Nm customer
nm_cutomer
Varchar
40
5
Total
total
Integer
12
Gambar III.13
Deployment Diagram
3.4.5. User Interface
1. Form Login
Gambar III.14
User Interface Form Login
Gambar III.15
User Interface Form Menu Utama
3. Form Data Customer
Gambar III.16
4. Form Pelayanan Jasa
Gambar III.17
User Interface Form Pelayanan Jasa
5. Form Pembayaran
Gambar III.18
Gambar III.19
User Interface Form Data Perkiraan
7. Form Jurnal Umum
Gambar III.20
User Interface Form Jurnal Umum
8. Form Laporan Jurnal Umum
Gambar III.21
User Interface Form Laporan Jurnal Umum
9. Form Laporan Jasa Service
Gambar III.21
3.5.1. Code Generation
import Database.KoneksiDatabase; import Database.ResultSetTable; import java.awt.event.KeyEvent; import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.util.JRLoader; import net.sf.jasperreports.view.JasperViewer;public class form_pembayaran extends javax.swing.JFrame { ResultSet rs;
KoneksiDatabase con; String idBR;
String totalP; /**
* Creates new form form_pembayaran */
public form_pembayaran() {
con = new KoneksiDatabase(new Database.Parameter().HOST_DB, new Database.Parameter().USERNAME_DB, new Database.Parameter().PASSWORD_DB); initComponents(); setTitle("Form Pembayaran"); loadtabel(); nonaktif(); titik.setEnabled(false);
tambah.setEnabled(true); batal.setEnabled(false); simpan.setEnabled(false); }
private String id() { String no = null; try {
con.koneksiDatabase();
String sql = "Select right(kd_bayar,4)+1 from pembayaran"; ResultSet rs = con.eksekusiQuery(sql); if (rs.next()) { rs.last(); no = rs.getString(1); while (no.length() < 4) { no = "000" + no; no = "B" + no; kd_byr.setText(no); } } else { no = "B0001"; kd_byr.setText(no); } } catch (Exception e) { } return no; }
public void itemTerpilih() {
data_jasa FAD = new data_jasa(); FAD.FPR = this;
}
private void ambildata() {
String st = (String) kd_servis.getText();
ResultSet rst = con.querySelectAll("pelayanan_jasa", "kd_servis='" + st + "'"); try { while (rst.next()) { this.nm_costumer.setText(rst.getString("nm_costumer")); }
} catch (SQLException ex) { Logger.getLogger(form_pembayaran.class.getName()).log(Level.SEVERE, null, ex); } } void setTanggal(){
java.util.Date skrg = new java.util.Date();
java.text.SimpleDateFormat kal = new java.text.SimpleDateFormat("yyyy-MM-dd");
tanggal.setText(kal.format(skrg)); }
/**
* 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(); jLabel2 = new javax.swing.JLabel();
jSeparator2 = new javax.swing.JSeparator(); jLabel20 = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel(); jLabel22 = new javax.swing.JLabel(); jLabel23 = new javax.swing.JLabel(); kd_byr = new javax.swing.JTextField(); tanggal = new javax.swing.JTextField(); jLabel24 = new javax.swing.JLabel(); jLabel25 = new javax.swing.JLabel(); kd_servis = new javax.swing.JTextField(); titik = new javax.swing.JButton();
jLabel26 = new javax.swing.JLabel(); jLabel27 = new javax.swing.JLabel();
nm_costumer = new javax.swing.JTextField(); jLabel28 = new javax.swing.JLabel();
total = new javax.swing.JTextField(); jLabel29 = new javax.swing.JLabel(); tambah = new javax.swing.JButton(); simpan = new javax.swing.JButton(); batal = new javax.swing.JButton();
jSeparator1 = new javax.swing.JSeparator(); jLabel32 = new javax.swing.JLabel();
jLabel30 = new javax.swing.JLabel(); cari = new javax.swing.JButton(); reload = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane(); table = new javax.swing.JTable();
t_cari = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CL OSE);
getContentPane().setLayout(new
jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jLabel2.setFont(new java.awt.Font("Papyrus", 0, 26)); // NOI18N jLabel2.setText("Form Pembayaran Servis");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(370, 0, -1, -1));
jPanel1.add(jSeparator2, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 30, 380, 10));
jLabel20.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel20.setText("Kode Pembayaran");
jPanel1.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 100, -1, -1));
jLabel21.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel21.setText(":");
jPanel1.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 100, 10, -1));
jLabel22.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel22.setText("Tanggal Pembayaran");
jPanel1.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 170, -1, -1));
jLabel23.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel23.setText(":"); jPanel1.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 170, 10, -1)); jPanel1.add(kd_byr, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 100, 100, -1)); jPanel1.add(tanggal, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 170, 150, -1));
jLabel24.setText("Kode Servis");
jPanel1.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 240, -1, -1));
jLabel25.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel25.setText(":"); jPanel1.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 240, 10, -1)); jPanel1.add(kd_servis, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 240, 100, -1)); titik.setBackground(new java.awt.Color(51, 51, 51)); titik.setForeground(new java.awt.Color(255, 255, 0)); titik.setText("..."); titik.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { titikActionPerformed(evt);
} });
jPanel1.add(titik, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 240, -1, -1));
jLabel26.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel26.setText("Total Pembayaran");
jPanel1.add(jLabel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 170, -1, -1));
jLabel27.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel27.setText(":");
jPanel1.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(700, 170, 10, -1));
jPanel1.add(nm_costumer, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 100, 140, -1));
jPanel1.add(jLabel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(700, 100, 10, -1));
jPanel1.add(total, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 170, 140, -1));
jLabel29.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel29.setText("Nama Costumer"); jPanel1.add(jLabel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 100, -1, -1)); tambah.setBackground(new java.awt.Color(51, 51, 51)); tambah.setForeground(new java.awt.Color(255, 255, 0)); tambah.setText("Tambah"); tambah.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { tambahActionPerformed(evt); } }); jPanel1.add(tambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 300, 230, 40)); simpan.setBackground(new java.awt.Color(51, 51, 51)); simpan.setForeground(new java.awt.Color(255, 255, 0)); simpan.setText("Simpan"); simpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { simpanActionPerformed(evt); } }); jPanel1.add(simpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 300, 240, 40)); batal.setBackground(new java.awt.Color(51, 51, 51)); batal.setForeground(new java.awt.Color(255, 255, 0)); batal.setText("Batal"); batal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { batalActionPerformed(evt); } }); jPanel1.add(batal, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 300, 260, 40)); jPanel1.add(jSeparator1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 350, 1080, 10));
jLabel32.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
jLabel32.setText("Cari Data Pembayaran");
jPanel1.add(jLabel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 380, -1, -1));
jLabel30.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel30.setText(":"); jPanel1.add(jLabel30, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 380, 10, -1)); cari.setBackground(new java.awt.Color(51, 51, 51)); cari.setForeground(new java.awt.Color(255, 255, 0)); cari.setText("Cari"); cari.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cariActionPerformed(evt); } }); jPanel1.add(cari, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 380, 70, -1)); reload.setBackground(new java.awt.Color(51, 51, 51)); reload.setForeground(new java.awt.Color(255, 255, 0)); reload.setText("Reload");
reloadActionPerformed(evt); } }); jPanel1.add(reload, new org.netbeans.lib.awtextra.AbsoluteConstraints(730, 380, 70, -1)); table.setModel(new javax.swing.table.DefaultTableModel( new Object [][] {
{null, null, null, null, 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", "Title 5" } )); jScrollPane1.setViewportView(table); jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 420, 1060, 160)); jPanel1.add(t_cari, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 380, 310, -1)); getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1080, 660)); pack(); }// </editor-fold>
private void tambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
id(); aktif();
titik.setEnabled(true); tambah.setEnabled(false);
simpan.setEnabled(true); batal.setEnabled(true); setTanggal();
}
private void simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
simpan();
}
private void batalActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
batal.setEnabled(false); simpan.setEnabled(false); tambah.setEnabled(true); loadtabel(); clear(); titik.setEnabled(false); nonaktif(); }
private void cariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
try {
if (!t_cari.getText().isEmpty()) {
rs = con.querySelectAll("pembayaran", "kd_bayar LIKE '%" + t_cari.getText() +
"%' OR kd_servis LIKE '%" + t_cari.getText() +"%'"); table.setModel(new Database.ResultSetTable(rs));
} else {
JOptionPane.showMessageDialog(this, "isi data pencarian"); t_cari.requestFocus();
}
private void reloadActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
t_cari.setText(""); loadtabel();
}
private void titikActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
data_jasa FAD = new data_jasa(); FAD.FPR = this;
FAD.setVisible(true); FAD.setResizable(false); } /**
* @param args the command line arguments */
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; } }
java.util.logging.Logger.getLogger(form_pembayaran.class.getName()).log(ja va.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(form_pembayaran.class.getName()).log(ja va.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(form_pembayaran.class.getName()).log(ja va.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(form_pembayaran.class.getName()).log(ja va.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() { public void run() {
new form_pembayaran().setVisible(true); }
}); }
// Variables declaration - do not modify private javax.swing.JButton batal;
private javax.swing.JButton cari; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel20; private javax.swing.JLabel jLabel21; private javax.swing.JLabel jLabel22; private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel26; private javax.swing.JLabel jLabel27; private javax.swing.JLabel jLabel28; private javax.swing.JLabel jLabel29; private javax.swing.JLabel jLabel30; private javax.swing.JLabel jLabel32; private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JTextField kd_byr; private javax.swing.JTextField kd_servis; private javax.swing.JTextField nm_costumer; private javax.swing.JButton reload;
private javax.swing.JButton simpan; private javax.swing.JTextField t_cari; private javax.swing.JTable table; private javax.swing.JButton tambah; private javax.swing.JTextField tanggal; private javax.swing.JButton titik; private javax.swing.JTextField total; // End of variables declaration private void loadtabel() {
String namaKolom[] = {"kd_bayar", "tanggal", "kd_servis", "nm_costumer", "total"};
rs = con.querySelect(namaKolom, "pembayaran"); table.setModel(new ResultSetTable(rs));
}
private void simpan() { try {
if (!kd_byr.getText().isEmpty() && !nm_costumer.getText().isEmpty() && !total.getText().isEmpty()
&& !tanggal.getText().isEmpty()&& !kd_servis.getText().isEmpty()) {
String kolom[] = {"kd_bayar", "tanggal", "kd_servis", "nm_costumer", "total"};
String isi[] = {kd_byr.getText(), tanggal.getText(), kd_servis.getText(), nm_costumer.getText(),total.getText()};
System.out.println(con.queryInsert("pembayaran", kolom, isi)); JOptionPane.showMessageDialog(this, "Data Berhasil Disimpan"); update_po(); loadtabel(); cetak(); clear(); nonaktif(); tambah.setEnabled(true); batal.setEnabled(false); simpan.setEnabled(false); titik.setEnabled(false); } else {
JOptionPane.showMessageDialog(this, "Data isian ada yang kosong");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Error input data"); System.out.println("salah"); } loadtabel(); clear(); nonaktif(); tambah.setEnabled(true); batal.setEnabled(false); simpan.setEnabled(false); }
private void update_po() {
String kolom[] = {"kd_servis", "status"}; String isi[] = {kd_servis.getText(), "LUNAS"};
}
private void clear() { kd_servis.setText(""); kd_byr.setText(""); total.setText(""); tanggal.setText(""); nm_costumer.setText(""); }
private void nonaktif() { kd_byr.setEnabled(false); nm_costumer.setEnabled(false); kd_servis.setEnabled(false); total.setEnabled(false); tanggal.setEnabled(false); }
private void aktif() {
kd_byr.setEnabled(false); nm_costumer.setEnabled(false); kd_servis.setEnabled(false); total.setEnabled(false); tanggal.setEnabled(false); }
private void cetak() { try {
String NamaFile = "src/laporan/pembayaran.jasper"; Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost/jasa_servis", "root", "");
//Mengambil parameter dari ireport hash.put("kode", kd_byr.getText()); File file = new File(NamaFile);
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash, koneksi);
JasperViewer.viewReport(jasperPrint); } catch (Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage()); } } }
3.5.2. Blackbox Testing
1. Pengujian Terhadap Form Login
Tabel III.3
Hasil Black Box Testing Form Login
2. Pengujian Terhadap Form Data Customer
Tabel III.4
No Skenario Pengujian
Test Case Hasil Yang
Diharapkan
Hasil Pengujian
Kesimpulan 1 Klik login tanpa
menginput username dan password Username (kosong) Password (kosong) Sistem akan menolak dan menampilkan pesan “ login gagal “ Sesuai harapan Valid 2 Menginputkan username dan password kemudian klik login Username (nama user) Password (password user) Sistem akan menerima akses dan menampilkan Menu utama Sesuai harapan Valid
No Skenario Pengujian
Test Case Hasil Yang
Diharapkan Hasil Pengujian Kesimpulan 1 Klik tambah kemudian data customer tidak diisi, klik tombol simpan Id customer, nama customer (kosong) Sistem akan menolak akses dan menampilkan pesan “ data isian ada yang kosong “ Sesuai harapan Valid 2 Klik tambah kemudian mengisi semua data customer lalu klik tombol simpan id cutomer, nama customer (data terisi) Sistem akan menerima akses dan menampilkan pesan “ data berhasil disimpan “ Sesuai harapan Valid 3 Masukan pencarian pada tabel customer kemudian klik hapus Konfirmasi penghapusan data customer Sistem akan menerima dan menampilkan pesan “ yakin menghapus data “ Sesuai harapan Valid 4 Masukan pencarian pada table customer, klik tombol edit dan klik tombol simpan Ubah data barang Sistem akan menerima dan menampilkan pesan “ data berhasil diedit “ Sesuai harapan Valid
3. Pengujian Terhadap Form Pelayanan Jasa
Tabel III.5
Hasil Black Box Testing Form Pelayanan Jasa
No Skenario Pengujian
Test Case Hasil Yang
Diharapkan Hasil Pengujian Kesimpulan 1 Klik tambah kemudian data pelayanan jasa tidak diisi, klik simpan Kode servis, tanggal, id customer,nama customer, jenis motor, rincian jasa, harga Sistem akan menolak akses dan menampilkan pesan “ data isian ada yang kosong “ Sesuai harapan Valid 2 Klik tambah kemudian mengisi semua data pelayanan jasa, klik tombol simpan Kode servis, tanggal, id customer,nama customer, jenis motor, rincian jasa, harga Sistem akan menerima akses dan menampilkan pesan “ data berhasil disimpan “ Sesuai harapan Valid
4. Pengujian Terhadap Form Pembayaran
Hasil Black Box Testing Form Pembayaran
3.5.3. Spesifikasi Hardware dan Software
Untuk dapat mengimplementasikan program agar bejalan sesuai
dengan rancangan, maka diperlukan spesifikasi sebagai berikut:
Tabel III.7
Spesifikasi Hardware dan Software
Kebutuhan
Keterangan
Sistem
Windows 7 64-bit
Processor
Intel Core i3 2100
RAM
2 GB
Hardisk
320 GB
Monitor
14” LED
Keyboard
Keyboard Standart
Mouse
Standart
No Skenario Pengujian
Test Case Hasil Yang
Diharapkan Hasil Pengujian Kesimpulan 1 Klik tambah kemudian data pembayaran tidak diisi, klik simpan kode_bayar, tanggal_bayar, nama customer, total pembayaran, kode servis Sistem akan menolak akses dan menampilkan pesan “ data isian ada yang kosong “ Sesuai harapan Valid 2 Klik tambah kemudian mengisi semua data pembayaran, klik tombol simpan kode_bayar, tanggal_bayar, nama customer, total pembayaran, kode servis Sistem akan menerima akses dan menampilkan pesan “ data berhasil disimpan “ Sesuai harapan Valid