233 sd Nav igation Faktur Penj ualan
Staf_Keuangan_dan_Akuntansi
Window Faktur Penjualan
Faktur Penjualan
Grid Faktur Penjualan
Detail Faktur Penjualan
Pelanggan
Detail Surat Jalan
Detail Pesanan Penjualan
Barang
Model
Merek
Negara
alt [Move_to_First]
klik_"<<" go_to_first_record() get_nama_pelanggan() nama_pelanggan
loop
get_first_record_detail() get_data_surat_jalan() get_data_pesanan_penjualan() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang data_pesanan_penjualan data_surat_jalan first_record
first_record
[Move_to_Previous]
klik_"<" go_to_previous_record() get_nama_pelanggan() nama_pelanggan loop
get_previous_record_detail() get_data_surat_jalan() get_data_pesanan_penjualan() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang data_pesanan_penjualan data_surat_jalan
previous_record
previous_record
[Move_to_Next]
klik_">" go_to_next_record() get_nama_pelanggan() nama_pelanggan
loop
get_next_record_detail() get_data_surat_jalan() get_data_pesanan_penjualan() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang data_pesanan_penjualan data_surat_jalan
next_record
next_record [Move_to_Last]
klik_">>" go_to_last_record() get_nama_pelanggan() nama_pelanggan
loop
get_last_record_detail() get_data_surat_jalan() get_data_pesanan_penjualan() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang data_pesanan_penjualan data_surat_jalan last_record
last_record
Gambar 4.124 Sequence Diagram untuk use case “Membuat Faktur Penjualan“ (Tombol “Navigation”)
234 sd Menambah Faktur Penj ualan Window Faktur Penjualan
Faktur Penjualan
Staf_Keuangan_dan_Akuntansi klik_Tambah
clear_screen()
generate_date() get_last_no_Faktur_Penjualan() last_no_Faktur_Penjualan
generate_no_Faktur_Penjualan()
ref
Entri Faktur Penj ualan
Gambar 4.125 Sequence Diagram untuk use case “Membuat Faktur Penjualan“ (Tombol “Tambah”)
sd Mengubah Faktur Penj ualan Window Faktur Penjualan
Faktur Penjualan
Staf_Keuangan_dan_Akuntansi klik_Tambah
reload_enable()
no_Faktur_Penjualan_disable()
ref
Entri Faktur Penj ualan
Gambar 4.126 Sequence Diagram untuk use case “Membuat Faktur Penjualan“ (Tombol “Ubah”)
235 sd Entri Faktur Penjualan Window Faktur Penjualan
List No Surat Jalan
Faktur Penjualan
Pelanggan
Grid Faktur Penjualan
Detail Surat Jalan
Barang
Model
Merek
Negara
Detail Pesanan Penjualan
Staf_Keuangan_dan_Akuntansi
pilih_no_Surat Jalan
pilih()
no_surat_jalan
calculated_jatuh_tempo() get_data_pelanggan() data_pelanggan show_alamat()
show_area() get_record_detail_Surat_Jalan() loop
get_detail()
get_nama_barang()
get_nama_model()
get_nama_merek()
get_nama_negara()
get_harga_satuan()
harga_satuan
nama_negara
nama_merek
nama_model
nama_barang
detail
record_detail_Surat_Jalan
calculated_sub_total() calculated_PPN()
calculated_grand_total()
alt
klik_Simpan simpan()
[Simpan]
[Batal]
klik_Batal
Gambar 4.127 Sequence Diagram untuk use case “Membuat Faktur Penjualan“ (“Entri”)
236 sd Membuat TTB TTB
Pelanggan
Detail Faktur Penjualan
Faktur_Penjualan
Staf_Keuangan_dan_Akuntansi Window TTB create() Grid Pesanan Penjualan
create()
loop get_record_detail() record_detail
List No Faktur Penjualan
create()
loop get_no_faktur_penjualan()
no_faktur_penjualan get_last_record_FP()
loop get_data_pelanggan() data_pelanggan
last_record_FP
alt [Tambah]
ref
Menambah TTB
ref
Mengubah TTB
[Ubah]
[Hapus]
klik_Hapus
remove() remove()
[Cetak]
klik_Cetak create()
Window Print Preview
print() close() [Keluar]
klik_Keluar keluar()
Gambar 4.128 Sequence Diagram untuk use case “Membuat TTB”
237 sd Menambah TTB Window TTB
TTB
Staf_Keuangan_dan_Akuntansi klik_Tambah
clear_screen()
generate_date() get_last_no_TTB() last_no_TTB
generate_no_TTB()
ref
Entri TTB
Gambar 4.129 Sequence Diagram untuk use case “Membuat TTB “ (Tombol “Tambah”)
sd Mengubah TTB Window TTB
TTB
Staf_Keuangan_dan_Akuntansi klik_Tambah
reload_enable()
no_TTB_disable()
ref
Entri TTB
Gambar 4.130 Sequence Diagram untuk use case “Membuat TTB “ (Tombol “Ubah”)
238 sd Entri TTB Window TTB
Grid TTB
TTB
List No Faktur Penjualan
Staf_Keuangan_dan_Akuntansi pilih_no_faktur_penjualan() pilih()
show_tanggal_faktur_penjualan()
show_tanggal_jatuh_tempo()
show_nama_pelanggan()
show_nama_pelanggan()
show_no_rekening() entri_total_bayar()
alt
klik_Simpan
[Simpan]
[Batal]
simpan()
klik_Batal
Gambar 4.131 Sequence Diagram untuk use case “Membuat TTB “ (“Entri”)
239
sd Membuat SPPB SPPB
Detail SPPB
Barang
Model
Merek
Negara
Staf_Gudang Window SPPB create() Grid SPPB create()
loop get_record_detail() get_nama_barang() get_nama_model) get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang record_detail
get_last_record_SPPB() last_record_SPPB
alt [Navigation] ref
Navigation SPPB
[Tambah]
List Nama Barang create()
loop
get_nama_barang() nama_barang
ref
Menambah SPPB
[Ubah] ref
[Hapus]
Mengubah SPPB
klik_Hapus
remove() remove()
[Cetak]
klik_Cetak create()
print() close() [Keluar]
klik_Keluar keluar()
Gambar 4.132 Sequence Diagram untuk use case “Membuat SPPB”
Window Print Preview
240 sd Nav igation SPPB Window SPPB
SPPB
Grid SPPB
Detail SPPB
Barang
Model
Merek
Negara
Staf_Gudang
alt
klik_"<<"
[Move_to_First]
go_to_first_record()
loop
get_first_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang first_record
first_record
[Move_to_Previous]
klik_"<" go_to_previous_record() loop
get_previous_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang previous_record
previous_record
[Move_to_Next]
klik_">" go_to_next_record()
loop
get_next_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang next_record
next_record
[Move_to_Last]
klik_">>" go_to_last_record() loop
get_last_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_negara last_record
last_record
Gambar 4.133 Sequence Diagram untuk use case “Membuat SPPB“ (Tombol “Navigation”)
241 sd Menambah SPPB Window SPPB
SPPB
Staf_Gudang klik_Tambah
clear_screen()
generate_date() get_last_no_SPPB() last_no_SPPB
generate_no_SPPB()
ref
Entri SPPB
Gambar 4.134 Sequence Diagram untuk use case “Membuat SPPB“ (Tombol “Tambah”)
sd Mengubah SPPB Window SPPB
SPPB
Staf_Gudang klik_Tambah
reload_enable()
no_SPPB_disable()
ref
Entri SPPB
Gambar 4.135 Sequence Diagram untuk use case “Membuat SPPB “ (Tombol “Ubah”)
242 sd Entri SPPB Window SPPB
Grid SPPB
SPPB
Detail SPPB
List Nama Barang
Model
Merek
Negara
Bagian_Gudang loop
pilih_nama_barang pilih() nama_barang
List Nama Model create()
loop get_data_model() data_model
pilih_nama_model
pilih() List Nama Merek
nama_model create()
loop ge_nama_merek()
nama_merek pilih_nama_merek
pilih()
nama_merek List Nama Negara create()
loop
get_nama_negara() nama_negara
pilih_nama_negara
pilih()
nama_negara
entri_jumlah
alt
klik_Simpan
[Simpan]
simpan() simpan()
[Batal]
klik_Batal
Gambar 4.136 Sequence Diagram untuk use case “Membuat SPPB“ (“Entri”)
243 sd Membuat TBM TBM
Pemasok
SPPB
Detail SPPB
Barang
Model
Merek
Bagian_Gudang Window TBM create()
Grid TBM create()
loop get_detail_TBM() get_nama_barang() nama_barang
get_nama_model() nama_model
get_nama_merek() nama_merek
get_nama_negara() nama_negara
detail_TBM
get_last_record_TBM()
get_last_data_pemasok() data_pemasok
get_no_SPPB()
no_SPPB
last_record_SPPB
alt [Navigation] ref
Nav igation TBM
[Tambah]
List Nama Pemasok
create()
loop get_nama_pemasok() nama_pemasok
List No SPPB create()
loop get_no_SPPB() no_SPPB
ref
Menambah TBM
[Ubah] ref
[Hapus]
Mengubah TBM
klik_Hapus remove()
[Cetak]
klik_Cetak create()
Window Print Preview
print() close()
[Keluar]
klik_Keluar keluar
Gambar 4.137 Sequence Diagram untuk use case “Membuat TBM“
Negara
244 sd Nav igation TBM Window TBM
TBM
Grid TBM
Detail SPPB
Pemasok
Barang
Model
Merek
Negara
Staf_Gudang
alt
klik_"<<"
[Move_to_First]
go_to_first_record() get_nama_pemasok() nama_pemasok
loop
get_first_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang first_record
first_record
[Move_to_Previous]
klik_"<" go_to_previous_record() get_nama_pemasok() nama_pemasok loop
get_previous_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang previous_record
previous_record
[Move_to_Next]
klik_">" go_to_next_record() get_nama_pemasok() nama_pemasok loop
get_next_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_barang next_record
next_record
[Move_to_Last]
klik_">>" go_to_last_record() get_nama_pemasok() nama_pemasok loop
get_last_record_detail() get_nama_barang() get_nama_model() get_nama_merek() get_nama_negara() nama_negara nama_merek nama_model nama_negara last_record
last_record
Gambar 4.138 Sequence Diagram untuk use case “Membuat TBM“ (Tombol “Navigation”)
245 sd Menambah TBM Window TBM
TBM
Staf_Gudang klik_Tambah
clear_screen()
generate_date() get_last_no_TBM() last_no_TBM
generate_no_TBM()
ref
Entri TBM
Gambar 4.139 Sequence Diagram untuk use case “Membuat TBM“ (Tombol “Tambah”)
sd Mengubah TBM Window TBM
TBM
Staf_Gudang klik_Tambah
reload_enable()
no_TBM_disable()
ref
Entri TBM
Gambar 4.140 Sequence Diagram untuk use case “Membuat TBM“ (Tombol “Ubah”)
246 sd Entri TBM Window TBM
Grid TBM
TBM
List_Nama_Pemasok
Detail TBM
List Nama Barang
Model
Merek
Negara
Bagian_Gudang
pilih_nama_pemasok
pilih()
nama_pemasok
show_alamat()
show_area()
show_kontak_personil()
loop
pilih_nama_barang pilih() nama_barang
List Nama Model create()
loop get_data_model() data_model
pilih_nama_model
pilih() List Nama Merek
nama_model create()
loop
ge_nama_merek()
nama_merek pilih_nama_merek
pilih()
nama_merek List Nama Negara create()
loop
get_nama_negara() nama_negara
pilih_nama_negara
pilih()
nama_negara
entri_jumlah
alt
klik_Simpan
[Simpan]
simpan() simpan()
[Batal]
klik_Batal
Gambar 4.141 Sequence Diagram untuk use case “Membuat TBM“ (“Entri”)
247 sd Membuat Laporan Penjualan Pesanan Penjualan
Detail Pesanan Penjualan
Pelanggan
Barang
Model
Merek
Negara
Bagian_Keuangan Window Laporan Penjualan create()
select_periode_awal select_periode_akhir loop get_data_pelanggan() data_pelanggan
loop [semua_barang]
get_nama_barang() nama_barang
loop [semua_model]
get_nama_model() nama_model
loop [semua_merek]
get_nama_merek() nama_merek
loop [semua_negara]
get_nama_negara() nama_negara
get_record_pesanan_penjualan() loop
get_detail_record() record_detail_pesanan_penjualan
record_detail_pesanan_penjualan
calculated_total_penjualan()
alt [Cetak]
klik_Cetak
Printed_Laporan_Penjualan create()
cetak() tutup() [Keluar]
klik_Keluar keluar()
Gambar 4.142 Sequence Diagram untuk use case “Membuat Laporan Penjualan”
248 sd Membuat Daftar Penagihan Faktur Penjualan
Detail Faktur Penjualan
Pelanggan
Bagian_Keuangan Window Daftar Penagihan create()
pilih_periode_awal_jatuh_tempo pilih_periode_akhir_jatuh_tempo loop get_data_pelanggan() data_pelanggan
get_data_penagihan_penjualan() loop
get_detail_data() detail_data_penagihan_penjualan
data_penagihan_penjualan
calculated_total_penagihan()
alt
klik_Cetak
[Cetak]
Printed_Daftar_Piutang create()
print() close()
[Keluar]
klik_Keluar keluar()
Gambar 4.143 Sequence Diagram untuk use case “Membuat Daftar Penagihan”
249 sd Membuat Laporan Piutang Daftar Penagihan
Pelanggan
Bagian_Keuangan Window Laporan Piutang create()
pilih_periode_awal_piutang pilih_periode_akhir_piutang loop
get_data_pelanggan() data_pelanggan
get_data_piutang() data_piutang alt
klik_Cetak
Printed_Laporan_Piutang create()
[Cetak]
print() tutup()
[Keluar]
klik_Keluar keluar()
Gambar 4.144 Sequence Diagram untuk use case “Membuat Laporan Piutang”
250 sd Membuat Laporan Persediaan Barang Barang
Model
Merek
Negara
Kepala_Gudang Window Laporan Persediaan Barang create()
loop [semua_model] get_nama_model() nama_model
loop [semua_merek] get_nama_merek() nama_merek
loop [semua_negara] get_nama_negara() nama_negara
loop [semua_barang]
get_data_barang() data_barang
pilih_periode_awal_laporan pilih_periode_akhir_laporan entri_nama_barang
alt klik_Cetak
Printed_Laporan_Persediaan_Barang
[Cetak] create()
print() tutup()
[Keluar]
klik_Keluar keluar()
Gambar 4.145 Sequence Diagram untuk use case “Membuat Laporan Persediaan”
251
252
253
254
255
256
257
.
Gambar 4.152 Rancangan Laporan Persediaan
258 4.1.3.4 The Technical Platform Sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri akan dikembangkan dengan menggunakan media PC (Personal Computer) dan akan dioperasikan dalam lingkungan Windows. Menggunakan bahasa pemograman Microsoft VisualBasic .NET yang didukung dengan Microsoft SQL Server 2005 sebagai database engine-nya. Sistem dapat diopreasikan dengan menggunakan mouse, keyboard, dan printer untuk pencetakan dokumen dan laporan. 4.1.4 Recommendations 4.1.4.1 The System`s Usefulness and Feasibility Sistem informasi penjualan, piutang dagang, dan persediaan dikembangkan agar dapat membantu para pemakainya dalam memaksimalkan pencatatan transaksi-transaksi yang berkaitan dengan aktivitas penjualan, piutang dagang, dan persediaan perusahaan. Sistem ini juga dapat menghasilkan laporan-laporan mengenai transaksi-transaksi penjualan, piutang dagang, dan persediaan, laporan tersebut dapat digunakan untuk mengontrol transaksi yang terjadi serta mendukung pihak manajemen perusahaan di dalam mengambil keputusan yang berkaitan dengan perusahaan. 4.1.4.2 Strategy Sistem informasi penjualan, piutang dagang, dan persediaan ini akan diimplementasikan secara bertahap, hal ini dilakukan untuk mengetahui sejauh mana sistem ini dapat diandalkan untuk memenuhi kebutuhan para pemakainya didalam perusahaan. Selain itu, strategi bertahap ini dimaksudkan untuk menghindari kesalahan fatal dari konversi sistem lama ke sistem baru yang dilakukan secara langsung.
259 4.1.4.3 Development Economy Untuk mengembangkan sistem ini sebelum sistem ini layak dioperasikan oleh user, memerlukan sumber daya satu orang system analyst, satu orang programmer, dan satu orang database specialist. Sumber Daya
Jumlah
Biaya per bulan
Lama Total Biaya Pekerjaan 1 orang Rp. 5.000.000 2 bulan Rp. 10.000.000,System Analyst 1 orang Rp. 4.500.000 2 bulan Rp. 9.000.000,Programmer 2 bulan Rp. 8.000.000,Database Specialis 1 orang Rp. 4.000.000 Total Rp. 17.000.000,Sumber: Indonesia Salary Handbook 2008/09 (www.kellyservices.co.id) 4.2 Design Document 4.2.1 The Task 4.2.1.1 Purpose Pengembangan sistem informasi penjualan, pengelolaan piutang dagang, dan persediaan bertujuan untuk mendukung pencatata dan pengendalian internal atas transaksi penjualan, piutang dagang, dan persediaan. Dimulai dari penerimaan pesanan dari pelanggan, pengiriman barang, persediaan berkurang, penagihan terhadap pelanggan, sampai pencatatan pembayaran dan pencatatan barang masuk. Dengan demikian pengolahan data menjadi informasi menjadi lebih cepat sehingga informasi dapat dicetak dalam bentuk laporan dalam waktu yang relatif singkat. 4.2.1.2 Correction to The Analysis Dalam tahap perancangan sistem ini terdapat beberapa perbaikan dari analysis document yang telah dibuat sebelumnya. Perbaikan dilakukan dengan merevisi Class Diagram yang dibuat sebelumnya sehingga menghasilkan Class Diagram baru.
260 Perancangan Class Diagram baru ini dibuat dengan meninjau kembali atribut, operation, dan hubungan asosiasi pada Class Diagram lama. 4.2.1.3 Quality Goals Penentuan kriteria pada sistem informasi penjualan, piutang, dan persediaan CV. Primakarya Lajumandiri yang dirancang ini, ditekankan pada kriteria usable, correct, dan reliable. Sistem yang usable diperlukan agar sistem dapat digunakan dan disesuaikan dengan kebutuhan perusahaan untuk membantu mempermudah proses bisnis perusahaan. Sistem yang correct diperlukan untuk menghasilkan data-data transaksi dengan lebih akurat sesuai dengan kebutuhan untuk mendukung perusahaan. Kriteria reliable diperlukan untuk mempertahankan dan menjaga integritas data agar dapat menghasilkan laporan yang dibutuhkan manajemen. Kriteria lainnya yang juga penting adalah secure, efficient, testable, flexible, comprehensible, dan reusable. Kriteria secure dibutuhkan agar sistem terhindar dari ancaman yang berasal dari pihak internal maupun eksternal perusahaan yang tidak memiliki hak otorisasi terhadap sistem. Kriteria efficient penting dikarenakan sistem digunakan untuk mencatat transaksi-transaksi penjualan sehari-hari sehingga harus bekerja cepat dalam memproses transaksi tersebut. Kriteria testable diperlukan agar dapat memastikan bahwa sistem yang dirancang tersebut sudah siap untuk menangani setiap kebutuhan perusahaan. Kriteria flexible penting dikarenakan sistem yang akan dibuat memerlukan banyak perubahan sesuai dengan perubahaan yang terjadi dalam perusahaan. Kriteria comprehensible dibutuhkan agar pemahaman user akan sistem yang dirancang harus mudah dipahami dan mudah untuk dipelajari oleh user. Kriteria reusable diperlukan untuk penggunaan subsistem atau komponen sistem yang dirancang ke sistem yang lain.
261 Kriteria lain diletakkan pada prioritas yang lebih rendah seperti kriteria maintainable. Sedangkan portable dan interopable dianggap kurang relevan karena sistem dirancang untuk technical platform yang bersifat lebih spesifik. Criterion
Very
Important
Important
Less
Irrelevant
important
Easy Fulfilled
√
Usable Secure
√
Efficient
√
Correct
√
Reliable
√ √
Maintainable Testable
√
Flexible
√
Comprehensible
√
Reusable
√
Portable
√
Interopable
√ Tabel 4.50 Quality Goals sistem informasi manajemen CV. Primakarya Lajumandiri
4.2.2 Technical Platform 4.2.2.1 Equipment Sistem informasi penjualan, piutang dagang, dan persediaan ini dirancang, dan dikembangkan untuk PC (Personal Computer), dimana antara client dan server akan terhubung dengan menggunakan perangkat switch. Untuk lebih jelasnya berikut adalah spesifikasi perangkat lunak yang digunakan. Specification Processor
Client Intel Pentium4 1,8 Ghz
Server Intel Pentium4 3 Ghz
262 Mother Board Hard Disk Drive Memory Monitor Keyboard dan Mouse Printer Operating System
Mobo support Pentium4 Mobo support Pentium4 80 GB 160 GB DDR2 2GB DDR2 1GB 15” 15” Standar Standar Standar Standar Microsoft Windows XP Microsoft Windows 2000 Professional Advanced Server Tabel 4.51 Spesifikasi kebutahan PC
4.2.2.2 System Software Perancangan sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri berdasarkan pada implementasi sistem dalam Microsoft Visual Basic .NET. kemudian untuk aplikasi database engine-nya menggunakan Microsoft SQL Server 2005. 4.2.2.3 System Interface Jaringan yang digunakan adalah LAN (Local Area Network) dimana setiap bagian dihubungkan oleh sebuah server, sehingga informasi dapat berjalan lebih cepat. Selain PC (Personal Computer), sistem juga akan membutuhkan perlengkapan lain yang akan menghubungkan system interface lainnya seperti printer untuk mencetak laporanlaporan dalam format A4 dan letter. 4.2.2.4 Design Language Perancangan dokumen dibuat berdasarkan notasi UML (Unified Modelling Language), berdasarkan pada perancangan berorientasi objek menurut Mathiassen dan Bennet untuk sequence diagram dengan menggunakan bahasa pemograman VisualBasic .NET.
263 4.2.3 Architecture 4.2.3.1 Component Architecture Sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri menggunakan pola arsitektur client-server architecture dengan jenis distribusi centralized data, dimana pada setiap client terdapat komponen user interface dan function, sedangkan pada server terdapat komponen model. Pada masing-masing client memiliki komponen function yang berguna untuk membaca dan mengakses data yang berada pada server melalui user interface untuk kemudian diporses dan melakukan proses update pada setiap client (di tempat masing-masing). Sedangkan server berguna untuk menyimpan data-data yang telah di-update tersebut. Gambar 4.154 berikut ini menunjukkan arsitektur dari sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri.
Gambar 4.153 Component Diagram sistem informasi manajemen CV. Primakarya Lajumandiri
264 4.2.3.2 Process Architecture Deployment diagram dirancang dengan menggunakan centralized pattern, dimana pada client terdapat komponen user interface, function, dan external device, sedangkan pada server terdapat komponen model. Semua data yang dimasukkan melalui komponen user interface pada client akan diproses melalui komponen function yang ada pada client, kemudian server akan menampung segala input dari client melalui komponen model pada server. Output data akan dicetak dengan menggunakan printer yang merupakan external device pada masing-masing client. Untuk lebih jelasnya dapat dilihat pada Gambar 4.155 berikut ini. dd Deployment Model
Client Penj ualan
Client Gudang
«device» Printer
Printer obj ect
Sistem Interface
Sistem Interface
Function
UI
«device»
Printer obj ect
Printer
UI
Function
Client Persediaan Serv er Sistem Interface
UI
Sistem interface
Printer obj ect
Function
Model
«device» Client Pembelian
UI
Printer obj ect
Sistem Interface
Function
Client keuangan
UI
Printer obj ect
«device»
«device»
Printer
Printer
Printer
Sistem Interface
Function
Gambar 4.154 Deployment Diagram sistem informasi manajemen CV. Primakarya Lajumandiri
265 4.2.3.3 Standards Perancangan windows sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri mengikuti standard windows. Untuk lebih jelasnya, berikut beberapa contoh tombol dari menu standarnya.
Gambar 4.155 Tombol standar yang digunakan
4.2.4 Component 4.2.4.1 Structure Berdasarkan pada analisis sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri maka dilakukan beberapa perubahaan hingga menghasilkan class diagram yang telah direvisi. Gambar 4.157 berikut merupakan gambar class diagram hasil revisi.
266 cd Class Password
Karyawan -
Staf_Penjualan
Create() : void Login() : void Change_password() : void Logout() : void
+ Membayar() : void + Menagih() : void
1 1
1
1..*
1..*
1..* Surat_Jalan
Pesanan_Penjualan
Faktur_Penjualan 1..* -
no_pesanan_pelanggan: varchar tanggal_pesanan_pelanggan: date jatuh_temp: int 1 nama_pelanggan: varchar
no_surat_jalan: varchar tanggal_surat_jalan: date no_kendaraan: varchar no_pesanan_penjualan: varchar 1
1 -
1 + Mengirim() : void
+ Menolak() : void
no_faktur_penjualan: varchar tanggal_faktur_penjualan: date tanggal_jatuh_tempo: date no_surat_jalan: int
+ Menagih() : void 1
1
1
+ Mendaftar() : void
+ + + +
Staf_Keuangan_dan_Akuntansi
1
1..* -
1
+ Meminta() : void + Menerima() : void
Pelanggan kd_pelanggan: varchar nama_pelanggan: varchar alamat: varchar area: varchar no_NPWP: varchar no_rekening: int email: varchar telephone: varchar 1 fax: varchar handphone: varchar limit_kredit_tersedia: varchar kontak_personil: varchar tanggal: date
1..*
Staf_Gudang
+ Membuat() : void + Menilai() : void
-
- Username: varchar - Password: varchar
Kd_Karyawan: varchar Nama_Karyawan: varchar Jabatan: varchar Username: varchar
1..*
Detail_TTB
1..*
1
TTB
1..*
1..*
Detail_Surat_Jalan
-
- kd_pelanggan: varchar - nama_pelanggan: varchar - limit_kredit_tersedia: varchar + Menilai_pelanggan() : void
nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar harga_satuan: long jumlah: int
- no_TTB: varchar - tanggal_TTB: date - no_faktur_penjualan: varchar
1
Detail_Pesanan_Penjualan
Penilaian_Pelanggan
- kd_kendaraan: varchar - no_kendaraan: varchar - kapasitas: varchar
-
+ Mendaftar() : void
+ Mengirim() : void
Kendaraan
nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar jumlah: int jumlah_kirim: int
1
1..* -
+ Membayar() : void
+ Membayar() : void
TBM
+ Memesan() : void
-
1
no_TBM: varchar tanggal_TBM: varchar no_SPPB: varchar nama_pemasok: varchar
1
+ Menerima() : void 1..* 1..*
Model -
kd_model: varchar nama_merek: varchar nama_model: varchar nama_negara: varchar
1
1..* -
kd_barang: varchar nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar satuan_barang: varchar harga_satuan: long saldo_awal: int stok_pengaman: int lead_time: int ROP: int
Detail_TBM
1..*
nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar jumlah: int
-
1..*
Detail_SPPB 1 -
SPPB - no_SPPB: varchar - tanggal_SPPB: date 1..*
1 + Menolak() : void
nama_barang: varchar nama_merek: varchar nama_model: varchar nama_negara: varchar jumlah: int jumlah_masuk: int
1 + Menerima() : void
+ Meminta() : void 1
+ Mendaftar() : void
+ Mendaftar() : void Pemasok
1..*
1
Barang::Merek Negara
- kd_merek: varchar - nama_negara: varchar - nama_merek: varchar 1..* + Mendaftar() : void
1..*
1..*
Barang
1
- kd_negara: varchar - nama_negara: varchar
-
no_TTB: varchar tanggal_TTB: date no_faktur_penjualan: varchar tanggal_jatuh_tempo: date jumlah_piutang: long
kd_pemasok: varchar nama_pemasok: varchar alamat: varchar area: varchar email: varchar telephone: varchar handphone: varchar fax: varchar kontak_personil: varchar
+ Mendaftar() : void
+ Mendaftar() : void
Gambar 4.156 Revised Class Diagram sistem informasi manajemen CV. Primakarya Lajumandiri .
267 4.2.4.2 Classes Berikut adalah spesifikasi class-class, atribut, dan operation utama yang terdapat dalam revised class diagram sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri. 1. Menilai_Pelanggan Purpose
: Melakukan penilaian terhadap pelanggan lama yang berkaitan dengan limit kredit pelanggan
Attribute : kd_pelanggan, nama_pelanggan, limit_kredit_tersedia Operation : Menilai_pelanggan 2. Detail_TTB Purpose
: Mencatat informasi detail pembayaran dari pelanggan berupa tanda terima bayar
Attribute : No_TTB, Tanggal_TTB, no_faktur_penjualan, tanggal_jatuh _tempo, jumlah_piutang Operation : Membayar 3. Detail_TBM Purpose
: Mencatat informasi detail barang berupa tanda barang masuk yang berasal pemasok
Attribute : nama_barang, nama_model, nama_merek, nama_negara, jumlah, jumlah_masuk Operation : Mengubah_persediaan Selanjutnya adalah gambar function component-nya, dapat dilihat pada Gambar 4.158 sebagai berikut.
268 cd Class <
> Model
<> Function Password
Karyawan -
- Username: varchar - Password: varchar
Kd_Karyawan: varchar Nama_Karyawan: varchar Jabatan: varchar Username: varchar
1..*
1 + + + +
Create() : void Login() : void Change_password() : void Logout() : void
Penilaian_Pelanggan_Lama - : + perhitungan_nilai_baru() : void Staf_Penjualan
Staf_Gudang Staf_Keuangan_dan_Akuntansi
+ Membuat() : void + Menilai() : void
+ Meminta() : void + Menerima() : void 1
1
1
Pelanggan -
kd_pelanggan: varchar nama_pelanggan: varchar alamat: varchar area: varchar no_NPWP: varchar no_rekening: int email: varchar telephone: varchar 1 fax: varchar handphone: varchar limit_kredit_tersedia: varchar kontak_personil: varchar tanggal: date
«call»
1
Penagihan 1..*
«call»
- :
Surat_Jalan
Pesanan_Penjualan
Faktur_Penjualan 1..* -
no_pesanan_pelanggan: varchar tanggal_pesanan_pelanggan: date jatuh_temp: int 1 nama_pelanggan: varchar
no_surat_jalan: varchar tanggal_surat_jalan: date no_kendaraan: varchar no_pesanan_penjualan: varchar 1
1 -
«call»
1 + Mengirim() : void
+ Menolak() : void
+ Menagih_Faktur() : void «call» «call»
no_faktur_penjualan: varchar tanggal_faktur_penjualan: date tanggal_jatuh_tempo: date no_surat_jalan: int
+ Menagih() : void 1
1
1
+ Mendaftar() : void
«call»
1..*
1..*
1..* -
+ Membayar() : void + Menagih() : void
ROP - : 1..*
Detail_TTB
1..*
1
TTB
1..*
1..*
Detail_Surat_Jalan
-
- kd_pelanggan: varchar - nama_pelanggan: varchar - limit_kredit_tersedia: varchar + Menilai_pelanggan() : void
nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar harga_satuan: long jumlah: int
«call»
1
Detail_Pesanan_Penjualan
Penilaian_Pelanggan
- kd_kendaraan: varchar - no_kendaraan: varchar - kapasitas: varchar
-
+ Mendaftar() : void
+ Mengirim() : void
Kendaraan
- no_TTB: varchar «call» - tanggal_TTB: date - no_faktur_penjualan: varchar
«call»
nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar jumlah: int jumlah_kirim: int
1
+ Membayar() : void
+ Membayar() : void
«call» -
1
Pencetakan
no_TBM: varchar tanggal_TBM: varchar «call» no_SPPB: varchar nama_pemasok: varchar
- : «call»
1 + Menerima() : void 1..* 1..* 1..*
Barang «call»
Model -
kd_model: varchar nama_merek: varchar nama_model: varchar nama_negara: varchar
1
kd_barang: varchar nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar satuan_barang: varchar harga_satuan: long saldo_awal: int stok_pengaman: int lead_time: int ROP: int
1..*
Detail_SPPB
1..*
1 -
nama_barang: varchar nama_model: varchar nama_merek: varchar nama_negara: varchar jumlah: int
1..*
SPPB
Detail_TBM
- no_SPPB: varchar - tanggal_SPPB: date 1..*
1 + Menolak() : void
1
+ Meminta() : void 1
+ Mendaftar() : void
+ Mendaftar() : void Pemasok
1..*
1
Barang::Merek Negara
- kd_merek: varchar - nama_negara: varchar - nama_merek: varchar 1..* + Mendaftar() : void
1
- kd_negara: varchar - nama_negara: varchar
+ Penghitungan_ROP() : void
no_TTB: varchar tanggal_TTB: date «call» varchar no_faktur_penjualan: tanggal_jatuh_tempo: date jumlah_piutang: long
TBM
+ Memesan() : void
1..* -
1..* -
-
-
nama_barang: varchar nama_merek: varchar nama_model: varchar nama_negara: varchar jumlah: int jumlah_masuk: int
+ Menerima() : void
kd_pemasok: varchar nama_pemasok: varchar alamat: varchar area: varchar email: varchar telephone: varchar handphone: varchar fax: varchar kontak_personil: varchar
+ Mendaftar() : void
+ Mendaftar() : void
Gambar 4.157 Function Component
+ + + + +
cetak_lapPenjualanPerPelanggan() : void cetak_lapPenjualanPerBarang() : void cetak_lapPersediaan() : void cetak_lapSaldoPiutang() : void cetak_lapDaftarPenagihan() : void
269
Tabel 4.52 Operation specification “Perhitungan Nilai Baru” Menagih_Faktur Operation Category _X_Active __Update _X_Read __Passive _X_Compute __Signal Untuk mengetahui nilai pelanggan dalam hubungannya dengan Purpose kriteria limit kredit yang baru. kd_pelanggan, no_faktur_penjualan, no_tanda_terima_bayar Input data Terdapat objek pelanggan dengan kdpelanggan tertentu untuk Conditions mengetahui sudah berapa lama menjadi pelanggan, objek pelanggan tertentu tersebut mempunyai objek faktur_penjualan unuk mengetahui total pembelian yang dilakukan pelanggan, tanda terima bayar untuk mengetahui total pembayaran dan total keterlambatan pembayaran yang dlakukan oleh pelanggan. Mengetahui total nilai pelanggan yang baru dalam hubungannya Effect dengan penentuan limit kredit yang baru. Find tanggal masuk pelanggan, Algorithm Compute sudah berapa lama jadi pelanggan, Find semua faktur penjualan yang dimilikinya melalui pesanan penjualan, dan surat jalan, Compute total penjualan kepada pelanggan tersebut, Find semua bukti pembayaran yang dimilikinya melalui tanda terima bayar, Compute semua total pembayaran yang dilakukan oleh pelanggan tersebut, Compute semua total terlambat bayar yang dilakukan oleh pelanggan tersebut, Data structures Printed form Placement Involved objects Pelanggan, Pesanan Penjualan, Surat Jalan, Faktur Penjualan, Tanda Terima Bayar Triggering event
Operation Category
Purpose Input data Conditions
Tabel 4.53 Operation specification “Penagihan” Menagih_Faktur _X_Active __Update _X_Read __Passive _X_Compute __Signal Menghitung nilai penagihan pada masing-masing faktur dengan no_faktur_penjualan tertentu. no_pesanan_penjualan, no_faktur_penjualan, no_tanda_terima_bayar Terdapat objek faktur penjualan dengan no_faktur_penjualan tertentu
270
Effect Algorithm
Data structures Placement Involved objects
tersebut untuk mengetahui nilai penagihan pelanggan, objek faktur penjualan tertentu tersebut mempunyai objek tanda terima bayar untuk mengetahui total pembayaran dan total terlambat bayar yang dilakukan pelanggan. Mengetahui penagihan jatuh tempo pelanggan. Find tanggal faktur penjualan, Find jatuh tempo pada pesanan penjualan, Compute tanggal jatuh tempo, Find semua bukti pembayaran yang dimilikinya melalui tanda terima bayar. Compute semua total pembayaran yang dilakukan pelanggan tersebut. Compute semua total terlambat bayar yang dilakukan pelanggan. Printed form Pelanggan, Pesanan Penjualan, Faktur Penjualan, Tanda Terima Bayar
Triggering event
Operation Category
Purpose Input data Conditions
Effect
Algorithm
Tabel 4.54 Operation specification “Perhitungan ROP” Perhitungan ROP _X_Active __Update _X_Read __Passive _X_Compute __Signal Menghitung nilai ROP pada masing-masing barang dengan kd_barang tertentu. kd_barang, no_SPPB, tanggal_SPPB, jumlah pesan, no_TBM, tanggal_TBM, jumlah_masuk. Terdapat objek barang dengan kd_barang tertentu yang berada pada kondisi safety stock, objek tersebut juga mempunyai objek SPPB untuk mengetahui tanggal barang dipesan dan mengetahui jumlah barang yang dipesan, objek TBM untuk mengetahui tanggal barang diterima untuk menghitung lead time dan jumlah barang yang masuk. Menghitung nilai ROP (reorder point) dapat digunakan untuk menentukan titik pemesanan kembali barang dengan kd_barang tertentu. Read Barang Cek kd_barang Cek Stok_Pengaman Cek tanggal_SPPB Cek jumlah_pesan Cek tanggal_TBM Find Barang where jumlah_barang_kurang = 0 Result tanggal_TBM
271 Hitung ROP ROP = jumlah_pesan * (jumlah_hari(tanggal_TBMtanggal_SPPB))+Stok_Pengaman Return ROP Data structures Placement Involved objects Triggering event
Printed form Barang, SPPB, TBM
Tabel 4.55 Operation specification “Mencetak Laporan Penjualan PerPelanggan” Mencetak Laporan Penjualan Operation Category __Active __Update _X_Passive _X_Read _X_Compute __Signal Mencetak laporan penjualan barang yang dilakukan pelanggan pada Purpose perusahaan. kd_barang, no_pesanan_penjualan, tanggal_pesanan_penjualan, Input data jumlah pesan. Terdapat objek barang dengan kd_barang tertentu, objek barang Conditions tertentu tersebut juga mempunyai objek pesanan_penjualan sebagai bukti adanya transaksi penjualan yang terjadi terhadap barang. Mengetahui jumlah penjualan perusahaan terhadap pelanggan Effect maupun terhadap barang tertentu selama periode tertentu (sesuai kebutuhan). Open Laporan Penjualan Algorithm Read Barang Find kd_pelanggan yang dijual Find no_pesanan_penjualan If kd_pelanggan.pelanggan = kd_pelanggan.pesanan_penjualan View tanggal_pesanan_penjualan, no_pesanan_penjualan, kd_barang, nama_barang, nama_model, nama_merek, nama_negara, harga_satuan, jumlah, sub_total, ppn, grand_total. Compute grand_total Close Data structures Printed Laporan Penjualan Placement Involved objects Barang, Pesanan_Penjualan Triggering event
Tabel 4.56Operation specification “Mencetak Laporan Penjualan Per Barang” Mencetak Laporan Penjualan Operation Category __Active __Update
272 _X_Passive
Purpose Input data Conditions
Effect
Algorithm
Data structures Placement Involved objects Triggering event
_X_Read _X_Compute __Signal Mencetak laporan penjualan barang yang dilakukan pelanggan pada perusahaan. kd_barang, no_pesanan_penjualan, tanggal_pesanan_penjualan, jumlah pesan. Terdapat objek barang dengan kd_barang tertentu, objek barang tertentu tersebut juga mempunyai objek pesanan_penjualan sebagai bukti adanya transaksi penjualan yang terjadi terhadap barang. Mengetahui jumlah penjualan perusahaan terhadap pelanggan maupun terhadap barang tertentu selama periode tertentu (sesuai kebutuhan). Open Laporan Penjualan Read Barang Find kd_barang yang dijual Find no_pesanan_penjualan If kd_barang.barang = kd_barang.pesanan_penjualan View tanggal_pesanan_penjualan, no_pesanan_penjualan, kd_barang, nama_barang, nama_model, nama_merek, nama_negara, harga_satuan, jumlah, sub_total, ppn, grand_total. Compute grand_total Close Printed Laporan Penjualan Barang, Pesanan_Penjualan
Tabel 4.57 Operation specification “Mencetak Laporan Saldo Piutang” Mencetak Laporan Saldo Piutang Operation Category _X_Active _X_Update _X_Read __Passive _X_Compute __Signal Mencetak saldo piutang pelanggan ke dalam laporan yang terjadi Purpose akibat penjualan barang yang dilakukan perusahaan terhadap pelanggan. no_faktur _penjualan, tanggal_faktur_penjualan, jumlah piutang, Input data no_TTB, tanggal_TTB, jumlah bayar. Terdapat objek pelanggan dengan kd_pelanggan tertentu yang Conditions mempunyai objek faktur_penjualan dimana terdapat sejumlah piutang yang merupakan saldo awal dan jumlah bayar yang nantinya akan mengurangi saldo piutang. Mengetahui jumlah saldo piutang secara keseluruhan selama periode Effect
273
Algorithm
Data structures Placement Involved objects Triggering event
tertentu (sesuai kebutuhan). Open Laporan Saldo Piutang Read Pelanggan Find kd_pelanggan yang memiliki piutang Find no_faktur_penjualan Find no_TTB (“Tanda_Terima_Bayar”) If kd_pelanggan.pelanggan = kd_pelanggan.faktur_penjualan = kd_pelanggan.TTB View tanggal_faktur_penjualan, no_faktur_penjualan, tanggal_jatuh_tempo, tanggal_TTB, no_TTB nama_pelanggan, jumlah_piutang, jumlah_bayar Compute grand_total Close Printed Laporan Saldo Piutang Pemasok, Faktur_Penjualan, Tanda_Terima_Bayar
Tabel 4.58 Operation specification “Mencetak Laporan Persediaan” Mencetak Laporan Persediaan Operation Category _X_Active _X_Update _X_Read __Passive _X_Compute __Signal Mencetak laporan persediaan barang pada perusahaan. Purpose Kd_barang, no_surat_jalan, tanggal_surat_jalan, jumlah, Input data tanggal_TBM, no_TBM, jumlah masuk. Terdapat masing-masing objek barang dengan kd_barang tertentu, Conditions objek barang tersebut mempunyai objek surat_jalan dan tanda_barang_masuk sebagai bukti adanya transaksi keluar masuk barang yang terjadi terhadap barang. Mengetahui jumlah persediaan barang selama periode tertentu Effect (sesuai kebutuhan). Open Laporan Persediaan Algorithm Read Barang Find kd_barang yang keluar Find no_surat_jalan Find no_TBM (“Tanda_Barang_Masuk”) If kd_barang.barang = kd_barang.surat_jalan = kd_barang.TBM View tanggal_surat_jalan, no_surat_jalan, tanggal_TBM, no_TBM, kd_barang, nama_barang, nama_model, nama_merek, nama_negara, jumlah, jumlah_masuk. Compute jumlah Close Data structures
274 Placement Involved objects Triggering event
Printed Laporan Persediaan Barang, Surat_Jalan, TBM
4.2.4.3 Database Sistem Informasi Penjualan, Piutang Dagang, dan Persediaan Perancangan database yang akan digunakan dalam sistem informasi penjualan, piutang dagang, dan persediaan terdiri dari 19 tabel. Untuk lebih jelasnya mengenai field-field dari setiap tabel dapat dilihat pada bahasan berikut ini. Tabel 4.59 Tabel data mstpelanggan Nama Database : dbo_project Nama Tabel : mstpelanggan Primary Key : KdPelanggan Foreign Key : Field Tipe Data Panjang Keterangan KdPelanggan Varchar 7 Kode pelanggan dengan tiga digit pertama merupakan singkatan dari pelanggan (PLG), dan empat digit terakhir adalah nomor urut dari pelanggan. NamaPelanggan Varchar 40 Nama Pelanggan Alamat Varchar 70 Alamat tempat tinggal pelanggan Area Varchar 20 Area tempat tinggal pelanggan NoRekening Varchar 12 No Rekening pelanggan NoNPWP Varchar 22 No NPWP pelanggan Email Varchar 50 Alamat email pelanggan Telephone Varchar 15 No telephone pelanggan Fax Varchar 15 No fax pelanggan Handphone Varchar 20 No handphone pelanggan KontakPersonil Varchar 40 Kontak personil dari pelanggan Limit Varchar 12 Limit kredit pelanggan Tanggal Datetime Tanggal pelanggan didaftarkan Keterangan: tabel di atas merupakan tabel data pelanggan dimana tabel data pelanggan ini diberi nama mstpelanggan, pada tabel mstpelanggan terdapat kdpelanggan sebagai primary key. Tabel mstpelanggan ini digunakan untuk menampung data-data pelanggan.
275 Tabel 4.60 Tabel data mstpemasok : dbo_project : mstpemasok : KdPemasok : Tipe Data Panjang Keterangan Varchar 7 Kode pemasok, dengan empat digit pertama merupakan singkatan dari supplier (SPLR), dan empat digit terakhir adalah nomor urut dari pemasok NamaPemasok Varchar 40 Nama Pemasok Alamat Varchar 70 Alamat tempat tinggal pemasok Area Varchar 20 Area tempat tinggal pemasok Email Varchar 50 Alamat email pemasok Telephone Varchar 15 No telephone pemasok Fax Varchar 15 No fax pemasok Handphone Varchar 20 No handphone pemasok KontakPersonil Varchar 40 Kontak personil dari pemasok
Nama Database Nama Tabel Primary Key Foreign Key Field KdPemasok
Keterangan: tabel di atas merupakan tabel data pemasok dimana tabel data pemasok ini diberi nama mstpemasok, pada tabel mstpemasok terdapat kdpemasok sebagai primary key. Tabel mstpelanggan ini digunakan untuk menampung data-data pemasok. Tabel 4.61 Tabel data mstkendaraan : dbo_project : mstkendaraan : KdKendaraan : Tipe Data Panjang Keterangan Varchar 7 Kode kendaraan, dengan lima digit pertama merupakan singkatan dari kendaraan (KNDRN), dan dua digit terakhir adalah nomor urut dari kendaraan. NomorKendaraan Varchar 15 Nomor dari Kendaraan Kapasitas int Kapasitas muatan kendaraan Nama Database Nama Tabel Primary Key Foreign Key Field KdKendaraan
Keterangan: tabel di atas merupakan tabel data kendaraan dimana tabel data ini diberi nama mstkendaraan, pada tabel mstkendaraan terdapat KdKendaraan sebagai primary key. Tabel mstkendaraan ini digunakan untuk menampung data-data kendaraan.
276 Tabel 4.62 Tabel data mstbarang : dbo_project : mstbarang : KdBarang : KdModel, KdMerek, KdNegara Tipe Data Panjang Keterangan Varchar 8 Kode barang, dengan empat digit pertama merupakan kode dari barang dan empat digit terakhir merupakan nomor urut barang. NamaBarang Varchar 40 Nama Barang KdModel Varchar 8 Kode model, dengan empat digit pertama merupakan kode dari model dan empat digit terakhir merupakan nomor urut model. KdMerek Varchar 8 Kode merek, dengan empat digit pertama merupakan kode dari merek dan empat digit terakhir merupakan nomor urut merek. KdNegara Varchar 7 Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut negara. Satuan Varchar 5 Satuan Barang Saldo Awal Int Saldo Awal Barang Harga Satuan Varchar 20 Harga barang Stok Pengaman Int Safety stock Lead Time int Selisih waktu pengiriman barang ROP Int Titik pemesanan kembali suatu barang Nama Database Nama Tabel Primary Key Foreign Key Field KdBarang
Keterangan: tabel di atas merupakan tabel data barang dimana tabel data ini diberi nama mstbarang, pada tabel mstbarang terdapat KdBarang sebagai primary key. Tabel mstbarang ini digunakan untuk menampung data-data barang. Tabel 4.63 Tabel data mstmodel Nama Database : dbo_project Nama Tabel : mstmodel Primary Key : KdModel Foreign Key : KdMerek, KdNegara. Field Tipe Data Panjang Keterangan KdModel Varchar 8 Kode model, dengan empat digit pertama merupakan kode dari model dan empat digit terakhir merupakan nomor urut model.
277 NamaModel KdMerek
Varchar Varchar
30 8
KdNegara
Varchar
7
Nama Model Kode merek, dengan empat digit pertama merupakan kode dari merek dan empat digit terakhir merupakan nomor urut merek. Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut negara.
Keterangan: tabel di atas merupakan tabel data model dimana tabel data ini diberi nama mstmodel, pada tabel mstmodel terdapat KdModel sebagai primary key. Tabel mstmodel ini digunakan untuk menampung data-data model. Tabel 4.64 Tabel data mstmerek : dbo_project : mstmerek : KdMerek : KdNegara Tipe Data Panjang Keterangan Varchar 8 Kode merek, dengan empat digit pertama merupakan kode dari merek dan empat digit terakhir merupakan nomor urut merek. NamaMerek Varchar 30 Nama Merek KdNegara Varchar 7 Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut negara. Keterangan: tabel di atas merupakan tabel data merek dimana tabel data ini
Nama Database Nama Tabel Primary Key Foreign Key Field KdMerek
diberi nama mstmerek, pada tabel mstmerek terdapat KdMerek sebagai primary key. Tabel mstmerek ini digunakan untuk menampung data-data merek. Tabel 4.65 Tabel data mstnegara Nama Database : dbo_project Nama Tabel : mstnegara Primary Key : KdNegara Foreign Key :Field Tipe Data Panjang Keterangan KdNegara Varchar 7 Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut
278
NamaNegara
Varchar
20
negara. Nama Negara
Keterangan: tabel di atas merupakan tabel data Negara dimana tabel data ini diberi nama mstnegara, pada tabel mstnegara terdapat KdNegara sebagai primary key. Tabel mstnegara ini digunakan untuk menampung data-data negara. Tabel 4.66 Tabel data mstuser Nama Database : dbo_project Nama Tabel : mstuser Primary Key : username Foreign Key :Field Tipe Data Panjang Keterangan Username Varchar 9 Username yang digunakan untuk Login Password Varchar 10 Password yang digunakan untuk Login Keterangan: tabel di atas merupakan tabel data user dimana tabel data ini diberi nama mstuser, pada tabel mstuser terdapat username sebagai primary key. Tabel mstuser ini digunakan untuk menampung data-data user. Tabel 4.67 Tabel data mstkaryawan Nama Database : dbo_project Nama Tabel : mstkaryawan Primary Key : KdKaryawan Foreign Key : username Field Tipe Data Panjang Keterangan KdKaryawan Varchar 7 Kode karyawan, dengan tiga digit pertama merupakan singkatan dari kode bagian dari karyawan, dan empat digit terakhir adalah nomor urut dari karyawan. NamaKaryawan Char 40 Nama Karyawan Jabatan Varchar 20 Jabatan Username Varchar 9 Username yang digunakan untuk Login Password Varchar 10 Password Keterangan: tabel di atas merupakan tabel data karyawan dimana tabel data ini diberi nama mstkaryawan, pada tabel mstkaryawan terdapat kdkaryawan sebagai primary key. Tabel mstkaryawan ini digunakan untuk menampung data-data karyawan.
279
Nama Database Nama Tabel Primary Key Foreign Key Field NoPP
TanggalPP JatuhTempo KdPelanggan
SubTotal PPN GrandTotal
Tabel 4.68 Tabel data trpesanan : dbo_project : trpesanan : NoPP : KdPelanggan Tipe Data Panjang Keterangan Varchar 18 Nomor Pesanan Penjualan, dengan sebelas digit pertama merupakan kode dari pesanan penjualan dan tujuh digit terakhir merupakan nomor urut pesanan penjualan. Datetime Tanggal dari pesanan penjualan Int 4 Jatuh tempo dari pesanan penjualan Varchar 7 Kode pelanggan dengan tiga digit pertama merupakan singkatan dari pelanggan (PLG), dan empat digit terakhir adalah nomor urut dari pelanggan. Varchar 20 Total harga pesanan Varchar 20 Jumlah PPN Varchar 20 Total harga keseluruhan
Keterangan: tabel di atas merupakan tabel data transaksi pesanan dimana tabel data ini diberi nama trpesanan, pada tabel trpesanan terdapat NoPP sebagai primary key dan KdPelanggan sebagai Foreign key. Tabel 4.69 Tabel data trdetailpesanan Nama Database : dbo_project Nama Tabel : trdetailpesanan Primary Key : NoPP Foreign Key : KdBarang, KdModel, KdMerek, KdNegara Field Tipe Data Panjang Keterangan NoPP Varchar 18 Nomor Pesanan Penjualan, dengan sebelas digit pertama merupakan kode dari pesanan penjualan dan tujuh digit terakhir merupakan nomor urut pesanan penjualan. KdBarang Varchar 8 Kode barang, dengan empat digit pertama merupakan kode dari barang dan empat digit terakhir merupakan nomor urut barang. KdModel Varchar 8 Kode model, dengan empat digit pertama merupakan kode dari model dan empat digit terakhir merupakan nomor urut
280
KdMerek
Varchar
8
KdNegara
Varchar
7
Harga Satuan Jumlah
Varchar Int
20
model. Kode merek, dengan empat digit pertama merupakan kode dari merek dan empat digit terakhir merupakan nomor urut merek. Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut negara. Harga barang Jumlah pesanan penjualan
Keterangan: tabel di atas merupakan tabel data detail transaksi pesanan dimana tabel data ini diberi nama trdetailpesanan, pada tabel trdetailpesanan terdapat NoPP sebagai primary key dan K KdBarang, KdModel, KdMerek, KdNegara sebagai Foreign key.
Nama Database Nama Tabel Primary Key Foreign Key Field NoSJ
TanggalSJ JatuhTempo KdKendaraan
NoPP
Tabel 4.70 Tabel data trpengiriman : dbo_project : trpengiriman : NoSJ : KdKendaraan, NoPP Tipe Data Panjang Keterangan Varchar 18 Nomor Surat Jalan, dengan sebelas digit pertama merupakan kode dari surat jalan dan tujuh digit terakhir merupakan nomor urut surat jalan. Datetime Tanggal dari surat jalan Int 4 Jatuh tempo dari surat jalan Varchar 7 Kode kendaraan, dengan lima digit pertama merupakan singkatan dari kendaraan (KNDRN), dan dua digit terakhir adalah nomor urut dari kendaraan. Varchar 18 Nomor Pesanan Penjualan, dengan sebelas digit pertama merupakan kode dari pesanan penjualan dan tujuh digit terakhir merupakan nomor urut pesanan penjualan.
281 Keterangan: tabel di atas merupakan tabel data transaksi pengiriman dimana tabel data ini diberi nama trpengiriman, pada tabel trpengiriman terdapat NoSJ sebagai primary key dan KdKendaraan, NoPP sebagai Foreign key.
Nama Database Nama Tabel Primary Key Foreign Key Field NoSJ
KdBarang
KdModel
KdMerek
KdNegara
Jumlah JumlahKirim
Tabel 4.71 Tabel data trdetailpengiriman : dbo_project : trdetailpengiriman : NoSJ : KdBarang, KdModel, KdMerek, KdNegara Tipe Data Panjang Keterangan Varchar 18 Nomor Surat Jalan, dengan sebelas digit pertama merupakan kode dari surat jalan dan tujuh digit terakhir merupakan nomor urut surat jalan. Varchar 8 Kode barang, dengan empat digit pertama merupakan kode dari barang dan empat digit terakhir merupakan nomor urut barang. Varchar 8 Kode model, dengan empat digit pertama merupakan kode dari model dan empat digit terakhir merupakan nomor urut model. Varchar 8 Kode merek, dengan empat digit pertama merupakan kode dari merek dan empat digit terakhir merupakan nomor urut merek. Varchar 7 Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut negara. Int Jumlah pesanan penjualan Int Jumlah surat jalan
Keterangan: tabel di atas merupakan tabel data detail transaksi pengiriman dimana tabel data ini diberi nama trdetailpengiriman, pada tabel trdetailpengiriman terdapat NoSJ sebagai primary key dan KdBarang, KdModel, KdMerek, KdNegara sebagai Foreign key Tabel 4.72 Tabel data trpenagihan Nama Database : dbo_project Nama Tabel : trpenagihan
282 Primary Key Foreign Key Field NoFP
: NoFP : NoSJ, KdPelanggan Tipe Data Panjang Varchar 17
TanggalFP TanngalJatuhTempo NoSJ
Datetime Datetime Varchar
18
KdPelanggan
Varchar
7
SubTotal PPN GrandTotal
Varchar Varchar Varchar
20 20 20
Keterangan Nomor Faktur Penjualan, dengan sepuluh digit pertama merupakan kode dari faktur penjualan dan tujuh digit terakhir merupakan nomor urut faktur penjualan. Tanggal dari faktur penjualan Tanggal jatuh tempo Nomor Surat Jalan, dengan sebelas digit pertama merupakan kode dari surat jalan dan tujuh digit terakhir merupakan nomor urut surat jalan. Kode pelanggan dengan tiga digit pertama merupakan singkatan dari pelanggan (PLG), dan empat digit terakhir adalah nomor urut dari pelanggan. Total harga pesanan Jumlah PPN Total harga keseluruhan
Keterangan: tabel di atas merupakan tabel data transaksi penagihan dimana tabel data ini diberi nama trpenagihan, pada tabel trpenagihan terdapat NoFP sebagai primary key dan NoSJ, KdPelanggan sebagai Foreign key. Tabel 4.73 Tabel data trpembayaran Nama Database : dbo_project Nama Tabel : trpembayaran Primary Key : NoTTB Foreign Key : NoFP, KdPelanggan Field Tipe Data Panjang Keterangan NoTTB Varchar 20 Nomor tanda terima bayar, dengan duabelas digit pertama merupakan kode dari tanda terima bayar dan delapan digit terakhir merupakan nomor urut tanda terima bayar. TanggalTTB Datetime Tanggal dari tanda terima bayar NoFP Varchar 17 Nomor Faktur Penjualan, dengan sepuluh digit pertama merupakan kode dari faktur penjualan dan tujuh digit terakhir merupakan nomor urut faktur penjualan. KdPelanggan Varchar 7 Kode pelanggan dengan tiga digit
283
TotalBayar
Varchar
20
pertama merupakan singkatan dari pelanggan (PLG), dan empat digit terakhir adalah nomor urut dari pelanggan. Total bayar
Keterangan: tabel di atas merupakan tabel data transaksi pembayaran dimana tabel data ini diberi nama trpembayaran, pada tabel trpembayaran terdapat NoTTB sebagai primary key dan NoFP, KdPelanggan sebagai Foreign key. Tabel 4.74 Tabel data trdetailpembayaran : dbo_project : trdetailpembayaran : NoTTB : NoFP Tipe Data Panjang Keterangan Varchar 20 Nomor tanda terima bayar, dengan duabelas digit pertama merupakan kode dari tanda terima bayar dan delapan digit terakhir merupakan nomor urut tanda terima bayar. TanggalTTB Datetime Tanggal dari tanda terima bayar NoFP Varchar 17 Nomor Faktur Penjualan, dengan sepuluh digit pertama merupakan kode dari faktur penjualan dan tujuh digit terakhir merupakan nomor urut faktur penjualan. TanggalJatuhTempo Datetime Tanggal jatuh tempo JumlahPiutang Varchar 20 Jumlah piutang Nama Database Nama Tabel Primary Key Foreign Key Field NoTTB
Keterangan: tabel di atas merupakan tabel data detail transaksi pembayaran dimana tabel data ini diberi nama trdetailpembayaran, pada tabel trdetailpembayaran terdapat NoTTB sebagai primary key dan NoFP sebagai Foreign key
Nama Database Nama Tabel Primary Key Foreign Key Field NoSPPB
Tabel 4.75 Tabel data trpembelian : dbo_project : trpembelian : NoSPPB :Tipe Data Panjang Keterangan Varchar 18 Nomor Surat Permintaan Pembelian Barang, dengan sebelas digit pertama
284
TanggalSPPB
Datetime
merupakan kode dari surat permintaan pembelian barang dan tujuh digit terakhir merupakan nomor urut permintaan pembelian. Tanggal dari permintaan pembelian
Keterangan: tabel di atas merupakan tabel data transaksi pesanan dimana tabel data ini diberi nama trpembelian, pada tabel trpembelian terdapat NoSPPB sebagai primary key.
Nama Database Nama Tabel Primary Key Foreign Key Field NoSPPB
KdBarang
KdModel
KdMerek
KdNegara
Jumlah
Tabel 4.76 Tabel data trdetailpembelian : dbo_project : trdetailpembelian : NoSPPB : KdBarang, KdModel, KdMerek, KdNegara Tipe Data Panjang Keterangan Varchar 18 Nomor Surat Permintaan Pembelian Barang, dengan sebelas digit pertama merupakan kode dari surat permintaan pembelian barang dan tujuh digit terakhir merupakan nomor urut permintaan pembelian. Varchar 8 Kode barang, dengan empat digit pertama merupakan kode dari barang dan empat digit terakhir merupakan nomor urut barang. Varchar 8 Kode model, dengan empat digit pertama merupakan kode dari model dan empat digit terakhir merupakan nomor urut model. Varchar 8 Kode merek, dengan empat digit pertama merupakan kode dari merek dan empat digit terakhir merupakan nomor urut merek. Varchar 7 Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut negara. Int Jumlah permintaan pembelian.
Keterangan: tabel di atas merupakan tabel data detail transaksi pembelian dimana tabel data ini diberi nama trdetailpembelian, pada tabel trdetailpembelian terdapat
285 NoSPPB sebagai primary key dan KdBarang, KdModel, KdMerek, KdNegara sebagai Foreign key.
Nama Database Nama Tabel Primary Key Foreign Key Field NoTBM
TanggalTBM NoSPPB
KdPemasok
Tabel 4.77 Tabel data trdetailpembayaran : dbo_project : mstpenerimaan : NoTBM : NoSPPB, Kd Pemasok Tipe Data Panjang Keterangan Varchar 18 Nomor Tanda Barang Masuk, dengan sebelas digit pertama merupakan kode dari tanda barang masuk dan tujuh digit terakhir merupakan nomor urut barang masuk. Datetime Tanggal dari tanda barang masuk Varchar 18 Nomor Surat Permintaan Pembelian Barang, dengan sebelas digit pertama merupakan kode dari surat permintaan pembelian barang dan tujuh digit terakhir merupakan nomor urut permintaan pembelian. Varchar 7 Kode pemasok, dengan tiga digit pertama merupakan singkatan dari supplier (SPL), dan empat digit terakhir adalah nomor urut dari pemasok
Keterangan: tabel di atas merupakan tabel data transaksi penerimaan dimana tabel data ini diberi nama trpenerimaan, pada tabel trpenerimaan terdapat NoTBM sebagai primary key dan NoSPPB, Kd Pemasok sebagai Foreign key. Tabel 4.78 Tabel data trdetailpenerimaan Nama Database : dbo_project Nama Tabel : trdetailpenerimaan Primary Key : NoTBM Foreign Key : KdBarang, KdModel, KdMerek, KdNegara Field Tipe Data Panjang Keterangan NoTBM Varchar 18 Nomor Tanda Barang Masuk, dengan sebelas digit pertama merupakan kode dari tanda barang masuk dan tujuh digit terakhir merupakan nomor urut barang masuk. KdBarang Varchar 8 Kode barang, dengan empat digit pertama merupakan kode dari barang dan empat
286
KdModel
Varchar
8
KdMerek
Varchar
8
KdNegara
Varchar
7
Jumlah JumlahMasuk
Int Int
digit terakhir merupakan nomor urut barang. Kode model, dengan empat digit pertama merupakan kode dari model dan empat digit terakhir merupakan nomor urut model. Kode merek, dengan empat digit pertama merupakan kode dari merek dan empat digit terakhir merupakan nomor urut merek. Kode negara, dengan tiga digit pertama merupakan kode dari Negara dan empat digit terakhir merupakan nomor urut negara. Jumlah permintaan pembelian. Jumlah barag masuk.
Keterangan: tabel di atas merupakan tabel data detail transaksi detail penerimaan dimana tabel data ini diberi nama trdetailpenerimaan, pada tabel trdetailpenerimaan terdapat NoTBM sebagai primary key dan KdBarang, KdModel, KdMerek, KdNegara sebagai Foreign key. 4.2.5 User-Interface Component Gambar berikut menunjukkan setiap windows dan hasil print yang akan diimplementasikan sebagai sebuah class yang diwakili oleh sebuah object. Class “window” dan Class “print” masing-masing akan mewarisi fitur-fitur umum dari User Interface Library sedangkan Class “control” akan menangani perubahan dari kelas menjadi objek yang muncul ke dalam User Interface.
287
Gambar 4.158 User-Interface Component 4.2.6 Recommendations Arsitektur jaringan yang diusulkan menggunakan topologi jaringan star dengan menggunakan media transmisi twisted pair. Setiap komputer akan saling berhubungan dengan server melalui switch yang akan menghubungkan client ke server.
288
Gambar 4.159 “Arsitektur Jaringan” 4.2.6.1 The System`s Usefulness Perancangan sistem informasi penjualan, piutang dagang, dan persediaan ini diharapkan dapat memenuhi beberapa kriteria penting yang telah dibahas sebelumnya pada sub-bab “Quality Goals”. Kriteria-kriteria tersebut adalah: •
Usable Sistem yang dirancang diharapkan dapat digunakan oleh user dan disesuaikan dengan kebutuhan sehari-hari perusahaan sehingga tingkat kegunaan menjadi sangat tinggi pada saat diimplementasikan. Kriteria ini dievaluasi melalui pengetesan versi pertama yang dilakukan untuk menguji user dalam pemakaian User Interface yang ada.
289 •
Correct Sistem yang dirancang harus sesuai dengan kebutuhan user dan harus mampu menjalankan fungsi utamanya untuk meminimalisir permasalahan serta mendukung kebutuhan perusahaan dalam proses penjualan, piutang dagang, dan persediaan dengan tepat sehingga dapat meningkatkan nilai dari proses bisnis perusahaan.
•
Reliability Sistem yang dirancang harus dapat menghasilkan informasi yang lebih akurat dan lebih cepat, sehingga dapat lebih diandalkan sesuai dengan kebutuhan perusahaan. Keakuratan dari sistem akan diketahui setelah sistem penjualan, piutang dagang, dan persediaan diimplementasikan dan diadakan evaluasi penilaian kinerja.
•
Secure Sistem yang dirancang harus dapat menjamin keamanan dari akses-akses yang tidak memiliki hak otorisasi baik dari internal perusahaan maupun dari eksternal perusahaan.
•
Efficient Dalam mendukung proses pencatatan dan pengendalian proses penjualan, piutang dagang, dan persediaan, sistem yang dirancang harus efisien, sehingga laporan-laporan yang dibutuhkan dapat dihasilkan dalam waktu yang relatif singkat.
290 •
Testable Setiap data transaksi dan data lain yang akan menjadi bagian dari sistem ini sangatlah penting bagi kelangsungan proses bisnis perusahaan, sehingga sistem yang dirancang harus benar-benar disiapkan untuk dapat memenuhi dan mendukung kebutuhan perusahaan.
•
Flexibile Evaluasi kriteria ini ditunjukkan agar sistem mudah untuk dilakukan perubahan, sehingga dapat disesuaian bila ada perubahan di masa mendatang.
•
Comprehensible Sistem dirancang untuk dapat dipahami dan digunakan dengan mudah oleh para user-nya, sehingga sistem dapat digunakan sesuai dengan fungsi yang ada.
•
Reusable Sistem yang dirancang harus dapat digunakan dan dikembangkan dengan lebih baik lagi, dikarenakan menggunakan konsep object oriented.
4.2.6.2 Plan for Initiating Use Sebelum digunakan, sistem akan diinstall terlebih dahulu dan disetting spesifikasinya untuk dapat menjalankan sistem tersebut. Demo dan pelatihan mengenai cara penggunaan sistem dilakukan agar mereka mendapatkan pemahaman dan pengertian mengenai cara kerja dari sistem yang baru. Pelatihan dilakukan untuk memastikan bahwa proses pembelajaran dan penyesuaian berjalan dengan baik dan tepat sesuai dengan fungsi yang ada. Kemudian user
291 akan diberikan buku manual sebagai petunjuk penggunaan sistem baik dalam bentuk tercetak maupun dalam bentuk disket atau DVD. Selanjutnya sistem akan dites apakah sudah sesuai dengan kebutuhan dari user. Dan secara berkala, perusahaan sendiri yang akan memaintenance sistemnya. 4.2.6.3 Implementation Plan Sistem informasi penjualan, piutang dagang, dan persediaan akan dikonversikan dengan menggunakan metode paralel. Dimana implementasi diterapkan bersamaan dengan proses manual yang tetap digunakan. Hal ini dilakukan sebagai usaha untuk mengurangi tingkat resiko yang mungkin terjadi saat proses peralihan dari manual ke sistem. Tabel 4.79 berikut ini merupakan pengumpulan proses-proses dan waktu yang diperlukan untuk pengerjaan di dalam proses implementasi sistem. Tabel 4.79 durasi kegiatan dalam Implementation Plan No Kegiatan Durasi (Minggu) 1. Analisis 2 2. Perancangan 3 3. Pembuatan sistem 5 4. Persiapan kebutuhan 2 5. Instalasi 2 6. Testing 2 7. Trainning 1 8. Implementasi 2
292 Tabel 4.80 Rencana jadwal implementasi sistem informasi penjualan, piutang dagang, dan persediaan CV. Primakarya Lajumandiri. No Kegiatan Minggu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. Analisis 2. Perancangan 3. Pembuatan sistem 4. Persiapan kebutuhan 5. Instalasi 6. Testing 7. Trainning 8. Implementasi