• Tidak ada hasil yang ditemukan

BAB III PEMBAHASAN. Tahap tinjauan perusahaan ini, penulis akan menjelaskan hal-hal yang berkaitan

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PEMBAHASAN. Tahap tinjauan perusahaan ini, penulis akan menjelaskan hal-hal yang berkaitan"

Copied!
48
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

3.2.2. Activity Diagram

A.

Activity Diagram Jasa Service Motor

Sumber: PT. Markoni Mandiri Perkasa

Gambar III.2

(6)

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

(7)

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

(8)

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

(9)

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

(10)

3.3.2. Use Case Diagram

1.

Use Case Diagram Admin

Gambar III.4

Use Case Diagram Admin

(11)

Tabel III.1

(12)
(13)
(14)

2.

Use Case Diagram Kepala Cabang

Gambar III.5

Use Case Diagram Kepala Cabang

Tabel III.2

(15)
(16)

3.3.3. Activity Diagram

1.

Activity Diagram Melakukan Login

Gambar III.6

(17)

2.

Activity Diagram Mengelola Jasa

Gambar III.7

Activity Diagram Mengelola Jasa

Untuk aliran data menu jasa, admin dan customer memiliki aktivitas yang sama,

(18)

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

(19)

4.

Activity Diagram Mengelola Perkiraan

Gambar III.9

Activity Diagram Mengelola Perkiraan

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

Gambar III.13

Deployment Diagram

3.4.5. User Interface

1. Form Login

Gambar III.14

User Interface Form Login

(26)

Gambar III.15

User Interface Form Menu Utama

3. Form Data Customer

Gambar III.16

(27)

4. Form Pelayanan Jasa

Gambar III.17

User Interface Form Pelayanan Jasa

5. Form Pembayaran

Gambar III.18

(28)

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

(29)

Gambar III.21

User Interface Form Laporan Jurnal Umum

9. Form Laporan Jasa Service

Gambar III.21

(30)

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);

(31)

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;

(32)

}

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();

(33)

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

(34)

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));

(35)

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));

(36)

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() {

(37)

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");

(38)

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);

(39)

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();

}

(40)

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; } }

(41)

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;

(42)

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()) {

(43)

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"};

(44)

}

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", "");

(45)

//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

(46)

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

(47)

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

(48)

Software

Kebutuhan menjalankan aplikasi secara

lokal: Bahasa script programming :

JAVA 8.1

Web Server : Apache

Gambar

Gambar III.1  Struktur Organisasi
Gambar III.2
Gambar III.3
Gambar III.4  Use Case Diagram Admin
+7

Referensi

Dokumen terkait

Aspek penggunaan konjungsi atau sekuen diperoleh nilai rata- rata 39,2 dengan nilai tertinggi 100 dan nilai terendah 33,3.Nilai tersebut termasuk kategori kurang

d‘ Mencakup ekosistem dan keanekaragaman hayatinya dengan produktivitas yang tinggi yang memberikan tempat hidup penting buat beberapa jenis biota laut d‘ Ciri-ciri khusus

notatum IPBCC 07.555 menunjukkan produksi AIA, pertumbuhan, dan toleran terhadap kondisi asam yang lebih baik dibandingkan dengan kapang terpilih lainnya.. Imaningsih (2010)

Merencanakan Tebal Perkerasan Lentur dengan metode Bina Marga 1987 dan Perkerasan Kaku dengan metode Bina Marga 2013 pada ruas Jalan Alun-Alun Rambipuji, Kabupaten

Berbeda dengan penelitian-penelitian sebelumnya, pada penelitian ini dirancang prototype alat untuk sistem pendeteksi kebocoran gas LPG menggunakan Wireless

Perseroan mengalami penurunan laba bersih sebesar 63,52% hingga Juni 2016 menjadi Rp112,64 miliar dibandingkan laba bersih Rp308,85 miliar periode sama tahun sebelumnya..

Bank Kustodian akan menerbitkan dan menyampaikan Surat Konfirmasi Transaksi Unit Penyertaan yang menyatakan antara lain jumlah investasi dalam Unit Penyertaan REKSA DANA BNP

Perkembangan motorik halus anak taman kanak-kanak ditekankan pada koordinasi gerakan motorik halus dalam hal ini berkaitan dengan kegiatan meletakkan atau memegang suatu objek