BAB III PEMBAHASAN...37 jatuh tempo pada pembayaran barang pemesanan tersebut setelah semuanya...
Transcript of BAB III PEMBAHASAN...37 jatuh tempo pada pembayaran barang pemesanan tersebut setelah semuanya...
33
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
CV Zhafran Putra adalah perusahaan yang bergerak dibidang usaha
perdagagan dan jasa berupa Tekstil, Pakaian, Aksesoris dan alas kaki lainnya, CV
Zhafran putra terletak di Tanggerang Selatan. Perusahaan ini melakukan penjualan
produk, ketatnya persaingan perusahaan lain yang memproduksi produk serupa,
memberikan motivasi pada perusahaan untuk terus melakukan peningkatan mutu
produk yang diproduksi, perusahaan harus memilih bahan baku dengan kualitas yang
baik dan melakukan proses produksi sebaik-baiknya. Bahan baku yang digunakan
adalah menggunakan bahan baku berbagai jenis dan bahan baku yang digunakan
merupakan bahan baku dari lokal. bahan baku yang digunakan perusahaan antara
lain berbagai macam bahan kulit seperti Suede,buk / Nubuck, Pull up, Duplikat
Kunci, Fiber, Latex dan Accessories.
Penjualan produk dalam kegiatan bisnis suatu usaha dagang yang dilakukan
melalui proses produksi, pendapatan pokok yang diperoleh dari usaha dagang berasal
dari transaksi penjualan barang dagang. Hal ini menunjukkan bahwa suatu usaha
dagang memiliki tujuan untuk mendapatkan laba yang besar dalam aktivitas
penjualan hariannya.
Dalam tinjauan perusahaan ini berisi sejarah perusahaan, struktur organisasi,
serta tugas dan fungsi dari masing-masing bagian yang ada dalam perusahaan.
34
3.1.1. Sejarah Perusahaan
CV Zhafran Putra merupakan perusahaan yang bergerak di bidang
perdagangan dan jasa, CV Zhafran Putra ini memproduksi berbagai macam Tas,
Jaket, sepatu, koper,duplikat kunci dan colouring.
CV Zahfran Putra didirikan pada tahun 2014 yang beralamat CBD Giant
Bintaro Sektor VII Bintaro Jaya Kel. Pondok Jaya Kec. Pondok Aren Kota
Tanggerang Selatan. Usaha dagang ini diberinama “KINGSOLE” merupakan
perusahaan sendiri dan berubah menjadi CV.Zhafran Putra pada tahun 2017 telah
resmi berbadan hukum nomor : 1/24.3CV/31.71.04/-1.824.27/2018. Jumlah
karyawan di CV Zhafran Putra Tanggerang sebanyak 9 (Sembilan) orang karyawan.
3.1.2. Stuktur Organisasi dan Fungsi
Struktur Organisasi adalah suatu susunan dan hubungan antara tiap bagian
serta posisi yang ada pada suatu organisasi atau perusahaan dalam menjalankan
kegiatan operasional untuk mencapai tujuan. Struktur Organisasi menggambarkan
dengan jelas pemisahan kegiatan pekerjaan antara yang satu dengan yang lain dan
bagai mana hubungan aktivitas dan fungsi dibatasi. Dalam struktur organisasi yang
baik harus menjelaskan hubungan wewenang siapa melapor kepada siapa.
Bentuk Struktur Organisasi yang terdapat pada CV Zahfran Putra.
Sumber : CV Zhafran Putra
35
Gambar III.1
Stuktur Organisasi CV. Zhafran Putra
Berikut adalah fungsi dan wewenang dari setiap bagian yang terdapat pada
struktur organisasi CV Zhafran Putra, antara lain :
1. Direktur Operasional
a. Mengawasi jalan nya suatu kegiatan CV Zhafran Putra
b. Mengevaluasi semua laporan yang diterima dari bawahan
2. Manajer Keuangan
a. Menagatur pengeluaran dan pendapatan keuangan.
b. Menerima laporan keuangan
3. Bagian admin
a. Bertangung jawab untuk melayani pembeli yang akan membayar barang
dagang yang dibeli
b. Mencatat transaksi pembelian tersebut hingga melakukan perekapan
penjualan dan pengeluaran.
c. Mencatat pemesanan
4. Bagian Gudang
a. Bertugas mengecek barang
b. Membuat pesanan konsumen
3.2. Tinjauan Kasus
Tinjauan kasus menguraikan tentang gambaran proses dari sistem penjualan
kredit mulai dari pemesanan, lalu mengisi faktur dan membuat pembayaran untuk
konsumen, selanjutnya mencatat pada buku besar penjualan, merekap daftar
pendapatan CV Zhafran Putra dan sampai pada proses akhir yaitu membuat laporan
keuangan yang terjadi pada CV Zahfran Putra.
36
3.2.1. Proses Bisnis Sistem Berjalan
Proses sistem berjalan merupakan prosedur yang menjalankan tentang
bagaimana sistem penjualan kredit yang terjadi dalam CV Zhafran Putra. Berikut
adalah prosedur sistem berjalan yang terdapat pada CV.Zhafran Putra :
1. Prosedur Pemesanan Barang
Konsumen datang kebagian admin untuk melakukan pemesanan barang kemudian
admin menerima pesanan dan mencatat pemesanan yang dibeli, bagian admin
menyerahkan catatan pemesanan kebagian gudang kemudian bagian gudang
mengecek barang dan menyiapkan barang yang dipesan konsumen lalu catatan
pemesanan diserahkan kembali kebagian admin,bagian admin menyerahkan
catatan pemesana kepada konsumen ,konsumen memberikan DP( Down Payment)
pada admin, lalu admin menerima DP dari konsumen kemudian admin memberi
faktur 2rangkap yang berisi pencatatan DP dan memberikan kartu pemesanan,
rangkap 1 diserahkan pada konsumen rangkap 2 disimpan pada arsip pemesanan.
2. Prosedur Konfirmasi Barang jadi
Setelah menerima kartu pemesaan barang konsumen mengkonfirmasi pesanan
barang yang telah dipesan kemudian memberikan kartu pemesanan pada bagian
admin, bagian admin pun menerima kartu pemesanan dan mengkonfirmasi
kebagian gudang, bagian gudang membawa barang pemesanan diberikan kepada
bagian admin lalu admin mengecek barang teserbut apakah sesuai jika sesuai
dengan pemesanannya , barang diberikan pada kosumen lalu konsumen menerima
barang dari bagian kasir.
3. Prosedur Pembayaran
Konsumen melakukan pembayaran lalu memberikan faktur pada bagian admin
kemudian admin memeriksa kembali faktur dari konsumen memeriksa tanggal
37
jatuh tempo pada pembayaran barang pemesanan tersebut setelah semuanya sesuai
kemudian kasir memberi faktur sebagai pelunasan dan konsumen menerima faktur
pelunasan.
4. Prosedur Laporan Penjualan
Bagian admin membuat seluruh dokumen dari hasil penjualan kemudian membuat
laporan penjualan setiap bulannya dengan rinci serta dapat dipertanggung
jawabkan kebeneran lalu kemudian diserahkan kepada manajer keuangan untuk
diperiksa jika laporan sesuai maka manajer keuangan untuk diserahkan kepada
direktur.
3.2.2. Activty Diagram Sistem Berjalan
Berikut ini adalah pengembangan Activity Diagram pada sistem berjalan CV
Zhafran Putra.
38
1. Activity Diagram Prosedur Pemesana Barang
Gambar III.2
Activity Diagram Prosedur Pemesanan Barang
39
2. Activity Diagram Prosedur Konfirmasi Barang jadi
Gambar III.3
Activity Diagram Prosedur Komfirmasi Barang jadi
40
3. Activity Diagram Prosedur Pembayaran
Gambar III.4
Activity Diagram Prosedur Pemabayaran
4. Activity Diagram Prosedur Laporan Penjualan
Gambar III.5
Activity Diagram Prosedur Laporan
41
3.2.3. Dokumen Masukan
1. Nama Dokumen Masukan : Kartu pemesanan
Fungsi : Sebagai Catatan pemesanan
Sumber : Admin
Tujuan : Konsumen
Jumlah : 1 lembar
Frekuensi : Setiap terjadi pesanan barang
Bentuk : Lampiran A-1
2. Nama Dokumen Masukan : Faktur Rangkap 2
Fungsi : Bukti Pembayaran
Sumber : Admin
Tujuan : Konsumen
Jumlah : 2 Lembar
Frekuensi : Setiap transaksi penjualan
Bentuk : Lampiran A-2
3.2.4. Dokumen Keluar
1. Nama Dokumen Keluaran : Faktur Rankap 1
Fungsi : Bukti Pembayaran
Sumber : Admin
Tujuan : Konsumen
Jumlah : 1 Lembar
Frekuensi : Setiap Transaksi penjualan
Bentuk : Lampiran B-1
2. Nama Dokumen Keluaran : laporan penjualan
Fungsi : Sebagai bukti arsip laporan keuangan
42
bulanan
Sumber : Admin
Tujuan : Manajer Keuangan
Jumlah :1 Lembar
Frekuensi : Setiap Bulan
Format : Lampiran B-2
3.2.5.Masalah Pokok
Dari hasil pengamatan penulis menyimpulkan bahwa CV Zhafran Putra
tanggerang mengemukkan beberapa permasalahan pokok yang khususnya terjadi
pada penjualan kredit yang sedang berjalan, antara lain :
1. Pendataan barang pada CV Zhafran Putra masih dilakukan pencatatan dengan
media kertas sehingga rentan dengan kesalahan pada proses perhitungan
barang dan juga membutuhkan waktu yang lama.
2. Sistem yang serba manual ini membuat sering terjadi kerusakan atau
kehilangan data berupa arsip.
3. Pada CV Zhafran penjualan hanya mengandalkan kertas nota untuk
pencatatan yang akhirnya berpengaruh terhadap pembukuan, jika terdapat
kesalahan dalam pencatatan.
4. Perhitungan pada penjualan pada CV Zhafran hanya menggunakan kalkulator
yang didasarkan dari kertas nota yang mereka tulis untuk konsumen.
5. Belum adanya aplikasi pemograman komputer yang digunakan dalam proses
penjualan mengakibatkan sering terjadi kesalahan informasi pembayaran
kepada dan terjadinya keterlambatan dalam laporan penjualan.
43
3.2.6. Pemecahan Masalah
Berdasarkan permasalahan yang dihadapi CV Zhafran Putra penulis mencoba
memeberikan beberapa alternatif pemecahan masalah, diantaranya sebagai berikut :
1. Dapat menyediakan informasi mengenai barang yang paling banyak dijual ke
konsumen.
2. Kegiatan transaksi yang dilakukan disimpan dalam suatu database sehingga
memudahkan dalam pencarian data pada saat diperlukan dan memudahkan
dalam pembuatan laporan yang mampu mengurangi kesalahan pencatatan
yang dilakukan secara manual.
3. Menyusun suatu laporan pengeluaran dengan melakukan penjualam terhadap
transaksi yang dilakukan.
4. Dengan sistem yang dapat membantu bagian gudang agar tidak melakukan
kesalahan saat melakukan pengecekan barang secara langsung atau tidak
sehingga dapat mengurangi kerugian yang sering terjadi.
3.3. Analisa Kebutuhan Software
Berdasarkan posedur sistem berjalan pada perusahaan maka akan dilanjutkan
dengan tahapan selanjutnya yaitu berupa analisa kebutuhan software berikut ini
adalah analisa kebutuhan pada CV Zhafran Putra.
3.3.1. Analiasa Kebutuhan
Analisa kebutuhan software untuk program penjualan secara kredit pada
CV.Zhafran Putra diusulkan untuk beberapa prosedur yaitu :
1. Administrasi
A.1. Admin dapat melakukan login
A.2. Admin dapat mengelola data master
A.3. Admin dapat mengelola data transaksi
44
A.4. Admin dapat mengakses laporan.
2. Manajer
B.1. Manajer Melakukan login
B.2. Manajer Mengakses laporan
3.3.2. Usecase Diagram
A1. Admin Login
Gambar III.6
Usecase Diagram form Login Administrasi
Tampil Utama Administrasi
45
Gambar III.7
Usecase Diagram Form Menu Utama Administrasi
Tabel III.1
Deskripsi Usecase Diagram Bagian Administrasi Login
Tujuan Admin dapat Melakukan Login
Deskripsi Sistem ini memungkin admin untuk
Logn ke menu utama
Skrenario Utama
Aktor Admin
Kondisi Awal Admin melakukan Login
Aksi Aktor Reaksi Sistem
1. Admin melakukan Login Sistem akan menampilkan menu
utama
Kondisi terakhir Jika perintah sesuai maka sistem akan
menampilkan yang diinginkan
A2. Admin Mengelola data master
Mengelola Data Konsumen
46
Gambar III.8
Usecase Diagram Form Administrasi Mengelola Data Konsumen
Tabel III.2
Deskripsi Usecase Diagram Mengelola Data konsumen
Mengelola Data Barang
Tujuan Admin dapat mengelola data konsumen
Deskripsi System ini memungkinkan tata usaha untuk
mengelola data konsumen
Skenario Utama
Aktor Admin
Kondisi awal Admin melakukan Login
Aksi Aktor Reaksi Sistem
1. Admin memilih menu data
konsumen
Sistem akan menampilkan data konsumen
2. Admin memilih tambah Sistem akan menampilkan menu data yang akan
di tambah
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan yang diinginkan
47
Gambar III.9
Usecase Diagram Form Administrasi Mengelola Data Barang
Tabel III.3
Deskripsi Usecase Diagram Mengelola Data Barang
Tujuan Admin dapat mengelola data barang
Deskripsi Sistem ini memungkinkan tata usaha untuk
mengelola data barang
Skenario Utama
Aktor Admin
Kondisi Awal Admin melakukan Login
Aksi Aktor Reaksi Sistem
1. Admin memilih menu data
barang
Sistem akan menampilkan data barang
2. Admin melakukan tambah
data barang
sistem akan menmpilkan menu data yang akan
ditambah
3. Admin melakukan edit
data barang
Sistem akan menampilkan menu data yang akan
di edit
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan yang diinginkan
48
A3. Admin Mengelola data transaksi
Mengelola Data Transaksi Pemesanan
Gambar III.10
Usecase Diagram Form Administrasi Mengelola Data Transaksi Pemesanan
Tabel III.4
Deskripsi Usecase Diagram Mengelola Data Transaksi pemesanan
Tujuan Admin dapat mengelola data transaksi
pemesanan
Deskripsi Sistem ini mengmungkinkan admin untuk
mengelola transaksi pemesanan
Skenario Utama
Aktor Admin
Kondisi awal Admin melakukan login
Aksir Aktor Reaksi Sistem
1. Admin memilih menu
transaksi pemesanan
Sistem akan menampilkan menu transaksi
pemesanan
2. Admin memilih tambah Sistem akan menampilkan menu data tambah
3 . Admin memilih cetak Sistem akan menampilkan data yang akan
dicetak
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan yang diinginkan
49
Mengelola Data Transaksi Cicilan
Gambar III.11
Usecase Diagram Form Administrasi Mengelola Data Transaksi Cicilan
Tabel III.5
Deskripsi Usecase Diagram Mengelola Data Transaksi Cicilan
Tujuan Admin dapat mengelola data transaksi cicilan
Deskripsi Sistem ini memungkinkan admin untuk
mengelola data transaksi cicilan
Skenario Utama
Aktor Admin
Kondisi Awal Melakukan Login
Aksi Aktor Reaksi Sistem
1. Admin memilih menu
transaksi cicilan
Sistem akan menampilkan transaksi cicilan
2. Admin memilih tambah Sistem akan menampilkan menu data tambah
3. Admin memilih cetak Sistem akan menampilkan data yang akan di
cetak
Kondisi Akhir Jika perintah sesauai maka sistem akan
menampilkan yang diinginkan
50
A4. Admin Mengakses Laporan
Mengakses Data Laporan Penjualan
Gambar III.12
Usecase Diagram Form Administrasi Mengakses laporan Penjualan
Tabel III.6
Deskripsi Usecase Diagram Mengakses Laporan Penjualan
Tujuan Admin dapat mengaksesLaporan Penjualan
Deskripsi System ini memungkinkan admin untuk
mengakses laporan penjualan
Skenario Utama
Aktor Admin
Kondisi Awal Admin melakukan Login
Aksi Aktor Reaksi Utama
1. Admin memilih menu
laporan penjualan
System akan menampilkan laporan penjualan
2. Admin memilih cetak Sistem akan menampilkan data laporan yang
akan di cetak
Konisi Akhir Jika perintah sesuai maka sistem akan
menampilkan yang digunakan
Mengakses data laporan Jurnal
51
Gambar III.13
Usecase Diagram Form Administrasi Mengakses laporan Jurnal
Tabel III.7
Deskripsi Usecase Diagram Mengakses Laporan Jurnal
Tujuan Admin dapat mengaksesLaporan jurnal
Deskripsi System ini memungkinkan admin untuk
mengakses laporan jurnal
Skenario Utama
Aktor Admin
Kondisi Awal Admin melakukan Login
Aksi Aktor Reaksi Utama
1. Admin memilih menu
laporan jurnal
System akan menampilkan laporan jurnal
2. Admin memilih cetak Sistem akan menampilkan data laporan yang
akan di cetak
Konisi Akhir Jika perintah sesuai maka sistem akan
menampilkan yang digunakan
B1. Manajer Login
52
Gambar III.14
Usecase Diagram Form Login Manajer
Tampil Utama Manajer
Gambar III.15
Usecase Diagram Form Menu Utama Manajer
Tabel III.8
Deskripsi Usecase Diagram Manajer Login
53
Tujuan Manager dapat melakukan Login
Deskripsi Sistem ini memungkinkan manager
untuk login ke menu utma
Skenario Utama
Aktor Manager
Kondisi awal Manager melakukan Login
Aksi Aktor Reaksi Sistem
1. Manager melakukan Login Sistem akan menampilkan menu
utama
Kondisi Akhir Jika perintah sesuai maka sistem
akan menampilkan yang diinginkan
B2. Manajer Mengakses Laporan
Mengakses Laporan Penjualan
Gambar III.16
Usecase Diagram Form Laporan Penjualan
Tabel III.9
Deskripsi Usecase Diagram Mengakses Laporan Penjualan
54
Tujuan Manger dapat mengaksesLaporan penjualan
Deskripsi System ini memungkinkan admin untuk
mengakses laporan penjualan
Skenario Utama
Aktor Manager
Kondisi Awal Manager melakukan Login
Aksi Aktor Reaksi Utama
3. Admin memilih menu
laporan penjualan
System akan menampilkan laporan jurnal
4. Admin memilih cetak Sistem akan menampilkan data laporan yang
akan di cetak
Konisi Akhir Jika perintah sesuai maka sistem akan
menampilkan yang digunakan
Mengakses Laporan Jurnal
Gambar III.17
Usecase Diagram Form Laporan Jurnal
Tabel III.10
Deskripsi Usecase Diagram Mengakses Laporan Jurnal
55
Tujuan Manager dapat mengaksesLaporan jurnal
Deskripsi System ini memungkinkan admin untuk
mengakses laporan jurnal
Skenario Utama
Aktor Manager
Kondisi Awal Manager melakukan Login
Aksi Aktor Reaksi Utama
1. Admin memilih menu
laporan jurnal
System akan menampilkan laporan jurnal
2. Admin memilih cetak Sistem akan menampilkan data laporan yang
akan di cetak
Konisi Akhir Jika perintah sesuai maka sistem akan
menampilkan yang digunakan
3.3.3.Activity Diagram
1. Login
Gambar III.18
Activity Diagram Proses System Usulan Login
56
2. Bagian Admin Mengelola data barang
Gambar III.19
Activity Diagram Proses System Usulan Mengelola data barang
3. Admin Mengelola data konsumen
57
Gambar III.20
Activity Diagram Proses System Usulan Mengelola data Konsumen
4. Admin Mengelola Transaksi pemesanan
Gambar III.21
Activity Diagram Proses System Usulan Mengelola transaksi pemesanan
5. Admin Mengelola Transaski cicilan
58
Gambar III.22
Activity Diagram Proses System Usulan Mengelola Transaksi cicilan
6. Admin Mengakses laporan penjualan
Gambar.III.23
Activity Diagram Proses System Usulan Mengakses laporn penjualan
7. Admin Mengakses Data Laporan jurnal
Gambar.III.24
Activity Diagram Proses System Usulan Mengakses laporan jurnal
59
8. Manager mengakses login
Gambar.III.25
Activity Diagram Proses System Usulan Mengakses Login
9. Manajer Mengakses laporan penjualan
Gambar.III.26
Activity Diagram Proses System Usulan Mengakses laporan penjualan
60
10. Manajer Mengakses data laporan
Gambar.111.27
Activity Diagram Proses System Usulan Mengakses laporan jurnal
3.4. Desain
Pada tahap desain sistem ini penulis menggambarkan bagaimana sistem yang
akan dibuat yaintu beruba penggambaran basis data atau database untuk
mempersiapkan rancang bangun sistem yang akan diterapkan diperusahan. Berikut
adalah rancangan database yang akan diterapkan pada CV Zhafran Putra.
3.4.1. ERD (Entity Relationship Diagram)
61
Gambar III.28
ERD (Entity Relationship Diagram)
3.4.2. LRS (Logical Relationship Diagram )
62
Gambar III.29
Diagram Logical Record Stucture
3.4.3. Spesifikasi File
1. Sfesifikasi File barang
Nama Database : penjualankredit
Nama File : barang
Tipe File : File Master
Akses File : Random
Panjang Record : 90 Karakter
Kunci Field : kode_barang
Sofware : Mysql
Tabel III.11
Sfesifikasi File Akun
63
No Elemen Data Akronim Tipe Size Keterangan
1 Nama barang nama_barang Vachar 20 Primary Key
2 Merk Merk Varchar 20
3 Stok Stok Varchar 20
2. Sfesifikasi File pembeli
Nama Database : penjualankredit
Nama File : pembeli
Tipe File : File Master
Akses File : Random
Panjang Record : 83 Karakter
Kunci Field : kode_pembeli
Sofware : Mysql
Tabel III.12
Sfesifikasi File pembeli
No Elemen Data Akronim Tipe Size Keterangan
1 Kode pembeli kode_konsumen Vachar 20 Primary Key
2 Nama Nama Varchar 20
3 Pekerjaan Pekerjaan Varchar 20
4 Alamat Alamat Varchar 20
5 Umur Umur Integer 13
3. Sfesifikasi File tmdataakun
Nama Database : penjualankredit
Nama File : tmdataakun
Tipe File : File master
64
Akses File : Random
Panjang Record : 47 Karakter
Kunci Field : kode_akun
Sofware : Mysql
Tabel III.13
Sfesifikasi File tmdataakun
No Elemen Data Akronim Tipe Size Keterangan
1 Kode akun kode_akun Varchar 12 Primary Key
2 Nama akun nama_akun vachar 12
3 Jenis akun jenis_akun Varchar 23
4. Sfesifikasi File tmjurnal
Nama Database : penjualankredit
Nama File : tmjurnal
Tipe File : File jurnal
Akses File : Random
Panjang Record : 120 Karakter
Kunci Field : no_jurnal
Sofware : Mysql
Tabel III.14
Sfesifikasi File tmjurnal
No Elemen Data Akronim Tipe Size Keterangan
1 No jurnal no_jurnal varchar 14 Primary key
2 id_transaksi Id_transaksi vachar 14
3 kode_akun Kode_akun vachar 14
4 tanggal Tanggal 14
5 kas Kas Int 11
65
6 debit Debit Int 14
7 kredit Kredit Int 14
8 keterangan Keterangan Vachar 50
5. Sfesifikasi File transaksi
Nama Database : penjualankredit
Nama File : transaksi
Tipe File : File transaksi
Akses File : Random
Panjang Record : 205 Karakter
Kunci Field : no_transaksi
Sofware : Mysql
Tabel III.15
Sfesifikasi transaksi
No Elemen Data Akronim Tipe Size Keterangan
1 No transaksi no_transaksi varchar 15 Primary Key
2 Tgl kredit tgl_kredit varchar 25
3 Kode pembeli kode_pembeli int 11
4 harga Harga int 11
5 Kode barang kode_barang int 11
6 Nama pembeli nama_pembeli varchar 40
7 Uang muka uang_muka int 11
8 Lama angsuran lama_angsuran varchar 15
9 Angsuran
perbulan
angsuran_perbulan int 11
10 sisa Sisa int 11
11 Keterangan Keterangan varchar 45
6. Sfesifikasi File trans_cicilan
66
Nama Database : penjualankredit
Nama File :trans_cicilan
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 141 Karakter
Kunci Field : id_cicilan
Sofware : Mysql
Tabel III.16
Sfesifikasi File trans_cicilan
No Elemen Data Akronim Tipe Size Keterangan
1 Id cicilan id _cicilan varchar 11 primarykey
2 No transaksi no _transaksi vachar 11 Primary Key
3 Tgl tgl_bayar vachar 40
4 Lama angsuran lama _angsuran varchar 35
5 Angsuran ke angsuran _ke Int 11
6 Biaya angsuran biaya _angsuran Int 11
7 Uang bayar uang _bayar Int 11
8 Uang kembalian uang_kembalian Int 11
7. Sfesifikasi File t_user
Nama Database : penjualankredit
Nama File : t_user
Tipe File : File master
Akses File : Random
Panjang Record : 110 Karakter
Kunci Field : id_user
67
Sofware : Mysql
Tabel III.17
Sfesifikasi File t_user
No Elemen Data Akronim Tipe Size Keterangan
1 Id user id_user int 20 Primary key
2 User name user _name vachar 20 Primary Key
3 User pass user_pass vachar 20
3.4.4. Sequence Diagram
Gambar III.30
Diagram Sequence Transaksi
3.4.5. Deployment Diagram
68
Gambar III.31
Diagram Devloyment
3.4.6. User Interfice
1. Tampil menu login
Gambar III.32
Tampilan Menu Login
69
2. Tampil Menu Utama
Gambar III.33
Tampilan Menu Utama
3. Tampilan admin mengelola data barang
Gambar III.34
Tampilan Data Barang
70
4. Tampilan menu admin mengelola data konsumen
Gambar III.35
Tampilan Menu konsumen
5. Tampilan menu admin mengelola data transaksi pesanan
Gambar III.36
Tampilan Menu Transaksi Pesanan
71
6. Tampilan menu admin mengelola data transaksi cicilan
Gambar III.37
Tampilan Menu Transaksi cicilan
7. Tampilan menu laporan penjualan
Gambar III.38
Tampilan Menu Laporan penjualan
8. Tampilan Menu laporan jurnal
72
Gambar III.39
Tampilan Menu Laporan jurnal
3.5. Implementasi
3.5.1. Code Generation
1. Code Transaksi Pemesanan
public class trans_kredit extends javax.swing.JDialog {
java.util.Date tglsekarang = new java.util.Date();
private final SimpleDateFormat smpdtfmt = new SimpleDateFormat("dd/MM/yyyy",
Locale.getDefault());
//diatas adalah pengaturan format penulisan, bisa diubah sesuai keinginan.
private final String tanggal = smpdtfmt.format(tglsekarang);
private Statement stat;
private Connection Con;
private Connection con;
private ResultSet res;
private String t;
/**
* Creates new form trans_kredit
*/
Aplikasi_kredit.koneksi konek = new Aplikasi_kredit.koneksi();
public trans_kredit(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
txttgl.setText(dateFormat.format(cal.getTime()));
setJam();
koneksi();
tabel();
tbln.hide();
biayabunga.hide();
tbunga.hide();
txthasil.hide();
73
persenn.hide();
nofaktur();
}
public final void setJam(){
ActionListener taskPerformer = (ActionEvent evt) -> {
String nol_jam = "", nol_menit = "",nol_detik = "";
java.util.Date dateTime = new java.util.Date();
int nilai_jam = dateTime.getHours();
int nilai_menit = dateTime.getMinutes();
int nilai_detik = dateTime.getSeconds();
if(nilai_jam <= 9) nol_jam= "0";
if(nilai_menit <= 9) nol_menit= "0";
if(nilai_detik <= 9) nol_detik= "0";
String jam = nol_jam + Integer.toString(nilai_jam);
String menit = nol_menit + Integer.toString(nilai_menit);
String detik = nol_detik + Integer.toString(nilai_detik);
};
new Timer(1000, taskPerformer).start();
}
private void koneksi(){
try {
Class.forName("com.mysql.jdbc.Driver");
con = (Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1/penjualankredit", "root", "");
stat=(Statement) con.createStatement();
} catch (ClassNotFoundException | SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void kosongkan()
{
txttgl.setText("");
kode_pembeli.setText("");
nama.setText("");
harga.setText("");
kode_barang.setText("");
txtumak.setText("");
jComboBox1.setSelectedItem("PILIH");
biaya_angsuran.setText("");
sisabayar.setText("");
ket.setText("");
}
private void nofaktur()
{
try {
res= stat.executeQuery("select * from transaksi order by no_transaksi desc");
74
if (res.next()) {
String nofak = res.getString("no_transaksi").substring(2);
String AN = "" + (Integer.parseInt(nofak) + 1);
String Nol = "";
if(AN.length()==1)
{Nol = "000";}
else if(AN.length()==2)
{Nol = "00";}
else if(AN.length()==3)
{Nol = "0";}
else if(AN.length()==4)
{Nol = "";}
tno_transaksi.setText("TR" + Nol + AN);
} else {
tno_transaksi.setText("TR0001");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel6 = new javax.swing.JLabel();
jButton7 = new javax.swing.JButton();
harga = new javax.swing.JTextField();
sisabayar = new javax.swing.JTextField();
jLabel13 = new javax.swing.JLabel();
tno_transaksi = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
tabel = new javax.swing.JTable();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
kode_pembeli = new javax.swing.JTextField();
kode_barang = new javax.swing.JTextField();
nama = new javax.swing.JTextField();
jButton4 = new javax.swing.JButton();
jLabel7 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox<String>();
75
jLabel8 = new javax.swing.JLabel();
biaya_angsuran = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jButton6 = new javax.swing.JButton();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
txttgl = new javax.swing.JTextField();
txtumak = new javax.swing.JTextField();
tbln = new javax.swing.JTextField();
txthasil = new javax.swing.JTextField();
lbl = new javax.swing.JLabel();
tbunga = new javax.swing.JTextField();
biayabunga = new javax.swing.JTextField();
persenn = new javax.swing.JTextField();
ket = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(51, 51, 255));
jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 18)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("FORM TRANSAKSI");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel6)
.addGap(333, 333, 333))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel6)
.addContainerGap(14, Short.MAX_VALUE))
);
jButton7.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Aplikasi_kredit/Zoom.png"))); //
NOI18N
jButton7.setText("Cari");
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
76
}
});
harga.setEditable(false);
jLabel13.setText("No transaksi");
jButton1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Aplikasi_kredit/Print.png"))); //
NOI18N
jButton1.setText("CETAK");
jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jLabel3.setText("Tanggal");
tabel.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
tabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tabelMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tabel);
jLabel4.setText("Nama");
jLabel5.setText("Kode Pembeli");
kode_pembeli.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
kode_pembeliActionPerformed(evt);
}
});
kode_barang.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
kode_barangActionPerformed(evt);
}
});
nama.setEditable(false);
77
jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Aplikasi_kredit/gtk-save-
as.png"))); // NOI18N
jButton4.setText("SIMPAN");
jButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jLabel7.setText("Kode Barang");
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] {
"Pilih", "3 Bulan", "6 Bulan", "12 Bulan" }));
jComboBox1.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
jComboBox1ItemStateChanged(evt);
}
});
jComboBox1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jComboBox1MouseClicked(evt);
}
});
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});
jLabel8.setText("Uang Muka");
biaya_angsuran.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
biaya_angsuran.setText("0");
jLabel9.setText("Lama Angsuran");
jLabel10.setText("Angsuran Perbualan");
jLabel2.setText("Keterangan");
jButton6.setText("Cari");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
jLabel11.setText("Sisa");
jLabel12.setText("Harga");
txttgl.setEditable(false);
txtumak.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txtumakFocusLost(evt);
}
});
78
lbl.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
lbl.setText("Rp");
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 88,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(30, 30, 30)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(txttgl, javax.swing.GroupLayout.PREFERRED_SIZE, 139,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tno_transaksi, javax.swing.GroupLayout.PREFERRED_SIZE, 151,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(133, 133, 133))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1))
.addGroup(layout.createSequentialGroup()
79
, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(kode_pembeli, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton6)
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 22,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(biaya_angsuran)
.addComponent(lbl))))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 22,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(kode_barang, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton7)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(sisabayar, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel2)
.addComponent(ket, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))))
80
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(harga, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 22,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(47, 47, 47)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addComponent(jButton4)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 51,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(28, 28, 28)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 238,
Short.MAX_VALUE)
.addContainerGap())
);
setSize(new java.awt.Dimension(889, 680));
setLocationRelativeTo(null);
}// </editor-fold>
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
res=stat.executeQuery("select * from barang where "+ "kode_barang='"
+kode_barang.getText()
+"'" ); while (res.next())
{ kode_barang.setText(res.getString("kode_barang"));
harga.setText(res.getString("harga"));
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
HashMap hash = new HashMap();
hash.put("notrans", tno_transaksi.getText());
File file2 = new File("src/laporan/buktiTrans.jrxml");
JasperDesign jasperDesign = JRXmlLoader.load(file2);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
81
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash,
konek.openkoneksi());
JasperViewer.viewReport(jasperPrint, false);
}catch (ClassNotFoundException | JRException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
}
this.hide();
}
private void kode_pembeliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void kode_barangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
stat.executeUpdate("insert into transaksi values ("
+ "'" + tno_transaksi.getText()+"',"
+ "'" + txttgl.getText()+"',"
+ "'" + kode_pembeli.getText()+"',"
+ "'" + nama.getText()+"',"
+ "'" + kode_barang.getText()+"',"
+ "'" + harga.getText()+"',"
+ "'" + txtumak.getText()+"',"
+ "'" + jComboBox1.getSelectedItem()+"',"
+ "'" + biaya_angsuran.getText()+"',"
+ "'" + sisabayar.getText()+"',"
+ "'" + ket.getText()+ "')");
kosongkan();
JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
} catch (SQLException | HeadlessException e) {
JOptionPane.showMessageDialog(null, "Perintah teh Salah bosque : "+e);
}finally{
tabel();
}
}
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int angka =0;
int bunga =0;
int persen =0;
if (jComboBox1.getSelectedItem() == "3 Bulan"){
angka = 3;
bunga = 3;
persen = 100;
}
else if (jComboBox1.getSelectedItem() == "6 Bulan"){
angka = 6;
82
bunga = 5;
persen = 100;
}
else if (jComboBox1.getSelectedItem() == "12 Bulan"){
angka = 12;
bunga = 7;
persen = 100;
}
else{
angka =0;
}
tbln.setText(String.valueOf(angka));
tbunga.setText(String.valueOf(bunga));
persenn.setText(String.valueOf(persen));
int nilai1;
int nilai2;
int nilai3;
int nilai4;
String total;
nilai1=Integer.valueOf(harga.getText());
nilai2=Integer.valueOf(persenn.getText());
nilai3=Integer.valueOf(tbunga.getText());
nilai4=nilai1/nilai2*nilai3;
total=String.valueOf(nilai4);
biayabunga.setText(total);
int nilai5;
int nilai6;
int nilai7;
int nilai8;
String Hasil;
nilai5=Integer.valueOf(txthasil.getText());
nilai6=Integer.valueOf(tbln.getText());
nilai7=Integer.valueOf(biayabunga.getText());
nilai8=nilai5/nilai6+nilai7;
Hasil=String.valueOf(nilai8);
biaya_angsuran.setText(Hasil);
int nilai9;
int nilai10;
int nilai11;
String sisa;
nilai9=Integer.valueOf(biaya_angsuran.getText());
nilai10=Integer.valueOf(tbln.getText());
nilai11=nilai9*nilai10;
sisa=String.valueOf(nilai11);
sisabayar.setText(sisa);
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
83
res=stat.executeQuery("select * from pembeli where "+ "kode_pembeli='"
+kode_pembeli.getText()
+"'" ); while (res.next())
{ kode_pembeli.setText(res.getString("kode_pembeli"));
nama.setText(res.getString("nama"));
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
private void jComboBox1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
}
private void txtumakFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
int nilai1;
int nilai2;
int nilai3;
String Hasil;
nilai1=Integer.valueOf(harga.getText());
nilai2=Integer.valueOf(txtumak.getText());
nilai3=nilai1-nilai2;
Hasil=String.valueOf(nilai3);
txthasil.setText(Hasil);
}
private void tabelMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int row = tabel.getSelectedRow();
String row_id = (tabel.getModel().getValueAt(row, 0).toString());
tno_transaksi.setText(row_id);
}
private void tabel(){
DefaultTableModel t= new DefaultTableModel();
t.addColumn("No Transaksi");
t.addColumn("Tanggal Kredit");
t.addColumn("Kode Pembelo");
t.addColumn("Nama Pembeli");
t.addColumn("Kode Barang");
t.addColumn("Harga");
t.addColumn("Uang Muka");
t.addColumn("Lama Angsuran");
t.addColumn("Angsuran Perbulan");
t.addColumn("Sisa");
t.addColumn("Keterangan");
tabel.setModel(t); try{ res=stat.executeQuery("select * from transaksi");
84
while (res.next()) {
t.addRow(new Object[]{ res.getString("no_transaksi"),
res.getString("tgl_kredit"),
res.getString("kode_pembeli"),
res.getString("nama_pembeli"),
res.getString("kode_barang"),
res.getString("harga"),
res.getString("uang_muka"),
res.getString("lama_angsuran"),
res.getString("angsuran_perbulan"),
res.getString("sisa"),
res.getString("keterangan")
});
}
}catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional)
">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and
feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(trans_kredit.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(trans_kredit.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(trans_kredit.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
/* Create and display the dialog */
85
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
trans_kredit dialog = new trans_kredit(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
// Variables declaration - do not modify
private javax.swing.JLabel biaya_angsuran;
private javax.swing.JTextField biayabunga;
private javax.swing.JTextField harga;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JComboBox<String> jComboBox1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField ket;
private javax.swing.JTextField kode_barang;
private javax.swing.JTextField kode_pembeli;
private javax.swing.JLabel lbl;
private javax.swing.JTextField nama;
private javax.swing.JTextField persenn;
private javax.swing.JTextField sisabayar;
private javax.swing.JTable tabel;
private javax.swing.JTextField tbln;
private javax.swing.JTextField tbunga;
private javax.swing.JTextField tno_transaksi;
private javax.swing.JTextField txthasil;
private javax.swing.JTextField txttgl;
private javax.swing.JTextField txtumak;
// End of variables declaration
}
86
3.5.2. Blackbox Testing
Tabel III.18
Pengujian Blackbox Testing User Login
4.
No Skenario
Pengujian
Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpula
n
1. ID user dan
password
tidak diisi
kemudian
klik login
ID User :
(kosong)
Password :
(Kosong)
Sistem
menolak
Sesuai
harapan
Valid
2. ID User diisi
dan Password
tidak diisi
kemudian
klik Login
ID User:
(Admin)
Password :
(kosong)
Sistem
Menolak
Sesuai
harapan
Valid
3. ID User diisi
dan Password
diisi
kemudian
klik Login
User :
(Admin)
Password :
(12345)
Sistem akan
menerima dan
akan masuk
ke halaman
menu utama
Sesuai
harapan
Valid
Tabel III.19
Pengujian Halaman Admin Mengelola data barang
No Skenario
Pengujian
Test Care Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1. Form tambah
data barang
jika field isian
data barang
dikosngkan
kemudian klik
simpan
Kode barang :
(kosong) merk :
(kosong total
harga : (kosong)
Sistem
menolak
Sesuai
harapan
Valid
2. Mengisi satu
text field dan
yang lain
kosng
Kode barang :
(kosong) merk :
(kosong)
Harga :
Sistem
menolak
Sesuai
harapan
Valid
87
(250000)
3. Mengisi semua
text field
Kode Barang :
(BRG004)
Merk : (Nike)
Harga :
(250000)
Sistem akan
menerima data
dan data
barang akan
tersimpan
Sesuai
harapan
Valid
Tabel III.20
Pengujian Halaman Admin Mengelola Transaksi
No Skenario
Pengujian
Test Care Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1. Form tambah
data jika field
isian data
konsumen
dikosongkan
kemudian klik
simpan
No.Transaksi
Kodebarang
(kosong)
Kode konsumen
(kosong) nama
(kosong) harga
(kosong)
Sistem
menolak
Sesuai
harapan
Valid
2. mengisi satu
text field dan
yang lain
kosong
No transaksi(TR001)
Kodekonsumen:
(kosong)
nama :
(kosong)
harga: (kosong)
Sistem
menolak
Sesuai
harapan
Valid
3. Mengisi semua
text field
No transaksi(TR001)
Kode konsumen:
KSM002
Nama :erike
Harga :1000000
Sistem akan
menerima
data akan
tersimpan
dan tercetak
Sesuai
harapan
Valid
88
3.5.3. Spefikasi Hardware dan Software
1. Perangkat Lunak(Hardware)
Perangkata keras atau hardware adalah serangkaian unsur-unsur yang terdiri dari
beberapa perangkat keras yang membentuk suatu sistem komputer yang
digunakan. Adapun perangkat keras yang penulis sarankan agar proses
pengolahan data pada CV Zhafran Putra Tanggerang adalah sebagai berikut :
a. Processor : CPU N1350
b. Memory Size : 4.00 GB (RAM)
c. Hardisk : 350 GB
d. Mouse : Standard Mouse
e. Keyboard : 108 Keys
f. Monitor : SVGA 15 Inch
g. Printer : Inkjet
2. Spesifikasi File Software
Perangkat lunak (software) adalah suatu rangkaian atau susunan intruksi
dengan urutan-urutan yang benar, penggunaan suatu perangkat keras pun akan selalu
disertai dengan penggunaan perangkat lunak. Adapun perangkat lunak yang penulis
gunakan dalam membantu tugas akhir ini adalah sebagai berikut :
a. Sistem Operasi : Window 8
b. Program aplikasi : Java Application
c. Bahasa Pemograman : Neatbean 8.0.2
d. DBMS : MySQL
e. Browser : Mozilla Firefox
f. Web Server : Xamp