BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan 3.1.1. Sejarah ... · 3.2.3. Dokumen Masukan...
Transcript of BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan 3.1.1. Sejarah ... · 3.2.3. Dokumen Masukan...
18
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
3.1.1. Sejarah Perusahaan
CV. Cipta Artha Mandiri didirikan dengan Akta Notaris Nomor 10 tanggal 05
September 2014 Notaris Hj. Aisah Komarudin, SH. Dan pemilik perusahaan
bernama Illa Nurmala bertekad mewujudkan idelaisme melalui partisipasi aktif
dalam pemberian jasa pengadaan barang dan perdagangan umum. Orientasi klien
kami yakni pemerintah, BUMN dan BUMD, Swasta serta kelompok-kelompok
masyarakat baik formal maupun non formal.Dalam upaya memberikan pelayaan
yang tepat guna, CV. Artha Mandiri mengembangkan unit usaha yang bergerak
dalam bidang jasa supplier dan perdagangan umum, dengan kegiatan pokok :
“Perdagangan Benih, Pupuk Organik dan Pupuk Anorganik, Pestisida serta Sarana
Produksi Pertanian lainnya”.Tumbuh selaras, andal dan terpercaya dalam melakukan
inovasi jasa pengadaan barang dan perdagangan umum maupun dukungan pada
program dengan kualitas dan waktu pengiriman yang baik dan tepat. Demikian
sejarah perusahaan CV. Artha Mandiri dibuat, semoga dapat menjadi sebuah
gambaran tentang perusahaan kami. Semoga kita dapat berkerjasama dalam
membangun pertanian indonesia, akhirnya kami ucapkan alhamdulilah atas segala
anugrah dan kesempatan yang diberikan kepada kami, sehingga kami dapat
berpartisipasi dalam membangun pertanian di jawa barat dan kami dapat berkembang
sebagaimana yang diharapkan, yaitu menjadi sebuah perusahaan yang dapat
diandalkan dan terpercaya.
19
3.1.2. Struktur Organisasi Perusahaan Dan Fungsi
Sumber : Pemilik CV. Cipta Artha Mandiri
Gambar III.1.
Struktur Organisasi CV. Cipta Artha Mandiri
Untuk melengkapi struktur organisasi suatu perusahaan, diperlukan uraian
tugas yang akan menjelaskan tentang wewenang dan tanggung jawab masing-masing
fungsi dalam perusahaan. Uraian jabatan pada CV. Cipta Artha Mandiri adalah
sebagai berikut:
1. Komisaris:
a. Melakukan pengawasan atas operasi perusahaan, pengurusan perusahaan dan
kegiatan usaha Perseroan serta melakukan pengawasan dan memberikan nasihat
dan rekomendasi kepada Direksi untuk kepentingan Perseroan dan sesuai dengan
maksud dan tujuan Perseroan.
b. Melakukan tugas dan tanggung jawabnya dengan itikad baik, tanggung jawab
dan kehati-hatian.
20
c. Secara tanggung renteng dan sendiri-sendiri bertanggung jawab atas kerugian
Perseroan yang disebabkan oleh kelalaian atau kesengajaan dalam pelaksanaan
tugas mereka.
d. Dalam kondisi tertentu, Dewan Komisaris wajib menyelenggarakan RUPS
Tahunan dan RUPS lainnya sesuai dengan kewenangannya sebagaimana diatur
dalam peraturan perundang- undangan dan anggaran dasar.
2. Direktur:
a. Memimpin perusahaan dengan membuat kebijakan-kebijakan perusahaan.
b. Memilih, menentukan, mengawasi pekerjaan karyawan.
c. Menyetujui anggaran tahunan perusahaan dan melaporkan pelaksanaan tugasnya
kepada owner perusahaan atau pemegang saham.
3. Manager Operasional:
a. Mengelola dan mengarahkan tim operasi untuk mencapai target bisnis.
b. Membantu untuk mengembangkan atau memperbarui prosedur operasi standar
untuk semua kegiatan operasional bisnis.
c. Membangun hubungan yang kuat dengan menangani masalah dan keluhan
pelanggan secara tepat waktu.
d. Memberikan penilaian karyawan, promosi, kompensasi dan pemutusan
hubungan kerja berdasarkan tinjauan kinerja.
e. Memberikan dukungan operasional dan bimbingan kepada staf.
f. Membantu mengembangkan anggaran operasional dan modal.
g. Memantau dan mengendalikan pengeluaran sesuai anggaran yang dialokasikan.
h. Membantu dalam mewawancarai, merekrut dan melatih kandidat.
i. Mengelola penugasan kerja dan alokasi untuk staf.
j. Meninjau kinerja dan memberikan umpan balik kinerja kepada staf.
21
k. Menyimpan dokumentasi yang akurat dan jelas untuk prosedur dan kegiatan
operasional.
l. Bekerja sesuai dengan kebijakan dan prosedur perusahaan.
m. Memastikan tim mengikuti prosedur operasi standar untuk semua fungsi
operasional.
n. Melakukan pertemuan rutin dengan tim untuk membahas tentang masalah,
masalah, pembaruan, dll.
o. Mendukung risiko operasional dan proses audit untuk tujuan pemeliharaan
preventif.
4. Administrasi:
a. Mencatat pengeluaran dan pendapatan penjualan produk.
b. Pembuatan faktur.
c. Pemberian gaji kepada karyawan.
d. Pencatatn stok barang dan pemesanan.
e. Kliring bank serta pengelolaan modal perusahaan.
5. Sales & Marketing:
a. Aktif mencari target.
b. Merekap data hasil penjualan.
c. Menjamin kepuasan pelanggan.
d. Mencari mitra kerja.
e. Menyusun strategi lanjutan.
6. Accounting:
a. Membuat Pembukuan Keuangan Kantor
b. Melakukan Posting jurnal operasional
c. Menginput data jurnal akuntansi ke dalam sistem yang dimiliki perusahaan
22
d. Memeriksa dan melakukan verifikasi kelengkapan dokumen yang berhubungan
dengan transaksi keuangan
e. Membuat Laporan keuangan
f. Rekonsiliasi dan penyesuaian data finansial
7. Staff Lapangan:
a. Melakukan pengawasan pekerjaan yang dilakukan dilapangan.
b. Menanggapi segala masalah pekerjaan dari costumer/kontraktor apabila ada
dipertanyakan atas proses pekerjaan.
c. Mempertimbangkan hasil pekerjaan atau mengecek pekerjaan pada badan
tertentu.
d. Mengetahui tujuan segala pekerjaan dilapangan.
3.2. Tinjauan Kasus
3.2.1. Proses Bisnis Sistem Berjalan
1. Prosedur Pemesanan Barang.
Customer datang langsung ke perusahaan kemudian customer menyerahkan data
pesanan kepada admin kemudian admin menyerahkan data pesanan kepada bagian
gudang kemudian bagian gudang mengecek barang yang di pesan customer jika
barang tidak ada maka menawarkan barang yang lain kepada customer.
2. Prosedur Proses Pembayaran.
Setelah proses pemesanan barang selesai kemudian admin
menghitung/menjumlah pesanan customer. Lalu admin membuatkan nota 2
rangkap yang berwarna putih diserahkan kepada customer yang merah untuk
diarsipkan lalu setelah customer menerima nota lalu customer melakukan
pembayaran.
23
3. Prosedur Laporan Keuangan.
Setiap akhir bulan bagian admin membuat laporan kas masuk sesuai transaksi
yang terjadi lalu dilaporkan kepada pemilik untuk ditanda tangani.
3.2.2. Activity Diagram
1. Activity Diagram Proses Pemesana Barang.
Gambar III.2.
Activity Diagram Proses Pemesanan Barang
24
2. Activity Diagram Proses Pembayaran.
Gambar III.3.
Activity Diagram Proses Pembayaran
25
3. Activity Diagram Laporan Keuangan.
Gambar III.4.
Activity Diagram Laporan Keuangan
3.2.3. Dokumen Masukan
Spesifikasi sistem berjalan yaitu serangkaian dari bentuk dokumen untuk
mendukung terbentuknya file-file yang dibutuhkan serta informasi yang disajikan,
maka dibutuhkan masukan-masukan untuk sistem.
1. Nama Dokumen : Data Pesanan
Fungsi : Untuk Memesan Barang
Sumber : Customer
Tujuan : Admin
Media : Kertas
Jumlah : Satu Lembar
26
Frekuensi : Setiap akan melakukan pemesanan barang.
Bentuk : Lampiran A.1
2. Nama Dokumen : Kwitansi Merah.
Fungsi : Untuk arsip sebagai pembuatan laporan.
Sumber : Admin
Tujuan : Admin
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap akan melakukan pembuatan laporan
Bentuk : Lampiran A.2
3.2.4. Dokumen Keluaran
1. Nama Dokumen : Kwitansi Putih
Fungsi : Sebagai bukti pembayaran
Sumber : Admin
Tujuan : Customer
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap selesai melakukan pembelian
Bentuk : Lampiran B.1
2. Nama Dokumen : Jurnal Kas Masuk
Fungsi : Sebagai Bukti Laporan Keuangan
Sumber : Admin
Tujuan : Pemilik
Media : Kertas
Jumlah : Lebih dari satu lembar
27
Frekuensi : Setiap selesai pembuatan laporan
Bentuk : B.2
3.2.5. Permasalahan Pokok
Bentuk sistem yang baik akan sangat dibutuhkan dalam organisasi
apapun,sehingga usaha-usaha yang dioprasikan sesuai dengan keinginan yang
diharapkan,akan tetapi perlu disadari bawa dengan adanya perkembangan zaman
yang sedemikian pesat yang mengakibatkan semua ketentuan dan cara pengolahan
bentuk usaha harus dapat sesuai dan pengaturan aktivitas yang baik sering timbul
berbagai masalah. Melihat dari semua proses yang terjadi, ada beberapa masalah
yang dihadapi di CV. Artha Mandiri dalam penjualan tunai. Adapun permasalahan
tersebut diantaranya:
1. Dalam perusahaan ini belum terkomputerisasi pencatatan penjualan masih
menggunakan nota/kwitansi.
2. Selain itu laporan keuangannya masih tulis tangan atau manual.
3. Penyimpanan berkas laporan dll masih belum teratur hingga membuat berkas
menumpuk.
3.2.6. Pemecahan Masalah
Untuk mengatasi pemasalahan tersebut, maka penulis memberikan alternatif
pemecahan masalah yaitu berupa sistem yang sudah terkomputerisasi. Sistem yang
sudah terkomputerisasi tersebut mempunyai kelebihan diantaranya:
1. Dengan program java netbeans berbasis destop penjualan tunai dimana dapat
mempermudah setiap bulannya dalam pembuatan laporan keuangan yang lengkap
mengenai transaksi penjualan tunai. Hal ini tentu dapat meningkatkan proses buatan
laporan keuangan.
28
2. Program penjualan juga yang dibuat dapat mempermudah admin untuk mengakses
dan mengelola penjualan, pembayaran dan pembuatan laporan.
3. Dengan membuatnya sistem baru ini yang lebih baik agar semua laporan
perusahaan tersusun dengan baik. Kemudian didalam penjualan tunainya juga tidak
terhambat.
4. Penyelesaian pekerjaan dapat dilakukan dengan cepat dan akurat. Sehingga
menghasilkan suatu informasi yang benar tentang data-data yang ada.
3.3. Analisa Kebutuhan Software
3.3.1. Analisa Kebutuhan
Berdasarkan proses penjualan tunai sistem berjalan pada CV Cipta Artha
Mandiri, maka tahapan berikutnya adalah analisis kebutuhan. Berikut ini spesifikasi
kebutuhan (System Requirement) dari sistem penjualan tunai pada CV Cipta Artha
Mandiri.
A. Admin
A.1. Admin Melakukan Login
A.2. Admin Berhak Mengelola Data Barang
A.3. Admin Berhak Mengakses Data Transaksi
A.4. Admin Berhak Mengelola Transaksi
A.5. Admin Berhak Mengelola Laporan
A.6. Admin Berhak Mengelola Jurnal Kas Masuk
B. Pemilik
B.1. Pemilik Melakukan Login
B.2. Pemilik Berhak Mengelola Data Pengguna
B.3. Pemilik Berhak Mengakses Jurnal Kas Masuk
29
3.3.2. Use Case Diagram
A. Use Case Diagram Halaman Admin:
A.1. Admin Melakukan Login
Gambar III.5.
Use Case Diagram Admin Melakukan Login
A.2. Admin Berhak Mengelola Data Barang
Gambar III.6.
Use Case Diagram Admin Berhak Mengelola Data Barang
Tabel III.1.
Deskripsi Use Case Diagram Admin Berhak Mengelola Data Barang
Use Case Name Mengelola data barang
Requirements A2
Goal Admin dapat menyimpan data barang
30
kedalam sistem
Pre-Condition Admin telah melakukan login sebagai
admin dan menginput data barang
Post Condition Berhasil menyimpan data barang
kedalam sistem
Failed end Conditions Admin mengreset penginputan data
barang karena alasan dalam
memastikan beberapa data
Primary Actors Admin
Main Flow / Basic Path 1. Admin Mengakses form data barang
2. Admin langsung menginput data
barang
3. Admin memilih tombol “Simpan”
4. Sistem menyimpan data barang dan
menampilkan keterangan berhasil
menyimpan data
Alternate flow / Invariant 1 1. Admin mengakses form data barang
2. Admin memilih tombol “Cari”
3. Admin memilih tombol “Simpan”
4. Admin memilih tombol “Reset”
5. Sistem menyimpan data barang dan
menampilkan keterangan data
berhasil di simpan
Invariant 2
31
A.3. Admin Berhak Mengakses Data Transaksi
Gambar III.7.
Use Case Diagram Admin Berhak Mengakses Data Transaksi
Tabel III.2.
Deskripsi Usecase Diagram Admin Berhak Mengakses Data Transaksi
Use Case Name Mengakses data transaksi
Requirements A3
Goal Admin dapat melihat data transaksi
Pre-Condition Admin telah melakukan login sebagai
admin dan mengakses data transaksi
Post Condition Berhasil melihat data transaksi
Failed end Conditions Admin mengreset penginputan data
transaksi karena alasan dalam
memastikan beberapa data
Primary Actors Admin
Main Flow / Basic Path 1. Admin mengakses form data
transaksi
32
2. Admin melihat data transaksi
Alternate flow / Invariant 1 1. Admin mengakses form data
transaksi
2. Admin melihat data transaksi
Invariant 2
A.4. Admin Berhak Mengelola Transaksi
Gambar III.8.
Use case Diagram Admin Berhak Mengelola Transaksi
Tabel III.3.
Deskripsi Usecase Diagram Admin Berhak Mengelola Transaksi
Use Case Name Mengelola transaksi
Requirements A4
Goal Admin dapat melakuka transaksi
penjualan dan menyimpan transaksi
kedalam sistem
Pre-Condition Admin telah melakukan login sebagai
33
admin dan menginput transaksi
Post Condition Berhasil menyimpan data transaksi
kedalam sistem
Failed end Conditions Admin membatalkan penginputan
transaksi karena alasan dalam
memastikan beberapa transaksi
Primary Actors Admin
Main Flow / Basic Path 1.Admin Mengakses form transaksi
2. Admin memilih tombol “Cari”
3. Admin menginput transaksi
4. Admin memilih tombol “Simpan”
Alternate flow / Invariant 1 1. Admin mengakses form transaksi
2. Admin memilih tombol “Cari”
4. Admin memilih tombol “Simpan”
Invariant 2
A.5. Admin Berhak Mengelola Laporan
Gambar III.9.
Use case Diagram Admin Mengelola Laporan
34
Tabel III.4.
Deskripsi Use case Diagram Admin Berhak Mengelola Laporan
Use Case Name Mengelola laporan
Requirements A5
Goal Admin dapat mengelola laporan dan
melihat laporan penjualan
Pre-Condition Admin telah melakukan login sebagai
admin dan mengelola laporan
penjualan
Post Condition Berhasil mengelola laporan penjualan
kedalam sistem
Failed end Conditions
Primary Actors Admin
Main Flow / Basic Path 1.Admin Mengelola laporan
2. Admin menginput tanggal laporan
3. Admin memilih tombol “Cetak”
4. Admin dapat melihat laporan
penjualan
Alternate flow / Invariant 1 1. Admin mengelola laporan
2. Admin memilih tombol “Cetak”
Invariant 2
35
A.6. Admin Berhak Mengelola Jurnal Kas Masuk
Gambar III.10.
Use case Diagram Admin Berhak Mengelola Jurnal Kas Masuk
Tabel III.5.
Deskripsi Use case Diagram Admin Berhak Mengelola Jurnal Kas Masuk
Use Case Name Mengelola jurnal kas masuk
Requirements A6
Goal Admin dapat mengelola jurnal kas
masuk
Pre-Condition Admin telah melakukan login sebagai
admin dan mengelola jurnal kas masuk
ke dalam sistem
Post Condition Berhasil mengelola jurnal kas masuk
kedalam sistem
Failed end Conditions
Primary Actors Admin
Main Flow / Basic Path 1. Admin mengelola jurnal kas masuk
36
2. Admin menginput tanggal jurnal kas
masuk
3. Admin memilih tombol “Cetak”
Alternate flow / Invariant 1 1. Admin mengelola jurnal kas masuk
2. Admin memilih tombol “Cetak”
Invariant 2
B. Pemilik
B.1. Pemilik Melakukan Login
Gambar III.11.
Use case Diagram Pemilik Melakukan Login
B.2. Pemilik Berhak Mengelola Data Pengguna
Gambar III.12.
Use case Diagram Pemilik Berhak Mengelola Data Pengguna
37
Tabel III.6.
Deskripsi Use case Diagram Pemilik Berhak Mengelola Data Pengguna
Use Case Name Mengelola Data Pengguna
Requirements B2
Goal Pemilik dapat menyimpan data pengguna
kedalam sistem
Pre-Condition Pemilik telah melakukan login sebagai
Pemilik dan menginput data pengguna
Post Condition Berhasil menyimpan data pengguna kedalam
sistem
Failed end Conditions Pemilik mengreset penginputan data
pengguna karena alasan dalam memastikan
beberapa data
Primary Actors Pemilik
Main Flow / Basic Path 1. Pemilik Mengakses form data pengguna
2. Pemilik langsung menginput data
pengguna
3. Pemilik memilih tombol “Simpan”
4. Sistem menyimpan data pengguna dan
menampilkan keterangan berhasil
menyimpan data
38
Alternate flow / Invariant 1 1. Pemilik mengakses data pengguna
2. Pemilik memilih tombol “Edit”
3. Pemilik memilih tombol “Hapus”
4. Pemilik memilih tombol “Reset”
5. Pemilik memilih tombol “Simpan”
5. Sistem menyimpan data pengguna dan
menampilkan keterangan data berhasil di
simpan
Invariant 2
B.3. Pemilik Berhak Mengakses Jurnal Kas Masuk
Gambar III.13.
Use case Diagram Pemilik Berhak Mengakses Jurnal Kas Masuk
Tabel III.7.
Deskripsi Use case Diagram Pemilik Berhak Mengakses Jurnal Kas Masuk
Use Case Name Mengelola jurnal kas masuk
Requirements B3
39
Goal Pemilik dapat mengelola jurnal kas
masuk
Pre-Condition Pemilik telah melakukan login sebagai
pemilik dan mengelola jurnal kas
masuk ke dalam sistem
Post Condition Berhasil mengelola jurnal kas masuk
kedalam sistem
Failed end Conditions
Primary Actors Pemilik
Main Flow / Basic Path 1. Pemilik mengelola jurnal kas masuk
2. Pemilik menginput tanggal jurnal kas
masuk
3. Pemilik memilih tombol “Cetak”
Alternate flow / Invariant 1 1. Pemilik mengelola jurnal kas masuk
2. Admin memilih tombol “Cetak”
Invariant 2
40
3.3.3. Activity Diagram
1. Activity Diagram Halaman Login Admin
Gambar III.14.
Activity Diagram Usulan Admin Login
41
2. Activity Diagram Admin Mengelola Data Barang
Gambar III.15.
Activity Diagram Usulan Admin Mengelola Data Barang
42
3. Activity Diagram Admin Mengakses Data Transaksi
Gambar III.16.
Activity Diagram Usulan Admin Mengakses Data Transaksi
43
4. Activity Diagram Admin Mengelola Transaksi
Gambar III.17.
Activity Diagram Usulan Admin Mengelola Transaksi
44
5. Activity Diagram Admin Mengelola Laporan
Gambar III.18.
Activity Diagram Usulan Admin Mengelola Laporan
45
6. Activity Diagram Admin Mengelola Jurnal Kas Masuk
Gambar III.19.
Activity Diagram Usulan Admin Mengelola Jurnal Kas Masuk
46
7. Activity Diagram Pemilik Melakukan Login
Gambar III.20.
Activity Diagram Usulan Pemilik Melakukan Login
47
8. Activity Diagram Admin Mengelola Data Pengguna
Gambar III.21.
Activity Diagram Usulan Pemilik Mengelola Data Pengguna
48
9. Activity Diagram Pemilik Mengakses Jurnal Kas Masuk
Gambar III.22.
Activity Diagram Usulan Pemilik Mengakses Jurnal Kas Masuk
49
3.4. Desain
3.4.1. Entity Relationship Diagram (ERD)
Gambar III.23.
Entity Relationship Diagram (ERD)
50
3.4.2. Logical Record Structure (LRS)
--__________
Gambar III.24.
admin
id
username
nama
password
hak
arus_kas
id
no_jurnal
nofak
kd_akun
tanggal
nm_akun
debit
kredit
detailbrg
id
kdbrg
nmbrg
jnsbrg
satuan
stok
harga
detail_penjualan
id
nofak
tgl
kdbrg
nmbrg
harga
qty
total
Penjualan
Nofak
Tgl
subtotal
51
Logical Record Structure (LRS)
3.4.3. Spesifikasi File
A. Spesifikasi File Barang
Nama Database : ta_suplier
Nama File : Tabel Data Barang
Tipe File : File Master
Akses File : Random
Panjang Record : 67 Byte
Field Key : id
Tabel III.8.
Spesifikasi File Barang
No Nama File Akronim Tipe Panjang Keterangan
1 Id Id int 5 Primary Key
2 Kode Barang kdbrg varchar 15 -
3 Nama Barang nmbrg varchar 25 -
4 Jenis Barang jnsbrg varchar 15 -
5 Satuan satuan varchar 7 -
6 Stok stok double - -
7 Harga harga double - -
B. Spesifikasi File Transaksi
Nama Database : ta_suplier
Nama File : Tabel Transaksi
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 41 Byte
Field Key : id
52
Tabel III.9.
Spesifikasi File Transaksi
No Nama File Akronim Tipe Panjang Keterangan
1 Id Id int 11 Primary Key
2 No Faktur nofak varchar 15 -
3 Tanggal tgl date - -
4 Kode Barang kdbrg varchar 15 -
5 Nama Barang nmbrg text - -
6 Harga harga double - -
7 Qty qty float - -
8 Total total double - -
C. Spesifikasi File Pengguna
Nama Database : ta_suplier
Nama File : Tabel Pengguna
Tipe File : File Master
Akses File : Random
Panjang Record : 105 Byte
Field Key : id
Tabel III.10.
Spesifikasi File Pengguna
No Nama File Akronim Tipe Panjang Keterangan
1 Id id int 5
2 User Name username varchar 10 Primary Key
3 Nama nama varchar 30 -
4 Password password varchar 50 -
5 Hak hak varchar 10 -
53
D. Spesifikasi File Jurnal
Nama Database : ta_suplier
Nama File : Tabel Jurnal
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 61 Byte
Field Key : id
Tabel III.11.
Spesifikasi File Jurnal
No Nama File Akronim Tipe Panjang Keterangan
1 Id Id int 11 Primary Key
2 No Faktur Nofak varchar 15 -
3 Tanggal tanggal date -
4 Nama Transaksi nm_trans varchar 35 -
5 Debit Debit double - -
6 Kredit Kredit double - -
7 Saldo Saldo double - -
54
3.4.4. Sequence Diagram
Gambar III.25.
55
Sequence Diagram Transaksi
3.4.5. Deployment Diagram
Gambar III.26.
Deployment Diagram
3.4.6. User Interface
1. Form Login
Gambar III.27.
56
User Interface Form Login
2. Form Data Barang
Gambar III.28.
User Inteface Form Data Barang
3. Form Data Transaksi
Gambar III.29.
57
User Interface Form Data Transaksi
4. Form Data Pengguna
Gambar III.30.
User Interface Data Pengguna
5. Form Transaksi
Gambar III.31.
58
User Interface Transaksi
6. Form Laporan Penjualan
Gambar III.32.
User Interface Form Laporan Transaksi
7. Form Jurnal Kas Masuk
Gambar III.33.
59
User Interface Jurnal Kas Masuk
3.5. Implementasi
3.5.1. Code Generation
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package suplier;
import java.awt.Color;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import javax.swing.JRootPane;
import javax.swing.plaf.basic.BasicInternalFrameUI;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
public class datatransaksi extends javax.swing.JInternalFrame {
private DefaultTableModel model;
JasperReport jasperReport;
JasperDesign jasperDesign;
JasperPrint jasperPrint;
Map<String, Object> param = new HashMap<>();
/**
* Creates new form laporan
*/
public datatransaksi() {
initComponents();
kon.setKoneksi();
putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
getRootPane().setWindowDecorationStyle(JRootPane.NONE);
((BasicInternalFrameUI) this.getUI()).setNorthPane(null);
this.setBorder(null);
this.getContentPane().setBackground(Color.white);
model = new DefaultTableModel ();
jTable1.setModel(model);
60
model.addColumn("ID");
model.addColumn("No Faktur");
model.addColumn("Tanggal");
model.addColumn("Kode Barang");
model.addColumn("Nama Barang");
model.addColumn("Harga");
model.addColumn("Qty");
model.addColumn("Total");
GetData();
}
private void GetData(){
model.getDataVector( ).removeAllElements( );
model.fireTableDataChanged( );
try{
Statement stat = (Statement) kon.setKoneksi( ).createStatement( );
String sql = "Select * from detail_penjualan where nofak not like '0' order
by id asc, tgl asc";
ResultSet res = stat.executeQuery(sql);
while(res.next ()){
Object[ ] obj = new Object[8];
obj[0] = res.getString("id");
obj[1] = res.getString("nofak");
obj[2] = res.getString("tgl");
obj[3] = res.getString("kdbrg");
obj[4] = res.getString("nmbrg");
obj[5] = res.getString("harga");
obj[6] = res.getString("qty");
obj[7] = res.getString("total");
model.addRow(obj);
lbljml_perPeriode.setText("Jumlah Data : "+model.getRowCount());
}
}catch(SQLException err){
JOptionPane.showMessageDialog(null, err.getMessage() );
}
}
db kon = new db();
//private Object [] [] datasiswa = null;
//private String [] label ={"Kode Barang", "Nama Barang", "Satuan","Terjual"};
//private void barangkeluar(){
//SimpleDateFormat date;
//date = new SimpleDateFormat("yyyy-MM-dd");
// String tgl_awal = date.format(Date_tglawal_periode.getDate());
// String tgl_akhir = date.format(Date_tglakhir_periode.getDate());
//try{
61
// String sq="SELECT a.`kdbrg`,a.`nmbrg`,b.`satuan`,a.`tgl`,SUM(`qty`) AS
totalkeluar FROM brgkeluar a JOIN detailbrg b ON a.`kdbrg` = b.`kdbrg` WHERE
a.`tgl`BETWEEN '2019-02-23' AND '2019-02-23' GROUP BY a.`kdbrg`";
// String sql = "SELECT b.`kdbrg`,b.`nmbrg`,b.`satuan`,a.`tgl`,SUM(`qty`)
AS totalkeluar FROM brgkeluar a LEFT JOIN detailbrg b ON a.`kdbrg` = b.`kdbrg`
WHERE a.`tgl`='0' GROUP BY a.`kdbrg` order by a.nmbrg asc";
// kon.rs=kon.st.executeQuery(sql);
// ResultSetMetaData m=kon.rs.getMetaData();
// int kolom= m.getColumnCount();
// int baris =0;
// while (kon.rs.next()){
// baris=kon.rs.getRow();
// }
// datasiswa=new Object[baris][kolom];
// int x=0;
// kon.rs.beforeFirst();
// while (kon.rs.next()){
// datasiswa[x][0] = kon.rs.getString("kdbrg");
// datasiswa[x][1] = kon.rs.getString("nmbrg");
// datasiswa[x][2] = kon.rs.getString("satuan");
// datasiswa[x][3] = kon.rs.getString("totalkeluar");
// x++;
// }
// }
// catch (SQLException e) {
// JOptionPane.showMessageDialog(null, e);
// }
//}
/**
* 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() {
jTabbedPane1 = new javax.swing.JTabbedPane();
jDesktopPane2 = new javax.swing.JDesktopPane();
jPanel2 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
lbljml_perPeriode = new javax.swing.JLabel();
jPanel14 = new javax.swing.JPanel();
setBorder(null);
setClosable(true);
62
setTitle("Data Transaksi");
setPreferredSize(new java.awt.Dimension(1105, 515));
jTabbedPane1.setBackground(new java.awt.Color(255, 255, 255));
jTabbedPane1.setFont(new java.awt.Font("Arial", 1, 12)); // NOI18N
jPanel2.setBackground(new java.awt.Color(255, 255, 255));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{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"
}
));
jTable1.addPropertyChangeListener(new java.beans.PropertyChangeListener()
{
public void propertyChange(java.beans.PropertyChangeEvent evt) {
jTable1PropertyChange(evt);
}
});
jScrollPane2.setViewportView(jTable1);
jPanel2.add(jScrollPane2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(10, 65, 1070, 360));
lbljml_perPeriode.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
lbljml_perPeriode.setText("Jumlah Data");
jPanel2.add(lbljml_perPeriode, new
org.netbeans.lib.awtextra.AbsoluteConstraints(20, 427, 270, 20));
jPanel14.setBackground(new java.awt.Color(255, 255, 255));
jPanel14.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
jPanel14.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.add(jPanel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(10,
10, 1070, 55));
jDesktopPane2.setLayer(jPanel2,
javax.swing.JLayeredPane.DEFAULT_LAYER);
javax.swing.GroupLayout jDesktopPane2Layout = new
javax.swing.GroupLayout(jDesktopPane2);
jDesktopPane2.setLayout(jDesktopPane2Layout);
jDesktopPane2Layout.setHorizontalGroup(
63
jDesktopPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, 1120,
Short.MAX_VALUE)
);
jDesktopPane2Layout.setVerticalGroup(
jDesktopPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
jTabbedPane1.addTab("Data Transaksi", jDesktopPane2);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPane1)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPane1)
);
pack();
}// </editor-fold>
private void jTable1PropertyChange(java.beans.PropertyChangeEvent evt) {
jTable1.setDefaultEditor(Object.class, null); // TODO add your handling
code here:
}
// Variables declaration - do not modify
private javax.swing.JDesktopPane jDesktopPane2;
private javax.swing.JPanel jPanel14;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTable jTable1;
private javax.swing.JLabel lbljml_perPeriode;
// End of variables declaration
}
64
3.5.2. Blackbox Testing
1. Pengujian Terhadap Form Login
Tabel III.12.
Hasil Blackbox Testing Form Login
No. Skenario pengujian Text case Hasil yang
diharapkan
Hasil
pengujian
Kesimpul
an
1. Username dan
Password tidak
diisi kemudian klik
tombol login
Username:
(kosong)
Password
(kosong)
Sistem akan
menolak akses
pengguna dan
menampilkan
pesan
“Username
atau password
tidak terdaftar”
Sesuai
harapan
Valid
2. Username terisi dan
password tidak
diisi, kemudian klik
tombol login
Username:
Admin
Password:
(kosong)
Sistem akan
menolak akses
pengguna dan
menampilkan
pesan
“Username
atau password
tidak terdaftar”
Sesuai
harapan
Valid
3. Username tidak disi
dan password diisi,
kemudian klik
tombol login
Username:
(kosong)
Password
Admin
Sistem akan
menolak akses
pengguna dan
menanmpilkan
pesan
“Username
atau password
tidak terdaftar”
Sesuai
harapan
Valid
4. Username dan
password terisi,
kemudian klik login
Username
dan
password
terisi,
kemudian
klik tombol
login
Sistem akan
menampilkan
menu utama
Sesuai
harapan
Valid
65
2. Pengujian Terhadap Form Data Barang
Tabel III.13.
Hasil Blackbox Testing Form Data Barang
No. Skenario
pengujian
Text case Hasil yang
diharapkan
Hasil
pengujian
Kesimpul
an
1. Semua data terisi
kecuali bayar
tidak diisi,
kemudian klik
tombol simpan
Kode barang:
B050719001
Nama
barang:
Pupuk npk
mutiara
Jenis: Pupuk
Satuan: Kg
Stok:14
Harga:
(kosong)
Sistem akan
menolak
akses
pengguna dn
menampilkan
pesan
“Terdapat
inputan yang
kosong”
Sesuai
harapan
Valid
2. Semua data terisi,
kemudian klik
tombol simpan
Kode barang:
B050719001
Nama
barang:
Pupuk npk
mutiara
Jenis: Pupuk
Satuan: Kg
Stok:14
Harga:30000
Sistem akan
memerima
akses
pengguna
dan
menampilkan
pesan “Data
berhasil
disimpan”
Sesuai
harapan
Valid
3. Pengujian Terhadap Form Transaksi
Tabel III.14.
Hasil Blackbox Testing Form Transaksi
No. Skenario Pengujian Text case Hasil yang
diharapkan
Hasil
pengujian
Kesimpul
an
1. Semua data terisi
kecuali qty klik
enter
Kode
barang:
B05071900
1
Nama
Sistem akan
menolak
Sesuai
harapan
Valid
66
barang:
Pupuk npk
mutiara
Jenis: Pupuk
Satuan: Kg
Stok:14
Harga:3000
0
Qty:
(kosong)
2. Semua data terisi,
kemudian klik
enter
Kode
barang:
B05071900
1
Nama
barang:
Pupuk npk
mutiara
Jenis: Pupuk
Satuan: Kg
Stok:14
Harga:3000
0
Qty: 3
Sistem akan
menerima
akses
pengguan
Sesuai
harapan
Valid
3.5.3. Spesifikasi Hardware dan Software
Tabel III.15.
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Microsoft windows XP Profesional SP2
Processor 500 MHz Intel Pentium III workstation
RAM 512 MB
Harddisk 580 MB
Monitor 1024x768 pixrls
Keyboard Keyboard Qwerty
Printer Inkjet
Mouse Mouse Optical atau Mous USB
Software Kebutuhan menjalankan aplikasi secara local:
Bahasa script programming : Java NetBeans
67
8.1
Web Server : XAMPP Control
Panel v3.2.1
DBMS : MySQL