bab iii pembahasan - repository.bsi.ac.id · di era globalisasi ini persaingan dalam dunia bisnis...
TRANSCRIPT
16
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Di era globalisasi ini persaingan dalam dunia bisnis semakin tinggi, sehingga
membuat para pengusaha diharuskan berinovasi dalam hal pelayanan dan hasil
produk. Kesuksesan usaha sangat ditentukan oleh SDM, mesin, dan metode.
Pertumbuhan volume penjualan kosmetik ditopang oleh peningkatan permintaan,
khususnya dari konsumen kelas menengah. Pertumbuhan penjualan kosmetik juga
didorong oleh tren kenaikan penggunaan kosmetik oleh kaum pria.
CV. Citra Marvella sebagai salah satu produsen kosmetik nasional memiliki
keinginan untuk menguasai pasar. Maka dari itu CV. Citra Marvella perlu
melakukan pengembangan demi memenuhi permintaan pasar yang terus meningkat
dan memberikan layanan yang berkualitas.
3.1.1. Sejarah Perusahaan
CV. Citra Marvella merupakan perusahaan yang bergerak dibidang kosmetik
yang berawal dari bisnis rumahan (home industry) tahun 1995 dengan nama PD.
Citra Marvella. Kemudian pada tanggal 26 Februari 2007 berdasarkan AKTA
NOTARIS Ny. Susanawati Widjonarko, SH nomor 01 berubah menjadi bentuk
perseroan comanditer (CV). Lokasi perusahaan ini terletak di Jl. Cendrawasih Blok
A No. 13 RT 009 / RW 002, Jakamulya, Bekasi Selatan. Adapun pemilik (owner)
perusahaan tersebut adalah Wiyana Dewi dan Direktur Pimpinan Perusahaan adalah
Ir. Tri Cahyo. Perusahaan ini mempunyai 8 karyawan kontrak, 7 karyawan tetap,
beserta 1 Apoteker penanggungjawab teknis dengan 4 divisi yang berbeda, yaitu
bagian produksi, bagian gudang, bagian Quality Control (QC), dan bagian admin.
17
3.1.2. Struktur Organisasi dan Fungsi
Sumber : CV. Citra Marvella
Gambar III.1. Struktur Organisasi CV. Citra Marvella
1. Tugas dan Wewenang Direktur
Direktur berhak menerima laporan tekait aktivitas perusahaan, mengawasi
jalannya aktivitas dan kebijakan umum perusahaan, menyetujui dan menandatangai
dokumen – dokumen yang menunjang kegiatan perusahaan serta menyusun dan
menentukan kebijakan tertinggi di perusahaan.
2. Tugas dan Wewenang Apoteker Penanggungjawab Teknis
Apoteker penanggung jawab teknis memiliki tanggung jawab untuk menangani
hal yang berkaitan dengan instansi pemerintah, khususnya BPOM seperti
pendaftaran nomor notifikasi, pengurusan izin produksi, serta sertifikasi label produk
halal. Selain itu, apoteker juga bertanggungjawab untuk melakukan trial produk
apabila ada inovasi produk baru, bertanggungjawab atas formula yang digunakan di
bagian produksi, dan bertanggungajwab atas produk yang beredar jika sewaktu-
waktu ada claim dari konsumen.
18
3. Tugas dan Wewenang Bagian Gudang
Bagian gudang bertanggungjawab untuk menyimpan barang, melakukan
pencatatan data barang masuk ataupun keluar. Selain itu bagian gudang juga
bertanggungjawab untuk menyiapkan barang yang telah dipesan oleh konsumen,
serta menyerahkan barang yang telah dibayarkan kepada bagian penjualan.
4. Tugas dan Wewenang Bagian Produksi
Bagian produksi bertanggungjawab atas proses produksi mulai dari pengolahan
hingga pengemasan barang sesuai dengan jadwal produksi dan SOP yang berlaku.
5. Tugas dan Wewenang Bagian Pembelian
Bagian pembelian bertanggungjawab melakukan pemesanan barang diantaranya
bahan baku dan bahan kemas yang dibutuhkan perusahaan kepada supplier, dan
membuat PO untuk pemesanan barang.
6. Tugas dan Wewenang Bagian Penjualan
Bagian penjualan bertanggungjawab menerima order penjualan dari pelanggan,
mengisi form order penjualan, membuat nota penjualan yang akan diserahkan kepada
pelanggan untuk kepentingan pembayaran harga barang.
7. Tugas dan Wewenang Bagian Admin CPKB
Bagian Admin CPKB bertanggungjawab untuk menyediakan dokumen-dokumen
yang diperlukan untuk diisi oleh semua divisi yang dibawahi oleh apoteker
penanggungjawab teknis yang berhubungan dengan aturan CPKB.
8. Tugas dan Wewenang Bagian Pengawasan Mutu
Pengawasan Mutu memiliki tanggungjawab atas mutu produk secara keseluruhan
mulai dari bahan baku, bahan kemas, produk ruahan, dan produk jadi dengan
melakukan sampling dan pengecekan pada saat bahan baku ataupun bahan kemas
datang. Serta melakukan pengecekan pada produk ruahan yang akan dikemas,
19
memastikan produk jadi yang akan keluar dari pabrik dalam kondisi baik. Selain itu,
pengawasan mutu juga mempunyai hak untuk menolak apabila produk yang
dihasilkan oleh bagian produksi tidak sesuai dengan standar mutu. Pengawasan Mutu
juga bertanggungjawab untuk membuat laporan hasil pengecekan bahan baku, bahan
kemas, produk ruahan, dan produk jadi.
3.2. Tinjauan Kasus
Penulis menjelaskan prosedur sistem penjualan berjalan pada CV. Citra
Marvella, dokumen – dokumen apa saja selama sistem penjualan berjalan,
permasalahan yang terjadi selama sistem penjualan berjalan dan alternatif pemecahan
masalah tersebut.
3.2.1. Proses Bisnis Sistem Berjalan
Prosedur penjualan kosmetik pada CV. Citra Marvella yaitu sebagai berikut :
1. Prosedur Pemesanan Barang
Pelanggan dapat melakukan pemesanan kosmetik secara langsung di workshop
maupun dapat melalui telepon. Bagian penjualan akan mencatat pemesanan kosmetik
dalam buku work order yang selanjutnya akan diserahkan ke bagian gudang. Bagian
gudang akan mengecek ketersediaan barang. Jika barang tersedia, bagian gudang
akan menyiapkan barang sesuai buku work order dari bagian penjualan. Jika barang
tidak tersedia, bagian gudang akan mengembalikan buku work order kepada bagian
penjualan dengan mengisi keterangan “Barang tidak tersedia” dan proses selesai.
2. Prosedur Pembayaran
Setelah menerima nota kontan atau faktur, pelanggan dapat melakukan
pembayaran di bagian kasir atau dapat melalui transfer ke rekening perusahaan.
20
Bukti nota kontan atau bukti transfer akan digunakan untuk pengambilan barang
yang ada di gudang.
3. Prosedur Pengiriman Barang
Setelah bagian gudang menyatakan bahwa barang tersedia, bagian penjualan
akan menerima buku work order dengan keterangan “Barang Tersedia” dari bagian
gudang. Bagian gudang akan menyiapkan pesanan barang tersebut. Kemudian bagian
penjualan akan membuat surat jalan dan nota kontan atau faktur yang akan
diberikan/dikirim kepada pelanggan.
4. Prosedur Pembuatan Laporan
Bagian penjualan akan membuat laporan penjualan berdasarkan buku work order
dan arsip nota kontan atau faktur per satu bulan. Bagian penjualan akan mencatat
pemasukan kas sesuai pembayaran dari pelanggan.
21
3.2.2. Activity Diagram
Gambar III.2. Activity Diagram Sistem Penjualan Pada CV. Citra Marvella
3.2.3. Dokumen Masukan
Bentuk dokumen masukan dalam sistem penjualan pada CV. Citra Marvella antara
lain :
a. Order penjualan
Nama Dokumen : buku work order
Fungsi : informasi pesanan barang
Sumber : pelanggan
22
Tujuan : bagian penjualan
Media : kertas
Jumlah : 1 rangkap
Frekuensi : setiap terjadi pesanan barang
Format : Lampiran A.1
b. Bukti Transfer
Nama Dokumen : Bukti Transfer
Fungsi : bukti pembayaran
Sumber : pelanggan
Tujuan : bagian penjualan
Media : kertas
Jumlah : 1 rangkap
Frekuensi : setiap terjadi pembayaran transfer
Format : Lampiran A.2
3.2.4. Dokumen Keluaran
Bentuk dokumen keluaran selama sistem penjualan pada barang sebagai berikut :
a. Surat Jalan
Nama Dokumen : surat jalan
Fungsi : surat pengantar barang
Sumber : bagian penjualan
Tujuan : pelanggan
Media : kertas
Jumlah : 1 rangkap
Frekuensi : setiap terjadi pengiriman barang
Format : Lampiran B.1
23
b. Nota Faktur
Nama Dokumen : Faktur
Fungsi : bukti penagihan
Sumber : bagian penjualan
Tujuan : pelanggan
Media : kertas
Jumlah : 1 rangkap
Frekuensi : setiap terjadi penjualan kredit
Format : Lampiran B.2
c. Nota Kontan
Nama Dokumen : nota kontan
Fungsi : informasi pembayaran
Sumber : bagian kasir
Tujuan : pelanggan
Media : kertas
Jumlah : 2 rangkap
Frekuensi : setiap terjadi pembayaran tunai
Format : Lampiran B.3
d. Laporan Penjualan
Nama Dokumen : laporan penjualan
Fungsi : informasi penjualan
Sumber : bagian penjualan
Tujuan : pimpinan persahaan
Media : kertas
Jumlah : 1 rangkap
24
Frekuensi : bulanan
Format : Lampiran B.4
3.2.5. Permasalahan Pokok
Adapun permasalahan yang terjadi pada sistem penjualan kosmetik pada CV.
Citra Marvella antara lain :
1. Tidak adanya aplikasi penjualan terkomputerisasi sehingga proses pengolahan
dokumen penjualan ditulis tangan yang menyebabkan prosedur penjualan
memerlukan waktu yang lama dalam membuat laporan penjualan kosmetik dan
proses pencarian data kosmetik juga memerlukan waktu yang lama, terjadi
antrian penjualan karena pencatatan masih dilakukan secara manual sehingga
proses penjualan memakan waktu lebih lama, terjadi kesalahan pencatatan harga
dan penghitungan nota/tagihan karena data barang dan harga masih disimpan
dalam bentuk hardcopy.
2. Data – data penjualan seperti tagihan, kwitansi, struk dan lainnya yang masih
disimpan dalam bentuk hardcopy menyebabkan kesulitan dalam pembuatan
laporan karena jika hardcopy tersebut rusak atau hilang maka data – data
perusahaan juga akan hilang.
3.2.6. Pemecahan Masalah
Dengan melihat berbagai permasalahan yang ada pada sistem penjualan
berjalan, maka penulis menganjurkan alternatif pemecahan masalah berupa
pengembangan sistem penjualan pada CV. Citra Marvella antara lain :
1. Perlu adanya aplikasi yang dapat mempermudah user dalam mengolah data
report dan memperoleh informasi yang cepat, akurat dan tepat sesuai dengan
kegiatan penjualan yang dilakukan CV. Citra Marvella. Hal tersebut dapat
25
membantu perusahaan untuk mendapatkan data penjualan yang akurat dan sesuai
dengan kebutuhan perusahaan.
2. Pengarsipan dokumen dalam bentuk softfile dengan media database maupun
harddisk sehingga dokumen dapat disimpan dalam jangka waktu yang lama,
memudahkan pimpinan dalam mengevaluasi kegiatan penjualan dan
pemngambilan keputusan.
3.3. Analisis Kebutuhan Software
Adapun analisa kebutuhan yang penulis rancang adalah sebagai berikut :
3.3.1. Analisis Kebutuhan
Berikut ini spesifikasi kebutuhan (System Requirement) dari sistem penjualan
pada CV. Citra Marvella.
A. Analisa Kebutuhan Kasir Sebagai Admin
A.1. Kasir melakukan Login
A.2. Kasir mengakses menu utama
A.3. Kasir mengelola menu Data Brand
A.4. Kasir mengelola menu Data Kategori
A.5. Kasir mengelola menu Data Kosmetik
A.6. Kasir mengelola menu Data Pelanggan
A.7. Kasir mengelola menu Data Transaksi
A.8. Kasir mengeola menu Laporan
A.9. Kasir melakukan Logout
B. Analisa Kebutuhan Pemilik
B.1. Pemilik melakukan Login
B.2. Pemilik mengakses menu utama
B.3. Pemilik mengelola menu User
26
B.4. Pemilik mengelola menu Laporan
B.5. Pemilik melakukan Logout
27
3.3.2. Use Case Diagram
1. Use Case Diagram Kasir sebagai Admin
Gambar III.3. Use Case Diagram Kasir
Tabel III.1. Deskripsi Use Case Diagram Kasir melakukan Login
Use Case Narrative Login
Tujuan
Melakukan login dan masuk kedalam
aplikasi penjualan.
Deskripsi
Sistem ini memungkinkan actor
untuk mengakses aplikasi penjualan.
Skenario Utama
Aktor Kasir
Kondisi Awal Aktor membuka aplikasi penjualan
Aksi Aktor Reaksi Sistem
28
1. Aktor memilih tombol Login
Sistem akan menampilkan textbox
untuk mengisi username dan
password
2. Aktor memilih tombol Cancel
Sistem akan membatalkan proses dan
keluar dari aktivitas
Kondisi Akhir
Jika login berhasil, maka sistem akan
masuk ke dalam aplikasi penggajian
dan aktor dapat melakukan aktivitas
di dalam aplikasi.
Tabel III.2. Deskripsi Use Case Diagram Kasir Mengakses Menu Utama
Use Case Narrative Kasir Mengakses Menu Utama
Tujuan
Aktor dapat melakukan pengolahan data
yang ada di dalam aplikasi penjualan
Deskripsi
Sistem ini memungkinkan actor untuk
mengelola aplikasi penjualan mulai dari
input data sampai dengan pembuatan
laporan.
Skenario Utama
Aktor Kasir
Kondisi Awal Aktor membuka aplikasi penjualan
Aksi Aktor Reaksi Sistem
1. Aktor mengelola Menu Data Sistem akan menampilkan Form Data
29
Brand Brand
2. Aktor mengelola Menu Data
Kategori
Sistem akan menampilkan Form Data
Kategori
3. Aktor mengelola Menu Data
Kosmetik
Sistem akan menampilkan Form Data
Kosmetik
4. Aktor mengelola Menu Data
Pelanggan
Sistem akan menampilkan Form Data
Pelanggan
5. Aktor memilih Menu Data
Transaksi
Sistem akan menampilkan Form Data
Transaksi
6. Aktor memilih Menu Laporan Sistem akan menampilkan Form
Laporan
Kondisi Akhir
Jika perintah sesuai maka sistem akan
menampilkan seperti apa yang
diinginkan oleh aktor.
Tabel III.3. Deskripsi Use Case Diagram Kasir Melakukan Logout
Use Case Narrative Kasir Melakukan Log Out
Tujuan Aktor dapat keluar dari sistem
Deskripsi Sistem ini memungkinkan actor untuk
melakukan Exit atau keluar dari sistem
Skenario Utama
Aktor Kasir
Kondisi Awal Aktor mengakses menu utama
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu Exit
2. Keluar dari program
30
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan apa yang diinginkan
2. Use Case Diagram Pemilik
Gambar III.4. Use Case Diagram Pemilik
Tabel III.4. Deskripsi Use Case Diagram Pemilik melakukan Login
Use Case Narrative Pemilik melakukan Login
Tujuan
Melakukan login dan masuk kedalam
aplikasi penjualan.
Deskripsi
Sistem ini memungkinkan actor
untuk mengakses aplikasi penjualan.
Skenario Utama
Aktor Pemilik
31
Kondisi Awal Aktor membuka aplikasi penjualan
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol Login
Sistem akan menampilkan textbox
untuk mengisi username dan
password
2. Aktor memilih tombol Cancel
Sistem akan membatalkan proses dan
keluar dari aktivitas
Kondisi Akhir
Jika login berhasil, maka sistem akan
masuk ke dalam aplikasi penggajian
dan aktor dapat melakukan aktivitas
di dalam aplikasi.
Tabel III.5. Deskripsi Use Case Diagram Pemilik Mengakses Menu Utama
Use Case Narrative Pemilik Mengakses Menu Utama
Tujuan
Aktor dapat melakukan pengolahan data
yang ada di dalam aplikasi penjualan
Deskripsi
Sistem ini memungkinkan actor untuk
mengelola aplikasi penjualan
Skenario Utama
Aktor Pemilik
Kondisi Awal Aktor membuka aplikasi penjualan
Aksi Aktor Reaksi Sistem
1. Aktor mengelola Menu Data Sistem akan menampilkan Form Data
32
User User
2. Aktor memilih Menu Laporan Sistem akan menampilkan Form
Laporan
Kondisi Akhir
Jika perintah sesuai maka sistem akan
menampilkan seperti apa yang
diinginkan oleh aktor.
Tabel III.6. Deskripsi Use Case Diagram Pemilik Melakukan Logout
Use Case Narrative Pemilik Melakukan Log Out
Tujuan Aktor dapat keluar dari sistem
Deskripsi Sistem ini memungkinkan actor untuk
melakukan Exit atau keluar dari sistem
Skenario Utama
Aktor Pemilik
Kondisi Awal Aktor mengakses menu utama
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu Exit
2. Keluar dari program
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan apa yang diinginkan
33
3.3.3. Activity Diagram
1. Activity Diagram Menu Login
Gambar III.5. Activity Diagram Menu Login
2. Activity Diagram Halaman Menu Data Brand
Gambar III.5. Activity Diagram Halaman Menu Data Brand
34
3. Activity Diagram Halaman Menu Kategori
Gambar III.6. Activity Diagram Halaman Menu Kategori
35
4. Activity Diagram Halaman Menu Kosmetik
Gambar III.7. Activity Diagram Halaman Menu Kosmetik
36
5. Activity Diagram Halaman Menu Pelanggan
Gambar III.8. Activity Diagram Halaman Menu Pelanggan
37
6. Activity Diagram Halaman Menu Transaksi
Gambar III.9. Activity Diagram Halaman Menu Transaksi
38
7. Activity Diagram Halaman Menu Laporan
Gambar III.10. Activity Diagram Halaman Menu Laporan
39
3.4. Desain
3.4.1. Entity Relationship Diagam (ERD)
Gambar III.11. Entity Relationship Diagram (ERD)
40
3.4.2. Logical Record Structure (LRS)
Gambar III.12. Logical Record Structure (LRS)
3.4.3. Spesifikasi File
Menjelaskan tentang file – file yang digunakan dalam pengolahan database
pada sistem sebagai media penyimpanan data dalam prosedur penjualan, sebagai
berikut :
1. File Data Pengguna (Users)
Nama Database : penjualan_kosmetik.sql
Nama File : users
Tipe File : Master
Akses File : Random
41
Panjang record : 65 byte
Field Key : id_user
Tabel III.7. Spesifikasi File Data Users
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID User id_user Varchar 8 Primary key
2 Username username Varchar 8
3 Password password Varchar 10
4 Nama User nama_user Varchar 15
5 Telepon user tlp_user Varchar 15
6 Alamat User alamat_user Text
7 Level User level Varchar 9
2. File Data Brand
Nama Database : penjualan_kosmetik.sql
Nama File : Brand
Tipe File : Master
Akses File : Random
Panjang record : 29 byte
Field Key : id_brand
42
Tabel III.8. Spesifikasi File Data Brand
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID Brand id_brand Integer 9 Primary key
2 Nama Brand nama_brand Varchar 20
3. File Data Kategori
Nama Database : penjualan_kosmetik.sql
Nama File : kategori
Tipe File : Master
Akses File : Random
Panjang record : 29 byte
Field Key : id_kategori
Tabel III.9. Spesifikasi File Data Kategori
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID Kategori id_kategori Integer 9 Primary key
2 Nama Kategori nama_ kategori Varchar 20
4. File Data Pelanggan
Nama Database : penjualan_kosmetik.sql
Nama File : pelanggan
Tipe File : Master
Akses File : Random
Panjang record : 44 byte
43
Field Key : id_ pelanggan
Tabel III.10. Spesifikasi File Data Pelanggan
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID Pelanggan id_pelanggan Varchar 9 Primary key
2 Nama Pelanggan nama_ pelanggan Varchar 15
3 Alamat Pelanggan Alamat Text
4
Telepon
Pelanggan
no_telepon Integer 20
5. File Data Kosmetik
Nama Database : penjualan_kosmetik.sql
Nama File : Kosmetik
Tipe File : Master
Akses File : Random
Panjang record : 67 byte
Field Key : id_kosmetik
Tabel III.11. Spesifikasi File Data Kosmetik
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID Kosmetik id_kosmetik Varchar 6 Primary key
2 ID Kategori id_kategori Integer 9 Foreign key
3 ID Brand id_brand Integer 9 Foreign key
44
4 Nama Kosmetik nama_kosmetik Varchar 25
5 Satuan Satuan Varchar 10
6 Harga Kosmetik harga_kosmetik Double
7 Stok Kosmetik Stok Integer 8
6. File Data Transaksi
Nama Database : penjualan_kosmetik.sql
Nama File : transaksi
Tipe File : Transaksi
Akses File : Random
Panjang record : 33 byte
Field Key : id_transaksi
Tabel III.12. Spesifikasi File Data Transaksi
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID Transaksi id_transaksi Varchar 18 Primary key
2 ID User id_user Varchar 6 Foreign key
3 ID Pelanggan id_pelanggan Varchar 9 Foreign key
4
Tanggal
transaksi
tgl_transaksi Date
5
Total
keseluruhan
grand_total Double
45
7. File Data Detail Transaksi
Nama Database : penjualan_kosmetik.sql
Nama File : detail_transaksi
Tipe File : Transaksi
Akses File : Random
Panjang record : 35 byte
Field Key : id_transaksi
Tabel III.13. Spesifikasi File Data Detail Transaksi
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID Transaksi id_transaksi Varchar 18 Primary key
2 ID Kosmetik id_kosmetik Varchar 6 Foreign key
3 Jumlah Beli Jumlah Integer 11 Foreign key
4 Total beli sub_total Double
46
3.4.4. Sequence Diagram
Gambar III.13. Sequence Diagram Penjualan Kosmetik
47
3.4.5. Deployment Diagram
Gambar III.14. Deployment Diagram
48
3.4.6. User Interface
Gambar III.15. User Interface Login
Gambar III.16. User Interface Menu Utama Kasir
49
Gambar III.17. User Interface Menu Utama Pemilik
Gambar III.18. User Interface Menu Data Brand
50
Gambar III.19. User Interface Menu Data kategori
Gambar III.20. User Interface Menu Data Pelanggan
51
Gambar III.21. User Interface Menu Data Kosmetik
Gambar III.22. User Interface Menu Users
52
Gambar III.23. User Interface Menu Transaksi
Gambar III.24. Cetak Laporan Penjualan
53
Gambar III.25. Cetak Struk
3.5. Implementasi
3.5.1. Code Generation
private void simpanDetailTransaksi() {
try {
String detail = "insert detail_transaksi select '" + tNomorSpk.getText() +
"',id_kosmetik,jumlah,sub_total from tmp_table";
kon.st.executeUpdate(detail);
} catch (SQLException e) {
System.out.println("koneksi gagal" + e.toString());
}
}
private String simpanCustomer() {
String kat = null;
try {
String kategori = "select * from pelanggan where nama_pelanggan='" +
cKodePenyewa.getSelectedItem() + "'";
kon.rs = kon.st.executeQuery(kategori);
while (kon.rs.next()) {
54
kat = kon.rs.getString("id_pelanggan");
}
} catch (SQLException error) {
JOptionPane.showMessageDialog(null, error);
}
return kat;
}
private void SimpanTransaksi() {
try {
String sql = "insert into transaksi values('" + tNomorSpk.getText() + "','" +
Admin.getText() + "','" + simpanCustomer() + "','" + tTanggalDibuat.getText() + "','"
+ tTotal.getText() + "')";
kon.st.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("koneksi gagal" + e.toString());
}
}
private void ReadData2() {
try {
String sql = "Select *From tmp_table order by id_kosmetik";
kon.rs = kon.st.executeQuery(sql);
ResultSetMetaData m = kon.rs.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (kon.rs.next()) {
baris = kon.rs.getRow();
}
data = new Object[baris][kolom];
int x = 0;
kon.rs.beforeFirst();
while (kon.rs.next()) {
data[x][0] = kon.rs.getString("id_kosmetik");
data[x][1] = kon.rs.getString("nama_kosmetik");
data[x][2] = kon.rs.getString("satuan");
data[x][3] = kon.rs.getString("harga_kosmetik");
data[x][4] = kon.rs.getString("jumlah");
data[x][5] = kon.rs.getString("sub_total");
x++;
}
tblDataAlat1.setModel(new DefaultTableModel(data, label2));
} catch (SQLException e) {
55
JOptionPane.showMessageDialog(this, "ERROR: " + e.getMessage());
//NoActiveTableClicked();
}
}
void setDate2() {
java.util.Date skrg = new java.util.Date();
java.text.SimpleDateFormat kal = new java.text.SimpleDateFormat("YYYY-
MM-dd");
tTanggalDibuat.setText(kal.format(skrg));
}
private void setTable1() {
int row = tblDataAlat.getSelectedRow();
tKodeBarang1.setText((String) tblDataAlat.getValueAt(row, 0));
tNamaBarang.setText((String) tblDataAlat.getValueAt(row, 1));
tHarga1.setText((String) tblDataAlat.getValueAt(row, 4));
tJumlah.setText((String) tblDataAlat.getValueAt(row, 5));
}
Date skrg = new Date();
SimpleDateFormat noformat = new SimpleDateFormat("dd-MM-yyyy/");
public String nomorPO() {
String urutan = null;
try {
kon.rs = kon.st.executeQuery("select right(id_transaksi,3)+1 from transaksi
as Nomor order by id_transaksi desc");
if (kon.rs.next()) {
urutan = kon.rs.getString(1);
while (urutan.length() < 3) {
urutan = "0" + urutan;
}
urutan = "TR-" + noformat.format(skrg) + urutan;
} else {
urutan = "TR-" + noformat.format(skrg) + "001";
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
return urutan;
}
private void non() {
tNomorSpk.setEnabled(false);
tTanggalDibuat.setEnabled(false);
tKodeBarang1.setEnabled(false);
tNamaBarang.setEnabled(false);
56
tHarga1.setEnabled(false);
tJumlah.setEnabled(false);
tSubtotal.setEnabled(false);
}
private void SearchDataName() {
try {
String sql = "Select *From kosmetik inner join kategori ON
kosmetik.id_kategori = kategori.id_kategori inner join brand ON kosmetik.id_brand
= brand.id_brand where kosmetik.nama_kosmetik like '%" + tCari.getText() + "%'
OR kategori.nama_kategori LIKE '%" + tCari.getText() + "%' OR brand.nama_brand
LIKE '%" + tCari.getText() + "%'";
kon.rs = kon.st.executeQuery(sql);
ResultSetMetaData m = kon.rs.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (kon.rs.next()) {
baris = kon.rs.getRow();
}
data = new Object[baris][kolom];
int x = 0;
kon.rs.beforeFirst();
while (kon.rs.next()) {
data[x][0] = kon.rs.getString("id_kosmetik");
data[x][1] = kon.rs.getString("nama_kosmetik");
data[x][2] = kon.rs.getString("nama_kategori");
data[x][3] = kon.rs.getString("nama_brand");
data[x][4] = kon.rs.getString("satuan");
data[x][5] = kon.rs.getString("harga_kosmetik");
data[x][6] = kon.rs.getString("stok");
x++;
}
tblDataAlat.setModel(new DefaultTableModel(data, label3));
} catch (SQLException e) {
JOptionPane.showMessageDialog(this, "ERROR: " + e.getMessage());
}
}
private void ReadData1() {
try {
String sql = "Select *From kosmetik inner join kategori ON
57
kosmetik.id_kategori = kategori.id_kategori inner join brand ON kosmetik.id_brand
= brand.id_brand order by kosmetik.id_kosmetik";
kon.rs = kon.st.executeQuery(sql);
ResultSetMetaData m = kon.rs.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (kon.rs.next()) {
baris = kon.rs.getRow();
}
data = new Object[baris][kolom];
int x = 0;
kon.rs.beforeFirst();
while (kon.rs.next()) {
data[x][0] = kon.rs.getString("id_kosmetik");
data[x][1] = kon.rs.getString("nama_kosmetik");
data[x][2] = kon.rs.getString("nama_kategori");
data[x][3] = kon.rs.getString("nama_brand");
data[x][4] = kon.rs.getString("satuan");
data[x][5] = kon.rs.getString("harga_kosmetik");
data[x][6] = kon.rs.getString("stok");
x++;
}
tblDataAlat.setModel(new DefaultTableModel(data, label3));
} catch (SQLException e) {
JOptionPane.showMessageDialog(this, "ERROR: " + e.getMessage());
//NoActiveTableClicked();
}
}
void NamaCustomers() {
try {
String sql = "Select * From pelanggan";
kon.rs = kon.st.executeQuery(sql);
while (kon.rs.next()) {
cKodePenyewa.addItem(kon.rs.getString("nama_pelanggan"));
}
} catch (SQLException e) {
System.out.println("Koneksi Gagal" + e.toString());
}
}
private void hapussementara() {
try {
String sql = "DELETE FROM tmp_table";
kon.st.executeUpdate(sql);
ReadData2();
} catch (SQLException e) {
58
JOptionPane.showMessageDialog(null, e);
}
}
private void SimpanSementara() {
try {
String sql = "insert into tmp_table values('" + tKodeBarang1.getText() + "','"
+ tNamaBarang.getText() + "','" + tHarga1.getText() + "','" + tJumlah.getText() +
"','" + tLamaSewa.getText() + "','" + tSubtotal.getText() + "')";
kon.st.executeUpdate(sql);
ReadData2();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void ClearTextField() {
cKodePenyewa.setSelectedItem("--Pilih Nama Pelanggan");
tKodeBarang1.setText("");
tNamaBarang.setText("");
tHarga1.setText("");
tJumlah.setText("");
//tmerk.setText("");
//tkw.setText("");
tLamaSewa.setText("");
tSubtotal.setText("");
tTotal.setText("0");
tPPN.setText("");
tGrandTotal.setText("0");
}
59
3.5.2. Blackbox Testing
Tabel III.14.
Hasil Pengujian Blackbox Testing Form Login
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1. Username dan
password tidak
diisi kemudian
klik tombol
Login
Username :
(kosong)
Password :
(kosong)
Tombol
“Login” tidak
berfungsi
Sesuai
harapan
Valid
2. Username diisi
dan password
tidak diisi
kemudian klik
tombol Login
Username :
(benar)
Password :
(kosong)
Tombol
“Login” tidak
berfungsi
Sesuai
harapan
Valid
3. Username tidak
diisi dan
password diisi
kemudian klik
Login
Username :
(kosong)
Password :
(tidak aktif)
Jika username
tidak diisi
maka textbox
Password
tidak aktif
dan tombol
login tidak
berfungsi.
Sesuai
harapan
Valid
4. Username dan
password
dengan data
yang tidak
benar
kemudian klik
tombol Login
Username :
(salah)
Password :
(salah)
Menampilkan
“Kode user
salah”
Sesuai
harapan
Valid
5. Nama user dan
password
dengan data
yang benar
kemudian klik
tombol Login
Username :
(benar)
Password :
(benar)
Menampilkan
tampilan
menu utama
sistem
Sesuai
harapan
Valid
60
Tabel III.15.
Hasil Pengujian Blackbox Testing Form Data Brand
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1. Seluruh data di
tabel data
Brand diisi
lengkap dan
klik Simpan
Kode Brand
:
(otomatis)
Nama
Brand :
(benar)
Penyimpanan
data berhasil,
sistem
menampilkan
“Data berhasil
disimpan”
Sesuai
harapan
Valid
2. Salah satu data
di tabel data
Brand tidak
diisi dan klik
Simpan
Kode Brand
:
(otomatis)
Nama
Brand :
(kosong)
Tombol
“Simpan”
tidak berfungsi
Sesuai
harapan
Valid
Tabel III.16.
Hasil Pengujian Blackbox Testing Form Data Kategori
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1. Seluruh data di
tabel data
kategori diisi
dan klik
Simpan
ID Kategori
:
(otomatis)
Nama
Kategori :
(benar)
Penyimpanan
data berhasil,
sistem
menampilkan
“Data berhasil
disimpan”
Sesuai
harapan
Valid
2. Salah satu data
di tabel data
kategori tidak
diisi dan klik
Simpan
ID Kategori
:
(otomatis)
Nama
Kategori :
(kosong)
Tombol
“Simpan”
tidak berfungsi
Sesuai
harapan
Valid
61
Tabel III.17.
Hasil Pengujian Blackbox Testing Form Data Kosmetik
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1. Seluruh data di
tabel data
kosmetik diisi
dan klik
Simpan
ID
Kosmetik :
(otomatis)
ID Kategori
: (pilih)
ID Brand :
(pilih)
Nama
Kosmetik :
(benar)
Harga :
(benar)
Stok :
(benar)
Penyimpanan
data berhasil,
sistem
menampilkan
“Data berhasil
disimpan”
Sesuai
harapan
Valid
2. Salah satu data
di tabel data
kosmetik tidak
diisi dan klik
Simpan
ID
Kosmetik :
(otomatis)
ID Kategori
: (pilih)
ID Brand :
(pilih)
Nama
Kosmetik :
(kosong)
Harga :
(benar)
Stok :
(benar)
Tombol
“Simpan”
tidak berfungsi
dan
menampilkan
“Lengkapi
Semua Data”
Sesuai
harapan
Valid
3.5.3. Spesifikasi Hardware dan Software
1. Perangkat Keras (Hardware)
Processor : Intel Pentium Inside
RAM : 4 GB
Harddisk : 500 GB
Flashdisk : 8 GB
62
Monitor : 14” inch
Keyboard : Standart Keyboard
Mouse : Standart Mouse
Printer : Inkjet Printer
2. Perangkat Lunak (Software)
Sistem Operasi : Windows 10
Database : MySQL
Bahasa Pemrograman : Java
Tools : Netbeans 8.2, i-report