19
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Sebelum berdirinya Kang Ming Optik ini pemilik menempuh pendidikan
ilmu spesialis mata, dan dengan ilmu yang di dapat pemilik memulai usahanya
dengan metode jemput bola. Yaitu dengan cara mendatangi konsumen satu ke
konsumen yang lain sccara langsung baik dari kantor ke kantor ataupun dari
rumah ke rumah. Nama Kang Ming Optik itu sendiri di usulkan oleh seorang
sahabat pemilik yang berprofesi sebagai pimpinan pondok pesantren di
purwakarta yaitu Ustadz Nurzaman.
Wilayah pemasaran yang di targetkan ketika itu mencakup daerah Kota
dan Kabupaten Cirebon, Kabupaten Kuningan dan Kabupaten Indramayu.
Setelah hampir kurang lebih 10 Tahun menjalani usaha optik secara Door To
Door tepatnya pada tahun 2011 resmilah Kang Ming Optik mengurus
perizinannya dan membuka kantor di Jl. Dewi Sartika No.54 Sumber Cirebon
Jawa Barat. Pemilihan lokasi tersebut atas dasar pertimbangan agar lebih dekat
dengan perkantoran pemerintah kabupaten Cirebon. Tujuannya adalah agar
lebih maksimal dalam melayani masyarakat terutama para pegawai di
Pemerintahan Kabupaten Cirebon.
20
3.2. Sejarah Perusahaan
Kang Ming Optik adalah salah satu optik yang memberikan pelayanan
kesehatan mata yang mengutamakan kenyamanan cutomer dalam menggunakan
produk yg di jual oleh optik tersebut. Optik Kang Ming tersebut berdiri pada bulan
oktober 2011 tepatnya di Jln. Dewi Sartika no.54 Kota Sumber Cirebon Provinsi
Jawa Barat. Berdirnya Optik Kang Ming tidak lepas dari dorongan dan dukungan
salah seorang pelanggan yaitu H. Abdul Mutholib Alm. Beliau pada saat itu
menjabat sebagai Kepala Dinas Perizinan Terpadu Kabupaten Cirebon. Selain itu
support yang penting yaitu seorang sahabat dari pemilik Optik dia adalah H. Agus
Wanda saat itu beliau menjabat sebagai Kasubag di Cipta Karya Kabupaten
Cirebon.
3.3. Struktur Organisasi Dan Fungsi
Didalam perusahaan terdapat beberapa unit kerja yang saling terhubung dan
berkoordinasi untuk menjalankan tugas dan tanggung jawab masing-masing sehingga
terbentuklah struktur organisasi.
Berikut ini merupakan struktur organisasi Kang Ming Optik yang berelasi secara
langsung ataupun tidak langsung dalam menjalankan tugas pada tiap bagian.
21
Sumber: Kang Ming Optik
Gambar III.1.
Struktur Organisasi Kang Ming Optik
Adapun beberapa fungsi dari masing-masing bagian Struktur Organisasi adalah
sebagai berikut:
1. Pimpinan
a. Memimpin jalannya suatu perusahaan
b. Mengontrol semua karyawan
c. Memeriksa laporan perusahaan
2. Admin
a. Melakukan entri data perusahaan
b. Membuat Agenda Kantor
c. Melayani Transaksi Pelanggan
3. Sales
a. Menerima order dari Pelanggan
b. Membuat dokumen Pesanan
c. Membuat dokumen Penjualan
d. Menerima Pembayaran Penjualan
e. Membuat Laporan Penjualan
composite structure struktur organisasi
Pimpinan
Admin Sales Juru PeriksaTenaga Lab
22
4. Juru periksa
a. Melayani pemeriksaan mata
b. Membuat laporan hasil pemeriksaan mata.
5. Tenaga Lab
a. Menyediakan/membuat barang pesanan kacamata jika memiliki ukuran
khusus.
b. Menerima hasil pemeriksaan mata dari Optik.
3.2. Tinjauan Kasus
Penulisan Tugas Akhir, penulis melakukan wawancara (interview) bahwa sistem
penjualan kacamata pada optik sekarang ini memiliki persaingan global yang sangat
signifikan. Dalam hal ini perusahaan harus mempertajam strategi bisnis dan
meningkatkan relationship terhadap customer, sehingga perusahaan memerlukan
sistem yang lebih baik dalam mengelola penyimpanan data-data yang menyangkut
customer dan pengolahan data seluruh transaksi.
3.2.1. Proses Bisnis Sistem Berjalan
Pada sub bab ini penulis akan menjelaskan proses bisnis sistem penjualan.
Adapun proses tersebut pertama dimulai dengan customer memilih barang sesuai
keinginan. Selanjutnya Customer yang sudah menentukan pilihanya akan mengajukan
pada bagian sales untuk mengecek persediaan barang. Setelah menerima informasi
pemesanan barang maka bagian sales akan melakukan pengecekan persediaan barang
pesanan.
Yang Ke-dua, selajutnya setelah melakukan pengecekan persediaan barang
sudah dilakukan dan barang dinyatakan ada maka, sales akan memberikan informasi
pada customer bahwa barang yang dipesan tersedia. Selanjutnya customer akan
melakukan penawaran harga pada bagian sales. Setelah transaksi penawaran harga
23
dilakukan bagian sales akan mengkonfirmasi hasil penawaran harga pada customer
untuk persetujuan harga dan akan di buatkan nota pesanan sesuai dengan permintaan
pesanan.
Ke-tiga, setelah melakukan proses penawaran harga customer melakukan
transaksi pembayaran penjualan barang pada bagian admin penjualan/kasir. Bagian
kasir akan menerima transaksi pembayaran sesuai harga barang dari customer secara
tunai. Setelah transaksi pembayaran selesai maka bagian kasir akan memberikan
barang pesanan pada customer serta bukti pembayaran berupa kwitansi. Dan transaksi
penjualan dengan cuntomer telah selesai.
Terakhir, setelah transaksi penjualan customer dilakukan maka bagian admin
akan mengarsipkan dokumen penjualan yang akan di susun dan di buat laporan
penualan. kemudian bagian admin akan membuat laporan penjualan. Jika laporan
penjualan selesai dibuat maka bagian admin akan menyerahkan laporan penjualan
pada Pimpinan optik untuk ditanda tangani.
24
3.2.2. Activity Diagram
Sumber: Kang Ming Optik
Gambar III.2.
Activity Diagram Kang Ming Optik
act Activ ity Diagram Sistem Berjalan Kang Ming Optik
PemilikAdmin PenjualanSalesCustomer
Mulai
Memilih barangMenerima informasi
barang pesanan
Informasi persediaan
Barang pesanan
Menerima informasi
Persediaan barang
pesanan
Melakukan
penawaran harga
Menerima informasi
Penawaran harga
Konfirmasi Penawaran
harga barang
Menerima konfirmasi
Persetujuan harga Ya Tidak
Melakukan
Pembayaran
Menerima Pembayaran
Tunai
Menyerahkan barang
pesanan
Menerima barang
pesanan
Mengarsipkan dokumen
Penjualan
Membuat lapopran
penjualan
Menerima laporam
Penjualan
Selesai
melakukan pengecekan
barang
membuat nota pesanan
menerima nota
pesanan
menyerahkan nota
pesananmenerima nota
pesanan
membuat kwitansi
menyerahkan kwintansimenerima kwitansi
konfirmasi penerimaan
barang
25
3.2.3. Dokumen Masukan
1. Nama Dokumen : nota pesanan
Fungsi : Sebagai data pemesanan barang
Sumber : Customer
Tujuan : Admin Penjualan
Media : Kertas
Frekuensi : Setiap terjadi pemesanan barang
Format : Lampiran A.1
3.2.4. Dokumen Keluaran
1. Nama Dokumen : Kwitansi
Fungsi : Sebagai bukti pembayaran barang
Sumber : Admin Penjualan
Tujuan : Customer
Media : Kertas
Frekuensi : Setiap terjadi pembayaran barang
Format : Lampiran B.1
26
3.2.5. Permasalahan Pokok
Permasalahan pokok di Kang Ming Optik ini adalah aktivitas penjualan dan
pencatatan laporan masih bersifat manual, hal ini mengakibatkan proses bisnis pada
sistem penjualan menjadi tidak efektif dan efisien, dikarenakan sering terjadinya
kesalahan pada pencatatan data transaksi, dalam hal penyimpanan dokumen resiko
hilangnya dokumen-dokumen penting sering terjadi. Dalam proses pembuatan laporan
admin juga membutuhkan banyak waktu dikarenakan dokumen yang berceceran yang
sering menyebabkan proses kerja menjadi terhambat.
3.2.6. Pemecahan Masalah
Salah satu cara pemecahkan masalah dalam hal penjualan yang masih bersifat
manual adalah perusahaan harus mengubah sistem manual menjadi sistem
terkomputerisasi, karena apabila sistem yang digunakan sudah terkomputerisasi hal ini
dapat meningkatkan efektifitas dan efisiensi kinerja admin dalam menjalankan proses
bisnis perusahaan.
Sistem yang telah terkomputerisasi juga dapat mempermudah admin dalam hal
pencatatan transaksi, pendataan customer, pendataan barang, serta mempermudah
admin dalam menyimpan dokumen-dokumen penting perusahaan, sehingga resiko
akan kehilangan dokumen tidak akan terjadi lagi.
27
3.3. Analisis Kebutuhan Software
Analisa kebutuhan software merupakan langkah awal untuk menentukan
gambaran terhadap software yang akan dihasilkan ketika pengembang melaksanakan
sebuah proyek pembuatan suatu sistem.
3.3.1. Analisis Kebutuhan
1. Halaman Admin Penjualan
A.1. Admin dapat melakukan login
A.2. Admin dapat mengakses halaman utama
A.3. Admin dapat mengakses data user
A.4. Admin dapat mengelola data barang
A.5. Admin dapat mengelola data customer
A.6. Admin dapat mengelola transaksi pesanan
A.7. Admin dapat mengelola transaksi pembayaran
A.8. Admin dapat mengelola jurnal
A.9. Admin dapat logout
2. Halaman Pemilik
B.1. Pemilik dapat melakukan login
B.2. Pemilik dapat mengakses halaman pemilik
B.3. Pemilik dapat mengakses menu laporan
B.4. Pemilik dapat mengakses laporan data barang
B.5. Pemilik dapat mengakses laporan data pelanggan
B.6. Pemilik dapat mengakses laporan pesanan
B.7. Pemilik dapat mengakses laporan pembayaran
B.8. Pemilik dapat mengakses laporan jurnal
B.9. Pemilik dapat logout
28
3.3.2. Use Case Diagram
1. Use Case Diagram Halaman Admin Penjualan
Gambar III.3.
Use Case Diagram Halaman Admin Penjualan
Tabel III.1.
Deskripsi Use Case Diagram Halaman Admin Penjulan
Skenario Utama
Aktor Admin Penjualan
Kondisi Awal Aktor membuka menu halaman utama admin
Aksi Aktor Reaksi Sistem
1. Aktor memilih data
barang.
2. Aktor memilih data
customer
3. Aktor memilih data
pesanan.
Sistem ini akan menampilkan informasi data
user Barang
Sistem ini akan menampilkan informasi data
Customer
Sistem ini akan menampilkan informasi data
pesanan.
uc menu utama admin
Admin
Login
Logout
Halaman Menu Utama
Admin
Barang
Customer
Pesanan
Pembayaran
Jurnal
User
«extend»
«extend»
«extend»«extend»
«include»
«extend»
«extend»
«include»
29
4. Aktor memilih data
pembayaran
5. Aktor memilih data
laporan.
6. Aktor memilih data user
7. Aktor memilih data
jurnal
Sistem ini akan menampilkan informasi data
pembayaran
Sistem ini akan menampilkan informasi laporan-
laporan penjualan.
Sistem ini akan menampilkan informasi data
user.
Sistem ini akan menampilkan informasi data
jurnal.
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan apa yang diinginkan
30
2. Use Case Diagram Halaman Pemilik
Gambar III.4.
Use Case Diagram Halaman Pemilik
Tabel III.2.
Deskripsi Use Case Diagram Halaman Pemilik
Skenario Utama
Aktor Pemilik
Kondisi Awal Aktor membuka halaman utama pemilik
Aksi Aktor
Reaksi Sistem
uc halaman pemilik
Pemilik
Login
Logout
Laporan
Melihat Laporan
Barang
Melihat Laporan
Pesanan
Melihat Laporan
Jurnal
Melihat laporan
Customer
Melihat Laporan
Pembayaran
«extend»«include»
«extend»
«extend»
«extend»
«include»
«extend»
31
1. Aktor memilih laporan
barang
2. Aktor memilih laporan
customer.
3. Aktor memilih laporan
pesanan.
4. Aktor memilih laporan
pembayaran.
5. Aktor memilih laporan
jurnal.
Sistem ini akan menampilkan informasi data
laporan barang.
Sistem ini akan menampilkan informasi data
laporan customer.
Sistem ini akan menampilkan informasi data
laporan pesanan.
Sistem ini akan menampilkan informasi data
laporan pembayaran.
Sistem ini akan menampilkan informasi data
laporan jurnal.
Kondisi Akhir
Jika perintah sesuai maka sistem akan
menampilkan apa yang diinginkan
32
3.3.3. Activity Diagram
1. Activity Diagram Login Halaman Admin
Sumber: Penulis
Gambar III.5.
Activity Diagram Login Halaman Admin
act login admin penjualan
Sistem PenjualanAdmin Penjualan
Login
Input
username
Input
password
Validasi Login
Menampilkan
Halaman Utama
Selesai
[Tidak]
[Ya]
33
2. Activity Diagram Menu Utama Admin
Sumber: Penulis
Gambar III.6.
Activity Diagram Halaman Utama Admin
act activ ity menu utama admin
Sistem PenjualanMenu Utama Admin
Mulai
Menampilkan
Halaman Utama
Menu
Pesanan
Menu
Barang
Menu
Customer
Logout
Selesai
Login
PembayaranMenu User
34
3. Activity Diagram Menu Barang
Sumber: Penulis
Gambar III.7.
Activity Diagram Menu Barang
act act menu barang
Bagian Admin Sistem Penjualan
Mulai
Login
Menampilkan Menu
Utama sistem
Menampilkan menu
data Barang
Input Stok
Barang
Input username
dan password
Validasi
Menampilkan
Tambah data
Barang
Input data Barang
Input kode
Barang
Input Nama
Barang
Input Harga
jual
Pilih simpanMenyimpan data
Barang
Pilih Menu Barang
Pilih Tambah Data
Barang
Menampilkan Data
Barang yang sudah
tersimpan
Selesai
Pilih Reset
[Valid]
[Tidak valid]
35
4. Activity Diagram Menu Customer
Sumber: Penulis
Gambar III.8.
Activity Diagram Menu Customer
act act menu data customer
Sistem PenjualanBagian Admin
Mulai
Login
Input username dan
password
Validasi
Menampilkan Menu
Utama sistem
Pilih Menu Customer
Menampilkan Menu
Customer
Pilih Tambah data
Customer
Menampilkan
Tambah data
Customer
Input Data Customer
Input Kode
Customer
Input Nama
Customer
Input No.Telp
Customer
Input
Alamat
customer
Pilih SimpanMenyimpan data
Customer
Menampilkan Data
Customer yang sudah
Tersimpan
Selesai
Pilih Reset
[Tidak Valid]
[Valid]
36
5. Activity Diagram Menu Pesanan
Sumber: Penulis
Gambar III.9.
Activity Diagram Menu Pesanan
act act menu data pemesanan
Sistem PenjualanBagian Admin
Mulai
LoginMenampilkan Menu
utama sistem
Pilih Menu Pesanan
Menampilkan Menu
Data Pesanan
Pilih Tambah Data
Pesanan
Menampilan Tambah
Data Pesanan
Input Data Pesanan
Input
No.Transaksi
Input tanggal Input Kode
Barang
Input kode
Customer
Input
Keterangan
Pilih Simpan
Menyimpan data
Pesanan
Menampilkan data
pesanan yang
tersimpan
Selesai
input harga Input
jumlah
Input
subtotal
37
6. Activity Diagram Menu Transaksi Pembayaran
Sumber: Penulis
Gambar III.10.
Activity Diagram Menu Transaksi Pembayaran
act act menu data pembayaran
Sistem PenjualanBagian Admin
Mulai
Login Menampilkan Menu
Utama Sistem
Pilih Menu
PembayaranMenampilkan menu
pembayaran
Pilih Tambah Data
Pembayaran
Menampilkan Tambah
Data Pembayaran
Input Data
Pembayaran
Input
No.Transaksi
Input
Tgl.Pembayaran
Input Kode
Customer
Input Kode
Barang
Input
Keterangan
Input Jumlah
BarangInput
Harga
Input Subtotal
Pilih Simpan Menyimpan data
pembayaran
Menampilkan data
pembayaran yang
tersimpan
Selesai
38
3.4. Desain
3.4.1. Entity Relationship Diagram (ERD)
Customer
kode_customer nama_customer
No._telp alamat
Barang
Kode_barang Nama_barang
harga Stok_barang
Pesanan
No._transaksiKode_barang
UserNama_user
Hak_akses
Kode_user
password
pembayaran No._transaksi
tanggal
Kode_customer
Kode_barang
keterangan
jurnal
No._referensiTg_transl
No._transaksiketerangan
Jurnal_detai
No._referensiKode_akun
kreditdebet
Master_akun
Kode_akunNama_akun
Jenis_akunSaldo_normal
M M
1
1
1M
11
MM
mena
mbahk
an
terdapat
Kode_customer
terdapat
memuat
jumlah
harga
subtotal
menambahkan
harga
jumlah
keterangan
tanggal
subtotal
terdapat
terdapatmenginput
menerima
11
terdapat
1
1
1
1
M
1
M
M
1
Gambar III.11.
Entity Relationship Diagram (ERD)
39
3.4.2. Logical Record Structure (LRS)
1
M
1
M
1M
1
MM
1M
1
1
11
11
Gambar III.12.
Logical Record Structure (LRS)
40
3.2.1. Spesifikasi File
Spesifikasi file yang digunakan dalam perancangan program penjualan tunai ini,
penulis membuat satu file database yaitu penjualan_kacamata yang terdiri dari:
1. Spesifikasi File User
Nama Database : penjulalan_kacamata
Nama File : user
Tipe File : File Master
Akses File : Random
Panjang Record : 48 Karakter
Field Key : kode_user
Tabel III.3
Spesifikasi File Tabel User
No Elemen Data Akronim Tipe Panjang Keterangan
1. Kode User kode_user Varchar 5 Primary Key
2. Nama User nama_user Varchar 25
3. Password password Varchar 10
4. Hak Akses hak_akses Varchar 8
41
2. Spesifikasi File Barang
Nama Database : penjualan_kacamata
Nama File : barang
Tipe File : File Master
Akses File : User/Admin
Panjang Record : 43 Karakter
Field Key : kode_barang
Tabel III.4.
Spesifikasi File Tabel Barang
No Elemen Data Akronim Tipe Panjang Keterangan
1. Kode Barang kode_barang Varchar 25 Primary Key
2. Nama Barang nama_barang Varchar 30
3. Harga Jual harga Integer 11
4. Stok Barang stok_barang Integer 11
42
3. Spesifikasi File Customer
Nama Database : penjualan_kacamata
Nama File : customer
Tipe File : File Master
Akses File : Random
Panjang Record : 105 Karakter
Field Key : kode_customer
Tabel III.5.
Spesifikasi File Tabel Customer
No Elemen Data Akronim Tipe Panjang Keterangan
1. Kode Customer kode_customer Varchar 30 Primary Key
2. Nama Customer nama_customer Varchar 30
3. Alamat alamat Varchar 15
4. No.Telepon Customer no_telp Integer 30
43
4. Spesifikasi File Akun
Nama Database : penjualan_kacamata
Nama File : master_akun
Tipe File : File Master
Akses File : Random
Panjang Record : 56 Karakter
Field Key : kode_akun
Tabel III.6.
Spesifikasi File Tabel Akun
No Elemen Data Akronim Tipe Panjang Keterangan
1. Kode Akun kode_akun Varchar 5 Primary Key
2. Nama Akun nama_akun Varchar 30
3. Jenis Akun jenis_akun Varchar 15
4. Saldo Normal saldo_normal Varchar 6
44
5. Spesifikasi File Pesanan
Nama Database : penjualan_kacamata
Nama File : pesanan
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 100 Karakter
Field Key : no_transaksi
Tabel III.7.
Spesifikasi File Tabel Pesanan
No Elemen Data Akronim Tipe Panjang Keterangan
1. No Transaksi no_transaksi Varchar 10 Primary Key
2. Tgl pesanan tanggal Date -
3. Kode Barang kode_barang Varchar 30
4. Kode Customer kode_customer Integer 30 Foreign key
5. Keterangan keterangan Varchar 30
6. Jumlah jumlah integer 11
7. Harga harga integer 11
8. Subtotal subtotal integer 11
45
6. Spesifikasi File Pembayaran
Nama Database : penjualan_kacamata
Nama File : Pembayaran
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 128 Karakter
Field Key : No_Transaksi
Tabel III.8.
Spesifikasi File Tabel Pembayaran
No Elemen Data Akronim Tipe Panjang Keterangan
1. No Transaksi no_transaksi Integer 15 Primary Key
2. Tanggal Pembayaran tanggal Date -
3. Kode Customer kode_customer Varchar 30 Foreign Key
4. Kode Barang kode_Barang Varchar 30
5. Keterangan keterangan Varchar 30
6. Jumlah jumlah Integer 11
7. Harga harga Integer 11
8. Subtotal subtotal Integer 11 Foreign Key
46
7. Spesifikasi File Jurnal
Nama Database : penjualan_kacamata
Nama File : jurnal
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 70 Karakter
Field Key : no_referensi
Tabel III.9.
Spesifikasi File Tabel Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1. No. referensi no_referensi Varchar 10 Primary Key
2. Tanggal trans tgl_trans Date - Foreign Key
3. No. Bukti Trans no._bukti_trans Varchar 10 Foreign Key
4. Keterangan keterangan Varchar 50
47
8. Spesifikasi File Jurnal Detail
Nama Database : penjualan_kacamata
Nama File : jurnal_detail
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 90 Karakter
Field Key : kode_jurnal
Tabel III.10.
Spesifikasi File Tabel Jurnal Detail
No Elemen Data Akronim Tipe Panjang Keterangan
1. No.Referensi no._referensi Varchar 10 Primary Key
2. Kode Akun kode_akun Varchar 10 Foreign Key
3. Debet debet Integer 11
4. Kredit kredit Integer 11
48
3.4.4. Sequence Diagram
1. Sequence Diagram Halaman Admin
Gambar III.13.
Sequence Diagram Halaman Awal Admin
sd halaman utama
Admin
Form Login Control Login Halaman Awal
Utama
User Barang Customer Pesanan Pembayaran Jurnal
menampilkan
pembayaran()
input
(username)
input data
customer()
Inputusername dan
password()
input data barang()
input data user()
menampilkan
halaman awal()
input data
pesanan()
input(password)
menampilkan
form login()
menampilkan
jurnal()
49
2. Sequence Diagram Customer
Gambar III.14.
Sequence Diagram Customer
sd customer
AdminControl Data
Customer
Form Data
Customer
Data Customer
Input kode_customer()
Reset()
tambah data customer()
input nama_customer()
Hapus()
input alamat()
input no_telp()
input nama_customer()
Simpan()
Edit()
input alamat()
Keluar()
input no_telp()
input kode_customer()
50
2. Sequence Diagram Barang
Gambar III.15.
Sequence Diagram Barang
sd Barang
AdminForm Data
Barang
Control data
barang
Data Barang
Keluar()
Input stok_barang()
Input harga()
Input kode_barang()
Input stok_barang()
Reset()
Simpan()
Input kode_barang()
Tambah Data Barang()
Input nama_barang()
Input nama_barang()
Input harga()
51
3. Sequence Diagram Pesanan
Gambar III. 16.
Sequence Diagram Pesanan
sd pesanan
Admin
Form Pesanan Control Pesanan Pesanan
input jumlah
()
Pilih kode customer()
Tampil Form Pesanan()
Input jumlah()
tampil subtotal()
tampil no_transaksi()
Input keterangan()
Input keterangan()
Pilih kode customer()
Input harga()
tampil kode barang()
Pilih tanggal()
Pilih kode barang()
tampil tanggal()
Tampil subtoal()
Tampil no_transaksi()
Keluar()
tampil subtotal()
Simpan()
Pilih kode barang()
Pilih tanggal()
Tampil kode customer()
Input harga()
tampil no_transaksi()
52
4. Squence Diagram Pembayaran
Gambar III. 17.
Sequence Diagram Pembayaran
sd sq pembayaran
Admin
Control
Pembayaran
Form Pembayaran Pembayaran
Tampil no_transaksi
()
Pilih kode_barang()
Pilih tanggal()
Input harga()
pil ih kode_customer()
Input keterangan()
tampil no_transaksi()
Input keterangan()
Tampil subtotal()
pil ih kode_barang()
Input Jumlah()
Tampil no_transaksi
()
tampil kode_barang()
Keluar()
Pilih kode_customer()
Simpan()
Input Jumlah()
Tampil subtotal()
tampil kode
customer()
Tampil subtotal
()
Tampil form pembayaran()
Pilih tanggal()
Input harga()
Tampil tanggal()
53
3.4.5. Deployment Diagram
1. Deployment Diagram Penjualan
Gambar III.18.
Deployment Diagram Sistem Penjualan
deployment diagram penjualan
«device»
Database
«device»
Main
«ActiveXContr...
Jav a
«DBMS»
MySQL
«Database»
Penjualan
Program Penjualan
kacamata
54
3.4.6. User Interface
1. User Interface Login Admin
Gambar III.19.
User Interface Menu Login Admin
2. User Interface Halaman Utama Admin
Gambar III.20.
User Interface Menu Utama Admin
55
4. User Interface Login Pemilik
Gambar III.21.
User Interface Login Pemilik
5. User Interface Halaman Pemilik
Gambar III.22.
User Interface Halaman Pemilik
56
6. User Interface Form Data Customer
Gambar III.23.
User Interface Form Data Customer
7. User Interface Data Nama Customer
Gambar III.24.
User Interface Data Customer
57
8. User Interface Form Data Barang
Gambar III.25.
User Interface Form Data Barang
9. User Interface Data Nama Barang
Gambar III.26.
User Interface Data Nama Barang
58
10. User Interface Form Pesanan
Gambar III.27.
User Interface Form Pesanan
11. User Interface Data Pesanan
Gambar III.28.
User Interface Data Pesanan
59
12. User Interface Form Pembayaran
Gambar III.29.
User Interface Form Jurnal
13. User Interface Data Pembayaran
Gambar III.30.
User Interface Laporan Pesanan
60
14. User Interface Laporan Barang
Gambar III.31.
User Interface Laporan Barang
15. User Interface Laporan Pelanggan
Gambar III.32.
User Interface Laporan Pelanggan
61
16. User Interface Laporan Pesanan
Gambar III.33.
User Interface Laporan Pesanan
17. User Interface Laporan Pembayaran
Gambar III.34.
User Interface Laporan Pembayaran
62
18. User Interface Laporan Jurrnal
Gambar III.35.
User Interface Laporan Jurnal
63
3.5. Implementasi
3.5.1. Code Generation
1. Code Generation Tampil Pesanan
<%@page import="java.sql.*, model.Barang, model.Customer, model.Pesanan"%>
<style type="text/css">
body {
margin: 0 auto;
background-image: url('kacamata 1.jpg');
background-size: 20%;
background-repeat: repeat;
}
table {
border-collapse: separate;
font-size: 20px;
background-color: white;
border-style: ridge;
border-color: greenyellow;
text-align: left;
font: "Times New Roman",sans-serif;
color: #00cccc;
margin-left: 10px;
}
input {
background-color: white;
border-color: greenyellow;
color: navy;
font-family: "Times New Roman",sans-serif;
padding: 5px;
64
}
input:hover {
background-color: greenyellow;
color: white;
}
input.button {
background-color: greenyellown;
color: white;
font-family: 'Roboto', sans-serif;
margin-right: 10px;
}
h1 {
border-collapse: separate;
width: 200px;
height: 50px;
font-size: 30px;
background-color: white;
border-style: ridge;
border-color: green;
color: #00cccc;
font: "Times New Roman",sans-serif;
margin-left: 10px;
padding: 8px;
}
</style>
<%
Barang barang = new Barang();
Customer customer = new Customer();
65
Pesanan pesanan = new Pesanan();
//--koneksi database--
Connection koneksi = null;
Statement stmt = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/penjualan_kacamata",
"root", "");
stmt = koneksi.createStatement();
%>
<h1> Pesanan</h1>
<form action="pesananServlet" method="post">
<div class="logo">
<a href="Tampil_penjualan.jsp"><img src="home5.png" alt="width="100px"
height="100px" style="float:right; margin-right: 10px; margin-left: 30px;"/></a>
</div>
<table border="5">
<tr style="background-color: greenyellow; color: midnightblue;">
<td>No Transaksi</td>
<td>:</td>
<td>
<%
try {
ResultSet notr = null;
Statement perintah = koneksi.createStatement();
notr = perintah.executeQuery("Select max(right(no_transaksi,8)) as no FROM
pesanan");
while (notr.next()) {
if (notr.first() == false) {
66
out.println("<input type='hidden' name='no_transaksi'
value='TR00000001' id='t1'/>");
out.println("<input type=''text' disabled='disabled'
value='TR00000001'/>");
} else {
notr.last();
int autonotr = notr.getInt(1) + 1;
String nomortr = String.valueOf(autonotr);
int noLong = nomortr.length();
for (int a = 1; a < 9 - noLong; a++) {
nomortr = "0" + nomortr;
}
String nomertr = "TR" + nomortr;
out.println("<input type='hidden' name='no_transaksi' value='" + nomertr
+ "'/>");
out.println("<input type='text' disabled='disabled' value='" + nomertr +
"'/>");
}
}
} catch (Exception e) {
out.println(e);
}
%>
</td>
</tr>
<tr>
<td>Tanggal Transaksi</td>
<td>:</td>
<td><input type="date" name="tanggal"/></td>
67
</tr>
<tr>
<td>Kode Customer</td>
<td>:</td>
<td>
<select name="kode_customer">
<%
rs = stmt.executeQuery("SELECT * FROM Customer");
while (rs.next()) {
customer.setKode_customer(rs.getString("kode_customer"));
%>
<option
value="<%=customer.getKode_customer()%>"><%=customer.getKode_customer()%></opti
on>
<% }%>
</select>
</td>
<tr style="background-color: greenyellow; color: midnightblue;">
<td>Kode Barang</td>
<td>:</td>
<td>
<select name="kode_barang">
<%
rs = stmt.executeQuery("SELECT * FROM Barang");
while (rs.next()) {
barang.setKode_barang(rs.getString("kode_barang"));
%>
68
<option
value="<%=barang.getKode_barang()%>"><%=barang.getKode_barang()%></option>
<% }%>
</select>
</td>
</tr>
</tr>
<tr style="background-color: greenyellow; color: midnightblue;">
<tr>
<td>Keterangan</td>
<td>:</td>
<td><input type="text" name="keterangan" size="25" /></td>
</td>
</tr>
<tr>
<td>Jumlah</td>
<td>:</td>
<td><input type="text" name="jumlah" size="25" id="jumlah"
onchange="jumlah()"/></td>
</tr>
<tr style="background-color: greenyellow; color: midnightblue;">
<td>Harga Jual</td>
<td>:</td>
<td><input type="text" name="harga" size="25" id="harga"
onchange="jumlah()"/></td>
</tr>
<tr>
<td>Sub Total Jual</td>
<td>:</td>
<td><input type="text" name="subtotal" size="25" id="subtotal"/></td>
69
</tr>
<tr>
<td colspan="3" align="center"><input type="submit" name="aksi" value="Simpan"
class="button"/></td>
</tr>
</table>
</form>
<script type="text/javascript">
function jumlah() {
var jumlah = document.getElementById("jumlah").value;
var jual = document.getElementById("harga").value;
var subtotal = jumlah * jual;
document.getElementById("subtotal").value = subtotal;
}
</script>
<table border="5" cellpadding="5" cellspacing="5">
<tr class="head">
<td>No Transaksi</td>
<td>Tanggal</td>
<td>Kode Customer</td>
<td>Kode Barang</td>
<td>Keterangan</td>
<td>Jumlah Jual</td>
<td>Harga Jual</td>
</tr>
<%
70
rs = stmt.executeQuery("SELECT pesanan.no_transaksi, pesanan.tanggal,
pesanan.kode_customer, pesanan.kode_barang, pesanan.keterangan, detail_pesanan.jumlah,
detail_pesanan.harga, detail_pesanan.subtotal "
+ "FROM pesanan "
+ "INNER JOIN detail_pesanan "
+ "ON pesanan.no_transaksi=detail_pesanan.no_transaksi");
rs.beforeFirst();
while (rs.next()) {
out.println("<tr class=isi>"
+ "<td>" + rs.getString(1) + "</td>"
+ "<td>" + rs.getString(2) + "</td>"
+ "<td>" + rs.getString(3) + "</td>"
+ "<td>" + rs.getString(4) + "</td>"
+ "<td>" + rs.getString(5) + "</td>"
+ "<td>" + rs.getString(6) + "</td>"
+ "<td>" + rs.getString(7) + "</td>"
+ "<td><a href=pesananServlet?aksi=Delete&no_transaksi=" + rs.getString(1) +
">Hapus</a></td>"
+ "</tr>") }
%>
</table>
71
3.5.2. Black Box Testing
1. Form Login
Tabel III.11.
Hasil Black Box Testing Form Login
No. Skenario
Pengujian
Test
Case
Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1.
Nama user tidak
diinput
Nama User:
Kosong
Sistem akan
menolak akses
Sesuai
Harapan
Valid
2.
Mengimput nama
user dan tidak input
password
Nama User:
(Admin)
Password:
(kosong)
Sistem tidak
bisa verifikasi
dan tombol
login tidak
aktif
Sesuai
Harapan
Valid
3.
Menginput
username dan
password sesuai
kemudian login
Username:
(Admin)
Password:
(kangming)
Sistem akan
memverifikasi
dan tampil
menu utama
Sesuai
Harapan
Valid
72
2. Tambah Data Barang
Tabel III.12.
Hasil Black Box Tambah Barang
No. Skenario
Pengujian
Test
Case
Hasil yang
diharapkan
Hasil
Pengujian
Kesimpulan
1.
Menambah data
barang
Klik tombol
tambah
Sistem akan
masuk kedalam
form transaksi
Sesuai
Harapan
Valid
2.
Mengimput data
data barang
Klik tombol
tambah
Sistem akan
menampilkan
Data , input
kode barang,
nama barang,
harga , dan stok
Sesuai
Harapan
Valid
3.
Menyimpan data
barang
Klik tombol
simpan
Sistem akan
memverifikasi
dan tampil text
box “Data
berhasil
disimpan”
Sesuai
Harapan
Valid
73
3.5.3. Spesifikasi Hardware dan Software
Tabel III.13.
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi Windows 10
Processor AMD Radeon
RAM DDR3 4GB
Hardisk HDD 500GB
Monitor 14”
Keyboard Full key
Printer Printer
Mouse Thinkpad
Software Bahasa Pemrograman : Netbeans IDE 8.1
Aplikasi Pendukung : Java Application
DBMS : MySQL