BAB III
PEMBAHASAN
1.1. Tinjauan Perusahaan
Pada bab ini penulis akan melakukan penelitian mengenai sistem informasi akuntansi mengenai kas masuk pada PT. Markoni Mandiri Perkasa. Hal ini dilakukan guna untuk memberikan satu solusi terkait permasalahan yang ada di perusahaan tersebut.
Dalam tahap tinjauan perusahaan, penulis akan menjelaskan hal-hal yang berkaitan dengan perusahaan diantaranya adalah sejarah perusahaan, struktur organisasi beserta tanggung jawab dari tiap-tiap bagian dalam perusahaan.
1.1.1. Sejarah Perusahaan
PT Markoni Mandiri Perkasa adalah sebuah perusahaan yang bergerak dalam bidang penjualan kendaraan bermotor. Perusahaan ini didirikan oleh oleh Bapak Ir. Emanuel Suherling pada tahun 1987 di Pamanukan. 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 khusus 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 lebih luas di wilayah Karawang. Pada tahun 2010 barulah tonggak sejarah berdirinya PT Markoni Mandiri Perkasa Cikalong Yang beralamat di JL. Raya Cikalongsari RT 001/ RW 004, Kec Jatisari, Kab. Karawang – 41374.
1.1.2. Struktur Organisasi dan Fungsi
Sumber: PT Markoni Mandiri Perkasa (2020). Gambar III.1
Struktur Organisasi PT Markoni Mandiri Perkasa Fungsi dari tiap-tiap bagian adalah sebagai berikut:
1. Pemilik Dealer
Bertanggung jawab atas kemajuan perusaan dan kinerja karyawan. 2. Kepala Cabang
Bertanggungjawab dalam membantu pemilik dealer dalam mengatur, merencanakan rencana kerja, mengawasi kegiatan pelaksaan penjualan dan
bertanggung jawab atas setiap penjualan yang terjadi pada dealer tersebut dan menentukan dalam pengaturan permintaan jumlah kendaraan motor sebagai stok.
3. Sales Counter
Bertanggungjawab terhadap pelayanan kegiatan penjualan dan bertanggung jawab dalam memberikan laporan evaluasi penjualan kepada kepala cabang yang ada pada dealer tersebut.
4. Kepala Mekanik
Bertanggung jawab atas apa yang dilakukan atas dikerjakan oleh mekanik 5. Mekanik
Bertanggung jawab terhadap kegiatan perbaikan motor pelanggan dan bertanggung jawab terhadap kualitas hasil pemeliharaan yang dilakukan.
1.2. Tinjauan Kasus
Dealer PT Markoni Mandiri Perkasa melalukan pencatatan pembelian secara tertulis dengan menggunakan buku besar, mulai dari penerimaan kas, pembayaran motor, penerimaan kas pendapatan jasa service motor, hingga admin melakukan proses pencatatan ke dalam jurnal yang diambil dari nota pembelian.
Kemudian, kepala cabang mengecek pencatatan yang ditulis setiap terjadinya penjualan. Dalam proses pembukuan yang masih sederhana ini membuat adanya beberapa masalah yang terjadi seperti kesalahan dalam pencatatan pembukuan, terjadinya keterlambatan dalam menyampaikan informasi laporan kepada kepala cabang dan memungkinkan terjadinya kehilangan data-data tersebut.
1.2.1. Proses Bisnis Sistem Berjalan
1. Proses Penerimaan Kas Penjualan Motor
Customer melakukan pemesanan kepada admin penjualan, admin penjualan
meminta data pribadi kepada customer, lalu customer memberikan data pribadi kepada admin penjualan kemudian, admin penjualan menerima data pribadi customer. Setelah itu, admin penjualan menginput data pesanan ke
Microsoft Excel. Admin penjualan mengajukan pemesanan kepada leasing.
Lalu, leasing menerima data pesanan customer. Jika tidk disetujui maka pengajuan ditolak, namun jika disetujui maka leasing melakukan pembayaran pembelian motor kepada admin penjualan lalu admin membuat nota penjualan, admin memberikan nota penjualan kepada leasing lalu leasing menerima nota penjualan. Setelah itu admin mengarsipkan nota penjualan dan membuat laporan.
2. Proses Penerimaan Kas Pendapatan Jasa Service Motor
Pelanggan mendatangi bagian admin service untuk melakukan pendaftaran. Selanjutnya pelanggan menunjukan STNK kepada admin dan selanjutnya diperiksa terlebih dahulu lalu, setelah itu admin mencatat daftar pelanggan ke buku WO (Work Order) dan STNK akan disimpan terlebih dahulu. Lalu, admin memperbolehkan bagian mekanik untuk melihat dan memperbaiki motor pelanggan. Setelah. 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 mencatat total biaya kerusakan dan jasa service dalam nota yang nantinya akan ditunjukan kepada pemilik motor atau pelanggan, setelah admin selesai mencatat pada nota, maka pemilik motor akan dipanggil dan akan diberikan total biaya
jasanya. Setelah itu pemilik motor membayar secara tunai kepada pihak admin. Lalu admin memberikan nota pembayaran dan STNK kepada pemilik motor.
3. Proses Pembuatan Laporan
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 menerima laporan pendapatan jasa service motor.
1.2.2. Activity Diagram
1. Activity Diagram Penerimaan Kas Penjualan Motor
Gambar III.2
2. Activity Diagram Jasa Service Motor
Sumber: PT Markoni Mandiri Perkasa (2020). Gambar III.3
3. Activity Diagram Pembuatan Laporan
Sumber: PT Markoni Mandiri Perkasa
Gambar III.4
Activity Diagram Pembuatan Laporan 1.2.3. Dokumen Masukan
1. Bukti Tanda Surat Jalan
Nama Dokumen : Bukti Tanda Surat Jalan Fungsi : Sebagai Laporan Surat Jalan
Sumber : Admin Penjualan Tujuan : Pelanggan
Media : Kertas
Frekuensi : Setiap terjadinya penjualan motor Jumlah : 3 Rangkap
1.2.4. Dokumen Keluaran
1. Bukti Tanda Pemabayaran Motor
Nama Dokumen : Bukti Tanda Pembayaran Motor Fungsi : Sebagai Laporan Pembayaran Motor
Sumber : Admin Penjualan Tujuan : Pelanggan
Media : Kertas
Frekuensi : Setiap Terjadinya Pembayaran Motor Jumlah : 2 Rangkap
Bentuk : Lampiran B1 1.2.5. Permasalahan Pokok
Berdasarkan pengamatan yang dilakukan oleh penulis, tedapat beberapa permasalahan yang ada pada PT Markoni Mandiri Pekasa, diantaranya:
1. Pada PT Markoni Mandiri Perkasa sistem yang digunakan masih manual dan pencatatan pelanggan nya masih menggunakan buku WO (Work Order) sehingga sering terjadi kesalahan dalam proses input laporan service, memasukan data pendapatan dan data laporan jasa. Sehingga memakan waktu yang lama untuk proses proses input service maupun penginputan data pendapatan.
2. Proses pembayaran yang terjadi pada dealer tersebut masi sangat manual, sehingga besar kemungkinan terjadinya kesalahan dalam perhitungan pendapatan yang tidak sesuai atau tidak balance dengan banyak nya pelanggan yang datang untuk service motor.
1.2.6. Pemecahan Masalah
Dari permasalahan pokok yang telah disebutkan, berikut adalah solusi yang dapat penulis berikan:
1. Membaharui sistem kas masuk yang tadinya sederhana menjadi
terkomputerisasi berbasis dekstop agar memudahkan proses pengolahan data kas masuk.
2. Mengadakan backup data agar penyimpanan data menjadi lebih terorganisasi untuk mengurangi resiko kesalahan perhitungan. 1.3. Analisa Kebutuhan Software
Berdasarkan laporan keuangan yang ada pada Dealer PT Markoni Mandiri Perkasa, maka tahapan berikutnya adalah Analisis Kebutuhan, yang terdiri dari
Use Case Diagram, dan Activity Diagram.
1.3.1. Analisa Kebutuhan
Berdasarkan proses bisnis sistem berjalan yang ada pada Dealer PT Markoni Mandiri Perkasa, berikut ini adalah spesifikasi kebutuhan dari sistem Laporan Kas Masuk:
A. Admin Penjualan
A1. Admin Penjualan dapat mengakses login A2. Admin Penjualan dapat mengelola data customer A3. Admin Penjualan dapat mengelola data motor A4. Admin Penjualan dapat mengelola data perkiraan A5. Admin Penjualan dapat
mengelola jasa service
A6. Admin Penjualan dapat mengelola pembayaran service A7. Admin Penjualan dapat mengelola penjualan
B. Kepala Cabang
B1. Kepala Cabang dapat melakukan login
B2. Kepala Cabang dapat mengakses menu laporan jurnal B3. Kepala Cabang dapat mengakses menu laporan
pembayaran B4. Kepala Cabang dapat mengakses laporan penjualan
1.3.2. Use Case Diagram
Gambar III.5
Gambar III.6
Use Case Diagram Kepala Cabang Tabel III.1
Deskripsi Use Case Diagram Halaman Admin Penjualan A.1
A.2
A.3
A.5
A.6
Tabel III.2
Deskripsi Use Case Diagram Halaman Kepala Cabang
B.2
1.3.3. Activity Diagram 1. Activity Diagram Login
Gambar III.7 Activity Diagram Login 2. Activity Diagram Perkiraan
Gambar III.8
3. Activity Diagram Transaksi Kas Masuk
Gambar III.9
Activity Diagram Transaksi Kas Masuk
Untuk aliran data menu transaksi kas masuk dan jurnal umum memiliki aktivitas yang sama, maka activity diagram dapat dilihat dari gambar diatas.
4. Activity Diagram Laporan Jurnal Umum
Gambar III.10
Activity Diagram Laporan Jurnal Umum
Untuk aliran data laporan jurnal umum dan laporan transaksi kas masuk memiliki aktivitas yang sama, maka activity diagram dapat dilihat dari gambar diatas
1.4. Desain
Pada Penulisan Tugas Akhir ini untuk tahapan desain yang penulis rancang, yaitu menggambarkan Entity Relationship Diagram (ERD), Logical
Record Strukture (LRS), Spesifikasi file, User Interface dan Spesifikasi Hardware
1.4.1. Entity Relationship Diagram (ERD)
ERD merupakan sebuah model untuk menjalankan hubungan antar datadalam basis data berdasarkan objek-objek dasar yang mempunyai hubungan
antar relasi. Adapun ERD yang dibuat sebagai berikut:
Gambar III.11
1.4.2. Logical Record Struture (LRS)
LRS adalah representasi dari strutur record-record pada table- table yang terbentuk dari hasil antar himpunan entitas. Menentukan kardinalitas, jumlah table, dan foreign key (FK). Berikut adalah gambaran LRS yang sudah dibuat:
Gambar III.12
1.4.3. Spesifikasi File
File adalah komponen utama dari sebuah sistem komputerisasi. File
memiliki fungsi sebagai data masukan untuk menunjang jalannya sistem dan program yang sedang dibangun. Adapun spesifikasi file sebagai berikut:
1. Spesifikasi field Admin Nama Database : db_kas masuk Nama Field : Admin Tipe Field : Master
Akses Field :
Random Panjang Record : 118 Kunci Field : Admin
Tabel III.3 Spesifikasi File Admin No Elemen Data Nama
Field
Type Panjang Keterangan 1 Id Petugas Id_admin Varchar 8 Primary
Key
2 Username Username Varchar 40
3 Password Password Varchar 35
4 Hak Akses hak_akses Varchar 35
2. Spesifikasi field customer
Nama Database : db_kas masuk Nama File : Costumer
Tipe File : Master Akses File :
Random Panjang Record : 122
Tabel III.4 Spesifikasi File Customer
No Elemen Data Nama Field Type Panjang Keterangan 1 Id Customer id_customer Varchar 8 Primary Key
2 Username nm_custome r
Varchar 50
3 Password Alamat Varchar 50
4 Hak Akses no_tlp Varchar 14
3. Spesifikasi File Jurnal Nama Database :
db_masuk Nama File : jurnal
Tipe File : File Jurnal Akses File : Jurnal Panjang Record : 154 Kunci File : nomor
Tabel III.5 Spesifikasi File Jurnal
No Elemen Data Nama Field Type Panjang Keterangan
1 Nomor Nomor Integer 11 Primary
Key
2 Kode bayar kd_bayar Varchar 8 3 No Jurnal no_jurnal Varchar 11
4 Tanggal
Jurnal
tanggal_jurna l
Varchar 12
5 No Akun no_akun Integer 12
6 Nama Akun nama_akun Varchar 20
7 Debet Debet Integer 20
8 Kredit Kredit Integer 20
9 Keterangan Keterangan Varchar 50 4. Spesifikasi File Pembayaran
Nama Database : db_masuk Nama File :
pembayaran
Tipe File : File Jurnal Akses File : Pembayaran
Panjang Record : 58 Kunci File : nomor
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_costumer nm_custumor Varchar 40
5 Total Total Integer 2
1.4.4. Deployment Diagram
Gambar III.13 Deployment Diagram
1.4.5. User Interface
1. Form login
Gambar III.14 Form Login
2. Form Data customer
GAMBAR III.15 Form Data customer
3. Form Data Perkiraan 4. Form Jasa Service GAMBAR III.16 Form Data Perkiraan GAMBAR III.17 Form Jasa Service
5. Form pembayaran service 6. Form penjualan motor GAMBAR III.18 Form pembayaran service GAMBAR III.19 Form penjualan motor
6. Form jurnal umum
GAMBAR III.20 Form jurnal umum
7. Form Data Admin
GAMBAR III.21 Form Data Admin
8. Form Laporan Jurnal Umum
GAMBAR III.22
Form Laporan Jurnal Umum
9. Form Laporan Pembayaran
GAMBAR III.23 Form Laporan Pembayaran
10. Form Laporan Penjualan
GAMBAR III.24
Form Laporan Penjualan
1.5. Implementasi
Untuk mengimplementasikan program agar berjalan dengan baik, maka diperlukan spesifikasi sebagai berikut;
1.5.1. Code Generation import Database.KoneksiDatabas e; 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.JasperFillMan ager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperRepor t;
import
net.sf.jasperreports.engine.util.JRLoader ; import
net.sf.jasperreports.view.JasperViewer;
public class jasa_servis extends javax.swing.JFrame { ResultSet rs;
KoneksiDatabase con;
String idCS;
/**
* Creates new form pelayanan_jasa */
public jasa_servis() {
con = new KoneksiDatabase(new Database.Parameter().HOST_DB,
new Database.Parameter(). USERNAME_DB, new Database.Parameter().PASSWORD_DB);
initComponents();
setTitle("Form Pelayanan Jasa Servis"); loadtabel();
nonaktif();
titik.setEnabled(fal se);
(true); batal.setEnabled(fa lse); simpan.setEnabled (false); } void setTanggal(){
java.util.Date skrg = new java.util.Date();
java.text.SimpleDateFormat kal= new java.text.SimpleDateFormat("yy yy-MM-dd"); tanggal.setText(kal.format(skrg));
private String id() { String no = null; try {
con.koneksiDatabase();
String sql = "Select right(kd_servis,4)+1 from pelayanan_jasa "; ResultSet rs = con.eksekusiQuery(sql); if (rs.next()) { rs.last(); no = rs.getString(1); while (no.length() < 4) { no = "000" + no; no = "S" + no; kode.setText (no); } } else { no = "S0001"; kode.setText(no); } } catch (Exception e) {
}
return no; }
public void itemTerpilih() { data_costumer FAD = new
data_costumer(); FAD.FPR = this; id_cs.setText(idCS);
ambildata(); }
private void ambildata() {
String st = (String) id_cs.getText();
ResultSet rst = con.querySelectAll("costumer", "id_costumer='" + st + "'"); try { while (rst.next()) { this.nm_cs.setText(rst.getString("nm_costu mer")); }
} catch (SQLException ex) {
Logger.getLogger(jasa_servis.class.getName()).log(Level.SEVERE, null, ex); }
}
/**
* 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("unc hecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
javax.swing.JPanel(); jLabel2 = new javax.swing.JLabel(); jSeparator2 = new javax.swing.JSeparator(); jLabel20 = new javax.swing.JLabel(); jLabel21 = new javax.swing.JLabel(); jLabel23 = new javax.swing.JLabel(); jLabel22 = new javax.swing.JLabel(); kode = new javax.swing.JTextField(); tanggal = new javax.swing.JTextField();
jLabel24 = new javax.swing.JLabel(); jLabel25 = new javax.swing.JLabel(); jLabel26 = new javax.swing.JLabel(); jLabel27 = new javax.swing.JLabel(); id_cs = new javax.swing.JTextField(); jSeparator1 = new javax.swing.JSeparator(); titik = new javax.swing.JButton(); jLabel28 = new javax.swing.JLabel(); jLabel29 = new javax.swing.JLabel(); jLabel30 = new javax.swing.JLabel(); jLabel31 = new javax.swing.JLabel(); plat = new javax.swing.JTextField(); jScrollPane1 = new
javax.swing.JScrollPane(); jenis = new javax.swing.JTextArea(); jLabel32 = new javax.swing.JLabel(); jLabel33 = new javax.swing.JLabel(); jScrollPane2 = new javax.swing.JScrollPane(); rincian = new javax.swing.JTextArea();
jLabel34 = new javax.swing.JLabel(); jLabel35 = new
javax.swing.JLabel(); harga = new
javax.swing.JTextField();
jSeparator3 = new javax.swing.JSeparator(); jPanel2 = new
javax.swing.JPanel(); jScrollPane3 = new javax.swing.JScrollPane(); tabel= new javax.swing.JTable();
jLabel36 = new javax.swing.JLabel(); jLabel37 = new javax.swing.JLabel(); t_cari= new javax.swing.JTextField();
javax.swing.JButton(); cari
= new
batal = new javax.swing.JButton(); tambah = new javax.swing.JButton(); simpan = new javax.swing.JButton(); nm_cs = new javax.swing.JTextField(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); 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 Pelayanan Jasa Servis");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 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 Servis");
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(270, 100, 10, -1));
jLabel23.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel23.setText("Tanggal");
jPanel1.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 150, -1, -1));
jLabel22.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel22.setText(":");
jPanel1.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 150, 10, -1));
kode.setBackground(new java.awt.Color(255, 255, 153));
jPanel1.add(kode, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 100, 130, -1));
tanggal.setBackground(new java.awt.Color(255, 255, 153));
jPanel1.add(tanggal, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 150, 130, -1));
jLabel24.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel24.setText("Id Costumer");
jPanel1.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 100, -1, -1));
jLabel25.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel25.setText(":");
jPanel1.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 100, 10, -1));
jLabel26.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel26.setText("Nama
Costumer");
jPanel1.add(jLabel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 150, -1, -1));
jLabel27.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel27.setText(":");
, -1));
id_cs.setBackground(new java.awt.Color(255, 255, 153));
jPanel1.add(id_cs, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 100, 140, -1));
jPanel1.add(jSeparator1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 190, 990, 10));
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(790, 100, 1, -1));
jLabel28.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel28.setText("Jenis Motor");
jPanel1.add(jLabel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 200, -1, -1));
jLabel29.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel29.setText(":");
jPanel1.add(jLabel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 2 00, 10, -1));
jLabel30.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel30.setText("Plat Nomor");
jPanel1.add(jLabel30, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 200, -1, -1));
jLabel31.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel31.setText(":");
10, -1));
plat.setBackground(new java.awt.Color(255, 255, 153));
jPanel1.add(plat, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 200, 120, -1));
jenis.setBackground(new java.awt.Color(255, 255, 153)); jenis.setColumns(20);
jScrollPane1.setViewportView(jenis);
jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 200 , 170,
80));
jLabel32.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel32.setText("Rincian Jasa");
jPanel1.add(jLabel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 200, -1, -1));
jLabel33.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel33.setText(":");
jPanel1.add(jLabel33, new org.netbeans.lib.a wtextra.AbsoluteConstraints(600, 200, 10, -1)); rincian.setBackground(new java.awt.Color(255, 255, 153)); rincian.setColumns(20); rincian.setRows(5); jScrollPane2.setViewportView(rincian);
jPanel1.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(610, 200, 160, 80));
jLabel34.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel34.setText("Harga");
jPanel1.add(jLabel34, new org.netbeans.lib.awtextra.AbsoluteConstraints(790, 200, -1, -1));
jLabel35.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel35.setText(":");
jPanel1.add(jLabel35, new org.netbeans.lib.awtextra.AbsoluteConstraints(860, 200, 10, -1));
harga.addKeyListener(new
java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent evt) {
harga KeyTyped(evt); }
});
jPanel1.add(harga, new org.netbeans.lib.awtextra.AbsoluteConstraints(870, 200, 100, -1));
jPanel1.add(jSeparator3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 300, 990, 10)); jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWE RED), "List Data", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 0, 12))); // NOI18N jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); tabel.setBackground(new java.awt.Color(204, 204, 255)); tabel.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, null, null, null, null, null, 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", "Title 6", "Title 7", "Title 8", "Title 9"
} ));
jPanel2.add(jScrollPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 90, 970, 170));
jLabel36.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel36.setText("Cari Data");
jPanel2.add(jLabel36, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 40, -1, -1));
jLabel37.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel37.setText(":");
jPanel2.add(jLabel37, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 40, 10, -1));
t_cari.setBackground(new java.awt.Color(255, 255, 153));
jPanel2.add(t_cari, new org.netbeans.lib.awtextra.AbsoluteConstraints(400, 40, 160, -1)); refresh.setBackground(new java.awt.Color(51, 51, 51)); refresh.setForeground(new java.awt.Color(255, 255, 0)); refresh.setText("Load Data"); refresh.addActionListener(new
java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {
refreshActionPerformed(evt); }
jPanel2.add(refresh, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 40, 90, -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.ActionListe
ner() { public void
actionPerformed(java.awt.event.ActionEvent evt) {
cariActionPerformed(evt); }
});
jPanel2.add(cari, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 40, 80, -1));
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 350, 990, 270));
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(650, 310, 220, 40)); 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(70, 310, 220, 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(360, 310, 220, 40));
nm_cs.setBackground(new java.awt.Color(255, 255, 153 ));
jPanel1.add(nm_cs, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 150, 200, -1)); getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 990, 620)); pack(); }// </editor-fold>
private void refreshActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling
code here: t_cari.setText(""); loadtabel();
}
private void tambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling
code here: id(); aktif();
; tambah.setEnabled(f alse); simpan.setEnabled(tr ue); batal.setEnabled(true ); setTanggal(); }
private void harga KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if
(!Character.isDigit(evt.getKeyCha r())) { evt.consume();
} }
private void titikActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
data_costumer FAD = new
data_costumer(); FAD.FPR = this; FAD.setVisible(true);
FAD.setResizable(false); }
private void simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
try {
if (!kode.getText().isEmpty() && !tanggal.getText().isEmpty() && !id_cs.getText().isEmpty() && !nm_cs.getText().isEmpty()
&& !jenis.getText().isEmpty()&& !plat.getText().isEmpty()
&& !rincian.getText().isEmpty()&& !harga.getText().isEmpty()) {
== JOptionPane.OK_OPTION) { //isi data disini
simpan();
jenis.setEnabled(f alse);
plat.setEnabled(fa lse); loadtabel();
rincian.setTex t(""); harga.setText( ""); } else { JOptionPane.showMessageDialog(this, "terimakasih"); simpan(); loadtabe l(); nonaktif (); clear(); titik.setEnabled(fal se); tambah.setEnabled (true); batal.setEnabled(fa lse); simpan.setEnabled (false); } } else {
}
} catch (Exception e) { }
}
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(); nonaktif();
titik.setEnabled(false); }
private void cariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
try {
if (!t_cari.getText().isEmpty()) {
rs = con.querySelectAll("pelayanan_jasa", "kd_servis LIKE '%" + t_cari.getText() + "%' OR id_costumer LIKE '%" +
t_cari.getText() +
"%' OR tanggal LIKE '%" + t_cari.getText() +"%'"); tabel.setModel(new Database.ResultSetTable(rs)); } else {
JOptionPane.showMessageDialog(this, "isi data pencarian"); t_cari.requestFocus(); } } catch (Exception e) { } } /**
* @param args the command line arguments
*/
public static void main(String args[]) { /* Set the Nimbus look and feel */
feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/looka ndfeel/plaf.html
*/ try {
for (javax.swing. UIManager.LookAndFeelInfo info : javax.swing. UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.ge tClassName()); break; } }
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(jasa_servis.class.getName()).log(java.util. logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(jasa_servis.class.getName()).log(java.util. logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(jasa_servis.class.getName()).log(java.util. logging.Level.SEVERE, null, ex);
} catch (javax.swing. UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(jasa_servis.class.getName()).log(java.util. logging.Level.SEVERE, null, ex);
}
//</editor-fold> //</editor-fold>
/* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() {
new jasa_servis().setVisible(true); }
}); }
// Variables declaration - do not modify private
javax.swing.JButton batal; private javax.swing.JButton cari; private javax.swing.JTextField harga; private javax.swing.JTextField id_cs; 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 jLa bel24; private javax.swing.JLabel jLabel25; private
private javax.swing.JLabel jLabel27; private javax.swing.JLabel jLabel28; private javax.swing.JLabel jLabel29; private javax.swing.JLabel jLabel30; private javax.swing.JLabel jLabel31; private javax.swing.JLabel jLabel32; private javax.swing.JLabel jLabel33; private javax.swing.JLabel jLabel34; private javax.swing.JLabel jLabel35; private javax.swing.JLabel jLabel36; private javax.swing.JLabel jLabel37; private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; private javax.swing.JTextArea jenis; private javax.swing.JTextField kode; private javax.swing.JTextField nm_cs; private javax.swing.JTextField plat; private javax.swing.JButton refresh; private javax.swing.JTextArea rincian; private javax.swing.JButton simpan; private javax.swing.JTextField t_cari; private javax.swing.JTable ta bel;
tambah; private
javax.swing.JTextField tanggal; private
javax.swing.JButton titik; // End of variables
declaration private void loadtabel() {
String nama Kolom[] = {"kd_servis","tanggal", "id_costumer", "nm_costumer", "jenis_motor", "plat","rincian","harga","status"}; rs = con.querySelect(namaKolom, "pelayanan_jasa"); tabel.setModel(new ResultSetTable(rs)); } private void simpan() { try {
if (!kode.getText().isEmpty() && !tanggal.getText().isEmpty() && !id_cs.getText().isEmpty()
&& !nm_cs.getText().isEmpty() && !jenis.getText().isEmpty()&& !plat.getText().isEmpty()
&& !rincian.getText().isEmpty()&& !harga.getText().isEmpty()) { String kolom[] = {"kd_servis","tanggal", "id_costumer", "nm_costumer", "jenis_motor", "plat","rincian","harga"};
String isi[] = {kode.getText(), tanggal.getText(), id_cs.getText(), nm_cs.getText(), jenis.getText(),
plat.getText(),rincian.getText(),harga.getText()}; System.out.println(con.queryInsert("pelayanan_jasa", kolom, isi)); JOptionPane.showMessageDialog(this, "Da ta Berhasil Disimpan"); loadtabel();
} else {
JOptionPane.showMessageDialog(this, "Data isian ada yang kosong"); }
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Error input data"); System.out.println("salah"); }
loadtabel(); }
tanggal.setText(""); id_cs.setText(""); nm_cs.setText(""); jenis.setText(""); plat.setText("");
rincian.setTex t("");
harga.setText( "");
}
private void nonaktif() { kode.setEnabled(false); tanggal.setEnabled(false); id_cs.setEnabled(false); nm_cs.setEnabled(false); jenis.setEnabled(false); plat.setEnabled(false); rincian.setEnabled(false); harga.setEnabled(false); }
private void aktif() { kode.setEnabled(false); tanggal.setEnabled(false); id_cs.setEnabled(false); nm_cs.setEnabled(false); jenis.setEnabled(true); plat.setEnabled(true); rincian.setEnabled(true);
}
1.5.2. Blackbox Testing
Tahapan ini yaitu melakukan pengujian terhadap rancangan program yang telah dibangun agar diketahui sesuatu atau tidak dengan kebutuhan system informasi akuntansi. Teknik ini yang digunakan adalah blackbox testing. Berikur pengujian dari form perancangan system yang telah dibuat.
Tabel III.7
Hasil Black Box Testing Halaman Login No Skenario
Pengujian
Test Case Hasil
Yang Diharapkan Hasil Pengujian Kesimpula n 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 pesan “ selamat datang “ Sesuai harapan Valid Tabel III.8
Hasil Black Box Testing Halaman Data Barang No Skenario
Pengujian
Test Case Hasil
Yang Diharapkan Hasil Pengujian Kesimpula n 1 Klik tambah kemudian data isian barang tidak diisi, klik tombol simpan kode barang, nama barang, stok, harga (kosong) Sistem akan menolak akses dan menampilkan pesan “ data isian ada yang kosong “
Sesuai harapan
2 Klik tambah kemudian mengisi semua data buku lalu klik tombol simpan kode barang, nama barang, stok, harga (data terisi) Sistem akan menerima akses dan menampilkan pesan “ data berhasil disimpan “ Sesuai harapan Valid 3 Masukan pencarian pada tabel barang kemudian klik hapus Konfirmasi penghapusa n data barang Sistem akan menerima dan menampilkan pesan “ yakin menghapus data “ Sesuai harapan Valid 4 Masukan pencarian pada table buku, klik tombol edit dan klik tombol simpan Ubah data barang Sistem akan menerima dan menampilkan pesan “ data berhasil diedit “ Sesuai harapan Valid Tabel III.9
Hasil Black Box Testing Halaman Pembayaran No Skenario
Pengujian
Test Case Hasil Yang
Diharapkan Hasil Pengujian Kesimpula n 1 Klik tambah kemudian data isian pembayaran tidak diisi, klik simpan kd_bayar, tgl_bayar, no_po, tgl_pesan, ttl_belanja, jml_bayar 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 kd_bayar, tgl_bayar, no_po, tgl_pesan, ttl_belanja, jml_bayar Sistem akan menerima akses dan menampilkan pesan “ data berhasil disimpan “ Sesuai harapan Valid
1.5.3. Spesifikasi Hardware dan Software Tabel III.10
Spesifikasi Hardware dan Software
Kebutuhan Keteranga
n
Sistem Windows 7 64-bit
Processor Intel Core i3 2100
RAM 2 GB
Harddisk 500GB
Monitor 14”LED
Keyboard Keyboard Standart
Mouse Standart
Software Kebutuhan menjalankan aplikasi secara
local:
Bahasa script programming: JAVA 8.1.
Web Server: Apache