BAB III ANALISIS SISTEM BERJALAN · pembayaran jika kredit degan persetujuan manajer. 2. Proses...

Post on 29-Oct-2020

13 views 0 download

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