BAB III ANALISIS SISTEM BERJALAN · pembayaran jika kredit degan persetujuan manajer. 2. Proses...
Transcript of BAB III ANALISIS SISTEM BERJALAN · pembayaran jika kredit degan persetujuan manajer. 2. Proses...
19
BAB III
ANALISIS SISTEM BERJALAN
3.1. Tinjauan Perusahaan
Pelaksanaan kegiatan rutin Cv. Tonny Motor Pontianak terdapat aturan yang
ditentukan, dalam hal ini akan menerangkan sejarah dan struktur organisasi
sebagai berikut:
3.1.1. Sejarah Perusahaan
CV. Tonny Motor adalah perusahaan perdagangan yang bergerak di bidang
jasa jual beli sepeda motor bekas. Perusahaan ini didirikan pada Tanggal 11 Maret
Tahun 2008 yang beralamat di Jalan Tanjung Raya II Komplek Cendana Indah
(Samping Sekolah Terpadu), yang dipimpin oleh Bapak Tonny selaku pemilik
perusahaan tersebut.
Wei Kok Tonny Wijaya Lahir di Singkawang pada tanggal 3 Oktober 1967
ini memulai keinginannya untuk membuka sebuah bisnis sampingan yang dimulai
dari menjual sparepart. Usaha tersebut berlanjut hingga pemilik mendirikan
sebuah Persekutuan Komanditer (CV) jual beli motor bekas. Jenis sepeda motor
yang dijual dan dibeli adalah Honda, Yamaha dan Suzuki. Sebelum menjual merk
motor Yamaha beliau hanya menjual merk motor Honda dan Suzuki saja. Selama
3 tahun berjalan CV. Tonny Motor ini tidak mengalami perkembangan apapun
Seiring dengan persaingan yang ada, Pak Tonny memutuskan menambahkan merk
motor yang dijual yaitu merk motor Yamaha. Pada Tahun 2011 usaha pak Tonny
berkembang pesat hingga sekarang.
20
3.1.2. Struktur Organisasi dan Fungsinya
Struktur organisasi adalah susunan sub-sub sistem dengan hubungan
wewenang dan tanggung jawab. Dalam organisasi terdapat struktur yang
menerapkan bagaimana tugas akan dibagi. Berikut ini merupakan struktur
organisasi pada Cv. Tonny Motor Pontianak.
Sumber : Data Cv. Tonny Motor Pontianak (2017)
Gambar III.1. Struktur Organisasi CV.Tonny Motor Pontianak
Sedangkan tugas dan kewajiban dari struktur Organisasi dan fungsi antara
lain:
1. Manajer
Kepala Instansi memiliki tugas sebagai berikut :
a. Mengawas dan mengkoorninasikan seluruh kegiatan yang dijalankan
perusahaan yang dipimpinnya.
b. Mendelegasikan wewenang dan tanggung jawab kepada masing – masing
kepala koordinasi dengan bidangnya.
c. Menerima laporan dari setiap department tentang hasil yang telah dicapai
oleh masing – masing koordinator.
Manajer
Admin
Mekanik
21
2. Admin
Bagianadmin memiliki tugas sebagai berikut :
a. keuangan
1. Bertanggung jawab atas perintah yang diberikan kepada pimpinan.
2. Menyusun laporan keuangan baik bulanan maupun tahunan secara
periodik.
3. Menyimpan hasil laporan keuangan dan menyerahkannya kepada
pimpinan.
b. Administrasi
1. Bertugas untuk menginput (memasukkan) data penjualan yang
dilakukan sales.
2. Menerima dan membalas telepon/email yang masuk.
3. Membuat laporan persedian barang.
4. Melakukan order(pesanan) ke pabrik.
5. Membuat laporan penjualan yang diminta oleh pimpinan perusahaan
atau principal.
3. Mekanik
Tugas mekanik adalah sebagai berikut :
a. Melaksanakan proses pemeriksanaan awal sebelum menjual motor sesuai
dengan kebutuhan.
b. Melaksanakan proses perbaikan motor yang berkualitas.
22
3.2. Analisa Kebutuhan
Sesuai dengan ruang lingkup dalam penyusunan Tugas Akhir secara umum
prosedur sistem yang dirancang pada Cv. Tonny Motor Pontianak yang meliputi:
1. Proses pemesanan
Pada saat konsumen ingin memesan konsumen bisa menghubungi atau
datang langsung untuk memastikan jenis motor yang dicari pada Cv. Tonny Motor
Pontianak pada bagian manajer, manajer atau admin akan mengecek persediaan
untuk memastikan apakah persediaan ada atau tidak, jika tidak ada konsumen
dapat memilih kembali jenis motor dan jika persediaan ada maka konsumen bisa
menetapkan harga, jika tunai dan uang muka, leasing untuk anggsuran
pembayaran jika kredit degan persetujuan manajer.
2. Proses Syarat pengkreditan dan tunai
Syarat yang harus dipenuhi oleh konsumen jika pembelian kredit yaitu
konsumen harus menyiapkan fotocopy KTP pemohon & suami / istri / penjamin,
fotocopy kartu keluarga (bisa digantikan dengan surat nikah atau akte kelahiran)
dan data lain (hanya jika diperlukan) yang diserahkan kepada manajer, sedangkan
jika pembelian tunai Fotocopy KTP Suami / Istri / Orang Tua dan uang
tunai/lunas yang diserahkan pada manajer dimana data ini akan digunakan oleh
admin atau manajer untuk mengisi data konsumen pada form konsumen.
3. Proses penyerahan motor pembelian tunai kepada konsumen
Manajer menyiapkan BPKB, STNK, KTP pemilik utama, Kwitansi kosong,
faktur dan kunci motor yang akan diberikan kepada konsumen apabila konsumen
sudah membayar uang tunai/lunas setelah itu bagian admin atau manajer
menambah baru data penjualan tunai pada form penjualan tunai.
23
4. Proses survey pengkreditan kelayakan konsumen
Manajer mengarsip dan memberikan syarat yang diajukan konsumen ke
leasing untuk mengecek kelayakan konsumen, lesing akan mengecek dan datanng
langsung ke rumah konsumen.
5. Proses persetujuan leasing untuk pengkreditan
Leasing menghubungi Manajer Cv. Tonny Motor Pontianak bahwa
konsumen layak, setelah itu bagain manejer menghubungi konsumen untuk datang
langsung ke Cv. Tonny Motor Pontianak untuk melengkapi syarat yang kurang
dan uang muka yang telah ditetapkan.
6. Proses penyerahan motor pengkreditan ke konsumen
Konsumen memberikan uang muka ke manajer dan manajer memberikan
kunci untuk mengecek kelayakan mesin motor ke pada konsumen, setelah
konsumen setuju dengan pilihannya, bagian admin atau manajer menambah baru
data penjualan kredit pada form penjualan kredit dan menyerahkan STNK, kartu
angsuran dan kunci ke konsumen.
7. Proses penyerahan surat jalan pengkreditan kepada leasing
Manajer membuat surat jalan dilengkapi dengan fotocopy STNK, BPKB,
No rangka mesin, kwitansi, surat kuasa dan tanda terima kepada leasing.
8. Proses pelunasan piutang oleh leasing
Leasing menerima surat jalan dari manajer, setelah itu lesing mentransfer
uang untuk melunasi piutang konsumen mengunakan Via Bank, setelah uang
masuk ke rekening perusahaan, manajer meminta tanda tanggan leasing untuk
bukti pelunasan piutang setelah itu bagian admin atau manajer meperbaharui form
piutang untuk pelunasan piutang .
24
9. Proses laporan penjualan.
Admin atau manajer akan mencetak laporan penjualan dan piutang pada
form cetak laporan untuk diarsip.
3.2.1. Dokumen Masukan
Dokumen masukan yang digunakan sebagai bentuk uraian secara rinci
setiap dokumen masukan yang digunakan dalam program.
1. Nama Dokumen : Daftar Harga Motor
Fungsi : Sebagai daftar harga
Sumber : Pemasok
Tujuan : Admin
Frekuensi : Setia ada penjualan
Media : Kertas
Bentuk : Lampiran A-1
2. Nama Dokumen : Purchase Order
Fungsi : Sebagai surat pemesanan
Sumber : Leasing
Tujuan : Admin
Frekuensi : Setia ada penjualan kredit
Media : Kertas
Bentuk : Lampiran A-2
3. Nama Dokumen : Cek Pembayaran
Fungsi : Sebagai bukti pembayaran
Sumber : Leasing
Tujuan : Admin
25
Frekuensi : Setia ada penjualan kredit
Media : Kertas
Bentuk : Lampiran A-3
3.2.2. Dokumen Keluaran
Dokumen keluaran yang digunakan sebagai bentuk uraian secara rinci setiap
dokumen keluaran yang digunakan dalam program.
1. Nama Dokumen : Kwitansi Pejualan
Fungsi : Sebagai tanda bukti pembayaran
Sumber : Bagian Admin(keuangan)
Tujuan : leasing
Frekuensi : Setiap ada penjualan
Media : Kertas
Bentuk : Lampiran B-1
2. Nama Dokumen : Kartu Angsuran
Fungsi : Sebagai tanda bukti pembayaran
Sumber : Admin
Tujuan : Konsumen
Frekuensi : Setiap ada penjualan
Media : Kertas
Bentuk : Lampiran B-2
3. Nama Dokumen : Surat jalan
Fungsi : Sebagai tanda bukti barang sudah dikeluarkan
Sumber : Admin
Tujuan : Leasing
26
Frekuensi : Setiap ada penjualan kredit
Media : Kertas
Bentuk : Lampiran B-3
3.3. Analisa Kebutuhan Software
Kebutuhan yang diperlukan pada CV. Tonny Motor Pontianak adalah sebuah
aplikasi yang dapat membatu mempermudah dan mengguragi kesalahan-kesalahan
yang sering terjadi oleh Manajer dan admin dalam mengelola data penjualan dan
piutang pada CV. Tonny Motor Pontianak. Prosedur Aplikasi penjualan dan
piutang dimulai ketika konsumen memesan kendaraan kepada Manajer. Manajer
atau amin login ke Aplikasi, ketika sudah masuk ke Aplikasi, maka manajer atau
admin akan mengecek terlebih dahulu form persediaan, jika pesediaan tidak ada
maka konsumen bisa memilih kembali persediaan yang tersedia dan jika
persediaan ada konsumen setuju dengan pilihan dan memilih pembayaran tunai
atau kredit, jika tunai admin menambah baru data konsumen pada form konsumen,
dan data penjualan pada form penjualan tunai, jika kredit admin akan menambah
baru data konsumen pada form konsumen, dan data penjualan pada form penjualan
kredit, dan pada saat pelunasan piutang manajer akan memperbaharui form piutang
dan admin akan mencetak laporan penjualan dan pitang pada form laporan untuk
diserahkan ke manajer.
3.3.1. Analisa Kebutuhan
Aplikasi ini hanya ada dua pengguna yang bisa mengakses form yang telah
ditentukan. Pengguna yang mengunakan aplikasi ini adalah Manajer dan Admin.
27
Berikut analisa kebutuhan fungsionalnya:
a. Manajer
A1. Manajer bisa melakukan login
A2. Manajer bisa mengelola form data pegawai
A3. Manajer bisa mengelola form data konsumen
A4. Manajer bisa mengelola form data Leasing
A5. Manajer bisa mengelola form data pemasok
A6. Manajer bisa mengelola form data persediaan
A7. Manajer bisa mengelola form data penjualan tunai
A8. Manajer bisa mengelola form data penjualan kredit
A9. Manajer bisa mengelola form item pelunasan piutang
A10. Manajer bisa mengelola form laporan penjualan kredit
A11. Manajer bisa mengelola form laporan penjualan tunai
A12. Manajer bisa mengelola form laporan pelunasan piutang
b. Admin
B1. Admin bisa melakukan login
B2. Admin bisa mengelola form data konsumen
B3. Admin bisa mengelola form data Leasing
B4. Admin bisa mengelola form data pemasok
B5. Admin bisa mengelola form data persediaan
B6. Admin bisa mengelola form data penjualan tunai
B7. Admin bisa mengelola form data penjualan kredit
B8. Admin bisa mengelola form data pelunasan piutang
B9. Admin bisa mengelola form laporan penjualan kredit
28
B10. Admin bisa mengelola form laporan penjualan tunai
B11. Admin bisa mengelola form laporan pelunasan piutang
3.3.2. Use Case Diagram
Penggambaran use case diagram Manajer dan admin pada aplikasi piutang
sesuai dengan kebutuhan fungsional.
Sumber: Hasil penelitian (2017)
Gambar III.2 Use Case Diagram Pengguna pada CV.Tonny Motor Pontianak
29
Tabel III.1
Deskripsi Use Case Diagram Manajer
Use Case Name Penjualan dan Piutang Requirements A1-A11
Goal Bagian Manajer bisa melakukan mengola
form pegawai, konsumen, leasing, pemasok,
persediaan, penjualan tunai, penjualan kredit,
pembayaran piutang, laporan penjualan tunai,
laporan penjualan kredit dan laporan
pelunasan piutang.
Pre-Conditions Bagian admin masuk mengakses halaman
login
Post-Conditions Manajer melakukan login dan
masuk kedalam halaman bagian Manajer
Failed End Condition Manajer masuk mengakses halaman login
Primary Actors Manajer
Main Flow / Basic Path 1. Manajer bisa melakukan login
2. Manajer bisa mengelola form data pegawai
3. Manajer bisa mengelola form data
konsumen
4. Manajer bisa mengelola form data Leasing
5. Manajer bisa mengelola form data
pemasok
6. Manajer bisa mengelola form data
persediaan
7. Manajer bisa mengelola form data
penjualan tunai
8. Manajer bisa mengelola form data
penjualan kredit
9. Manajer bisa mengelola form item
pelunasan piutang
10. Manajer bisa mengelola form laporan
penjualan kredit
11. Manajer bisa mengelola form laporan
penjualan tunai
12. Manajer bisa mengelola form laporan pada
menu laporan pelunasan piutang
Invariant -
30
Tabel III.2
Deskripsi Use Case Diagram Admin
Use Case Name Penjualan dan Piutang Requirements B1-B10
Goal Bagian Manajer bisa melakukan mengola form
konsumen, leasing, pemasok, persediaan,
penjualan tunai, penjualan kredit, pembayaran
piutang, laporan penjualan tunai, laporan
penjualan kredit dan laporan pelunasan piutang. Pre-Conditions Bagian admin masuk mengakses halaman login Post-Conditions Bagian admin melakukan login dan
masuk kedalam halaman bagian admin Failed End Condition Bagian admin masuk mengakses halaman login Primary Actors Bagian admin Main Flow / Basic Path 1. Admin bisa melakukan login
2. Admin bisa mengelola form data
konsumen
3. Admin bisa mengelola form data Leasing
4. Admin bisa mengelola form data pemasok
5. Admin bisa mengelola form data
persediaan
6. Admin bisa mengelola form data
penjualan tunai
7. Admin bisa mengelola form data
penjualan kredit
8. Admin bisa mengelola form item
pelunasan piutang
9. Admin bisa mengelola form laporan
penjualan kredit
10. Admin bisa mengelola form laporan
penjualan tunai
11. Admin bisa mengelola form laporan pada
menu laporan pelunasan piutang
Invariant -
31
3.3.3. Activity Diagram
1. Activity Diagram Form Login
Berikut penggambaran activity diagram form login Pengguna manajer dan admin
pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.3 Activity Diagram Form Login pada CV.Tonny Motor
Pontianak
32
2. Activity Diagram Form Pegawai
Berikut penggambaran activity diagram form pegawai pengguna manajer pada
aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.4 Activity Diagram Form Pegawai CV.Tonny Motor Pontianak
33
3. Activity Diagram Form Konsumen
Berikut penggambaran activity diagram form konsumen pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.5 Activity Diagram Form Konsumen CV.Tonny Motor Pontianak
34
4. Activity Diagram Form Leasing
Berikut penggambaran activity diagram form leasing pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.6 Activity Diagram Form Leasing CV.Tonny Motor Pontianak
35
5. Activity Diagram Form Pemasok
Berikut penggambaran activity diagram form pemaosk pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.7 Activity Diagram Form Pemasok CV.Tonny Motor Pontianak
36
6. Activity Diagram Form Persediaan
Berikut penggambaran activity diagram form persediaan pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.8 Activity Diagram Form Persediaan CV.Tonny Motor
Pontianak
37
7. Activity Diagram Form Penjualan tunai
Berikut penggambaran activity diagram form penjualan tunai pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.9 Activity Diagram Manajer Form Penjualan Tunai CV.Tonny
Motor Pontianak
38
8. Activity Diagram Form Penjualan Kredit
Berikut penggambaran activity diagram form penjualan kredit pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.10 Activity Diagram Form Penjualan Kredit CV.Tonny Motor
Pontianak
39
9. Activity Diagram Form Pelunasan Piutang
Berikut penggambaran activity diagram form pelunasan piutang pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.11 Activity Diagram Form Pelunasan Piutang CV.Tonny Motor
Pontianak
40
10. Activity Diagram Form Laporan Pelunasan Piutang
Berikut penggambaran activity diagram form pelunasan piutang pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.12 Activity Diagram Form Laporan Pelunasan Piutang
CV.Tonny Motor Pontianak
41
11. Activity Diagram Form Laporan Penjualan Tunai
Berikut penggambaran activity diagram form laporan penjualan tunai pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.13 Activity Diagram Form Laporan Penjualan Tunai CV.Tonny
Motor Pontianak
42
12. Activity Diagram Manajer Form Laporan Penjualan Kredit
Berikut penggambaran activity diagram manajer form laporan penjualan tunai
pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.14 Activity Diagram Form Laporan Penjualan Kredit CV.Tonny
Motor Pontianak
43
3.4. Desain
Adapun desain yang digunakan untuk membuat Aplikasi Penjualan dan
Piutang pada CV.Tonny Motor Pontianak adalah sebagai berikut:
3.4.1. Software Architecture
Untung desain penggambaran sofware architecture, penggambaran
mengunakan class diagram dan sequence diagram.
1. Class Diagram Penjualan dan piutang
Berikut penggambaran class diagram penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.15 Class Diagram Penjualan dan piutang
44
2. Sequence Diagram
a. Sequence Diagram Login
Berikut penggambaran sequence diagram login pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.16 Sequence Diagram masuk CV.Tonny Motor Pontianak
45
b. Activity Diagram Form Pegawai
Berikut penggambaran sequence diagram form pegawai pengguna manajer
pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.17 Sequence Diagram Form Pegawai CV.Tonny Motor
Pontianak
46
c. Sequence Diagram Form Konsumen
Berikut penggambaran sequence diagram form konsumen pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.18 Sequence Diagram Form Konsumen CV.Tonny Motor
Pontianak
47
d. Sequence Diagram Form Leasing
Berikut penggambaran sequence diagram form leasing pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.19 Sequence Diagram Form Leasing CV.Tonny Motor
Pontianak
48
e. Sequence Diagram Form Pemasok
Berikut penggambaran sequence diagram form pemaosk pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.20 Sequence Diagram Form Pemasok CV.Tonny Motor
Pontianak
49
f. Sequence Diagram Form Persediaan
Berikut penggambaran sequence diagram form persediaan pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.21 Sequence Diagram Form Persediaan CV.Tonny Motor
Pontianak
50
g. Sequence Diagram Form Penjualan tunai
Berikut penggambaran sequence diagram form penjualan tunai pada aplikasi
penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.22 Sequence Diagram Form Penjualan Tunai CV.Tonny
Motor Pontianak
51
h. Sequence Diagram Form Penjualan Kredit
Berikut penggambaran sequence diagram form penjualan kredit pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.23 Sequence Diagram Form Penjualan Kredit CV.Tonny
Motor Pontianak
52
i. Sequence Diagram Form Pelunasan Piutang
Berikut penggambaran sequence diagram form pelunasan piutang pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.24 Sequence Diagram Form Pelunasan Piutang CV.Tonny
Motor Pontianak
53
j. Sequence Diagram Form Laporan Pelunasan Piutang
Berikut penggambaran sequence diagram form pelunasan piutang pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.25 Sequence Diagram Laporan Pelunasan Piutang
CV.Tonny Motor Pontianak
54
k. Sequence Diagram Form Laporan Penjualan Tunai
Berikut penggambaran sequence diagram form laporan penjualan tunai
pengguna manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.26 Sequence Diagram Form Laporan Penjualan Tunai
CV.Tonny Motor Pontianak
55
l. Sequence Diagram Form Laporan Penjualan Kredit
Berikut penggambaran sequence diagram form laporan penjualan tunai
pengguna manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.27 Sequence Diagram Form Laporan Penjualan Kredit
CV.Tonny Motor Pontianak
56
3.4.2. User Interface
1. User Interface Form Login
Berikut penggambaran user interface form login pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.28 User Interface Form Login CV.Tonny Motor Pontianak
Penjelasan dari gambar III.28 adalah dimana pengguna bisa memulai
mengelola aplikasi penjualan dan piutang pada CV.Tonny Motor Pontianak
pengguna terlebih dahulu harus memasukkan nama pengguna dan kata sandi. Jika
nama pengguna dan kata sandi yang dimasukkan salah maka akan kembali ke
halaman di mana pengguna harus memasukkan nama pengguna dan kata sandi.
Dan jika nama pengguna dan kata sandi yang dimasukkan benar maka program
akan menampilkan menu utama.
57
2. User Interface Form Menu Utama
Berikut penggambaran user interface form menu utama pengguna manajer
pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.29 User Interface Form Menu Utama CV.Tonny Motor
Pontianak
Penjelasan dari gambar III.29 Form menu utama aplikasi penjualan dan
piutang pada CV.Tonny Motor Pontianak yang ada pada form menu utama yaitu
Penjualan tunai, Penjualan kredit, persediaan, laporan penjualan tunai, laporan
penjualan kredit, dan laporan pelunasaan piutang.
58
3. User Interface Form Pegawai
Berikut penggambaran user interface form pegawai pengguna manajer pada
aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.30 User Interface Form Pegawai CV.Tonny Motor Pontianak
Penjelasan dari gambar III.30, pada form pegawai pengguna yang bisa
mengelola form pegawai hanya manajer, dalam mengelola manajer bisa mencari
data, menambah, menghapus, mengubah data pergawai yang berisi data id
pegawai, nama pegawai, alamat, hak ases, paswword dan telp/hp.
59
4. User interface Form Konsumen
Berikut penggambaran user interface form konsumen pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.31 user interface Form Konsumen CV.Tonny Motor Pontianak
Penjelasan dari gambar III.31, pada form konsumen pengguna bisa mencari
data, menambah, menghapus, mengubah data pada form konsumen yang berisi
data id konsumen, nama konsumen, alamat konsumen dan telp/hp.
60
5. User Interface Form Leasing
Berikut penggambaran user interface form leasing pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.32 User Interface Form Leasing CV.Tonny Motor Pontianak
Penjelasan dari gambar III.32, pada form leasing pengguna bisa mencari
data, menambah, menghapus, mengubah pada form leasing yang berisi data id
kantor, nama kontor, alamat dan telp/hp.
61
6. User Interface Form Pemasok
Berikut penggambaran user interface form pemaosk pengguna manajer dan
admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.33 user interface Form Pemasok CV.Tonny Motor Pontianak
Penjelasan dari gambar III.33, pada form pemasok pengguna bisa mencari
data, menambah, menghapus, mengubah pada form pemasok yang berisi data id
pemasok, nama pemasok, alamat dan telp/hp.
62
7. User Interface Form Persediaan
Berikut penggambaran user interface form persediaan pengguna manajer
dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.34 User Interface Form Persediaan CV.Tonny Motor Pontianak
Penjelasan dari gambar III.34, pada form persediaan pengguna bisa mencari
data, menambah, menghapus, mengubah pada form persediaan yang berisi data
KB motor, unit motor, merek motor, type motor, warna motor, no.rangka mesin,
tahun, no.BPKB, id pemasok, harga satuan dan status pembayaran.
63
8. User Interface Form Penjualan tunai
Berikut penggambaran user interface form penjualan tunai pada aplikasi
penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.35 User Interface Form Penjualan Tunai CV.Tonny Motor
Pontianak
Penjelasan dari gambar III.35, pada form penjualan tunai pengguna bisa
mencari data, menambah, menghapus, mengubah pada form penjualan tunai yang
berisi data no.transaksi, tanggal, id konsumen, KB motor, harga, total bayar dan
status pembayaran.
64
9. User Interface Form Cetak Penjualan tunai
Berikut penggambaran user interface form cetak penjualan tunai pada
aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.36 User Interface Form Cetak Penjualan Tunai CV.Tonny Motor
Pontianak
Penjelasan dari gambar III.36, pada form cetak penjualan tunai pengguna
memasukan no transaksi pada tabel cetak penjualan tunai maka program akan
menampilkan halaman nota penjualan tunai yang ingin dicetak, jika ingin keluar
pengguna pilih tombol keluar, maka program akan keluar dari halaman cetak dan
kembali ke halaman penjualan tunai.
65
10. User Interface Form Penjualan Kredit
Berikut penggambaran user interface form penjualan kredit pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.37 User Interface Form Penjualan Kredit CV.Tonny Motor
Pontianak
Penjelasan dari gambar III.37, pada form penjualan kredit pengguna bisa
mencari data, menambah, menghapus, mengubah pada form penjualan kredit yang
berisi data no.faktur, tanggal, id konsumen, id kantor leasing, KB motor, harga,
uang muka, sisa piutang dan status pembayaran.
66
12. User Interface Form Cetak Penjualan Kredit
Berikut penggambaran user interface form penjualan kredit pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.38 User Interface Form Cetak Penjualan Kredit CV.Tonny
Motor Pontianak
Penjelasan dari gambar III.38, pada form cetak penjualan kredit pengguna
memasukan no faktur pada tabel cetak penjualan kredit maka program akan
menampilkan halaman nota penjualan kredit yang ingin dicetak, jika ingin keluar
pengguna pilih tombol keluar, maka program akan keluar dari halaman cetak dan
kembali ke halaman penjualan kredit.
67
13. User Interface Form Cetak Surat Jalan
Berikut penggambaran user interface form cetak surat jalan pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.39 User Interface Form Cetak Surat Jalan CV.Tonny Motor
Pontianak
Penjelasan dari gambar III.39, pada form cetak surat jalan pengguna
memasukan no faktur pada tabel cetak surat jalan maka program akan
menampilkan halaman surat jalan yang ingin dicetak, jika ingin keluar pengguna
pilih tombol keluar, maka program akan keluar dari halaman cetak dan kembali ke
halaman penjualan kredit.
68
14. User Interface Form Pelunasan Piutang
Berikut penggambaran user interface form pelunasan piutang pengguna
manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.40 User Interface Form Pelunasan Piutang CV.Tonny
Motor Pontianak
Penjelasan dari gambar III.40, pada form penjualan tunai pengguna bisa
mencari data, menambah, menghapus, mengubah pada form penjualan tunai yang
berisi data id piutang, no. Faktur, tanggal, keterangan, banyaknya uang, pelunasan
piutang.
69
13. User Interface Form Cetak Pelunasan Piutang
Berikut penggambaran user interface cetak form pelunasan piutang
pengguna manajer dan admin pada aplikasi penjualan dan piutang
Sumber: Hasil penelitian (2017)
Gambar III.41 User Interface Form Cetak Pelunasan Piutang
CV.Tonny Motor Pontianak
Penjelasan dari gambar III.41, pada form cetak pelunasan piutang pengguna
memasukan no faktur pada tabel cetak pelunasan piutang maka program akan
menampilkan halaman nota pelunasan piutang yang ingin dicetak, jika ingin
keluar pengguna pilih tombol keluar, maka program akan keluar dari halaman
cetak dan kembali ke halaman pelunasan piutang.
70
3.5. Implementasi
Implementasi merupakan suatu proses yang dinamis, dimana pelaksana
kebijakan melakukan aktivitas atau kegiatan, sehingga pada akhirnya akan
mendapatkan suatu hasil yang sesuai dengan tujuan atau sasaran kebijakan itu
sendiri. Adapun kebutuhan implementasi yang diperlukan pada aplikasi penjualan
dan piutang pada CV.Tonny Motor Pontianak yaitu tentang Code Generation
serta spesifikasi software dan hardware.
3.5.1. Code Generation
1. Code Generation Form Penjualan Tunai
//Objek //
package penjualan_piutang;
import apppjpu.Database;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.UIManager;
// Settingan class //
public class PenjualanTunai extends javax.swing.JFrame {
Database dbsetting;
String driver, database, user, pass, userLogin;
private Object tabel;
public PenjualanTunai() {
try {
UIManager.setLookAndFeel("com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
} catch (Exception Z) {
}
71
//Settingan form penjualan tunai// initComponents();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height = screenSize.height) / 6);
dbsetting = new Database();
driver = dbsetting.SettingPanel("DBDriver");
database = dbsetting.SettingPanel("DBDatabase");
user = dbsetting.SettingPanel("DBUsername");
pass = dbsetting.SettingPanel("DBPassword");
table.setModel(tableModel);
Tabel(table, new int[]{75, 80, 75, 75, 75, 75, 100});
setDefaultTable();
SetEditOff(); TampilIDKonsumen();
TampilIDPersediaan();
TanggalOtomatis();
NoTransaksi();
}
private javax.swing.table.DefaultTableModel tableModel = getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[]) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int kolom = tb.getColumnCount();
for (int i = 0; i < kolom; i++) {
javax.swing.table.TableColumn tbc = tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}
72
//Settingan nama attribute pada tabel form penjualan tunai// private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][]{}, new String[]{"No.Transaksi", "Tanggal", "ID Konsumen", "KB Motor",
"Harga", "Total Bayar", "Status Pembayaran"}
) {
boolean[] canEdit = new boolean[]{
false, false, false, false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit[columnIndex];
}
};
}
//Settingan untuk memangil class pada database penjualan tunai// String data[] = new String[7];
private void setDefaultTable() {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penjualntunai";
ResultSet res = stt.executeQuery(SQL);
while (res.next()) {
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
data[3] = res.getString(4);
data[4] = res.getString(5);
data[5] = res.getString(6);
data[6] = res.getString(7);
tableModel.addRow(data);
}
res.close();
stt.close();
kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
73
//Settingan method// int row = 0; public void Tampil() {
row = table.getSelectedRow();
Transaksi.setText(tableModel.getValueAt(row, 0).toString());
Tanggal.setText(tableModel.getValueAt(row, 1).toString());
IDKonsumen.setSelectedItem(tableModel.getValueAt(row, 2).toString());
KB.setSelectedItem(tableModel.getValueAt(row, 3).toString());
Harga.setText(tableModel.getValueAt(row, 4).toString());
TBayar.setText(tableModel.getValueAt(row, 5).toString());
Status.setText(tableModel.getValueAt(row, 6).toString());
Simpan.setEnabled(false);
}
public void BersihData() {
NoTransaksi();
Tanggal.setText("");
IDKonsumen.setSelectedItem("");
KB.setSelectedItem("");
Harga.setText("");
TBayar.setText("");
Status.setText("");
}
public void SetEditOff() {
Tanggal.setEnabled(false);
Transaksi.setEnabled(false);
IDKonsumen.setEnabled(false);
KB.setEnabled(false);
Harga.setEnabled(false);
TBayar.setEnabled(false);
Status.setEnabled(false);
}
public void SetEditOn() {
Tanggal.setEnabled(true);
IDKonsumen.setEnabled(true);
KB.setEnabled(true);
Harga.setEnabled(true);
TBayar.setEnabled(true);
Status.setEnabled(true);
}
public void TanggalOtomatis() {
Date tanggal = new Date();
Tanggal.setText("" + (String.format("%1$td-%1$tm-%1$tY", tanggal)));
}
74
//Settingan untuk menyimpan data pada form dan databese penjualan
tunai// private void SimpanActionPerformed(java.awt.event.ActionEvent evt) {
String T = Transaksi.getText();
String TG = Tanggal.getText();
String IK = IDKonsumen.getSelectedItem().toString();
String H = Harga.getText();
String TB = TBayar.getText();
String S = Status.getText();
if ((T.isEmpty()) | (TG.isEmpty()) | (IK.isEmpty()) | (IK.isEmpty()) |
(H.isEmpty()) | (TB.isEmpty()) | (S.isEmpty())) {
JOptionPane.showMessageDialog(null, "data tidak boleh kosong, silahkan
dilengkapi");
Transaksi.requestFocus();
} else {
JOptionPane.showMessageDialog(null, "Data Berasil disimpan");
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "insert into penjualntunai values('" + Transaksi.getText() + "',"
+ "'" + Tanggal.getText() + "',"
+ "'" + IDKonsumen.getSelectedItem() + "',"
+ "'" + KB.getSelectedItem() + "',"
+ "'" + Harga.getText() + "',"
+ "'" + TBayar.getText() + "',"
+ "'" + Status.getText() + "')";
stt.executeUpdate(SQL);
Class.forName(driver);
Connection kon1 = DriverManager.getConnection(database, user, pass);
Statement stt1 = kon.createStatement();
String SQL1 = "Update persediaan Set StatusPersediaan='" +
SPersediaan.getText() + "'"
+ "Where KBMotor='" + KB.getSelectedItem().toString() + "'";
stt1.executeUpdate(SQL1);
data[0] = Transaksi.getText();
data[1] = Tanggal.getText();
data[2] = IDKonsumen.getSelectedItem().toString();
data[3] = KB.getSelectedItem().toString();
data[4] = Harga.getText();
data[5] = TBayar.getText();
data[6] = Status.getText();
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
Simpan.setEnabled(true);
TanggalOtomatis();
}
75
//Settingan untuk mengaktifkan halaman form penjualan tunai// private void BaruActionPerformed(java.awt.event.ActionEvent evt) { BersihData();
Simpan.setEnabled(true);
Transaksi.setEnabled(false);
IDKonsumen.setEnabled(true);
KB.setEnabled(true);
TBayar.setEnabled(true);
Status.setText("Lunas");
TanggalOtomatis();
}
//Settingan untuk mencari data pada form penjualan tunai//
private void tombolcariActionPerformed(java.awt.event.ActionEvent evt) { tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
String Transaksi = Cari.getText();
String Tanggal = Cari.getText();
String IDKonsumen = Cari.getText();
String KB = Cari.getText();
String Harga = Cari.getText();
String TBayar = Cari.getText();
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penjualntunai WHERE NoTransaksi like '%"
+ Transaksi + "%'"
+ "OR Tanggal like '%" + Tanggal + "%'"
+ "OR IDKonsumen like '%" + IDKonsumen + "%'"
+ "OR KBMotor like '%" + KB + "%'"
+ "OR Harga like '%" + Harga + "%'"
+ "OR Totalbayar like '%" + TBayar + "%'";
ResultSet rss = stt.executeQuery(SQL);
while (rss.next()) {
data[0] = rss.getString(1);
data[1] = rss.getString(2);
data[2] = rss.getString(3);
data[3] = rss.getString(4);
data[4] = rss.getString(5);
data[5] = rss.getString(6);
data[6] = rss.getString(7);
tableModel.addRow(data);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
76
private void CariKeyTyped(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == 100) {
tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penjualntunai";
ResultSet rss = stt.executeQuery(SQL);
while (rss.next()) {
data[0] = rss.getString(1);
data[1] = rss.getString(2);
data[2] = rss.getString(3);
data[3] = rss.getString(4);
data[4] = rss.getString(5);
data[5] = rss.getString(6);
data[6] = rss.getString(7);
tableModel.addRow(data);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
//Settingan untuk batal pada halaman form penjualan tunai// private void BatalActionPerformed(java.awt.event.ActionEvent evt) {
BersihData();
SetEditOff();
Batal.setEnabled(true);
}
//Settingan untuk keluar dari form penjualan tunai// private void KeluarActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(null, "Apakah Anda Yakin Ingin Keluar \n
Jika Ya Tekan OK", "Information", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE) == JOptionPane.OK_OPTION) {
this.dispose();
}
}
//Settingan untuk mencetak nota penjualan tunai// private void CetakActionPerformed(java.awt.event.ActionEvent evt) {
new CtakPTunai().setVisible(true);
}
77
//Settingan untuk menampilkan data tabel persediaan dan tabel konsumen// private void KBItemStateChanged(java.awt.event.ItemEvent evt) {
try {
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM persediaan where KBMotor='" +
KB.getSelectedItem().toString() + "'";
ResultSet res = stt.executeQuery(SQL);
res.absolute(1);
Harga.setText(res.getString("HargaSatuan"));
SPersediaan.setText(res.getString("StatusPersediaan"));
} catch (SQLException ex) {
}
} public void TampilIDKonsumen() {
try {
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM konsumen";
ResultSet res = stt.executeQuery(SQL);
while (res.next()) {
IDKonsumen.addItem(res.getString("IDKonsumen"));
}
} catch (SQLException ex) {
}
}
public void TampilIDPersediaan() {
try {
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM persediaan";
ResultSet res = stt.executeQuery(SQL);
while (res.next()) {
KB.addItem(res.getString("KBMotor"));
}
} catch (SQLException ex) {
}
78
//Settingan untuk menampilkan no transaksi secara otomatis// public void NoTransaksi() {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penjualnTunai ORDER by NoTransaksi desc ";
ResultSet res = stt.executeQuery(SQL);
if (res.next()) {
int no_t = Integer.parseInt(res.getString("NoTransaksi"));
Transaksi.setText(Integer.toString(no_t + 1));
} else {
int no_t = 1;
Transaksi.setText(Integer.toString(no_t));
}
res.close();
} catch (Exception e) {
}
}
2. Code Generation Form Penjualan Kredit
//Objek // package penjualan_piutang;
import apppjpu.Database;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.UIManager;
// Settingan class // public class FrmPenjualanKredit extends javax.swing.JFrame {
Database dbsetting;
String driver,database,user,pass,userLogin;
private Object tabel;
public FrmPenjualanKredit() {
try{
UIManager.setLookAndFeel("com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
}
catch (Exception Z){}
79
//Settingan form penjualan kredit// initComponents();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=this.getSize();
if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height = screenSize.height) / 6);
//setting untuk memanggil koneksi Database.ini
dbsetting = new Database();
driver = dbsetting.SettingPanel("DBDriver");
database = dbsetting.SettingPanel("DBDatabase");
user = dbsetting.SettingPanel("DBUsername");
pass = dbsetting.SettingPanel("DBPassword");
table.setModel(tableModel);
Tabel(table, new int[]{75,75,75,75,90,75,75,80,70,100});
setDefaultTable();
SetEditOff();
TanggalOtomatis();
TampilIDKonsumen();
TampilIDKantor();
TampilIDPersediaan();
NoFaktur();
}
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int kolom=tb.getColumnCount();
for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn
tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}
80
//Settingan nama attribute pada tabel form penjualan kredit// private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][] {},
new String [] {"No.Faktut","Tanggal","ID Konsumen","ID Kantot Leasing","KB
Motor","Harga","Uang muka","Sisa Piutang","Status Pembayran"}
){
boolean[] canEdit = new boolean[]{
false, false, false, false ,false, false, false, false , false
};
public boolean isCellEditable(int rowIndex, int columnIndex){
return canEdit[columnIndex];
}
};
}
//Settingan untuk memangil class pada database penjualan kredit// String data[]=new String[9];
private void setDefaultTable() {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penjualankredit";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
data[3] = res.getString(4);
data[4] = res.getString(5);
data[5] = res.getString(6);
data[6] = res.getString(7);
data[7] = res.getString(8);
data[8] = res.getString(9);
tableModel.addRow(data);
}
res.close();
stt.close();
kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
81
//Settingan method// int row = 0;
public void Tampil(){
row = table.getSelectedRow();
Faktur.setText(tableModel.getValueAt(row, 0).toString());
Tanggal.setText(tableModel.getValueAt(row, 1).toString());
IDKonsumen.setSelectedItem(tableModel.getValueAt(row, 2).toString());
IDLeasing.setSelectedItem(tableModel.getValueAt(row, 3).toString());
KB.setSelectedItem(tableModel.getValueAt(row, 4).toString());
Harga.setText(tableModel.getValueAt(row, 5).toString());
UangMuka.setText(tableModel.getValueAt(row, 6).toString());
SisaPiutang.setText(tableModel.getValueAt(row, 7).toString());
SPembayaran.setText(tableModel.getValueAt(row, 8).toString());
Simpan.setEnabled(false);
}
public void BersihData(){
NoFaktur();
Tanggal.setText("");
IDKonsumen.setSelectedItem("");
IDLeasing.setSelectedItem("");
KB.setSelectedItem("");
Harga.setText("");
UangMuka.setText("");
SisaPiutang.setText("");
SPembayaran.setText("");
}
public void SetEditOff(){
Tanggal.setEnabled(false);
Faktur.setEnabled(false);
IDKonsumen.setEnabled(false);
IDLeasing.setEnabled(false);
KB.setEnabled(false);
Harga.setEnabled(false);
UangMuka.setEnabled(false);
SisaPiutang.setEnabled(false);
SPembayaran.setEnabled(false);
}
public void SetEditOn() {
Tanggal.setEnabled(true);
IDKonsumen.setEnabled(true);
IDLeasing.setEnabled(true);
KB.setEnabled(true);
Harga.setEnabled(true);
UangMuka.setEnabled(true);
SisaPiutang.setEnabled(true);
SPembayaran.setEnabled(true);
}
public void TanggalOtomatis(){
Date tanggal = new Date();
Tanggal.setText("" + (String.format("%1$td-%1$tm-%1$tY",tanggal)));
}
82
//Settingan untuk menyimpan data pada form dan databese penjualan
kredit// private void SimpanActionPerformed(java.awt.event.ActionEvent evt) {
String NF=Faktur.getText();
String TG=Tanggal.getText();
String IK=IDKonsumen.getSelectedItem().toString();
String IL=IDLeasing.getSelectedItem().toString();
String P=KB.getSelectedItem().toString();
String H=Harga.getText();
String UM=UangMuka.getText();
String SP=SisaPiutang.getText();
String SB=SPembayaran.getText();
if ( (NF.isEmpty())
|(TG.isEmpty())|(IK.isEmpty())|(IL.isEmpty())|(P.isEmpty())|(H.isEmpty())|(UM.isEmpty
()|(SP.isEmpty())|(SB.isEmpty())))
{
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan
dilengkapi");
Faktur.requestFocus();
}else {
JOptionPane.showMessageDialog(null, "Data Berasil disimpan");
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "insert into penjualankredit values('"+Faktur.getText()+"',"+
"'"+Tanggal.getText()+"',"+
"'"+IDKonsumen.getSelectedItem()+"',"+
"'"+IDLeasing.getSelectedItem()+"',"+
"'"+KB.getSelectedItem()+"',"+
"'"+Harga.getText()+"',"+
"'"+UangMuka.getText()+"',"+
"'"+SisaPiutang.getText()+"',"+
"'"+SPembayaran.getText()+"')";
stt.executeUpdate(SQL);
Class.forName(driver);
Connection kon1 = DriverManager.getConnection(database,user,pass);
Statement stt1 = kon.createStatement();
String SQL1 = "Update persediaan Set StatusPersediaan= '"+SPersediaan.
getText()+"'" +"Where KBMotor='"+KB.getSelectedItem().toString()+"'";
stt1.executeUpdate(SQL1);
data[0] = Faktur.getText();
data[1] = Tanggal.getText();
data[2] = IDKonsumen.getSelectedItem().toString();
data[3] = IDLeasing.getSelectedItem().toString();
data[4] = KB.getSelectedItem().toString();
data[5] = Harga.getText();
data[6] = UangMuka.getText();
data[7] = SisaPiutang.getText();
data[8] = SPembayaran.getText();
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
} catch (Exception ex) {
System.err.println(ex.getMessage());
} }
Simpan.setEnabled(true);
TanggalOtomatis();
83
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
Simpan.setEnabled(true);
TanggalOtomatis();
}
//Settingan untuk mengaktifkan halaman form penjualan kredit// private void BaruActionPerformed(java.awt.event.ActionEvent evt) {
BersihData();
Simpan.setEnabled(true);
Faktur.setEnabled(false);
IDKonsumen.setEnabled(true);
IDLeasing.setEnabled(true);
KB.setEnabled(true);
UangMuka.setEnabled(true);
SPembayaran.setText("Belum Lunas");
TanggalOtomatis();
}
//Settingan untuk mencari data pada form penjualan kredit// private void tombolcariActionPerformed(java.awt.event.ActionEvent evt) {
tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
String Faktur = Cari.getText();
String Tanggal = Cari.getText();
String IDKonsumen = Cari.getText();
String IDLeasing = Cari.getText();
String KB = Cari.getText();
String Harga = Cari.getText();
String UangMuka = Cari.getText();
String SisaPiutang = Cari.getText();
String SPembayaran = Cari.getText();
84
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penjualankredit WHERE NoFaktur like '%" +
Faktur + "%'"
+ "OR Tanggal like '%" + Tanggal + "%'"
+ "OR IDKonsumen like '%" + IDKonsumen + "%'"
+ "OR IDKantorlike '%" + IDLeasing + "%'"
+ "OR KBMotor like '%" + KB + "%'"
+ "OR Harga like '%" + Harga + "%'"
+ "OR UangMuka like '%" + UangMuka + "%'"
+ "OR SisaPiutang like '%" + SisaPiutang+ "%'"
+ "OR StatusPembayaran like '%" + SPembayaran+ "%'";
ResultSet rss = stt.executeQuery(SQL);
while (rss.next()) {
data[0] = rss.getString(1);
data[1] = rss.getString(2);
data[2] = rss.getString(3);
data[3] = rss.getString(4);
data[4] = rss.getString(5);
data[5] = rss.getString(6);
data[6] = rss.getString(7);
data[7] = rss.getString(8);
data[8] = rss.getString(9);
tableModel.addRow(data);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
85
private void CariKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 100) {
tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penjualankredit";
ResultSet rss = stt.executeQuery(SQL);
while (rss.next()) {
data[0] = rss.getString(1);
data[1] = rss.getString(2);
data[2] = rss.getString(3);
data[3] = rss.getString(4);
data[4] = rss.getString(5);
data[5] = rss.getString(6);
data[6] = rss.getString(7);
data[7] = rss.getString(8);
data[8] = rss.getString(9);
tableModel.addRow(data);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
//Settingan untuk batal pada halaman form penjualan kredit// private void BatalActionPerformed(java.awt.event.ActionEvent evt) {
BersihData();
SetEditOff();
Batal.setEnabled(true);
}
//Settingan untuk keluar dari form penjualan kredit// private void KeluarActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(null, "Apakah Anda Yakin Ingin Keluar \n Jika
Ya Tekan OK", "Information", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE) == JOptionPane.OK_OPTION) {
this.dispose();
}
}
86
//Settingan untuk mencetak nota penjualan kredit dan surat jalan// private void CetakActionPerformed(java.awt.event.ActionEvent evt) {
new CetakPKredit().setVisible(true);
}
private void CetakSJActionPerformed(java.awt.event.ActionEvent evt) {
new CetakSJalan().setVisible(true);
}
//Settingan untuk hitungan penjualan kredit//
private void HitungActionPerformed(java.awt.event.ActionEvent evt) {
int a,b,c ;
a = Integer.parseInt(Harga.getText());
b = Integer.parseInt(UangMuka.getText());
c = a - b ;
SisaPiutang.setText(String.valueOf(c));
}
//Settingan untuk menampilkan data tabel persediaan, tabel konsumen dan
tabel leasing// private void KBItemStateChanged(java.awt.event.ItemEvent evt) {
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM persediaan where KBMotor='"+
KB.getSelectedItem().toString()+"'";
ResultSet res = stt.executeQuery(SQL);
res.absolute(1);
Harga.setText(res.getString("HargaSatuan"));
SPersediaan.setText(res.getString("StatusPersediaan"));
} catch (SQLException ex) {} public void TampilIDKonsumen(){
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM konsumen";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
IDKonsumen.addItem(res.getString("IDKonsumen"));
}
} catch (SQLException ex) {
}}
87
public void TampilIDKantor(){
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM leasing";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
IDLeasing.addItem(res.getString("IDKantor"));
}
} catch (SQLException ex) {}}
public void TampilIDPersediaan(){
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM persediaan";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
KB.addItem(res.getString("KBMotor"));
}
} catch (SQLException ex) {}}
//Settingan untuk menampilkan no faktur secara otomatis// public void NoFaktur(){
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL ="SELECT * FROM penjualankredit ORDER by NoFaktur desc ";
ResultSet res =stt.executeQuery(SQL);
if (res.next())
{
int no_t = Integer.parseInt(res.getString("NoFaktur"));
Faktur.setText(Integer.toString(no_t+1));
}
else{
int no_t = 1 ;
Faktur.setText(Integer.toString(no_t));
}
res.close();
} catch (Exception e) {
}
}
88
3. Code Generation Form Pelunasan Piutang
//Objek // package penjualan_piutang;
import apppjpu.Database;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.UIManager;
// Settingan class // public class FrmPiutang extends javax.swing.JFrame {
Database dbsetting;
String driver,database,user,pass,userLogin;
private Object tabel;
public PenjualanTunai() {
try {
UIManager.setLookAndFeel("com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
} catch (Exception Z) {
}
89
//Settingan form pelunasan piutang// initComponents();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height = screenSize.height) / 6);
dbsetting = new Database();
driver = dbsetting.SettingPanel("DBDriver");
database = dbsetting.SettingPanel("DBDatabase");
user = dbsetting.SettingPanel("DBUsername");
pass = dbsetting.SettingPanel("DBPassword");
table.setModel(tableModel);
Tabel(table, new int[]{100, 100, 100, 110, 90});
setDefaultTable();
SetEditOff();
TampilNoFaktur();
TanggalOtomatis();
}
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int kolom=tb.getColumnCount();
for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn
tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}
90
//Settingan nama attribute pada tabel form pelunasan piutang// private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][] {},
new String [] {"ID Piutang","No.Faktur","Tanggal","Banyaknya
Uang","Keterangan","Pelunasan Piutang"}
){
boolean[] canEdit = new boolean[]{
false, false, false, false ,false
};
public boolean isCellEditable(int rowIndex, int columnIndex){
return canEdit[columnIndex];
}
};
}
//Settingan untuk memangil class pada database penjualan tunai// String data[]=new String[5];
private void setDefaultTable() {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM piutang";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
data[3] = res.getString(4);
data[4] = res.getString(5);
tableModel.addRow(data);
}
res.close();
stt.close();
kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
91
//Settingan method// int row = 0;
public void Tampil(){
row = table.getSelectedRow();
IDPiutang.setText(tableModel.getValueAt(row, 0).toString());
NFaktur.setSelectedItem(tableModel.getValueAt(row, 1).toString());
Tanggal.setText(tableModel.getValueAt(row, 2).toString());
Keterangan.setText(tableModel.getValueAt(row, 3).toString());
PPiutang.setText(tableModel.getValueAt(row, 4).toString());
Simpan.setEnabled(false);
}
public void BersihData(){
IDPiutang.setText("");
NFaktur.setSelectedItem("");
Tanggal.setText("");
Keterangan.setText("");
PPiutang.setText("");
}
public void SetEditOff(){
Tanggal.setEnabled(false);
NFaktur.setEnabled(false);
Tanggal.setEnabled(false);
Keterangan.setEnabled(false);
PPiutang.setEnabled(false);
}
public void SetEditOn() {
IDPiutang.setEnabled(true);
NFaktur.setEnabled(true);
Tanggal.setEnabled(true);
Keterangan.setEnabled(true);
PPiutang.setEnabled(true);
}
public void TanggalOtomatis(){
Date tanggal = new Date();
Tanggal.setText("" + (String.format("%1$td-%1$tm-%1$tY",tanggal)));
}}
92
//Settingan untuk menyimpan data pada form dan databese pelunasan
piutang// private void SimpanActionPerformed(java.awt.event.ActionEvent evt) {
String IP=IDPiutang.getText();
String NF=NFaktur.getSelectedItem().toString();
String T=Tanggal.getText();
String K=Keterangan.getText();
String PP=PPiutang.getText();
if ((IP.isEmpty())|(NF.isEmpty()) |(T.isEmpty()) |(K.isEmpty()) |(PP.isEmpty()))
{
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan
dilengkapi");
IDPiutang.requestFocus();
}else {
JOptionPane.showMessageDialog(null, "Data Berasil disimpan");
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "insert into piutang values('"+IDPiutang.getText()+"',"+
"'"+NFaktur.getSelectedItem()+"',"+
"'"+Tanggal.getText()+"',"+
"'"+Keterangan.getText()+"',"+
"'"+PPiutang.getText()+"')";
stt.executeUpdate(SQL);
Class.forName(driver);
Connection kon1 = DriverManager.getConnection(database,user,pass);
Statement stt1 = kon.createStatement();
String SQL1 = "Update penjualankredit Set
StatusPembayaran='"+SPembayaran.getText()+"'" +
"Where NoFaktur='"+NFaktur.getSelectedItem().toString()+"'";
stt1.executeUpdate(SQL1);
data[0] = IDPiutang.getText();
data[1] = NFaktur.getSelectedItem().toString();
data[2] = Tanggal.getText();
data[3] = Keterangan.getText();
data[4] = PPiutang.getText();
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}}
Simpan.setEnabled(true);
TanggalOtomatis();
}
93
//Settingan untuk mengaktifkan halaman form pelunasan piutang// private void BaruActionPerformed(java.awt.event.ActionEvent evt) {
BersihData();
IDPiutang.setText("IP-");
Simpan.setEnabled(true);
NFaktur.setEnabled(true);
Keterangan.setEnabled(true);
TanggalOtomatis();
}
//Settingan untuk mencari data pada form pelunasan piutang// private void tombolcariActionPerformed(java.awt.event.ActionEvent evt) {
tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
String IDPiutang= Cari.getText();
String NFaktur = Cari.getText();
String Tanggal = Cari.getText();
String Keterangan = Cari.getText();
String PPiutang= Cari.getText();
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM piutang WHERE IDPiutang like '%" +
IDPiutang+ "%'"
+ "OR Tanggal like '%" + Tanggal + "%'"
+ "OR NoFaktur like '%" + NFaktur + "%'"
+ "OR Keterangan like '%" + Keterangan + "%'"
+ "OR PelunasanPiutang like '%" + PPiutang+ "%'";
ResultSet rss = stt.executeQuery(SQL);
while (rss.next()) {
data[0] = rss.getString(1);
data[1] = rss.getString(2);
data[2] = rss.getString(3);
data[3] = rss.getString(4);
data[4] = rss.getString(5););
tableModel.addRow(data);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
94
private void CariKeyTyped(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == 100) {
tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database, user, pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM piutang";
ResultSet rss = stt.executeQuery(SQL);
while (rss.next()) {
data[0] = rss.getString(1);
data[1] = rss.getString(2);
data[2] = rss.getString(3);
data[3] = rss.getString(4);
data[4] = rss.getString(5);
tableModel.addRow(data);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
//Settingan untuk batal pada halaman form pelunasan piutang// private void BatalActionPerformed(java.awt.event.ActionEvent evt) {
BersihData();
SetEditOff();
Batal.setEnabled(true);
}
//Settingan untuk keluar dari form pelunasan piutang// private void KeluarActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(null, "Apakah Anda Yakin Ingin Keluar \n
Jika Ya Tekan OK", "Information", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE) == JOptionPane.OK_OPTION) {
this.dispose();
}
}
//Settingan untuk mencetak kwitansi pelunasan piutang// private void CetakActionPerformed(java.awt.event.ActionEvent evt) {
new CetakPPiutang().setVisible(true);
}
95
//Settingan untuk menampilkan data tabel penjualan kredit//
private void NFakturItemStateChanged(java.awt.event.ItemEvent evt) {
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM penjualankredit where NoFaktur='"+
NFaktur.getSelectedItem().toString()+"'";
ResultSet res = stt.executeQuery(SQL);
res.absolute(1);
PPiutang.setText(res.getString("SisaPiutang"));
SPembayaran.setText(res.getString("StatusPembayaran"));
} catch (SQLException ex) {
}
}
public void TampilNoFaktur(){
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM penjualankredit";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
NFaktur.addItem(res.getString("NoFaktur"));
}
} catch (SQLException ex) {
}
3.5.2. Spesifikasi Hardware dan Software
Spesifikasi Non Fungsional yaitu Perangkat lunak merupakan program
untuk membuat aplikasi penjualan dan piutang, Kebutuhan non fungsional yang
mendukung didefinisikan sebagai berikut:
A. Spesifikasi Hardware
Spesifikasi Perangkat keras salah satu alat yang sangat dibutuhkan untuk
mengelola data, perangkat keras membuat salah satu aplikasi program sehingga
96
dapat menyajikan laporan. Perangkat keras berupa komputer PC atau laptop,
sebagai media atau sarana untuk pengoperasian.
Adapun Spesifikasi Hardware yang diperlukan untuk merancang aplikasi
ini adalah sebagai berikut :
1. CPU (Central Processing Unit)
a. Processor : 1.80Ghz
b. Memory : 2 GB
c. Harddisk : 500GB
2. Monitor : Resolution 1366x768Pixel LCD
3. Keyboard : 86 mega
4. Mouse : Optical / Touchpad
5. Printer : Inkjet Printer
B. Spesifikasi Software
Spesifikasi Software Perangkat lunak (software) merupakan program untuk
merancang Aplikasi. Adapun Spesifikasi Software yang diperlukan adalah sebagai
berikut :
1. Sistem Operasi : Windows 7 Ultimate
2. Webserver : PHPMyAdmin
a. Netbeans : Netbeans Ide 8.2
b. SQLyog : SQLyog 32 bit
c. DBMS : MySQL
d. Xammp : Xammp Versi 3.2.2
97
3.6. Testing
1. Testing Form Login
Tabel III.3
Hasil Pengujian Black Box Testing Form Login
No. Skenario
pengujian
Test case Hasil yang diharapkan Hasil
pengujian
Kesimpulan
1. Pengguna dan
kata sandi tidak
diisi kemudian
tekan login
Pengguna:
(Kosong)
Kata sandi:
(kosong)
Sistem akan menolak akses
dan menampilkan
pesan “Periksa kembali data
pengguna dan kata sandi
anda!!!”
Sesuai
Harapan
Valid
2. Mengisi
Pengguna dan
kata sandi tidak
diisi kemudian
tekan login
Pengguna:Ad
min
Kata sandi:
(kosong)
Sistem akan menolak akses
dan menampilkan
pesan “Periksa kembali data
pengguna dan kata sandi
anda!!!”
Sesuai
Harapan
Valid
3. Pengguna tidak
diisi dan kata
sandi diisi
kemudian tekan
login
Pengguna:(ko
song)
Kata sandi:
Admin
Sistem akan menolak akses
dan menampilkan
pesan “Periksa kembali data
pengguna dan kata sandi
anda!!!”
Sesuai
Harapan
Valid
4. Mengetikkan
salah satu nya
salah pada
Pengguna atau
kata sandi
kemudian tekan
login
Nama:Admin(
Benar)
Kata sandi:
Ad123 (salah)
Sistem akan menolak akses
dan menampilkan
pesan “Periksa kembali data
pengguna dan kata sandi
anda!!!”
Sesuai
Harapan
Valid
5. Mengisi data
Pengguna atau
kata sandi
kemudian tekan
login
Nama:
Admin(Benar)
Kata sandi:
admin (Benar)
Sistem akan menerima
akses masuk dan
menmpilkan pesan “ Slamat
datang di aplikasi penjualan
dan piutang...”
Sesuai
Harapan
Valid
2. Testing Form Penjualan Tunai
Tabel III.9
Hasil Pengujian Black Box Testing Form Penjualan Tunai
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesim
pulan
1. No.Transaksi,
Tanggal, ID
Konsumen, ID
Pegawai, KB,
Harga, Total
bayar dan Status
tidak diisi dan
dipilih kemudian
tekan Simpan
No.Transaksi: (kosong)
Tanggal: (kosong)
ID Konsumen: Pilih ID Konsumen
ID Pegawai: Pilih ID Pegawai
KB: Pilih KB
Harga: (kosong)
Total bayar: (kosong)
Status :Pilih Status
Sistem akan
menolak akses
dan
menampilkan
pesan “data
tidak boleh
kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
98
2. Mengisi
No.Transaksi,
Tanggal memilih
ID Konsumen,
memilih ID
Pegawai dan KB,
Harga, Total
bayar Status
tidak diisi dan
dipilih kemudian
tekan Simpan
No.Transaksi: KM-01
Tanggal: 2017-06-23
ID Konsumen: K0002
ID Pegawai: P1112
KB: Pilih KB
Harga: (kosong)
Total bayar: (kosong)
Status : Pilih Status
Sistem akan
menolak akses
dan
menampilkan
pesan “data
tidak boleh
kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
3. Mengisi dan
memilih
No.Transaksi,
Tanggal, ID
Konsumen, ID
Pegawai, KB,
Harga, Total
bayar dan Status
kemudian tekan
Simpan
No.Transaksi: KM-01
Tanggal: 2017-06-23
ID Konsumen: K0002
ID Pegawai: P1112
KB: KB9876AT
Harga: 10000000
Total bayar: 10000000
Status : Lunas
Sistem akan
menerima
akses
dan
menyimapan
data pada
tabel
Sesuai
Harapan
Vaild
3. Testing Form Penjualan Kredit
Tabel III.10
Hasil Pengujian Black Box Testing Form Penjualan Kredit
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1. No.Faktur,
Tanggal, ID
Konsumen, ID
Pegawai, KB,
Harga, Uang Muka
dan Sisa piutang
tidak diisi dan
dipilih kemudian
tekan Simpan
No.Faktur: (kosong)
Tanggal: (kosong)
ID Konsumen: Pilih ID
Konsumen ID Pegawai:
Pilih ID Pegawai
ID Leasing: Pilih ID
Pemasok KB: Pilih KB
Harga: (kosong)
Uang muka: (kosong)
Sisa piutang : (kosong)
Sistem akan
menolak akses
dan
menampilkan
pesan “data
tidak boleh
kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
2. Mengisi No.Faktur,
Tanggal, memilih
ID Konsumen,
memilih ID
Pegawai dan KB,
Harga, Uang Muka
Sisa piutang tidak
diisi dan dipilih
kemudian tekan
Simpan
No.Faktur: KM-01
Tanggal: 2017-06-23
ID Konsumen: K3111
ID Pegawai: P1111
ID Leasing: L2111
KB: Pilih KB
Harga: (kosong)
Uang muka: (kosong)
Sisa piutang : (kosong)
Sistem akan
menolak akses
dan
menampilkan
pesan “data
tidak boleh
kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
3. Mengisi No.Faktur,
Tanggal, memilih
ID Konsumen,
memilih ID
Pegawai, KB,
Harga, Uang Muka
dan Sisa piutang
kemudian tekan
Simpan
No.Faktur: KM-01
Tanggal: 2017-06-23
ID Konsumen: K3111
ID Pegawai: P1111
ID Leasing: L2111
KB: KB8765AD
Harga: 9000000
Uang muka: 1500000
Sisa piutang : 7500000
Sistem akan
menerima
akses
dan
menyimapan
data pada tabel
Sesuai
Harapan
Vaild
99
4. Testing Form Pembayaran piutang
Tabel III.10
Hasil Pengujian Black Box Testing Form Pelunasan Piutang
No. Skenario
pengujian
Test case Hasil yang
diharapkan
Hasil
pengujian
Kesimpulan
1. ID Piutang,
No.Faktur,
Tanggal,
Keterangan,
Pelunasan piutang
dan Status piutang
tidak diisi
kemudian tekan
Simpan
ID Piutang: (kosong)
No.Faktur: (kosong)
Tanggal: (kosong)
Keterangan: (kosong)
Pelunasan piutang: (kosong)
Status :Pilih status
Sistem akan
menolak akses
dan
menampilkan
pesan “data
tidak boleh
kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
2. Memilih ID
Piutang, memilih
No.Faktur, mengisi
Tanggal dan
Keterangan,
Pelunasan piutang
Status tidak diisi
kemudian tekan
Simpan
ID Piutang: PP-02
No.Faktur: KK-02
Tanggal: 2017-06-23
Keterangan: (kosong)
Pelunasan piutang: (kosong)
Status :Pilih status
Sistem akan
menolak akses
dan
menampilkan
pesan “data
tidak boleh
kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
3. Meilih dan mengisi
No.Transaksi,
Tanggal, ID
Konsumen, ID
Pegawai, KB,
Harga, Total bayar
dan Status
kemudian tekan
Simpan
ID Piutang: PP-02
No.Faktur: KK-02
Tanggal: 2017-06-23
Keterangan: pelunasan
piutang Pelunasan piutang:
10000000 Status :Lunas
Sistem akan
menerima
akses
dan
menyimapan
data pada
tabel
Sesuai
Harapan
Vaild