RANCANG BANGUN SISTEM INFORMASI PENJUALAN PADA...
Transcript of RANCANG BANGUN SISTEM INFORMASI PENJUALAN PADA...
RANCANG BANGUN SISTEM INFORMASI PENJUALAN
PADA PT. BERKAH JAYA MOTOR
Disusun :
SAEPUL BAHRI
107093001652
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2014
RANCANG BANGUN SISTEM INFORMASI PENJUALAN
PADA PT. BERKAH JAYA MOTOR
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah
Disusun Oleh :
SAEPUL BAHRI
107093001652
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2014
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SAYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta,
Saepul Bahri
107093001652
1 ABSTRAK
SAEPUL BAHRI, Rancang Bangun Sistem Informasi Penjualan pada PT
Berkah Jaya Motor. Di bawah bimbingan Syopiansyah Jaya Putra dan Syarip
Hidayatulah.
Dalam dunia bisnis kebutuhan akan teknologi informasi sekarang ini
merupakan suatu kebutuhan yang sangat vital. Banyak perusahaan yang
menggunakan sistem informasi yang berbasiskan teknologi informasi untuk
kelancaran bisnis dan pekerjaan mereka. Salah satu sistem yang digunakan adalah
sistem informasi penjualan.
PT. Berkah Jaya Motor merupakan salah satu perusahaan yang bergerak di
bidang penjualan motor bekas (second), baik motor Honda, Yamaha, Suzuki dan
Kawasaki. Berdasarkan observasi yang dilakukan, Peneliti menemukan beberapa
hal yang terjadi pada proses pencatatan SO (Sales Order), retur, Invoice dan
persediaan motor di gudang yang bersifat manual dan untuk menyimpan
pencatatan menggunakan kertas. Disaat pembuatan laporan karyawan
menggunakan kertas-kertas tadi dalam mengumpulkan data yang diperlukan dan
kemudian direkapitulasi jumlahnya. Dengan proses pembuatan laporan seperti ini,
karyawan membutuhkan ketelitian yang tinggi dan waktu 1-2 hari kerja pada
proses pencarian data pesanan, pengiriman, persediaan, dan penjualan untuk di
jadikan laporan. Untuk memudahkan pihak perusahaan, maka dikira perlu peneliti
melakukan “Rancang Bangun Sistem Informasi Penjualan pada PT. Berkah Jaya
Motor” yang dapat membantu proses penjualan dan mempermudah manager dan
direktur dalam mengakses laporan masing masing divisi dalam perusahaan.
Ditambah fitur ramalan penjualan yang dapat digunakan oleh direktur sebagai
bahan referensi dalam menganalisis penjualan di periode yang akan datang dan
mengambil kebijakan-kebijakan untuk perusahaan.
Dalam penelitian ini peneliti menggunakan metode RAD (Rapid
Application Development) dengan UML (Unified Modeling Language) sebagai
tools pengembangannya. Sedangkan pembuatan aplikasinya sendiri menggunakan
bahasa pemrograman PHP dan MySQL untuk pengolahan databasenya. Penelitian
ini menghasilkan sistem informasi penjualan berbasis web yang mampu
membantu perusahaan dalam melakukan proses penjualan dan menunjukkan
ramalan penjualan sebagai referensi untuk menganalisis penjualan di periode yang
akan datang.
Kata Kunci: Rancang bangun, Sistem Informasi penjualan, PT. Berkah Jaya
Motor, simple moving average, Rapid Application Development, Unified
Modeling Language, PHP, MySQL.
V Bab + xxviii Halaman + 243 Halaman + 80 Gambar + 64 Tabel + Pustaka +
Lampiran
Pustaka Acuan (35, 2000 - 2013)
KATA PENGANTAR
Assalaamu’alaikum wr. wb
Alhamdulillaahirabbil’aalamin, segala puji bagi Allah SWT yang telah
memberikan Rahmat, Hidayah dan Taufiq-Nya sehingga dapat melaksanakan dan
menyelesaikan penulisan skripsi dengan judul “Rancang Bangun Sistem
Informasi Penjualan Pada PT. Berkah Jaya Motor. Tidak lupa shalawat
beriringan salam semoga selalu tercurah kepada junjungan alam Nabi Muhammad
SAW beserta keluarga, sahabat dan kerabat serta muslimin dan muslimat, semoga
kita semua mendapatkan syafa‟at dari beliau di akhirat kelak. Amin.
Pada kesempatan ini, penulis ingin mengucapkan terimakasih kepada
seluruh pihak yang telah membantu baik moril dan materil dalam menyelesaikan
laporan ini, terutama kepada:
1. Bapak Dr. Agus Salim, M.Si , selaku Dekan Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Bapak Zulfiandri,S.Kom, MMSI, selaku Ketua Program Studi Sistem
Informasi Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta.
3. Bapak Dr. Syopiansyah Jaya Putra, M.Sis selaku pembimbing 1 yang telah
banyak memberikan ilmu, motivasi serta bimbingan selama proses
penyusunan skripsi ini.
4. Bapak Sarip Hidayatulah, MMSI selaku pembimbing 2 yang juga telah
banyak memberikan ilmu, motivasi, arahan serta bimbingan dalam proses
penyusunan skripsi ini.
5. Dosen-dosen Program Studi Sistem Informasi yang telah membagikan
ilmu.
6. Bapak H. Ahmad Yani beserta karyawan PT. Berkah Jaya Motor.
7. Ibu Aisyah dan Bapak Sa‟anan, orangtua yang sangat ananda cintai serta
kakak dan adik. Terimakasih atas doa, dukungan dan semuanya. Kalian
sangat berarti bagiku.
8. Sahabat-sahabat Fakultas Sains dan Teknologi, SI D 2007 dan SIK B
2007. Terimakasih doanya.
9. M. Noor Hudha, Agung Ismail, Hanif Ribhan, Muhammad Anas, Meza
Strata S dan Dahlan Saputra Terimakasih bantuannya.
Peneliti sadar bahwa penyususan laporan ini masih jauh dari sempurna,
oleh karena itu kritik dan saran dapat disampaikan melalui email ke
[email protected]. Peneliti berharap skripsi ini bermanfaat bagi yang
membacanya. Amin
Wassalaamu’alaikum wr. wb
Jakarta,
Saepul Bahri
107093001652
DAFTAR ISI
LEMBAR SAMPUL ......................................................................................... i
LEMBAR JUDUL ............................................................................................. ii
LEMBAR PENGESAHAN .............................................................................. iv
LEMBAR PERNYATAAN .............................................................................. v
ABSTRAK ......................................................................................................... vi
KATA PENGANTAR ....................................................................................... vii
DAFTAR ISI ...................................................................................................... ix
DAFTAR GAMBAR ......................................................................................... xv
DAFTAR TABEL ............................................................................................. xx
DAFTAR SIMBOL ........................................................................................ xxiv
BAB I PENDAHULUAN .................................................................................. 1
1.1 Latar Belakang .................................................................................. 1
1.2 Rumusan Masalah ............................................................................. 3
1.3 Batasan Masalah................................................................................ 4
1.4 Tujuan ............................................................................................... 4
1.5 Manfaat ............................................................................................. 5
1.6 Metodologi Penelitian ....................................................................... 6
1.6.1 Metode Pengumpulan Data ...................................................... 6
1.6.2 Metode Pengembangan Sistem ................................................ 7
1.7 Sistematika Penulisan ................................................................................... 8
BAB II LANDASAN TEORI ........................................................................... 10
2.1 Rancang Bangun ............................................................................... 10
2.1.1 Rancang ................................................................................... 10
2.1.2 Bangun .................................................................................... 11
2.2. Sistem Informasi .............................................................................. 11
2.2.1. Pengertian Sistem ................................................................... 11
2.2.2. Pengertian Sistem Informasi .................................................. 12
2.2.3. Tipe Sistem Informasi ............................................................ 13
2.2.4. Tipologi Sistem Informasi ...................................................... 15
2.3. Penjualan .......................................................................................... 16
2.3.1. Jenis – Jenis Penjualan ........................................................... 16
2.3.2. Perbedaan Penjualan dan Pemasaran ..................................... 18
2.3.3. Pengertian Strategi Penjualan................................................. 18
2.3.4. Sistem Informasi Penjualan .................................................... 19
2.4. Konsep Pemesanan........................................................................... 20
2.4.1 Pengertian Surat Pesanan ........................................................ 20
2.5. Pengertian Pengiriman ..................................................................... 22
2.6. Konsep Persediaan ........................................................................... 22
2.6.1. Pengertian Persediaan Barang ................................................ 22
2.6.2. Manfaat Persediaan Barang .................................................... 23
2.6.3. Fungsi Persediaan Barang ...................................................... 25
2.6.4. Jenis Persediaan Barang ......................................................... 27
2.6.5. Manajemen Inventory ............................................................. 28
2.7. Konsep Pembayaran ......................................................................... 29
2.8. Konsep Supply Chain ....................................................................... 30
2.8.1. Pengertian Supply Chain ........................................................ 30
2.8.2. Pembagian Supply Chain ....................................................... 31
2.8.3. Decoupling Point dalam Suplly Chain ................................... 32
2.8.4. Tipe Supply Chain Berdasarkan Decoupling Point................ 33
2.9. Konsep Dasar Metodologi Penelitian .............................................. 36
2.9.1. Metode Pengumpulan Data .................................................. 36
2.9.1.1. Observasi ............................................................... 36
2.9.1.2. Wawancara ............................................................ 36
2.9.1.3. Studi Pustaka ......................................................... 37
2.9.1.4. Studi Literatur Sejenis ........................................... 37
2.9.2. Konsep Dasar Rapid Application Development ................... 39
2.9.2.1. Pengertian Rapid Application Development ......... 39
2.9.2.2. Unsur – Unsur Penting RAD ................................ 40
2.9.2.3. Tahap – Tahap Pengembangan Sistem ................. 41
2.9.2.4. Keunggulan dan Kelemahan RAD ........................ 47
2.10. Pengertian Object Oriented Analysis dan Design .......................... 49
2.10.1 Tool Pengembangan Sistem ................................................ 50
2.10.1.1. Sejarah UML ....................................................... 50
2.10.1.2. Kegunaan UML................................................... 52
2.10.1.3. Diagram – Diagram dan Notasi UML ................. 53
2.11. Pengujian Perangkat Lunak............................................................ 73
2.11.1. Pengujian White-Box .......................................................... 74
2.11.2. Pengujian Black-Box .......................................................... 75
2.12. Kebutuhan Aplikasi ........................................................................ 78
2.12.1. Internet ............................................................................... 78
2.12.2. Sejarah Internet dan WWW ............................................... 78
2.12.3. PHP .................................................................................... 79
2.12.4. Mysql ................................................................................. 80
2.12.4.1 Tipe Data Mysql................................................... 81
2.13. Metode Rata-Rata Bergerak Sederhana ......................................... 84
2.13.1 Pengertian Metode Rata-Rata Bergerak Sederhana ............ 84
2.14. Basis Data dan Management Basis Data ........................................ 86
2.14.1. Pengertian Basis Data dan Management Basis Data ......... 86
2.14.2. Keunggulan dan Kelemahan DBMS .................................. 86
2.15. Mapping Problem Domain Object to an RDBMS Format ............. 88
2.16. Activity / Entity (CRUD) Matrix .................................................... 90
2.17. Spesifikasi Database ...................................................................... 91
2.18. Konsep Dasar Operasional Prosedur (SOP) ................................... 92
2.19. Konsep Laporan ............................................................................. 93
2.19.1. Laporan .............................................................................. 93
2.19.2. Fungsi Laporan .................................................................. 93
2.19.3. Jenis Laporan ..................................................................... 95
BAB III METODOLOGI PENELITIAN ..................................................... 101
3.1. Metode Pengumpulan Data ......................................................... 101
3.1.1. Observasi ........................................................................... 101
3.1.2. Wawancara ........................................................................ 102
3.1.3. Studi Pustaka ..................................................................... 103
3.1.4. Studi Literatur Sejenis ....................................................... 104
3.2. Metode Pengembanagan Sistem .................................................. 104
3.2.1. Scope Definition ................................................................ 104
3.2.2. Analysis.............................................................................. 105
3.2.3. Design ................................................................................ 105
3.2.3.1 Desain Proses ......................................................... 105
3.2.3.2 Desain Database .................................................... 107
3.2.3.3 Desain Interface ..................................................... 108
3.2.4.Constuction & Testing ........................................................ 108
3.3. Kerangka Berpikir ....................................................................... 109
BAB IV SISTEM INFORMASI PENJUALAN ............................................. 111
4.1. Scope Definition ............................................................................... 111
4.1.1. Gambaran Umum Perusahaan ............................................... 111
4.1.2. Visi dan Misi ......................................................................... 112
4.1.3. Struktur Organisasi ................................................................ 112
4.1.4. Tugas dan Tanggung Jawab .................................................. 113
4.2. Analysis ............................................................................................ 116
4.2.1. Problem Analysis.................................................................... 116
4.2.1.1. Analisis Sistem Berjalan .......................................... 116
4.2.1.2. Identifikasi Masalah ................................................. 121
4.2.1.3 Sistem Usulan ........................................................... 122
4.2.2 Requirement Analysis .............................................................. 126
4.2.2.1 Functional Requirement ........................................................ 126
4.2.2.2 Nonfunctional Requirement ...................................... 128
4.2.3. Decision Analysis .................................................................. 128
4.3.2.1 SOP (Standar Operating Procedure) ....................... 130
4.3 Design ................................................................................................ 140
4.3.1 Desain Proses .......................................................................... 140
4.3.1.1 Use Case Diagram ...................................................... 140
4.3.1.1.1 Identifikasi Actor ........................................ 140
4.3.1.1.2 Identifikasi Use case ................................... 142
4.3.1.1.3 Perancangan Use Case ................................ 145
4.3.1.1.4 Usecase Narative ........................................ 146
4.3.1.2 Activity Diagram ......................................................... 160
4.3.1.3 Sequence Diagram ...................................................... 179
4.3.1.4 Class Diagram ............................................................ 198
4.3.2. Desain Database .................................................................... 202
4.3.2.1 Matriks CRUD ............................................................ 202
4.3.2.2 Mapping Class Diagram ............................................. 205
4.3.2.3 Schema Database ........................................................ 209
4.3.2.4 Spesifikasi Database .................................................. 210
4.3.3. Desain Interface ..................................................................... 218
4.4. Construction & Testing .................................................................... 235
4.4.1 Pemrograman (coding) ............................................................ 235
4.4.2 Pengujian Sistem (Black-box Testing) .................................... 236
BAB V PENUTUP ............................................................................................. 238
5.1. Kesimpulan ...................................................................................... 238
5.2. Saran ................................................................................................. 239
DAFTAR PUSTAKA ........................................................................................ 240
DAFTAR GAMBAR
Gambar 2.1 Tipe Informasi ................................................................................. 15
Gambar 2.2 Notasi Aktor .................................................................................... 55
Gambar 2.3 Notasi Use Case .............................................................................. 55
Gambar 2.4 Notasi Interaction ............................................................................ 56
Gambar 2.5 Contoh Use Case Diagram .............................................................. 57
Gambar 2.6 Contoh Activiti Diagram Melihat Laporan Persediaan ................... 61
Gambar 2.7 Contoh Sequence Diagram Sales Order ......................................... 65
Gambar 2.8 Contoh Asosiasi .............................................................................. 67
Gambar 2.9 Contoh Composite Aggregation dan Shared Aggregation .............. 69
Gambar 2.10 Contoh Generalisasi ...................................................................... 70
Gambar 2.11 Contoh Class Diagram .................................................................. 72
Gambar 2.12 Contoh Pengujian Black Box Halaman Sales Order ..................... 77
Gambar 2.13 Contoh Mapping Class Diagram .................................................. 89
Gambar 3.1 Kerangka Berpikir ........................................................................... 110
Gambar 4.1 Stuktur Organisasi ........................................................................... 112
Gambar 4.2 Sistem Berjalan ............................................................................... 117
Gambar 4.3 Sistem Usulan .................................................................................. 123
Gambar 4.4 Use Case Diagram Sistem Informasi Penjualan ............................. 145
Gambar 4.5 Activity Diagram Login .................................................................. 160
Gambar 4.6 Activity Diagram input SO (Sales Order)...................................... 161
Gambar 4.7 Activity Diagram Manage User ...................................................... 162
Gambar 4.8 Activity Diagram Permintaan Persediaan Motor ............................ 163
Gambar 4.9 Activity Diagram Input Data Pengiriman Motor ............................ 164
Gambar 4.10 Activity Diagram Input Invoice..................................................... 165
Gambar 4.11 Activity Diagram Pembayaran Customer ..................................... 166
Gambar 4.12 Activity Diagram Input Surat Masuk Motor ................................. 167
Gambar 4.13 Activity Diagram cetak Invoice..................................................... 168
Gambar 4.14 Activity Diagram Cetak Surat Pengiriman Motor......................... 169
Gambar 4.15 Activity Diagram Manage Motor Gudang .................................... 170
Gambar 4.16 Activity Diagram Input Retur ....................................................... 171
Gambar 4.17 Activity Diagram Melihat Laporan Persediaan ............................. 172
Gambar 4.18 Activity Diagram Melihat Laporan Pesanan Motor Customer ..... 173
Gambar 4.19 Activity Diagram Melihat Laporan Penjualan .............................. 174
Gambar 4.20 Aktiviti Diagram Melihat Laporan Retur ...................................... 175
Gambar 4.21 Activity Diagram Forecasting ...................................................... 176
Gambar 4.22 Activity Diagram Manage Pegawai .............................................. 177
Gambar 4.23 Activity Diagram Logout .............................................................. 178
Gambar 4.24 Sequence Diagram Login .............................................................. 179
Gambar 4.25 Sequence Diagram SO (Sales Order)............................................ 180
Gambar 4.26 Sequence Diagram Manage User .................................................. 181
Gambar 4.27 Sequence Diagram Permintaan Persediaan Motor ........................ 182
Gambar 4.28 Sequence Diagram Input Surat Pengiriman Motor ....................... 183
Gambar 4.29 Sequence Diagram Input Invoice .................................................. 184
Gambar 4.30 Sequence Diagram Input Pembayaran Customer .......................... 185
Gambar 4.31 Sequence Diagram Input Surat Masuk Motor ............................... 186
Gambar 4.32 Sequence Diagram Cetak Invoice ................................................. 187
Gambar 4.33 Sequence Diagram Cetak Surat Pengiriman Motor ...................... 188
Gambar 4.34 Sequence Diagram Manage Motor ................................................ 189
Gambar 4.35 Sequence Diagram Input Retur ..................................................... 190
Gambar 4.36 Sequence Diagram Melihat Laporan Persediaan .......................... 191
Gambar 4.37 Sequence Diagram Melihat Laporan Pesanan Motor .................... 192
Gambar 4.38 Sequence Diagram Melihat Laporan Penjualan ............................ 193
Gambar 4.39 Sequence Diagram Melihat Laporan Retur ................................... 194
Gambar 4.40 Sequence Diagram Forecasting .................................................... 195
Gambar 4.41 Sequence Diagram Manage Pegawai ............................................ 196
Gambar 4.42 Sequence Diagram Logout ............................................................ 197
Gambar 4.43 Class Diagram............................................................................... 201
Gambar 4.44 Mapping Class Diagram ............................................................... 206
Gambar 4.45 Mapping Class Member ................................................................ 207
Gambar 4.46 Mapping Class Order Item ............................................................ 208
Gambar 4.47 Schema Database Sistem Informasi Penjualan ............................. 209
Gambar 4.48 Perancangan Interface Login ......................................................... 218
Gambar 4.49 Perancangan Interface Persediaan Motor ...................................... 219
Gambar 4.50 Perancangan Interface Input SO .................................................... 220
Gambar 4.51 Perancangan Interface Input Permintaan Persediaan .................... 220
Gambar 4.52 Perancangan Interface Pengiriman Motor..................................... 221
Gambar 4.53 Perancangan Interface Home Keuangan ....................................... 222
Gambar 4.54 Perancangan Interface input Invoice ............................................. 223
Gambar 4.55 Perancangan Interface input Pembayaran Customer .................... 224
Gambar 4.56 Perancangan Interface Home Inventory ........................................ 225
Gambar 4.57 Perancangan Interface Input Surat Masuk Motor ......................... 226
Gambar 4.58 Perancangan Interface Input Cetak Invoice .................................. 227
Gambar 4.59 Perancangan Interface Input Cetak Surat Pengiriman Motor ....... 227
Gambar 4.60 Perancangan Interface Manage Motor Gudang ............................ 228
Gambar 4.61 Perancangan Interface Input Retur ................................................ 229
Gambar 4.62 Perancangan Interface Home Direktur .......................................... 230
Gambar 4.63 Perancangan Interface Laporan Persediaan Motor ....................... 231
Gambar 4.64 Perancangan Interface Laporan Pesanan Motor Customer ........... 232
Gambar 4.65 Perancangan Interface Laporan Penjualan .................................... 233
Gambar 4.66 Perancangan Interface Laporan Retur ........................................... 234
DAFTAR TABEL
Tabel 2.1 Perbedaan antara Penjualan dengan Pemasaran.................................. 18
Tabel 2.2 Studi Literatur Sejenis ......................................................................... 37
Tabel 2.3 Klasifikasi PICES Pada Kebutuhan Sistem ........................................ 43
Tabel 2.4 Activity Symbol .................................................................................... 60
Tabel 2.5 Komponen Komponen Sequence Diagram......................................... 64
Tabel 2.6 Simbol-simbol Class Diagram............................................................ 70
Tabel 2.7 contoh pengujian black box sales order .............................................. 76
Tabel 2.8 Tipe Data Numerik .............................................................................. 82
Tabel 2.9 Tipe Data String .................................................................................. 82
Tabel 2.10 Letak Perbedaan Jumlah Memori ..................................................... 83
Tabel 2.11 Tipe Data Tanggal ............................................................................. 84
Tabel 2.12 Perhitungan Simple Moving Average ................................................ 85
Tabel 2.13 Contoh Data To Location CRUD Matrix ......................................... 90
Tabel 2.14 Contoh Spesifikasi Database ............................................................ 91
Tabel 2.15 Contoh SOP Diagram ....................................................................... 92
Tabel 3.1 Wawancara .......................................................................................... 102
Tabel 4.1 Legenda Sistem Berjalan .................................................................... 118
Tabel 4.2 Nonfuntional Requirement .................................................................. 128
Tabel 4.3 Proses Sales Order .............................................................................. 130
Tabel 4.4 Proses Pembayaran ............................................................................. 131
Tabel 4.5 Proses Input Data Pengiriman Motor .................................................. 132
Tabel 4.6 Proses Retur ........................................................................................ 134
Tabel 4.7 Proses Permintaan Persediaan Motor .................................................. 135
Tabel 4.8 Proses Laporan Penjualan ................................................................... 136
Tabel 4.9 Proses Laporan Persediaan Motor....................................................... 137
Tabel 4.10 Proses Laporan Retur ........................................................................ 137
Tabel 4.11 Proses Laporan Pesanan Motor ......................................................... 138
Tabel 4.12 Proses Ramalan Penjualan ................................................................ 139
Tabel 4.13 Identifikasi Actor............................................................................... 141
Tabel 4.14 Identifikasi Use case ......................................................................... 142
Tabel 4.15 Use Case Narative Login .................................................................. 146
Tabel 4.16 Use Case Narative Manage User ..................................................... 147
Tabel 4.17 Use Case Narative Input SO (Sales Order) ...................................... 148
Tabel 4.18 Use Case Narative Input Permintaan Persediaan ............................. 149
Tabel 4.19 Use Case Narrative Input Surat Pengiriman Motor.......................... 149
Tabel 4.20 Use Case Narrative Input Invoice ..................................................... 150
Tabel 4.21 Use Case Narrative Menginput Pembayaran Customer ................... 151
Tabel 4.22 Use Case Narrative Input Surat Masuk Motor ................................. 152
Tabel 4.23 Use Case Narrative cetak Invoice ..................................................... 152
Tabel 4.24 Use Case Narrative cetak surat pengiriman Motor .......................... 153
Tabel 4.25 Use Case Narrative Manage Motor Gudang .................................... 154
Tabel 4.26 Use Case Narrative Input Retur ....................................................... 154
Tabel 4.27 Use Case Narrative Melihat Laporan Persediaan Motor .................. 155
Tabel 4.28 Use Case Narrative Laporan Pesanan Motor Customer ................... 156
Tabel 4.29 Use Case Narrative Laporan Penjualan ............................................ 156
Tabel 4.30 Use Case Narative Laporan Retur .................................................... 157
Tabel 4.31 Use Case Narrative Ramalan Penjualan ........................................... 158
Tabel 4.32 Use Case Narrative Manage Pegawai .............................................. 158
Tabel 4.33 Use Case Narrative Logout .............................................................. 159
Tabel 4.34 Potensial Objek ................................................................................. 198
Tabel 4.35 Matriks CRUD (Create, Read, Update, Delete) ............................... 202
Tabel 4.36 Member ............................................................................................. 209
Tabel 4.37 Profile................................................................................................ 210
Tabel 4.38 City .................................................................................................... 211
Tabel 4.39 Provinsi ............................................................................................. 212
Tabel 4.40 Customer ........................................................................................... 212
Tabel 4.41 Order ................................................................................................. 213
Tabel 4.42 Order item ......................................................................................... 214
Tabel 4.43 Item.................................................................................................... 214
Tabel 4.44 Order Sign ......................................................................................... 215
Tabel 4.45 Order pay .......................................................................................... 215
Tabel 4.46 Retur .................................................................................................. 216
Tabel 4.47 category ............................................................................................. 217
Tabel 4.48 Retur .................................................................................................. 217
DAFTAR SIMBOL
SIMBOL USE-CASE MODEL DIAGRAMS
(Whitten, 2004)
Simbol Keterangan
Actor
Use case
Association
Extends
Uses (includes)
System boundary
-End1
*
-End2
*
«uses»
«extends»
SIMBOL ACTIVITY DIAGRAM
(Whitten, 2004)
Simbol Keterangan
Action State
Initiate Activities
Start of the Process
Termination of the Process
Synchronization Bar
Decision Activity
Swimlane
SIMBOL CLASS DIAGRAM
(Whitten, 2004)
Simbol Keterangan
Class
1. Class name
2. Attributes
3. Operation
Association
Agregation
Generalization
-End1
*
-End2
*
-End1
1
-End2
*
SIMBOL SEQUENCE DIAGRAM
(Whitten, 2004)
Simbol Keterangan
Object
Lifeline
Messages
Behaviors (operations)
SIMBOL DIAGRAM ALIR
(Jogiyanto, 2008)
Simbol Keterangan
Terminator
Input/Output
Process
Document
Manual Operation
Database
Line
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam dunia bisnis kebutuhan akan teknologi informasi
sekarang ini merupakan suatu kebutuhan yang sangat vital. Sebab sudah
banyak jalannya bisnis dikendalikan dan tidak terlepas dari teknologi
informasi. Bahkan hampir semua bidang sekarang ini mulai menerapkan
teknologi informasi dalam pengembangannya, dikarenakan oleh
kelebihan-kelebihan yang dimiliki oleh teknologi tersebut yaitu dalam
pengolahan data dan penghematan waktu yang digunakan untuk
memprosesnya.
Banyak perusahaan yang menggunakan sistem informasi yang
berbasiskan komputer untuk kelancaran bisnis dan pekerjaan mereka.
Salah satu sistem yang digunakan adalah sistem informasi penjualan.
(Munawar, 2005). Pentingnya sistem informasi penjualan adalah untuk
menyamakan antara data dilapangan dengan data yang ada di dalam
sistem. (Sudarmadji, 2002). Pemanfaatan sumber informasi secara
maksimal akan mampu memberikan masukkan bagi perusahaan guna
menjaga agar proses bisnis yang dilakukan tetap berjalan secara lancar,
mudah, cepat, akurat, efisien dan produktif. (Nurgroho, 2005)
2
PT. Berkah Jaya Motor merupakan salah satu perusahaan yang
bergerak di bidang penjualan motor bekas (second), baik motor Honda,
Yamaha, Suzuki dan Kawasaki. Dalam proses penjualannya PT. Berkah
Jaya Motor mempunyai beberapa divisi yang terlibat, diantaranya :
marketing, inventory dan keuangan.
Berdasarkan observasi yang dilakukan, Peneliti menemukan
beberapa hal yang terjadi pada proses pencatatan SO (Sales Order), retur,
Invoice dan persediaan motor di gudang yang bersifat manual dan untuk
menyimpan pencatatan menggunakan kertas. Penggunaan media
penyimpanan kertas akan berakibat rentan terhadap kehilangan data
ataupun rusak.
Disaat pembuatan laporan bagian marketing & inventory
menggunakan kertas-kertas tadi dalam mengumpulkan data yang
diperlukan dan kemudian direkapitulasi jumlahnya, sedangkan keuangan
menggunakan software Microsoft Excel dalam menginput data-data
pembayaran ketika akan membuat laporan penjualan. Dengan proses
pembuatan laporan seperti ini, karyawan membutuhkan ketelitian yang
tinggi dan waktu 1-2 hari kerja pada proses pencarian data pesanan,
pengiriman, persediaan dan penjualan untuk di jadikan laporan.
Untuk memudahkan pihak perusahaan, maka dikira perlu
penulis melakukan “Rancang Bangun Sistem Informasi Penjualan pada
PT. Berkah Jaya Motor” yang dapat membantu proses penjualan dan
mempermudah manager dan direktur dalam mengakses laporan masing
3
masing divisi dalam perusahaan. Ditambah fitur ramalan penjualan yang
dapat digunakan oleh direktur sebagai bahan referensi dalam menganalisis
penjualan di periode yang akan datang dan mengambil kebijakan-
kebijakan untuk perusahaan.
1.2 Rumusan Masalah
Berdasarkan pada latar belakang diatas serta hasil penelitian
yang telah dilakukan di PT. Berkah Jaya Motor, maka dapat
diidentifikasikan beberapa masalah yaitu :
1. Sistem penjualan yang digunakan selama ini masih menggunakan
program Ms. Excel pada bagian keuangan sedangkan pada bagian
inventory dan marketing menggunakan pencatatan secara manual.
2. Penggunaan media penyimpanan dalam bentuk kertas akan berakibat
rentan terhadap kehilangan atau kerusakan data.
3. Membutuhkan waktu 1-2 hari kerja pada proses rekapitulasi data
persediaan, pemesanan, retur dan penjualan untuk dijadikan laporan.
Atas identifikasi masalah tersebut maka dapat diketahui
perumusan masalah yang sebenarnya, yaitu bagaimana merancang sistem
informasi penjualan yang terintegrasi dan dapat mengelola data
persediaan, pemesanan, retur, pembayaran dan dapat menyajikan laporan
secara up to date?
4
1.3 Batasan Masalah
Agar penyusunan dan penulisan laporan skripsi ini menjadi
terarah, maka penulis perlu membatasi ruang lingkup penelitian sebagai
berikut :
1. Sistem Informasi Penjualan ini digunakan oleh bagian Direktur,
Manager, Marketing, Keuangan, Inventory, HRD dan Admin
2. Sistem ini berfokus pada proses penjualan, laporan pemesanan,
laporan retur, laporan persediaan dan laporan penjualan.
3. Metode pengembangan sistem yang digunakan adalah menggunakan
metode berorientasi objek dengan model pengembangan Rapid
Application Development (RAD) dan tools UML yang meliputi use
case diagram, class diagram, sequence diagram dan activity diagram.
4. Sistem ini dibangun dengan menggunakan bahasa pemrograman PHP.
Adapun database yang digunakan adalah dengan menggunakan
MySQL.
5. Ramalan penjualan menggunakan metode Simple Moving Average.
1.4 Tujuan
Berdasarkan permasalahan diatas, maka tujuan umum dari
penelitian ini adalah membuat rancang bangun sistem informasi penjualan
yang dapat melakukan suatu transaksi penjualan pada PT Berkah Jaya
Motor dan ada pun tujuan khusus dari penelitian ini adalah:
5
1. Menganalisis dan merancang sistem informasi penjualan yang
terintegrasi antara proses pemesanan, retur, persediaan dan
pembayaran.
2. Merancang database sistem informasi penjualan yang memberikan
keuntungan dalam penyimpanan data yang dapat digunakan saat
dibutuhkan.
3. Merancang sistem yang dapat memberikan laporan pesanan,
persediaan, retur dan pembayaran yang terintegrasi dan update kepada
manager atau direktur.
4. Membangun aplikasi sistem informasi penjualan yang dapat
memberikan referensi dalam menganalisis penjualan dengan ramalan
penjualan.
1.5 Manfaat
Adapun manfaat yang didapat dari penulisan ini adalah sebagai berikut:
1. Memberikan usulan perbaikan untuk mengatasi masalah media
penyimpanan pada kegiatan pemesanan, retur, persediaan dan
pembayaran.
2. Memudahkan pendataan dan pelaporan pihak keuangan, inventory dan
marketing dalam kegiatan pesanan, persediaan, retur dan pembayaran
sehingga direktur perusahaan mendapatkan laporan yang cepat dan
lengkap.
6
3. Memberikan kemudahan untuk direktur memantau atau menganalisis
perkembangan penjualan di periode yang akan datang dan mengambil
kebijakan-kebijakan untuk perusahaan PT Berkah Jaya Motor.
1.6 Metodologi Penelitian
1.6.1 Metode Pengumpulan Data
Metode penelitian yang digunakan dalam menyusun
skripsi ini adalah sebagai berikut :
1. Observasi
Metode observasi dilakukan melalui pengamatan langsung atau
observasi yang dilakukan di PT. Berkah Jaya Motor untuk
mendapatkan data-data mentah yang dapat dianalisis.
2. Wawancara
Metode ini dilalui dengan melakukan wawancara langsung pada
narasumber yang terlibat, yaitu pegawai bagian pemesanan,
pengiriman, persediaan dan keuangan pada PT. Berkah Jaya
Motor dan Manager atau direktur untuk mengetahui kebutuhan
informasi yang diinginkan.
3. Studi Pustaka
Merupakan suatu metodologi yang dilakukan dengan cara
mempelajari buku-buku referensi yang berhubungan dengan
Sistem Informasi Penjualan, dan juga mempelajari bagaimana
7
mengaplikasikan sistem ini ke dalam sebuah aplikasi berbasis
web.
4. Studi Literatur Sejenis
Dalam studi literatur sejenis penulis mempelajari literatur-
literatur yang hampir sama dengan skripsi yang akan dibuat oleh
penulis dengan harapan penulisan skripsi ini bisa memiliki
keunggulan dibandingkan dengan literatur-literatur tersebut.
1.6.2 Metode Pengembangan Sistem
Hasil identifikasi dan análisis kebutuhan yang telah
dilakukan melalui wawancara dirancang melalui pendekatan
berorientasi objek (Object Oriented) dengan framework RAD
(Rapid Application Development). Dalam pengembangan
sistemnya, akan meliputi fase scope definition, fase analysis, fase
design dan fase construction and testing. Dalam metode
pengembangan sistem ini menggunakan notasi UML melalui
diagram-diagram yang meliputi Use Case Diagram, Activity
Diagram, Sequence Diagram dan Class Diagram.
8
1.7 Sistematika Penulisan
Sistematika penulisan tugas akhir ini terdiri dari lima bab, dimana
tiap bab saling berhubungan antara yang satu dengan yang lainnya.
Adapun sistematika penulisan ilmiah ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab pendahuluan diawali dengan pembahasan latar
belakang penulisan, perumusan masalah, batasan masalah,
tujuan penulisan, manfaat penulisan, metodologi penelitian dan
sistematika penulisan.
BAB II LANDASAN TEORI
Berisi mengenai teori-teori yang digunakan dalam
penulisan skripsi, tentang teori-teori dasar, pendapat ahli,
konsep mengenai sistem informasi penjualan, pemesanan,
pengiriman, persediaan, keuangan, ramalan penjualan, Rapid
Application Development (RAD) dan Unified Model Language
(UML).
BAB III METODOLOGI PENELITIAN
Bab ini berisi uraian tentang metode penelitian yang
digunakan dalam pencarian data dan metode dalam
pengembangan sistem. Dimana dalam bab ini membahas lebih
9
rinci tentang metode pengumpulan data, metode pengembangan
sistem yang digunakan serta adanya kerangka berpikir dari
penelitian yang dilakukan pada PT Berkah Jaya Motor.
BAB IV SISTEM INFORMASI PENJUALAN
Bab ini berisi tentang gambaran umum perusahaan
berupa profil, visi dan misi, struktur organisasi PT Berkah Jaya
Motor. Analisis permasalahan mengenai sistem yang berjalan
saat ini pada PT Berkah Jaya Motor, serta perancangan sistem
yang akan dibuat, meliputi perancangan use case, activity,
sequence, class diagram dan database serta interface dari
system ini.
BAB V KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang berisi kesimpulan dari
uraian yang sudah diterangkan pada bab-bab sebelumnya, hasil
pemecahan masalah yang diperoleh dari penyusunan tugas akhir
ini, serta saran-saran yang diusulkan untuk pengembangan lebih
lanjut agar tercipta hasil yang lebih baik.
10
BAB II
LANDASAN TEORI
2.1. Rancang Bangun
2.1.1 Rancang
Perancangan merupakan salah satu hal yang penting dalam
membuat program. Adapun tujuan dari perancangan ialah untuk
memberi gambaran yang jelas lengkap kepada pemrogram dan ahli
teknik yang terlibat. Perancangan harus berguna dan mudah dipahami
sehingga mudah digunakan.
Menurut Rizky, Soetam (2011), Perancangan adalah Sebuah
Proses untuk mendefinisikan sesuatu yang akan dikerjakan dengan
menggunakan teknik yang bervariasi serta di dalamnya melibatkan
deskripsi mengenai arsitektur serta detail komponen dan juga
keterbatasan yang akan dialami dalam proses pengerjaanya.
Sedangkan menurut Pressman (2002) perancangan atau
rancang merupakan serangkaian prosedur untuk menterjemahkan hasil
analisa dan sebuah sistem ke dalam bahasa pemrograman untuk
mendeskripsikan dengan detail bagaimana komponen-komponen
sistem di implementasikan.
11
2.1.2 Bangun
Pressman (2002) pengertian pembangunan atau bangun sistem
adalah kegiatan menciptakan sistem baru maupun mengganti atau
memperbaiki sistem yang telah ada secara keseluruhan.
Jadi dapat disimpulkan bahwa Rancang Bangun adalah
penggambaran, perencanaan, dan pembuatan sketsa atau pengaturan
dari beberapa elemen yang terpisah kedalam suatu kesatuan yang utuh
dan berfungsi Dengan demikian pengertian rancang bangun
merupakan kegiatan menerjemahkan hasil analisa ke dalam bentuk
paket perangkat lunak kemudian menciptakan sistem tersebut atau
memperbaiki sistem yang sudah ada
2.2. Sistem Informasi
2.2.1 Pengertian Sistem
Menurut O‟Brien (2008). sistem adalah sekelompok
komponen yang saling berhubungan, bekerjasama untuk mencapai
tujuan bersama dengan menerima input serta menghasilkan output
dalam proses transformasi teratur. Dalam bidang sistem informasi,
sistem diartikan sebagai sekelompok komponen yang saling
berhubungan, bekerja sama untuk mencapai tujuan bersama dengan
menerima masukan (input) serta menghasilkan masukan (input) dalam
proses transformasi yang teratur (Mulyanto, 2009).
12
Pendapat lain mengatakan, sistem adalah sekumpulan elemen
yang saling terkait atau terpadu yang dimaksudkan untuk mencapai
suatu tujuan (Kadir, 2003).
2.2.2 Pengertian Sistem Informasi
Informasi adalah data yang diolah menjadi bentuk yang lebih
berguna dan lebih berarti bagi yang menerimanya, sedangkan data
merupakan sumber informasi yang menggambarkan suatu kejadian
yang nyata. Kualitas informasi sangat dipengaruhi atau ditentukan
oleh tiga hal pokok, yaitu akurasi, relevansi, dan tepat waktu
(Mulyanto, 2009).
Semakin lengkap dan baik informasi yang disajikan maka
semakin baik pula kualitas dari sistem tersebut. Oleh karena itu, data
dapat disebut informasi bila telah dianggap fakta dan mudah
digunakan oleh pemakai dengan ciri sebagai berikut (Jogiyanto,
2008):
1. Relevance, informasi yang disampaikan harus sesuai dengan fakta
dan berguna bagi pemakai.
2. Timeliness, informasi yang dibutuhkan harus tepat waktu, artinya
tidak terlambat karena bila informasi ini digunakan sebagai dasar
dalam pengambilan keputusan akan berakibat fatal.
13
3. Accurate, informasi yang disampaikan mungkin sudah sesuai
dengan fakta, namun data-data yang mendukung belum sepenuhnya
benar sehingga tingkat akurasinya dipertanyakan.
4. Complete, informasi tidak disajikan secara sebagian-sebagian tetapi
harus lengkap sehingga akan berpengaruh terhadap kemampuannya
dalam memecahkan suatu masalah dengan baik.
Sebuah sistem informasi merupakan kumpulan dari komponen-
komponen yang saling terhubung untuk melakukan kegiatan yang
terdiri dari input, proses dan output dimana akan menghasilkan
keluaran yang berguna bagi tujuan bisnis (Jogiyanto,2008).
2.2.3 Tipe Sistem Informasi
Saat ini, peranan informasi tidak hanya sebagai pengumpul
data dan mengolahnya menjadi sebuah informasi berupa laporan-
laporan saja, tetapi juga memiliki peranan yang lebih penting di dalam
menyediakan informasi bagi manajemen untuk fungsi-fungsi
perencanaan, alokasi-alokasi sumber daya, pengukuran dan
pengendalian (Jogiyanto, 2005). Laporan ini memberikan informasi
bagi manajemen puncak mengenai permasalahan-permasalahan yang
terjadi di dalam organisasi untuk menjadi suatu bukti yang berguna di
dalam menentukan tindakan yang akan diambil.
14
Sistem informasi dapat menyediakan tiga macam tipe
informasi yang masing-masing memiliki arti berbeda untuk tingkatan
manajemen yang berbeda, yaitu:
1. Informasi pengumpulan data (scorekeeping information),
merupakan informasi berupa akumulasi atau pengumpulan data
yang berguna bagi manajer tingkat bawah untuk mengevaluasi
personilnya.
2. Informasi pengarahan perhatian (attention directing information),
merupakan informasi untuk membantu manajemen memusatkan
perhatian pada masalah-masalah yang menyimpang,
ketidakefisienan dan ketidakberesan. Informasi ini akan menbantu
manajer tingkat menengah untuk melihat penyimpangan-
penyimpangan yang ada.
3. Informasi pemecahan masalah (problem solving information),
merupakan informasi untuk membantu manajer atas dalam
mengambil keputusan atas permasalahan yang dihadapi. Problem
Solving information biasanya dihubungkan dengan keputusan-
keputusan yang tidak berulang-ulang.
15
Manajemen Tingkat Bawah
Manajemen Tingkat Menengah
Manajemen Tingkat Atas
Perencanaan Strategi
Pengendalian Manajemen
Pengendalian Operasi
TIPE KEGIATAN MANAJEMEN
TIPE INFORMASI
Informasi Pemecahan Masalah
Informasi Pengarah Perhatian
Informasi Pengumpulan Data
Gambar 2.1 Tipe Informasi
2.2.4 Tipologi Sistem Informasi
Tipologi Sistem Informasi berdasar tingkat manajemen secara
klasik dalam suatu organisasi dikenal ada tiga tingkatan manajemen
yaitu tingkatan strategi, taktik dan operasional. Seperti pada gambar
2.1, tingkat strategis berkaitan dengan kebijakan jangka panjang serta
penempatan organisasi pada lingkungan. Tingkat manajemen taktis
bertugas untuk menerjemahkan kebijakan strategis menjadi bagian-
bagian yang harus dikerjakan serta mengatur koordinasi internal
organisasi. Sedangkan tingkat manajemen operasional bertugas untuk
menjalankan roda organisasi sesuai dengan rencana jangka panjang
dan pedoman yang telah disusun oleh manajemen tingkat taktis.
16
Berdasarkan pembagian tingkat manajemen secara klasik,
sistem informasi dapat dibagi menjadi enam kategori:
1. Sistem Informasi Operasional
2. Sistem Informasi Manajemen
3. Sistem Informasi Pendukung Keputusan
4. Sistem Informasi Eksekutif
5. Sistem Informasi Pakar
6. Sistem Informasi Perkantoran
2.3 Penjualan
Menurut Mulyadi (2001), Kegiatan penjualan terdiri dari transaksi
penjualan barang atau jasa, baik secara kredit maupun tunai. Dalam
transaksi penjualan kredit, jika pesanan dari pelanggan telah dipenuhi
dengan pengiriman barang atau penyerahan jasa, untuk jangka waktu
tertentu perusahaan memiliki piutang kepada pelanggannya. Dalam
transaksi penjualann tunai, barang/jasa baru diserahkan oleh perusahaan
kepada pembeli jika perusahaan telah menerima kas dari pembeli.
2.3.1 Jenis – Jenis Penjualan
Menurut Mulyadi (2001), ada beberapa jenis penjualan yaitu:
A. Trad Selling
Dapat terjadi bila mana produsen dan pedangan besar
mempersilahkan pengecer untuk berusaha memperbaiki
17
distributor produk-produk mereka. Hal ini melibatkan para
penyalur dengan kegiatan promosi, peragaan, persediaan dan
pengadaan produk baru, jadi titik beratnya pada “penjuala
melalui” penyalur daripada “penjualan ke” pembeli terakhir.
B. Missionary Selling
Dalam missionary selling penjualan berusaha ditingkatkan
dengan mendorong pembeli untuk membeli barang-barang dari
penyalur perusahaan. Dalam hal ini perusahaan yang
bersangkutan memiliki penyalur sendiri dalam pendistribusian
produknya.
C. Technical Selling
Berusaha meningkatkan penjualan dengan pemberian saran dan
nasehat pada pembeli terakhir dari barang dan jasanya dengan
menunjukkan bagaimana produk dan jasa yang ditawarkan dapat
mengatasi masalah tersebut.
D. New Business Selling
Berusaha membuka transaksi baru dengan merubah calon
pembeli menjadi pembeli. Jenis penjualan ini sering dipakai oleh
perusahaan asuransi.
E. Responsive selling
Dua jenis penjualan utama disini adalah “route driving” dan
”retailing”. Jenis penjualan seperti ini tidak akan menciptakan
penjualan yang terlalu besar meskipun layanan yang baik dan
18
hubungan pelanggan yang menyenangkan dapat menjurus pada
pembeli ulang.
2.3.2 Perbedaan Antara Penjualan dan Pemasaran
Menurut Alma, perbedaan antara penjualan dan pemasaran adalah
sebagai berikut :
Tabel 2.1Perbedaan antara Penjualan dengan Pemasaran
Penjualan Pemasaran
Menekankan kegiatan pada
produk dan jasa
Menekankan pada apa yang
diinginkan oleh konsumen
Mula-mula membuat produk atau
jasa, kemudian berusaha
menjualnya
Mula-mula meneliti apa yang
diinginkan konsumen, kemudian
merancang bagaimana membuat
produk tersebut agar memuaskan
selera konsumen
Berorientasi pada bagaimana
tercapainya volume penjualan
sebesar-besarnya
Berorientasi pada keuntungan
dalam arti laba total, bukan laba per
unit barang
Rencana biasanya bersifat jangka
pendek,dalam arti produk atau
jasa sekarang harus dipasarkan
sekarang
Rencana dibuat jangka panjang,
dalam arti memikirkan
pertumbuhan perusahaan di masa
yang akan dating
2.3.3 Pengertian Strategi Penjualan
Strategi penjualan adalah perencanaan aktivitas penjualan:
metode client mencapai perbedaan kompetitif dan sumber daya yang
tersedia. Penjualan strategi sangat penting, jika tidak daerah yang
19
paling penting yang dibutuhkan untuk menghasilkan keuntungan
bagi perusahaan Anda. Coming up with the perfect formula
regarding sales and marketing strategies is imperative for your
success.Datang dengan rumus yang sempurna tentang penjualan dan
strategi pemasaran adalah suatu keharusan bagi keberhasilan Anda
menurut Al-Bahra Ladjamudin (2005).
2.3.4 Sistem Informasi Penjualan
Menurut Niswonger, (2009) sistem informasi penjualan
diartikan sebagai suatu pembuatan pernyataan penjualan, kegiatan
akan dijelaskan melalui prosedur-prosedur yang meliputi urutan
kegiatan sejak diterimanya pesanan dari pembeli, pengecekan barang
ada atau tidak ada dan diteruskan dengan pengiriman barang yang
disertai dengan pembuatan invoice dan mengadakan pencatatan atas
penjualan yang berlaku. Penggunaan berbagai teknologi yang
terkomputerisasi akan dapat membantu perusahaan untuk dapat
menghasilkan informasi yang cepat, akurat dan tepat sehingga
diharapkan dapat meningkatkan kinerja dalam proses pemesanan,
pengiriman, persediaan, produksi dan keuangan yang berjalan
didalam perusahaan.
20
2.4 Konsep Pemesanan
Menurut Robert C Nickerson (2001), pemesanan adalah suatu proses
permintaan produk atau jasa yang dilakukan oleh pelanggan atau customer.
Untuk mendukung dari suatu proses pemesanan, dilakukan sebuah sistem
pemesanan atau order system. Tujuan dari sistem pemesanan untuk
menerima pemesanan dari pelanggan baik barang maupun jasa dan juga
menyiapkan pesanan dalam suatu bentuk yang dapat digunakan dalam
bisnis.
2.4.1 Pengertian Surat Pesanan
Surat pesanan adalah sebuah dokumen yang dikirimkan oleh
pihak pemesan (konsumen atau distributor) kepada penyedia
(supplier) perihal permintaan pembelian barang. Dengan adanya
surat pesanan ini, maka terjadi hubungan antar kedua belah pihak,
penyedia dan pemesan, dimana pihak pemesan meminta barang yang
ada pada surat pesanan itu untuk disediakan dan dikirimkan pada
pihak pemesan dalam jangka waktu yang telah ditentukan. Isi yang
umum tertera didalam surat pesanan yaitu informasi nama dan
alamat pemesan dan penyedia, tanggal, nomor surat, dan deskripsi
produk yang dipesan beserta jumlah dan harganya. Setelah surat
pesanan masuk, maka pihak penyedia akan menyiapkan barang-
barang yang dipesan disertai dengan surat jalan, yaitu surat yang
menerangkan bahwa barang-barang yang dikirim merupakan barang-
21
barang yang dipesan dari surat pesanan yang dikirimkan oleh
pemesan. Sering kali yang menjadi masalah adalah jangka waktu
yang diminta tidaklah panjang (barang-barang yang dipesan harus
dikirim dalam jangka waktu singkat). Setelah pihak penyedia
menyiapkan barang-barang pesanan tersebut, pihak penyedia harus
menyertakan surat jalan sebagai surat penyerta pengiriman barang.
Biasanya pembuatan surat jalan ini masih diketik ulang. Tentu
pekerjaan manual ini memakan banyak waktu. Setelah barang dan
surat jalan disiapkan, kemudian barang dan surat jalan itu dikirimkan
kepada pemesan. Lalu pihak penyedia akan melanjutkan urutan
proses bisnis lainnya seperti pembuatan surat tagihan, dll.
Untuk mempercepat proses pembacaan surat pesanan yang
masuk, sistem pengenalan karakter dapat digunakan. Sistem ini akan
sangat membantu pengerjaan pengetikan surat pesanan yang datang,
sehingga dapat mempercepat proses pengetikan dan tentunya akan
menghemat waktu pekerjaan.
Pesan adalah kata baku dari pemesanan yang memiliki arti
"hendak membeli supaya dikirim". pesanan adalah barang yang
dipesan (Kamus Besar Bahasa Indonesia, 2007).
22
2.5 Pengertian Pengiriman
Menurut Mulyadi (2008) sistem pengiriman barang adalah suatu
kegiatan mengirim barang dikarenakan adanya transaksi penjualan barang
dagang. Penjualan terdiri dari transaksi penjualan baik barang maupun jasa,
baik secara tunai atau kredit.
2.6 Konsep Persediaan
Berikut ini merupakan pengertian teori dasar yang berhubungan
dengankasus yang akan dianalisis, yaitu sebagai berikut :
2.6.1 Pengertian Persediaan Barang
Inventory merupakan kata lain dari persediaan, istilah
persediaan disini maksudnya menunjukkan barang-barang yang
dimiliki perusahaan. Persediaan dapat mengambil bentuk yang
tergantung pada jenis usaha yang ditekuni oleh perusahaan yang
bersangkutan. Pada perusahaan yang bergerak dibidang penjualan
produk, persediaan barang merupakan salah satu unsur yang paling
efektif dalam operasional perusahaan barang harian yang dapat
disajikan dalam bentuk laporan persediaan barang.
Laporan persediaan barang adalah suatu laporan yang
menyajikan tentang data-data barang yang masuk dan data-data
barang yang keluar dalam suatu perusahaan. Hal ini sangat penting
sekali bagi perusahaan yang bergerak dibidang penjualan barang
23
untuk melakukan pemeriksaan barang yang tersedia dan barang-
barang yang habis persediaannya.
Menurut Soemarso S.R (2004) Persediaan adalah barang-
barang yang dimiliki oleh perusahaan untuk dijual kembali.
Persediaan terjadi apabila jumlah bahan atau barang yang diadakan
(dibeli atau dibuat sendiri).
Sedangkan menurut Assauri (2004) persediaan barang adalah
suatu aktiva yang meliputi barang-barang milik perusahaan dengan
maksud untuk dijual dalam periode usaha yang normal.
2.6.2 Manfaat Persediaan Barang
Menurut Ma‟arif (2006) persediaan yang dilakukan oleh
perusahaan memiliki kegunaan, antara lain:
1. Menghilangkan resiko keterlambatan datangnya barang.
Jika barang yang dipesan terlambat datang sedangkan proses
produksi berjalan terus, maka persediaan akan dikeluarkan dan
dipakai untuk keperluan produksi. Hal ini akan terus berlangsung
sampai barang yang dipesan datang.
2. Menghilangkan resiko dari material yang dipesan tidak baik.
Jika barang yang dipesan rusak, cacat, atau di tolak (reject, maka
persediaan dapat digunakan sambil menunggu barang yang baik
dikirimkan. Barang yang dipesan hendaknya mencapai kualitas
yang diinginkan. Jika tidak sesuai dengan kualitas yang
24
disepakati, maka perusahaan dapat me-reject barang dengan
alasan barang tidak sesuai dengan spesifikasi yang ada dalam
kontrak.
3. Untuk menumpuk barang-barang yang dihasilkan musiman.
Ini berlaku bagi produk-produk pertanian. Karena sifatnya
musiman, maka ketika musim panen, persediaan dilakukan dalam
jumlah besar. Sedangkan jika tidak musim, maka persediaan yang
besar tadi di keluarkan.
4. Mempertahankan stabilitas operasi perusahaan.
Pada akhirnya, persediaan memiliki kegunaan untuk
mempertahankan agar produksi terus berjalan. Jika produksi
berhenti, maka stabilitas operasi perusahaan akan terganggu.
5. Mencapai penggunaan mesin yang optimal.
Persediaan pun diperlukan untuk mencapai penggunaan mesin
agar optimal. Karena jika tidak ada barang, mesin akanidle.
Dalam kondisi tidak ada barang yang masuk, maka persediaan
menjadi wajib hukumnya untuk dikeluarkan.
6. Memberikan jaminan tetap tersedianya barang jadi.
Jaminan menjadi penting, disebabkan karena image konsumen
terhadap perusahaan. Jika tidak ada jaminan barang selalu
tersedia, maka konsumen tidak akan pernah loyal dengan barang
kita tersebut.
25
2.6.3 Fungsi Persediaan Barang
Persediaan barang pada hakikatnya bertujuan untuk
mempertahankan kontinuitas eksistensi suatu perusahaan dengan
mencari keuntungan atau laba perusahaan itu. Caranya adalah
dengan memberikan pelayanan yang memuaskan pelanggan dengan
menyediakan barang yang diminta.
Fungsi persediaan menurut Freddy Rangkuti (2004) adalah
sebagai berikut.
1. Fungsi Batch Stock atau Lot Size Inventory.
Penyimpanan persediaan dalam jumlah besar dengan
pertimbangan adanya potongan harga pada harga pembelian,
efisiensi produksi karena proses produksi yang lama, dan adanya
penghematan di biaya angkutan.
2. Fungsi decoupling
Merupakan fungsi perusahaan untuk mengadakan persediaan
decouple, dengan mengadakan pengelompokan operasional secara
terpisah-pisah.
3. Fungsi Antisipasi
Merupakan persediaan bahan yang fungsinya untuk penyelamatan
jika terjadi keterlambatan datangnya pesanan bahan dari pemasok
atau supplier. Tujuan utama adalah untuk menjaga proses
konversi agar tetap berjalan dengan lancar.
26
Alasan yang kuat untuk menyediakan inventory adalah untuk
hal-hal yang berhubungan dengan skala ekonomi dalam pengadaan
dan produksi barang, untuk kebutuhan yang berubah-ubah dari
waktu ke waktu, untuk fleksibilitas didalam fasilitas penjadwalan
distribusi barang, untuk spekulasi didalam harga atau biaya, dan
untuk ketidakpastian tentang waktu pesanan perlengkapan dan
kebutuhan.
Ketika menghadapi permintaan yang berubah-ubah dari waktu
ke waktu, pihak manajemen dapat melakukan pemesanan barang
(inventory) selama periode permintaan yang sedikit untuk
mengantisipasi periode permintaan yang tinggi. Inventory ini
membuat manajemen dapat beroperasi secara tetap sepanjang
musim, dan dapat menghindari biaya produksi yang berubah-ubah.
Penyediaan inventory bertujuan untuk menghadapi kondisi
ketidakpastian. Permintaan barang tidak bisa diketahui secara pasti,
oleh karena itu perlu diramalkan untuk meminimalisir kerugian
akibat over stock atau permintaan yang melampaui ramalan,
perhitungan persediaan barang harus dilakukan dengan hati-hati dan
teliti.
27
2.6.4 Jenis Persediaan Barang
Setiap jenis persediaan memiliki karakteristik tersendiri dan
cara pengelolaan yang berbeda. Jenis-jenis persediaan dapat
dibedakan menjadi lima jenis (Assauri, 2004):
1. Persediaan barang mentah (raw material stock).
Yaitu persediaan dari barang-barang berwujud yang digunakan
dalam proses produksi, barang dapat diperoleh dari sumber-
sumber alam ataupun beli dari supplier atau perusahaan yang
menghasilkan bahan baku bagi perusahaan atau pabrik yang
menggunakannya.
2. Persediaan Bagian Produk atau Part yang dibeli (purchase
part/component stock).
Yaitu persediaan barang-barang yang terdiri atas part yang
diterima dari perusahaan lain, yang dapat secara langsung
diassembli dengan part lain, tanpa melalui proses produksi
sebelumnya.
3. Persediaan bahan-bahan pembantu atau barang-barang persediaan
(supplies stock).
Yaitu persediaan barang-barang atau bahan-bahan yang
diperlukan dalam proses produksi atau membantu berhasilnya
produksi atau yang dipergunakan dalam berkerjanya suatu
perusahaan tetapi tidak merupakan bagian atau komponen dari
barang jadi.
28
4. Persediaan barang setengah jadi atau barang dalam proses (work
in process/progress work).
Yaitu persediaan barang yang keluar dari tiap-tiap bagian dalam
satu pabrik atau bahan-bahan yang telah diolah menjadi suatu
bentuk, tetapi lebih perlu diproses untuk kemudian menjadi
barang jadi.
5. Persediaan barang jadi (finished good stock).
Yaitu persediaan barang-barang yang telah selesai diproses atau
diolah dalam pabrik dan siap untuk dijual kepada pelanggan atau
perusahaan lain. Jadi barang jadi ini adalah merupakan produk
selesai dan siap untuk dijual.
2.6.5 Manajemen Inventory
Pengendalian terhadap persediaan atau inventory control
adalah aktifitas mempertahankan jumlah persediaan pada tingkat
yang dikehendaki. Pada produk barang, pengendalian inventory
ditekankan pada pengendalian material. Pada produk jasa,
pengendalian diutamakan sedikit pada material dan banyak pada jasa
pasokan karena konsumsi sering kali bersamaan dengan pengadaan
jasa sehingga tidak memerlukan persediaan (Sumayang, 2003).
Harus ada keseimbangan antara mempertahankan tingkat
inventory yang tepat dengan pengaruh keuangan minimum terhadap
pelanggan. Jika investasi sangat besar akan mengakibatkan biaya
29
modal yang sangat besar, sehingga akan mengakibatkan juga biaya
operasi yang tinggi (Sumayang, 2003).
Pengendalian tingkat persediaan bertujuan mencapai efisiensi
dan efektifitas optimal dalam penyediaan material. Dalam pengertian
di atas, usaha yang perlu dilakukan dalam manajemen persediaan
secara garis besar sebagai berikut:
1. Menjamin terpenuhinya kebutuhan operasi
2. Membatasi nilai seluruh investasi
3. Membatasi jenis dan jumlah material
4. Memanfaatkan seoptimal mungkin material yang ada.
2.7 Konsep Pembayaran
Menurut Yunirman Rijan dan Ira Koesoemawati (2009) pembayaran
mengandung beberapa arti, yaitu dalam arti sempit pembayaran adalah
pelunasan hutang oleh debitur kepada kreditur yang bisa dilakukan dalam
bentuk uang maupun barang. Pembayaran yang sudah dilaksanakanbiasanya
disertai bukti atau tanda bukti pembayaran atau dalam sehari – hari disebut
dengan kwintansiPembayaran dalam arti luas dapat dikatakan sebagai
pemenuhan suatu prestasi. Hal ini berlaku bagi pihak yang menyerahkan
uang sebagai harga pembayaran, maupun pihak yang menyerahkan benda
sebagaimana yang diperjanjikan.
30
2.8 Konsep Supply Chain
2.8.1 Pengertian Supply Chain
Menurut Kalakota (2001) supply chain adalah
serangkaianproses yang terdiri dari pembuatan produk perusahaan
dan pengiriman kepelanggan dengan melibatkan jaringan hubungan
yang rumit antaraperusahaan dan rekannya untuk menyediakan
bahan baku, memproduksiproduk, dan menyampaikannya ke
pelanggan.
Menurut Pujawan (2008) supply chain adalah jaringan yang
terdiridari beberapa perusahaan yang secara bersama sama berkerja
untukmenciptakan dan menghantarkan suatu produk ke tangan
pemakai akhir.Perusahaan tersebut biasanya terdiri dari supplier,
pabrik, distributor, toko atau ritel, serta perusahaan perusahaan
pendukung lainnya, seperti perusahaanjasa logistik.
Menurut Turban (2010) supply chain adalah aliran
material,informasi, uang, dan jasa dari supplier bahan baku,
kepabrik, ke gudang,sampai ke pelanggan akhir.
Jadi, dari beberapa pendapat diatas, dapat ditarik kesimpulan
bahwasupply chain adalah jaringan perusahaan yang saling berkerja
sama danterdiri dari aliran material, informasi, uang, dan jasa dari
supplier,perusahaan, sampai ke pelanggan akhir.
31
2.8.2 Pembagian Supply Chain
Menurut Turban, (2010) secara umum supply chain
dapatdibagi menjadi tiga bagian utama :
1. Upstream supply chain
Bagian upstream dari supply chain terdiri dari aktivitas
yang melibatkanperusahaan dengan pemasoknya (dapat berupa
perusahaan manufaktur,maupun jasa). Kegiatan utama dalam
supply chain bagian upstreamadalah procurement yang
merupakan proses dimana perusahaanmelakukan kegiatan-
kegiatan dengan tujuan untuk medapatkan aksesterhadap sumber
daya (dapat berupa produk, keterampilan, kemampuan,fasilitas)
yang diperlukan perusahaan untuk melakukan proses bisnisutama
mereka.
2. Internal supply chain
Bagian internal dari supply chain melibatkan semua proses
internal yangdilakukan untuk mengubah input dari supplier
menjadi output yangdihasilkan perusahaan. Aktivitas internal
utama ini juga dikenal denganistilah value chain, yang merupakan
penghubung antara pelanggan (B2C)dan pemasok (B2B) yang
dalam hubungannya mengubah produk dan jasayang didapatkan
dari supplier menjadi produk dan jasa yang memiliki nilai bagi
pelanggan.
32
3. Downstream supply chain
Bagian downstream dari supplychain melibatkan semua
aktivitas yangbertujuan untuk menyampaikan produk akhir
perusahaan kepelanggannya. Perhatian utama dalam bagian
downstream dari supply chain dipusatkan pada kegiatan
distribusi, penyimpanan ataupergudangan, transportasi, dan
layanan pasca penjualan.
2.8.3Decoupling Point dalam Supply Chain
Keputusan sampai di mana aktivitas produksi dapat dilakukan
tanpamenunggu permintaan yang pasti dari pelanggan merupakan
keputusan yangsangat penting bagi suatu supply chain dan akan
secara langsung berpengaruhterhadap kemampuannya untuk
menciptakan efisiensi fisik maupunkecepatannya untuk merespon
pasar. Menurut Pujawan (2008) titik temu sampai di mana
suatukegiatan bisa dilakukan atas dasar ramalan (tanpa harus
menunggupermintaan dari pelanggan) dan dari mana kegiatan harus
ditunggu sampaiada permintaan yang pasti dinamakan decoupling
point (DP). Istilah lain daridecoupling point adalah order penetration
point (OPP).Pengaturan dan cara pengelolaan supply chain akan
berbedatergantung dari decoupling point produknya. Walaupun
secara tradisionalistilah decoupling point digunakan untuk suatu
33
sistem produksi, namunkonsep ini juga sangat relevan dalam konteks
yang lebih luas, yaitu supply chain management.
2.8.4 Tipe Supply Chain Berdasarkan Decoupling Point
Walaupun istilah decoupling point merupakan istilah yang
jarangdigunakan untuk suatu sistem produksi, analogi yang sangat
mirip bisa kitagunakan untuk memahami order penetration point
pada supply chain. Secara umum, terdapat empat macam posisi
decoupling point (DP) pada supply chain (Pujawan, 2008)
1. Make-to-stock (MTS)
MTS adalah sistem dimana DP berada pada proses terkhir,
yaitu padapengiriman ke pelanggan. Produk akhir dibuat
berdasarkan ramalan.Hanya kegiatan pengiriman yang dilakukan
setelah ada pesanan daripelanggan. Bagi supply chain tipe ini
efisiensi fisik menjadi fokus dalampengelolaannya. MTS cocok
untuk produk yang variasinya sedikit danketidakpastian
permintaannya relatif rendah. Aspek kunci dalammengelola
supply chain yang beroperasi pada lingkungan MTS
adalahpenentuan berapa persediaan produk akhir yang harus
disimpan danbagaimana mekanisme pengiriman produk jadi ke
suatu lokasi pemasaran.Keseimbangan antara tingkat layanan
pelanggan dan banyaknyapersediaan produk juga menjadi hal
penting yang harus ditentukan padasupply chain yang beroperasi
34
dengan sistem MTS.
2. Assemble-to-order (ATO)
ATO adalah sistem dimana hanya kegiatan perakitan yang
menunggupesanan dari pelanggan, sedangkan kegiatan pabrikasi
komponendilakukan atas dasar ramalan. ATO cocok diterapkan
pada sistem yangmemproduksi banyak variasi produk dengan
kesamaan anatra komponen dari tiap produk yang cukup tinggi.
Jadi, DP ditempatkan setelah proses pabrikasi atau diawal proses
perakitan yang berarti bahwa persediaan akandisimpan dalam
bentuk komponen siap rakit. Aspek kunci dalammengelola supply
chain yang beroperasi pada lingkungan ATO adalah lamanya
proses perakitan setelah ada pesanan dari pelanggan dan
jumlahvariasi produk yang dapat ditawarkan ke pelanggan.
Kecepatanperusahaan dalam memenuhi pesanan pelanggan sangat
ditentukan olehlead time perakitan.
3. Make-to-order (MTO)
MTO adalah sistem dimana kegiatan pabrikasi tidak bisa
dikerjakan tanpamenunggu pesanan dari pelanggan karena setiap
pesanan memilikivariabilitas yang tinggi dan berbeda beda. Untuk
mengatasi masalahvariabilitas ini perusahaan harus memproduksi
pesanan pelanggan setelahpelanggan melakukan pesanan. Usaha
perusahaan untuk menyiapkanproduk sebelum adanya pesanan
dari pelanggan dianggap memiliki biayayang mahal dan resiko
35
yang tinggi. Aspek kunci dalam mengelola supply chain yang
beroperasi pada lingkungan MTO adalah kecepatanperusahaan
dalam menerima, menterjemahkan, dan memproses pesanan dari
pelanggan sehingga produksi dapat berjalan secepat mungkin.
4. Engineer- to-order (ETO)
ETO adalah sistem dimana perancangan produk baru
dilakukan setelah ada pesanan dari pelanggan. Model ini cocok
digunakan bila tiappelanggan memerlukan produk dengan
rancangan yang spesifik.Rancangan spesifik ini nantinya akan
berimplikasi pada kebutuhan material dan urutan proses yang
berbeda untuk tiap produk. Aspek kuncidalam mengelola supply
chain yang beroperasi pada lingkungan ETOadalah kesepakatan
waktu dan rancangan produksi antara perusahaan danpelanggan
serta fleksibilitas dari bagian produksi dan perancangan
untukdapat menyerap permintaan dari pelanggan yang berbeda
beda.Pada kenyataannya, masih banyak perusahaan yang
memproduksiproduk dengan fokus operasi yang berbeda-beda. Di
sebuah perusahaanmungkin ada sebagian sistem produksi yang
memproduksi produk-produkyang relatif standar dan sebagian
lagi digunakan untuk memproduksi produk-produk dengan
banyak variasi. Pada situasi ini, kegiatan kegiatan supply
chainakan memiliki fokus yang berbeda dan manajer harus
36
bisamembedakan bagaimana pengelolaan masing-masing sistem
produksitersebut.
2.9 Konsep Dasar Metodologi Penelitian
Metodologi merupakan suatu formula dalam penerapan penelitian
dimana dalam melakukan penelitian tersebut terdapat langkah-langkah dan
juga hasil penelitan. Sedangkan metodologi penelitian dalam ilmu computer
atau sistem informasi atau teknologi informasi merupakan langkah-langkah
atau tahapan perencanaan dengan bantuan beberapa metode, teknik, alat
(tools) dan dokumentasi dengan tujuan untuk membantu peneliti dalam
meminimalkan resiko kegagalan dan menekankan pada proses atau sasaran
penelitian dibidang CS/IS/TI (Hasibuan, 2007).
2.9.1 Metode Pengumpulan Data
2.9.1.1 Observasi
Observasi (observation) merupakan teknik atau
pendekatan untuk mendapatkan data primer dengan cara
mengamati langsung objek datanya (Jogiyanto, 2008).
2.9.1.2 Wawancara
Wawancara (interview) adalah komunikasi duaarah
untuk mendapatkan informasi dari responden. Wawacara
(interview) dapat berupa wawancara personal (personal
37
interview), wawancara intersep (intercep interview) dan
wawancara telepon (telephone interview) (Jogiyanto, 2008).
2.9.1.3 Studi Pustaka
Dalam penyusunan tugas akhir ini penulis
melakukan dengan membaca buku-buku yang berkaitan
dengan materi penulisan. (Nazir, 2005)
2.9.1.4 Studi Literatur Sejenis
Studi literatur ini dilakukan penulis untuk
membandingkan skripsi yang dibuat oleh penulis dengan
skripsi yang telah dibuat sebelumnya, bertujuan untuk
mengetahui sisi kelemahan dan sisi kelebihan dari kedua
skripsi yang sejenis. Dalam hal ini penulis akan
membandingkan skripsi penulis yang berjudul Rancang
Bangun Sitem Informasi Penjualan Pada PT Berkah Jaya
Motor dengan skripsi sebagai berikut.
Tabel 2.2Studi Literatur Sejenis
No Nama Peneliti Judul Tahun Kelemahan Kelebihan
1 Hanif Ribhan Rancang Bangun
Sistem Informasi
Penjualan pada
2014 Jenis barang
tidak
berdasarkan
Tersedianya
fasilitas
notifikasi untuk
38
PT. Djunaedi
Bejana Jaya
group dan tidak
memberikan
referensi
analisis
penjualan
mempermudah
user
mengetahui ada
proses
penjualan.
2 Murniati Pengembangan
Sistem Informasi
Penjualan pada
PD. Hikmah Jaya
Jakarta
2012 Analisis
penjualan untuk
periode yang
akan datang
masih sulit.
Dalam transaksi
penjualan
maupun input
barang
menggunakan
barcode
3 Syajaratuddur Pembangunan
Sistem Informasi
Penjualan,
Pembelian dan
Persediaan pada
Café Jeung Ucie
2012 Analisis
penjualan untuk
periode yang
akan datang
masih sulit.
Melibatkan
beberapa divisi,
sehingga
memudahkan
admin dalam
membuat
laporan
Berdasarkan tabel 2.2 Studi Literatur Sejenis, ada
beberapa kelebihan dari sistem yang akan dibuat, yaitu:
1. Tampilan aplikasi yang user friendly.
2. Penjelasan yang mendetail mengenai sistem informasi
penjualan dan bagian bagian dari penjualan yang
meliputi pemesanan(sales order), pengiriman,
persediaan, inventory, dan pembayaran.
39
3. Setiap pegawai dalam perusahaan saling terintegrasi
4. Isi/content dari sistem yang dibuat lebih banyak.
5. Laporan menggunakan tabel dan grafik yang
mempermudah user dalam membaca laporan.
6. Tersedianya ramalan penjualan untuk analisis penjualan
2.9.2 Konsep Dasar Rapid Application Development (RAD)
2.9.2.1 Pengertian Rapid Application Development (RAD)
RapidApplicationDevelopment (RAD) merupkan
salah satu metode pengembangan suatu sistem informasi
dengan waktu yang relatif singkat. Jika dalam
pengembangan suatu sistem informasi secara normal
membutuhkan waktu minimal 180 hari, maka dengan
menggunakan metode RAD suatu system dapat diselesaikan
kurang dari 180 hari atau bisa dua kali lebih cepat yaitu
hanya dalam waktu 30-90 hari.Menurut Whitten (2004),
model RAD mempunyai beberapa keunggulan sebagai
berikut:
1. Mendorong pengguna aktif dan partisipasi manajemen
(berkebalikan dengan reaksi pasar pada model-model
sistem yang tidak bekerja). Hal ini meningkatkan
antusiasme pengguna akhir proyek.
2. Proyek-proyek memiliki visibilitas dan dukungan lebih
40
tinggi karena keterlibatan pengguna yang ekstensif
selama proses.
3. Para pengguna dan manajemen melihat solusi-solusi
yang berbasis perangkat lunak dan bekerja lebih cepat
dari pada pengembangan model-driven.
4. Error dan penghilangan cenderung untuk dideteksi lebih
awal dalam prototype dari pada model sistem.
5. Pengujian dan pelatihan adalah produk tambahan alami
dari pendekatan prototyping yang mendasar.
6. Pendekatan berulang adalah proses yang lebih “alami”
karena perubahan adalah faktor yang diharapkan selama
pengembangan.
2.9.2.2 Unsur-unsur Penting RAD
Menurut McLeod (2008) RAD membutuhkan empat
unsur penting, yaitu:
1. Manajemen, khususnya manajemen puncak, hendaknya
menjadi penguji coba (experimenter) yang suka
melakukan hal-hal dengan cara baru atau pengadaptasi
awal (early adapter) yang dengan cepat mempelajari
bagaimana cara menggunakan metodologi-metodologi
baru.
41
2. Orang, daripada hanya memanfaatkan satu tim untuk
melakukan seluruh aktivitas SDLC, RAD menyadari
adanya efisiensi yang dapat dicapai melalui penggunaan
tim-tim khusus. Anggota dalam tim ini adalah para ahli
dalam metodologi dan alat yang dibutuhkan untuk
melakukan tugas-tugas khusus mereka masing-masing.
3. Metodologi, metodologi dasar RAD adalah siklus hidup
RAD.
4. Alat-alat, alat-alat RAD terutama terdiri atas bahasa-
bahasa generasi keempat dan alat-alat rekayasa piranti
lunak dengan bantuan komputer (computer-aided
software engineering-CASE) yang memfasilitasi
prototyping dan penciptaan kode. Alat-alat CASE
menggunakan komputer untuk membuat dokumentasi
yang dapat diubah menjadi piranti lunak dan basis data
operasional.
2.9.2.3 Tahap-tahap Pengembangan Sistem
Whitten, (2004) mengemukakanada empat tahap
penting dalam pengembangan sistem, yaitu:
1. Scope Definition
Mempelajari tentang organisasi dengan masalah
sistemnya, mendefinisikan tujuan, hambatan, risiko,
42
dan ruang lingkup sistem baru, mengevaluasi proyek
maupun kelayakan sistem, melakukan sub-divisi sistem
menjadi komponen-komponen besar dan mendapatkan
umpan balik pengguna.
2. Analysis
Menganalisis persyaratan fungsional pengguna untuk
masing-masing modul sistem dengan menggunakan
berbagai macam teknik pengumpulan informasi dan
kemudian mendokumentasikan temuan-temuannya
dalam bentuk model-model proses, data, dan
objek.Terdapat tiga tahapan analisis pada alur
pengembangan sistem RAD menurut Whitten (2004),
yaitu:
a. Problem Analysis, Analisa masalah merupakan
tahap mempelajari sistem yang sudah ada dan
menganalisa temuan-temuan agar dapat
menemukan pemahaman yang lebih mendalam atas
masalah yang memicu adanya proyek ini.
b. Requirement Analysis, Analisa kebutuhan
merupakan tahap yang mendefinisikan dan
memprioritaskan kebutuhan bisnis. Dengan kata
lain memahami pengguna untuk mengetahui apa
yang dibutuhkan atau inginkan dari sistem baru,
43
dengan menghindari pembahasan tentang teknologi
atau teknis pelaksanaan. Ini mungkin merupakan
tahap terpenting pengembangan sistem karena
kesalahan dan kelalaian dari hasil analisis ini
mengakibatkan ketidakpuasan pengguna dengan
sistem final dan modifikasi yang mahal.
1) Functional requirement adalah deskripsi dari
aktivitas dan layanan yang harus disediakan
sebuah sistem.
2) Nonfunctional requirement adalah deskripsi
dari fitur, karakteristik dan batasan lain yang
menentukan kepuasan sistem.
Tabel 2.3Klasifikasi PIECES Pada Kebutuhan Sistem
Tipe Persyaratan
Nonfungsional Keterangan
Performance Persyaratan performa merepresentasikan performa sistem
yang diperlukan untuk memenuhi kebutuhan penguna.
Throughput rateapa yang bisa diterima?
Response timeapa yang bisa diterima?
Information Persyaratan informasi mempresentasikan informasi yang
sangat penting bagi pengguna dalam konteks isi,timeline,
akurasi, dan format.
44
Ada kegunaan input dan output? Kapan keduanya
harus terjadi?
Data apa yang perlu disimpan?
Harus seperti apa informasi saat ini?
Apa antarmuka untuk sistem external?
Economic Persyaratan ekonomi kebutuhan akan sistem untuk
mengurangi biaya atau meningkatkan laba.
Bagian mana dari sistem yang biayanya harus
dikurangi?
Sebagian banyak biaya harus dikurangi atau laba harus
ditingkatkan?
Apa batasan anggaran?
Apatimetable untuk pengembangan?
Control Persyaratan kontrol merepresentasikan lingkungan di
mana sistem harus beroperasi, tipe dan tingkatan
keamanan yang harus disediakan.
Haruskah akses ke sistem atau informasi dikontrol?
Apa persyaratan privasi?
Apakah kekritisan data yang mutlak diperlukan
memang dibutuhkan untuk penanganan khusus (seperti
backups,off-site, storage, dll)terhadap data?
Efficiency Persyaratan efisiensi merepresentasikan perlunya sistem
untuk menghasilkan output dengan tingkat
45
ketidakefisienan minimal.
Apakah langkah-langkah duplikasi pada proses harus
dieliminasi?
Apakah ada cara untuk mengurangi ketidakefisienan
dalam cara sistem menggunakan sumber daya?
Service Persyaratan pelayanan merepresentasikan kebutuhan agar
sistem menjadi reliable, fleksibel, dan dapat diperluas.
Siapa yang akan menggunakan sistem, dan di mana
mereka akan ditempatkan?
Apakah ada perbedaan tipe pengguna?
Apa faktor manusia yang tepat?
Apa alat dan materi pelatihan yang dimasukkan
kedalam sistem?
Apa alat dan materi pelatihan untuk dikembangkan dan
dipelihara secara terpisah dari sistem, seperti program
atau database CBT (computer-based training) stand-
alone?
Apa persyaratan reabilitas/availibilitas?
Bagaimana sistem akan dikemas dan didistribusikan?
Dokumentasi apa yang dibutuhkan?
3) Decision Analysis, Analisa keputusan adalah untuk
mengidentifikasi pilihan solusi teknis,
menganalisis solusi atas kelayakan dari pilihan
46
tersebut, dan merekomendasikan pilihan sistem
yang akan dirancang.
3. Design
Merancang komponen dan antarmuka dengan
sistem-sistem lain umtuk setiap modul sistem yang baru
dan kemudian mendokumentasikan desain dengan
menggunakan berbagai jenis teknik
pemodelan.Terdapat empat tahapan desain pada alur
pengembangan sistem RAD menurut Whitten (2004)
a. Desain Proses, pada tahapan ini menggambarkan
alur proses sistem yang di bangun dengan bantuan
notasi Diagram UML seperti Use Case Diagram,
Activity Diagram, Sequence Diagram
b. Desain Input/Output, pada tahapan ini
menggambarkan proses input output yang ada pada
sistem yang dibangun.
c. Desain Database, tahapan ini mendefinisikan dan
merancang kebutuhan database pada sistem yang
di bangun.
d. Desain Interface, menghasilkan dan merancang
tatap muka sistem yang akan di bangun.
47
4. Construction & Testing
Komponen-komponen sistem dipasang, dan
dilakukan uji penerimaan pengguna. Penerimaan oleh
pengguna akan menjadi tanda persetujuan untuk
melanjutkan ke tahap serah terima.
2.9.2.4 Keunggulan Dan Kelemahan RAD
Menurut Jogiyanto (2005), Dalam menggunakan
RAD ada beberapa hal yang perlu diperhatikan terutama
berkaitan dengan keunggulan dan kelemahan.
1. Keunggulan RAD
Beberapa keunggulan dalam menggunakan
metode RAD adalah sebagai berikut:
a. Berguna untuk mengembangkan proyek yang
memiliki persyaratan-persyaratan yang tidak pasti
dan tidak tepat.
b. Mendorong pengguna aktif dan partisipatif
c. Para pengguna dan manajemen melihat solusi-solusi
yang berbasis software dan bekerja lebih cepat.
d. Kesalahan dan penghilangan cenderung untuk
dideteksi lebih awal.
e. Pengujian dan pelatihan adalah produk tambahan.
48
f. Pendekatan berulang adalah proses yang lebih alami
karena perubahan adalah faktor yang diharapkan
selama pengembangan
2. Kelemahan RAD
Beberapa kelemahan dalam menggunakan
metode RAD adalah sebagai berikut:
a. RAD dapat mendorong mentalis “mengkode,
mengimplementasi, dan memperbaiki” yang
meningkatkan biaya seumur hidup yang dibutuhkan
untuk mengoperasikan, mendukung, dan merawat
sistem.
b. Prototype RAD lebih mudah memecahkan masalah
dibanding pada tahap analisis yang relative disingkat
atau diabaikan. Ini berakibat juga membuat para
analis minder untuk mengembangkan alternatif
bisnis yang lebih bernilai.
c. Kadang-kadang lebih baik membuat sebuah
prototype, tetapi para stakeholder enggan
melakukannya karena menganggapnya sebagai
hilangnya waktu usaha dalam produk saat ini.
d. Penekanan pada kecepatan dapat berimbas buruk
terhadap kualiatas sistem yang dikembangkan.
49
2.10 Pengertian Object-Oriented Analysis and Design
Object Oriented Analysis and Design merupakan suatu metode untuk
keperluan analisis dan perancangan sistem yang berorientasi pada objek
(Mathiasses et al, 2000). Identitas objek dalam analisis menunjukkan
bagaimana objek tersebut dapat dibedakan dengan objek lainnya dalam
suatu konteks oleh para pengguna. Sedangkan identitas objek dalam
perancangan menunjukkan bagaimana objek-objek lain dalam sistem dapat
mengenali objek tersebut dan bagaimana pula mengaksesnya. Object
Oriented Analysis and Design menggunakan object and class sebagai
konsep kuncinya serta terdiri atas empat prinsip umum untuk analisis dan
perancangan: membuat model konteks sistem, menekankan perhatian pada
arsitektural, penggunaan ulang pola yang menggambarkan dengan baik
sebuah ide, dan merangkai metode untuk setiap solusi pengembangan.
Kunci utama perancangan sistem tradisional terdiri dari metode,
fungsi, data dan aliran data, namun di dalam penerapan sistem Object
Oriented Analysis and Design kunci utama untuk analisis dan perancangan
sistem adalah Object dan class. Beberapa keuntungan utama lewat
penggunaan metode Object Oriented Analysis and Design adalah:
1. Object Oriented Analysis and Design menyediakan informasi yang jelas
mengenai konteks dari sistem. Metode Object Oriented Analysis and
Design memiliki fokus baik pada sistem maupun konteks dari sistem
tersebut.
50
2. Metode Object Oriented Analysis and Design memberikan hubungan
yang dekat antara analisis, perancangan, dan user interface.
2.10.1 Tool Pengembangan Sistem
Menurut Whitten (2004) Unifield modeling language
(UML) adalah sekumpulan konvensi pemodelan yang digunakan
untuk menentukan atau menggambarkan sebuah sistem perangkat
lunak dalam kaitannya dengan objek.
Unified Modeling Language (UML) adalah salah satu alat
bantu yang sangat handal di dunia pengembangan sistem yang
berorientasi objek. Hal ini di sebabkan karena UML menyediakan
bahasa pemodelan visual yang memungkinkan bagi pengembang
sistem untuk membuat cetak biru atas visi mereka dalam bentuk
yang baku, mudah di mengerti, serta di lengkapi dengan
mekanisme yang efektif untuk berbagi (sharing) dan
mengkomunikasikan rancangan mereka dengan yang lain
(Munawar, 2005).
Unified Modeling Language (UML) memiliki beberapa
Diagram di antaranya (Whitten, 2007):
51
2.10.1.1 Sejarah UML
Munawar (2005) UML adalah pengantar kepada
gelombang metode Object Oriented Analysis and Design
yang muncul pada akhir tahun 1980an dan awal 1990an.
Pada saat itu, ada banyak metode object oriented yang
berbeda yang digunakan dalam industri, di antaranya
Booch Method dari Grady Booch, Object Modeling
Technique(OMT) dari James Rumbaugh, dan Object
Oriented Software Engineering (OOSE) dari Ivar
Jacobson. Adanya banyak metode dan teknik pemodelan
tersebut merupakan permasalahan utama dalam
pengembangan sistem saat itu, karena tidak ada standar
dan keseragaman tertentu sehingga terdapat keterbatasan
antar proyek dan antar anggota tim pengembangan. Hal
ini mempersulit komunikasi dan menimbulkan banyak
kesalahan dalam proyek. Permasalahan inilah yang
membawa kepada usaha untuk menemukan bahasa
pemodelan yang standar, yang dapat digunakan pada
semua keadaan di seluruh dunia.
Tahun 1994, Booch dan Rumbaugh menyatukan
pandangan mereka tentang metode pengembangan object
oriented, dan disusul oleh Jacobson pada 1995, serta
metode-metode lain seperti Fusion, Shlaer-Mellor, dan
52
lain-lain. Pada 1996, Object Management Group (OMG)
meminta proposal untuk sebuah pendekatan yang standar
untuk object oriented modeling. Para pencetus UML
mulai bekerja dengan para metodologis dan pengembang
dari perusahaan lain untuk membuat sebuah proposal
yang menarik bagi OMG agar modeling language dapat
diterima oleh para pencetus, metodologis dan
pengembang. Proposal diserahkan ke OMG pada
September 1997, hasil akhirnya adalah kolaborasi dari
banyak orang. Dan pada November 1997 dibuat sebuah
standarnya yaitu UML version 1.0. UML adalah standar
dunia yang dibuat oleh Object Management Group
(OMG), sebuah badan yang bertugas mengeluarkan
standar-standar teknologi object oriented dan software
component.
2.10.1.2 Kegunaan UML
Berdasarkan OMG, UML (Unified Modeling
Language) dapat didefinisikan sebagai sebuah bahasa
yang berdasarkan gambar untuk memvisualisasi
(visualizing), menspesifikasi (specifying),
mengkonstruksi (constructing), dan mendokumentasi
(documenting) sebuah sistem perangkat lunak. UML
53
menggunakan notasi yang dikombinasikan dari beberapa
metode yang telah berkembang sebelumnya. Hal ini
ditujukan untuk mempermudah desain, dan dapat
digunakan untuk model dengan skala besar sekalipun
dengan jumlah kompleksitas, jumlah tim, dan distribusi
komponen yang sangat besar. Tujuan akhir dari UML
adalah untuk menjadi sesederhana mungkin selama
masih memenuhi kebutuhan untuk melakukan modeling
pada sistem yang akan dibangun.
2.10.1.3 Diagram – Diagram & Notasi UML
Notasi adalah bahasa textual dan graphical untuk
menggambar sebuah sistem dan konteksnya yang
diformalisasikan secara terpisah. Tujuannya adalah untuk
menyederhanakan komunikasi dan dokumentasi. Berikut
ini merupakan beberapa diagram UML dan notasinya
yang paling umum digunakan:
1. Use Case Diagram
Dalam konteks UML, tahap konseptualisasi
dilakukan dengan pembuatan use case diagram. Use
case diagram merupakan gambaran visual dari
beberapa use case dalam suatu sistem atau subsistem
(Shelly & Rosenblatt, 2012). Pengertian use case
54
sendiri adalah pola interaksi antara sistem dengan
aktor dalam sebuah domain aplikasi (Mathiassen et
al. 2000).
Menurut Whitten(2004), Use-case Diagram
merupakan diagram yang menggambarkan interaksi
antara sistem, sistem eksternal, dan pengguna.
Dengan kata lain, secara grafis mendeskripsikan
siapa yang akan menggunakan sistem dan dalam
cara apa pengguna mengharapkan interaksi dengan
sistem tersebut.
Berikut ini adalah daftar simbol-simbol yang
digunakan dalam membuat use case diagram:
a. Aktor (actor)
Aktor adalah segala sesuatu yang perlu
berinteraksi dengan sistem untuk pertukaran
informasi. Aktor menginisiasi kegiatan sistem,
yakni sebuah use case, dengan maksud
melengkapi beberapa tugas bisnis yang
menghasilkan sesuatu yang dapat diukur.Aktor
mewakili sebuah peran yang dipenuhi oleh
seorang pengguna yang berinteraksi dengan
sistem dan tidak berarti menggambarkan individu
ataupun nama pekerjaan tunggal.
55
Gambar 2.2Notasi Aktor
b. Use Case
Use case adalah deskripsi dari urutan aksi-aksi
yang ditampilkan sistem yang menghasilkan
suatu hasil yang terukur bagi suatu actor. Use
case digunakan untuk menstrukturkan perilaku
pada suatu model. Secara grafis, use case
digambarkan dengan elips tegas yang berisi
namanya.
Gambar 2.3Notasi Use Case
c. Interaction
Interaction adalah suatu perilaku yang mencakup
himpunan pesan-pesan (message) yang
diperlukan untuk menyelesaikan suatu fungsi
tertentu. Perilaku kumpulan objek-objek atas
operasi individual bisa dispesifikasi dengan
interaksi. Sebuah interaksi terdiri dari beberapa
56
unsur, yaitu pesan-pesan urutan aksi (perilaku
yang dihasilkan oleh sebuah pesan), serta link
(hubungan antara objek-objek).
Gambar 2.4 Notasi Interaction
d. Relationship
Relationship digambarkan sebagai bentuk garis
antara dua simbol dalam Use Case Diagram.
Relasi antar aktor dan use case disebut juga
dengan asosiasi (association). Asosiasi ini
digunakan untuk menggambarkan bagaimana
hubungan antara keduanya.Relasi antara use case
dengan use case:
1. Include : pemanggilan use case oleh use case
lain atau untuk menggambarkan suatu use case
termasuk di dalam use case lain. Digambarkan
dengan garis berpanah dengan tulis
<<include>>
2. Extend : digunakan untuk menunjukan
bahwa satu use case merupakan tambahan
fungsional dari use case lain jika kondisi atau
syarat tertentu terpenuhi. Digambarkan
dengan garis berpanah dengan tulis
57
<<extend>>.
Dalam Diagram Use-case, digambarkan interaksi
antara sistem, sistem eksternal dan pengguna.
Dengan kata lain, secara grafis mendeskripsikan
siapa yang akan menggunakan sistem dan dalam
cara apa pengguna mengharapkan interaksi
dengan sistem tersebut (Whitten et.al, 2004).
Direktur
keuangan
input pembayaran
laporan penjualan
«extends»
login
logout
Gambar 2.5contoh use case diagram
58
Berikut penjelasan dari Use Case diatas:
1. Terdapat 2 aktor dalam use case diagram
diatas, yaitu direktur dan keuangan.
2. Tulisan yang berada dalam bentuk elips
disebut use case, dimana dalam use case
diagram diatas use case tersebut antara lain
login, input pembayaran, laporan penjualan
dan logout.
3. Direktur dapat melakukan login, melihat
laporan penjualan dan logout di dalam sistem
informasi penjualan PT. Berkah Jaya Motor
4. Keuangan dapat melakukan login, input
pembayaran dan logoutdi dalam sistem
informasi penjualan PT. Berkah Jaya Motor
5. Garis bertuliskan extend pada use
caseinputpembayaran ke laporan penjualan
menunjukkan bahwa inputpembayaran
merupakan tambahan fungsional dari
viewlaporan penjualan.
Untuk membuat use case diagram, pertama yang
harus dilakukan adalah mengidentifikasi system
boundary yang digambarkan dengan kotak yang
berisi use case didalamnya. Setelah use case
59
ditentukan, maka tentukan aktor-aktor yang
terlibat dan hubungan dengan use case (Sholiq,
2006).
2. Activity Diagram
Activity Diagram digambarkan seperti
flowchart yang memperlihatkan aksi dan kejadian
yang mungkin muncul dalam suatu proses (Sholiq,
2006). Tidak ada ketentuan yang pasti apakah
ActivityDiagram harus dibuat dalam bentuk
horizontal ataupun vertical. Activity diagram
menggambarkan aktivitas dari user dan flownya
secara berurutan. Diagram ini juga menggambarkan
proses parallel yang mungkin terjadi pada beberapa
eksekusi (Sholiq, 2006).
Activity diagram merupakan state diagram
khusus, di mana sebagian besar state adalah action
dan sebagian besar transisi di-trigger oleh selesainya
state sebelumnya (internal processing). Oleh karena
itu activity diagram tidak menggambarkan
behaviour internal sebuah sistem (dan interaksi antar
subsistem) secara eksak, tetapi lebih
menggambarkan proses-proses dan jalur-jalur
60
aktivitas dari level atas secara umum. Sebuah
aktivitas dapat direalisasikan oleh satu use case atau
lebih. Aktivitas menggambarkan proses yang
berjalan, sementara use case menggambarkan
bagaimana aktor menggunakan sistem untuk
melakukan aktivitas.
Tabel 2.4 Tabel Activity Sysmbol
No. Simbol Fungsi
1
Swimlane
Menujukkan siapa yang bertanggung jawab
melakukan aktivitas dalam suatu Diagram.
2
Start State
Menujukkan dimana aliran kerja itu dimulai.
3
End State
Menujukkan dimana aliran kerja itu berakhir.
4
Action State
Action state adalah langkah-langkah dalam
sebuah Activity. Action bisa terjadi saat
memasuki Activity, meninggalkan Activity, atau
pada event yang spesifik.
5
Decission
Menunjukkan dimana sebuah keputusan perlu
dibuat dalam aliran kerja.
6
Synchronization
Synchronization menunjukkan dua atau lebih
langkah dalam aliran kerja berjalan secara
serentak.
Activity1
61
SistemManager, Direktur
Pilih MenuPersediaan Motor
mulai
Menampilkan Persediaan Motor
Menampilkan PersediaanBerdasarkan Group
selesai
Filter LaporanBerdasarkan Group
View
Menampilkan LaporanPersediaan
Berdasarkan Group
Mencetak PersediaanBerdasarkan Group
Gambar 2.6 Contoh Activity Diagram Melihat
Laporan Persediaan
Berikut penjelasan dari activity diagram di atas:
1. User (Direktur) memulai kegiatanMelihat laporan
persediaan dengan “memilih menu Persediaan”
2. Sistem menampilkan menu persediaan berupa
grafik.
3. Direktur dapat melihat laporan persediaan
berdasarkan group dengan memilih jenis yang
diinginkan dan ada pilihan view dan print. Ketika
eksekutif memilih view maka sistem akan
menampilkan grafik, ketika Direktur memilih
print maka laporan akan di cetak melalui printer.
62
3. Sequence Diagram
Sequence Diagram menggambarkan
interaksi antara beberapa obyek yang bergerak
berdasarkan waktu (Mathiassen, 2000). Sequence
Diagram mampu untuk menceritakan mengenai
situasi yang rumit dan dinamis mencakup object
yang dihasilkan oleh class diagram (Sholiq, 2006).
Ada beberapa tujuan mengapa harus
membuat Sequence Diagram diantaranya adalah:
1. Menggambarkan interaksi antar objek di dalam
dan di sekitar sistem termasuk pengguna,
display, dan sebagainya, yang digambarkan
dengan hubungan message dan waktu
2. Menggambarkan skenario atau rangkaian
langkah-langkah yang dilakukan sebagai respons
dari sebuah event untuk menghasilkan output
tertentu.
Menurut Munawar (2005) ada 8 operator
yang umum digunakan di interaction frame, yaitu:
a. Alt
Alternatif dari banyak fragmen. Hanya yang
kondisinya yang True yang akan dijalankan.
b. Opt
63
Merupakan singkatan dari Optional. Fragmen
yang dijalankan jika kondisi yang mendukungnya
True.
c. Par
Singkatan dari paralel. Setiap fragmen dijalankan
secara parallel.
d. Loop
Singkatan dari looping. Fragmen mungkin
dijalankan berulang kali dan guard menunjukkan
basis iterasi.
e. Region
Critical region. Fragmen hanya dapat mempunyai
satu thread untuk menjalankannya.
f. Neg
Singkatan dari negative. Fragmen menunjukkan
interaction yang salah.
g. Ref
Reference. Menunjukkan ke sebuah interaction
yang salah didefinisikan pada diagram yang lain.
h. Sd
Sequence diagram.
64
Berikut ini adalah simbol-simbol yang
digunakan dalam membuat sequence diagram:
Tabel 2.5 Komponen-komponenSequence Diagram
No. Simbol Fungsi
1
Merepresentasikan entitas yang berada di
luar sistem, mereka bisa berupa manusia,
atau perangkat sistem lain.
2
Lifeline
Merepresentasikan entitas tunggal dalam
sequence Diagram, digambarkan dengan
kotak. Entitas ini memilki nama,
stereotype atau berupa instance.
3 Message1
Self Message
Relasi ini menunjukkan bahwa suatu objek
hendak memanggil dirinya sendiri.
4.
Boundary
Menggambarkan interaksi antara satu atau
lebih actor dengan
sistem, memodelkan bagian dari sistem
yang bergantung pada pihak lain
disekitarnya dan merupakan pembatas
sistem dengan dunia luar
5.
Relasi ini digunakan untuk memanggil
operasi atau metode yang dimiliki oleh
sd sekuen
Actor1
sd sekuen
Object2
65
Message
suatu objek. Message mengharuskan kita
menyelesaikan proses baru kemudian
memanggil proses berikutnya.
Dalam sequence diagram terdapat satu
buah notasi yang disebut fragment. Fragment biasa
digunakan dengan tujuan untuk memperjelas
bagaimana sequence ini saling dikombinasikan.
Dalam mengkombinasikan, digunakan interaction
operation seperti Alt, Opt, Break, Par, Seq (Bennet
et al, 2006).
Marketing
pilih menu SO ()
order
menyimpan SO baru ()
Form Sales Order
menampilkan form SO ()
mengisi form SO ()
Menyimpan data pelanggan ()
customer
klik simpan ()
Gambar 2.7 Contoh Sequence Diagram Sales
Order
66
Berikut penjelasan dari sequence diagram di atas:
1. Marketing melakukan pemesanan dengan memilih
menu Sales Order.
2. Sistem kemudian akan menampilkan form sales
order
3. Marketing kemudian mengisi form sales order
dengan data data yang diperlukan setelah itu
memilih buttonsave.
4. Sistem kemudian menyimpan data sales order ke
dalam tabel order dan tabel customer
4. Class Diagram
Kelas didefinisikan sebagai kumpulan atau
himpunan objek yang memiliki kesamaan dalam
atribut atau property, perilaku (operasi) serta cara
berhubungan dengan objek lain. Suatu kelas juga
dapat digunakan untuk menciptakan kelas-kelas
lainnya yang mewarisi sebagian atau seluruh data,
serta fungsi yang dimiliki oleh kelas yang
disebutkan sebelumnya (Nugroho, 2009). Menurut
Mathiassen et al. (2000), dijelaskan bahwa Class
Diagrammerupakan kumpulan dari class dan
memiliki hubungan struktural.
67
Hubungan antar class dapat digambarkan
dengan notasi sebagai berikut:
a. Asosiasi
Hubungan statis antar class. Umumnya
menggambarkan class yang memiliki atribut
berupa class lain, atau class yang harus
mengetahui eksistensi class lain. Digambarkan
dengan garis yang dilengkapi dengan sebuah
label, nama dan status hubungannya. Panah
navigability menunjukkan arah query antar antar
class. Navigability merupakan sebuah properti
dari role yang menandakan bahwa mungkin
untuk melakukan navigasi uni-directional pada
asosiasi dari objek sumber ke objek tujuan.
member
-id_member-username-password-typeid_profile
+creat+edit+delete
profile
-id_profile-id_no-name-address-phone-email-bday-gender-married-education-religion-id_city
+create+edit+delete
1..*
1
Gambar 2.8Contoh Asosiasi
68
b. Agregasi
Hubungan yang menyatakan “bagian dari”,
“bagian keseluruhan” atau “terdiri atas”. Suatu
class atau object mungkin atau bisa dibagi
menjadi class atau object tertentu, dimana class
atau object yang disebut kemudian merupakan
bagian dari class atau object yang terdahulu.
Ada 2 jenis agregasi, yaitu:
1) Composite Aggregation
Disebut juga strong aggregation dimana
object “bagian” tidak dapat berdiri sendiri
tanpa object “keseluruhan”. Jadi, antara
object yang satunya saling terkait kuat
dengan object lainnya. Merupakan
multiplicity pada satu composite dan
dinotasikan dengan filled diamond.
Menunjukkan bahwa composite secara
tunggal memiliki the part.
2) Shared Aggregation
Merupakan multiplicity pada composite
yang lebih dari 1 dan dinotasikan dengan
hollow diamond. Menunjukkan bahwa the
part bisa terdapat pada instance
69
composite.
+create()
+edit()
+delete()
-id_order_sign
-id_order
-id_member
-date
-receipt
-invoice
-status
order_sign
+create()
+edit()
+delete()
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
order
+create()
+edit()
+delete()
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
item
+create()
+edit()
+delete()
-id_customer
-name
-no_ktp
-address
-id_city
customer
Gambar 2.9 Contoh Composite Aggregationdan Shared Aggregation
c. Generalisasi
Menggambarkan hubungan khusus dalam
objek anak (child) yang menggantikan
objek parent (induk). Objek anak
memberikan pengaruhnya dalam hal
struktur dan tingkah lakunya kepada objek
induk.
70
+masuk()
+keluar()
+batal()
-kode_inventory
-nama_user
inventory
+masuk()
+keluar()
+batal()
-kode_keuangan
-nama_user
keuangan
+masuk()
+keluar()
+batal()
-kode_direktur
-nama_user
direktur
+masuk()
+keluar()
+batal()
-kode_marketing
-nama_user
marketing
1
+enter()
+edit()
+cancel()
-id_hrd
-name_hrd
hrd
+enter()
+edit()
+cancel()
-id_manajer
-name_manajer
manajer
+enter()
+edit()
+cancel()
-id_admin
-name_admin
admin
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
profile
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
member
Gambar 2.10 Contoh Generalisasi
Tabel 2.6 Simbol-simbol Class Diagram
No. Simbol Fungsi
1 1. Class Name
2. Attributeadalah properti dari sebuah class.
Attribute ini melukiskan batas nilai yang
mungkin ada pada objek dari class. Sebuah class
mungkin mempunyai nol atau lebih attribute.
3. Operation adalah sesuatu yang dapat dilakukan
oleh sebuah class atau yang anda (class yang
lain) dapat lakukan untuk sebuah class.
2 Dapat diartikan sebagai relasi. Digambarkan
Attribute
Class
Operation
71
Asosiation
sebagai garis lurus antara dua kelas. Namun tidak
berarti bahwa kelas satu memiliki kelas yang lain,
tetapi kelas yang lain dapat berelasi juga dengan
kelas yang sama.
3
Cardinality atau multiplicity adalah simbol yang
menunjukkan jumlah keterhubungan dari satu
kelas dengan kelas lainnya.
72
+create()
+edit()
+delete()
-id_retur
-id_item
-date
-receipt
-quantity
-note
-retur
retur
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
profile
+create()
+edit()
+delete()
-id_order_sign
-id_order
-id_member
-date
-receipt
-invoice
-status
order_sign
+create()
+edit()
+delete()
-id_order_pay
-id_order_sign
-date
-id_member
-debt
-pay
order_pay
+create()
+edit()
+delete()
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
order
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
member
+create()
+edit()
+delete()
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
item
+create()
+edit()
+delete()
-id_city
-name_city
-id_prov
city
+create()
+edit()
+delete()
-id_prov
-name_prov
Provinsi
+enter()
+cancel()
+exit()
-id_marketing
-name_marketing
marketing
+enter()
+cancel()
+exit()
-id_keuangan
-name_keuangan
keuangan
+enter()
+cancel()
+exit()
-id_inventory
-name_inventory
inventory
+enter()
+cancel()
+exit()
-id_direktur
-name_direktur
direktur
+enter()
+cancel()
+exit()
-id_manajer
-name_manajer
manajer
+enter()
+cancel()
+exit()
-id_hrd
-name_hrd
hrd
+enter()
+cancel()
+exit()
-id_admin
-name_admin
admin
1..*
1
1..* 1..*
1
1..*
1..*
1
1
1
1..*
1
1
1..*
1
1
1 1..*
1
1..*
1..*
1
+create()
+edit()
+delete()
-id_customer
-name
-no_ktp
-address
-id_city
customer1..*
11
1
Gambar 2.11 Contoh Class Diagram dalam kasus Sistem Informasi Penjualan
PT Berkah Jaya Motor
Dari tabel diatas dapat dijelaskan bahwa:
1. Tabel member merupakan generalisasi dari tabel Marketing, Keuangan,
Inventory, Direktur, Manajer, HRD dan Admin karena memiliki atribut yang
sama.
2. Tabel profile merupakan agregasi dari tabel member karena profile adalah
bagian dari atribut tabel member.
73
2.11 Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah proses pemeriksaan atau evaluasi
sistem atau komponen sistem secara manual atau otomatis untuk
memverifikasi apakah sistem memenuhi kebutuhan-kebutuhan yang
dispesifikasikan atau mengidentifikasi perbedaan-perbedaan antara hasil
yang diharapkan dengan hasil yang terjadi (Hariyanto, 2004).
Sasaran pengujian adalah penemuan semaksimum mungkin
kesalahan dengan usaha yang dapat dikelola pada rentang waktu realistik.
Pengujian perangkat lunak merupakan tahap kritis dalam penjaminan
kualitas perangkat lunak dan merupakan review menyeluruh terhadap
spesifikasi perancangan dan pengkodean (Hariyanto, 2004).
Glen Myers menyatakan tiga sasaran pengujian, yaitu (Hariyanto,
2004):
a. Pengujian adalah proses mengeksekusi program dengan hasrat
menemukan kesalahan
b. Kasus uji yang bagus adalah mempunyai peluang tinggi menemukan
kesalahan yang sebelumnya belum ditemukan.
c. Pengujian yang berhasil adalah pengujian yang menyingkap kesalahan
yang sebelumnya belum ditemukan.
74
Manfaat pengujian (Hariyanto, 2004):
a. Pengujian akan menyingkap kesalahan di perangkat lunak
b. Pengujian mendemontrasikan fungsi-fungsi perangkat lunak bekerja
sesuai spesifikasi, kebutuhan serta terpenuhi perilaku dan sejenisnya.
Terdapat dua teknik pengujian berdasarkan ketersediaan logik
sistem, yaitu black box testing dan white box testing (Hariyanto, 2004).
2.11.1 Pengujian White-Box
Pengujian white-box adalah sebuah pengujian yang
dilakukan lebih dekat lagi untuk menguji prosedur-prosedur yang
ada. Lintasan lojik yang dilalui oleh setiap bagian prosedur yang
diuji dengan memberikan kondisi(loop) spesifik. Proses yang
terjadi pada pengujian white-box yaitu:
a. Menjamin pengujian terhadap semua lintasan yang tidak
bergantungan minimal satu kali.
b. Mencoba semua keputusan lojik dari sisi „true‟ dan „false‟.
c. Eksekusi semua loop dalam batasan kondisi dan batasan
operasionalnya
d. Pengujian validasi struktur data internal.
75
2.11.2 Pengujian Black-Box
Pengujian dengan menggunakan black box testinguntuk
berfokus pada persyaratan fungsional perangkat lunak. Dengan
demikian, pengujian black box memungkinkan perekayasa lunak
mendapatkan serangkaian kondisi input yang
sepenuhnyamenggunakan semua persyaratan fungsional untuk
suatu program (Pressman, 2007)
Pengujian black box berusaha menemukan kesalahan
dalam kategori sebagai berikut (Pressman, 2007)
1. Fungsi-fungsi yang tidak benar atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan kinerja
5. Inisialisasi dan kesalahan terminasi
Menurut pressman (2007), langkah pertama pada
pengujian black box adalah memahami objek yang dimodel dalam
perangkat lunak dan hubungan yang akan menghubungkan objek
tersebut. Maka langkah selanjutnya adalah menentukan sederetan
pengujian yang membuktikan bahwa semua objek memiliki
hubungan yang diterapkan satu dengan lainnya.
Dengan kata lain, pengujian perangkat lunak ini dimulai
dengan membuat grafik dari objek-objek yang penting dan
hubungan objek-objek serta kemudian memikirkan sederetan
76
pengujian yang akan mencakup grafik tersebut sehingga masing-
masing objek dan hubungan digunakan dan kesalahan ditemukan
(Pressman, 2007)
Salah satu contoh uji coba black box yaitu uji coba sales
order. Uji coba ini dapat dikatakan berhasil jika fungsi – fungsi
yang ada pada perangkat lunak sesuai dengan harapan pemakai.
Contohnya pada saat memasukkan data sales order, seorang actor
diwajibkan untuk memasukkan data-data sales order di form yang
tersedia. Jika salah satu dari form tersebut tidak diisi, maka akan
muncul pesan kesalahan, yang menyatakan salah satu diantara form
tidak diisi, contoh pengujian black box pada proses sales order
adalah berikut :
Tabel 2.7 contoh pengujian black box sales order
Marketing proses Sales Order
Actor : Marketing
Menu : Pesanan
Sub Menu : Sales Order
Aktivitas Rancangan
Proses
: 1. Menekan menusales order
2. Mengisi data (No SO, Nama, No
KTP, Alamat, Telepon, Merk Motor,
Jumlah)
3. Klik tombol Simpan
Tanda Peringatan
Kesalahan
: Please fill out this field
Kesesuaian
Sistem
: “Data Berhasil di simpan
Hasil Warning : OK
Accept : OK
Keterangan Tanda peringatan kesalahan dapat
menyesuaikan pada form yang belum diisi.
77
Gambar 2.12 Contoh Pengujian Black Box Halaman Sales Order
Pengujian black box testing merupakan pengujian yang
dilakukan oleh pengembangan sistem. Karena pengguna akhir
sistem memiliki pemahaman tentang sistem informasi dengan
tingkatan yang berbeda, maka seberapa jauh pengguna akhir dapat
memahami dan menerima sistem harus diuji. Pengujian inilah yang
dinamakan dengan user acceptance test. Pengujian ini dilakukan
untuk menjamin bahwa sistem telah melayani kebutuhan
organisasi.
78
2.12 Kebutuhan Aplikasi
2.12.1 Internet
Internet adalah network yang merubah cara orang
berkomunikasi, berinteraksi, dan mendefinisikan komunitas.
Internet memperkenalkan paradigma dari interaksi manusia.
Internet itu menciptakan satu titik kontak bagi orang-orang yang
dipisahkan oleh jarak, waktu yang sangat jauh dengan bantuan
teknologi informasi berkembang sangat pesat pada masa
sekarang ini.
2.12.2 Sejarah Internet dan WWW
World wide web (www) adalah suatu ruang informasi
yang dipakai oleh pengenal global yang disebut Uniform
Resource Identifier (URI) untuk mengidentifikasi sumber-
sumber daya yang berguna. World wide websering dianggap
sama dengan internet secara keseluruhan, walaupun sebenarnya
ia hanyalah bagian daripadanya.
Sejarah world wide web (www)adalah suatu program
yang ditemukan oleh Tim Berners-Lee pada tahun 1991.
Awalnya Berners-Lee hanya ingin menemukan cara untuk
menyusun arsip-arsip risetnya. Untuk itu, dia mengembangkan
suatu sistem untuk keperluan pribadi. Sistem itu adalah program
peranti lunak yang diberi nama Equire. Dengan program itu,
79
Berners-Lee berhasil menciptakan jaringan terkait antara
berbagai arsip sehingga memudahkan informasi yang
dibutuhkan. Inilah yang kemudian menjadi dasar dari sebuah
revolusi yang dikenal sebagai web. World wide web
dikembangkan pertama kali di Pusat Penelitian Fisika Partikel
Eropa (CERN), Jenewa, Swiss. Pada tahun 1989 Berners-lee
membuat proposal untuk proyek pembuatan hypertext secara
global, kemudian pada bulan Oktober 1990, “world wide web”
sudah bisa dijalankan dalam lingkungan CERN. Pada musim
panas tahun 1991, www resmi digunakan secara luas pada
jaringan Internet.
2.12.3 PHP
PHP (PHP: Hypertext Preprocessor) adalah bahasa
pemprograman server-side scripting yang menyatu dengan
HTML untuk membuat halaman web yang dinamis. Maksud dari
server-side scripting adalah syntax dan perintah-perintah yang
diberikan akan sepenuhnya dijalankan di server tetapi disertakan
pada dokumen HTML. Ketika pengguna internet akan membuka
suatu situs yang menggunakan fasilitas server-side scripting
PHP, maka terlebih dahulu server yang bersangkutan akan
memproses semua perintah PHP di server lalu mengirimkan
hasilnya dalam format HTML ke web browser. Dengan
80
demikian seorang pengguna internet tidak dapat melihat kode-
kode program yang ditulis dalam PHP sehingga keamanan dari
halaman web menjadi lebih terjamin
2.12.4 MySQL
MySQL merupakan salah satu relational database
management system (RDBMS) yang sangat cepat dan aman.
MySQL menyediakan penyimpanan database yang efesien,
pencarian dan pengelompokan yang mudah, dimana merupakan
aplikasi dasar dari RDBMS.MySQL mempunyai fungsi sebagai
SQL (Structured Query Language) yang di miliki sendiri dan
telah di perluas. Statemen SQL digunakan untuk melakukan
tugas-tugas seperti melakukan update terhadap database, atau
mengambil data dari sebuah database. Beberapa database
relasional yang menggunakan SQL dan yang cukup terkenal
diantaranya adalah: MySQL, Oracle, Sybase, Ms SQL, dan
lainya. Meskipun sebagian besar sistem database menggunakan
SQL, namun sebagian besar dari mereka juga memiliki ekstensi
khusus yang hanya bisa digunakan di sistem masing-masing.
Namun demikian, perintah standar SQL seperti “Select”,
“Insert”, “Update”, “Delete”, “Create”, dan “Drop” dapat
digunakan untuk melakukan hampir semua hal yang perlu
81
dilakukan terhadap sebuah database.Alasan menggunakan
MySQL:
1. High performance, cepat dan mudah dioperasikan.
2. Low price, mudah didapat.
3. Portability, dapat digunakan diberbagai sistem operasi.
4. Mudah dimengerti, dan merupakan dasar pembelajaran
DBMS.
2.12.4.1 Tipe Data Mysql
Menurut Kustiyahningsih dan Anamisa
(2011), “Tipe data Mysql adalah data yang terdapat
dalam sebuahtable berupafield-fieldyang berisi nilai
dari data tersebut. Nilai data dalamfieldmemiliki tipe
sendiri-sendiri”.MYSQL mengenal beberapa tipe data
fieldyaitu:
1. Tipe DataNumerik
Tipe numerik dibedakan dalam dua macam
kelompok, yaitu integer dan floating point.
Integer digunakan untuk data bilangan bulat
sedangkan floating point digunakan untuk
bilangan desimal. Tipe data numerik
selengkapnya dapat dilihat pada tabel 2.11
82
Tabel 2.8 Tipe Data Numerik
Tipe Data Kisaran Nilai
TINYINT (-128)-127 atau (0-255)
SMALLINT (-32768)-32767 atau (0-65535)
MEDUIMINT (-3888608)-8388607 atau 0-16777215
INT, INTEGER (-2147683648)-(21447683647) atau 0-
4294967295
FLOAT (-3,4 E+38)-(-1.17E-38), 0 dan 1.175E-
38-3.4e+38
DOUBLE (-1.79E+308)-(-2.225E-308), 0 dan
2.225E-308-1.79E+308
2. Tipe Data String
String adalah rangkaian karakter. Tipe-tipe data
yang termasuk dalam tipe data string dapat dilihat
pada tabel 2.12 berikut:
Tabel 2.9 Tipe Data String
Tipe Data Kisaran Nilai
CHAR 1-255 karakter
VARCHAR 1-255 karakter
TINYTEXT 1-255 karakter
TEXT 1-65535 karakter
MEDIUMTEXT 1-16777215 karakter
LONGTEXT 1- 424967295 karakter
83
3. Tipe Data Char() Dan Varchar()
Tipe data char() dan varchar() pada prinsipnya
sama, perbedaannya hanya terletak pada jumlah
memori yang dibutuhkan untuk penyimpanannya.
Memori yang dibutuhkan untuk tipe data char()
bersifat statis, besarnya tergantung pada berapa
jumlah karakter yang ditetapkan pada saat field
tersebut dideklarasikan. Pada tipe data varchar()
besarnya memori penyimpanan tergantung pada
jumlah karakter tambah 1 byte, dapat dilihat pada
tabel 2.13
Tabel 2.10 Letak Perbedaan Jumlah Memori
Nilai Char(4) Memori
penyimpanan
Varchar
(4)
Memori
Penyimpanan
“ “ 4 bytes “ 1byte
„ab‟ „ab‟ 4 bytes „ab‟ 3 bytes
„abcd‟ „abcd‟ 4 bytes „abcd‟ 5 bytes
„abcdefgh‟ „abcd‟ 4 bytes „abcd‟ 5 bytes
4. Tipe Data Tanggal
Untuk tanggal dan jam, tersedia tipe-tipe data
field berupa DATETIME, DATE, TIMESTAMP,
TIME, dan YEAR. Masing-masing tipe
mempunyai kisaran nilai tertentu. MYSQL akan
memberikan peringatan kesalahan (error) apabila
84
tanggal atau waktu yang dimasukkan salah.
Kisaran nilai besar memori penyimpanan yang
diperlukan untuk masing-masing tipe dapat
dilihat pada tabel 2.11
Tabel 2.11 Tipe Data Tanggal
Tipe Data Kisaran Nilai Memori
penyimpanan
DATETIME 1000-01-01 00:00 sampai 9999-12-
31 23:59:59
3 byte
DATE 1000-01-01 sampai 9999-12-31 8 byte
TIMESTAMP 1970-01-01 00:00:00 sampai 2037 4 byte
TIME -839:59:59 sampai 838:59:59 3 byte
YEAR 1901 sampai 2155 1
2.13 Metode Rata-Rata Bergerak Sederhana (Simple Moving Average)
Prakiraan dengan metode ini didasarkan pada proyeksi serial data
yang dimuluskan dengan rata rata bergerak. Nilai prakiraan untuk suatu
periode merupakan rata-rata dari nilai observasi N periode terakhir. Istilah
rata-rata bergerak digunakan karena setiap kali observasi baru (data aktual)
tersedia, angka rata-rata yang baru dihitung dengan memasukkan data
terbaru dan mengeluarkan data periode lama. Rata-rata yang baru ini
kemudian dipakai sebagai prakiraan untuk periode yang akan datang dan
seterusnya. Serial data yang digunakan jumlahnya selalu tetap dan termasuk
data periode terakhir (Eddy Herjanto, 2008).
85
Secara matematika, rumus prakiraan dengan metode rata-rata
bergerak sederhana sebagai berikut:
Ft+1 = Xi
t−N+1i=1
𝑁=𝑋𝑡 + 𝑋𝑡−1 + …+ 𝑋𝑡−𝑁+1
𝑁
Dimana :
𝑋𝑡 = data observasi periode t
𝑁 = panjang serial waktu yang digunakan
𝐹𝑡+1 = Nilai prakiraan periode 𝑡 + 1
Berikut ini merupakan contoh perhitungan prakiraan dengan
menggunakan metode rata-rata bergerak sederhana dengan serial waktu 3
periode dan 5 periode.
Tabel 2.12 Perhitungan simple moving average
Periode (t) Nilai
Pengamatan (Xt)
Nilai Prakiraan (Ft)
(N=3) (N=5)
1 41 - -
2 40 - -
3 42 - -
4 43 41,0 -
5 41 41,7 -
6 42 42,0 41,4
7 41 42,0 41,6
8 40 41,3 41,8
9 43 41,0 41,4
10 42 41,3 41,4
11 44 42,0 41,8
12
86
Prakiraan permintaan pada periode ke-10 dapat dihitung sebagai
berikut:
Untuk : N = 3 𝐹10 =43+40+41
3= 41,3
N = 5 𝐹10 =43+40+41+42+41
5= 41,4
Semakin panjang serial waktu yang digunakan, grafik prakiraannya
akan semakin halus (pengisolasian faktor random makin halus) tetapi
semakin kurang responsive terhadap data aktualnya.
2.14 Basis Data dan Sistem Manajeman Basisdata
2.14.1 Pengertian Basis Data dan Sistem Manajemen Basisdata
Basisdata merupakan kumpulan data yang saling
berhubungan yang merefleksikan fakta-fakta yang terdapat di
organisasi (Bambang H)
Sistem manajemen basisdata atau Database Management
Systemmerupakan perangkat lunak untuk mendefinisikan,
menciptakan, mengelola dan mengendalikan pengaksesan basisdata
(Bambang H, 2004)
2.14.2 Keunggulan dan Kelemahan DBMS
Sistem Manajemen basisdata mempunyai keunggulan dan
kelemahan. Keunggulan dari sistem manajemen basis data
(Bambang H, 2004) yaitu:
a. Pengendalian terhadap redundansi data
87
b. Konsistensi data
c. Informasi yang lebih banyak yang dapat dibentuk dari data
tersimpan yang sama
d. Pemakaian bersama data
e. Peningkatan integritas data
f. Pemaksaan terhadap standar
g. Skala ekonomi
h. Penyeimbang kebutuhan-kebutuhan sumber daya yang terbatas
i. Peningkatan pengaksesan dan daya tanggap data
j. Peningkatan produktivitas
Sedangkan kelemahan sistem manajemen basisdata yaitu:
a. Kompleksitas yang tinggi
b. Ukuran perangkat lunak yang besar
c. Ongkos sistem manajemen basisdata untuk pengadaan, operasi
dan perawatan
d. Penambahan ongkos-ongkos perangkat keras untuk
menjalankan DBMS
e. Ongkos konversi dari sistem lama kesistem baru
f. Kinerja yang rendah bila tidak mampu menggunakan dengan
bagus
g. Dampak yang tinggi bila terdapat kegagalan.
88
2.15 Mapping Problem Domain Object to an RDBMS Format
Menurut Dennis et, al (2005) cara memetakan problem domain
object dalam class diagram ke format RDBMS ada delapan tahapan, yaitu:
1. Petakan semua class konkret dalam problem domain ke tabel RDBMS.
Jika, problem domain class abstrak memiliki beberapa subclass
langsung, petakan juga ke dalam tabel RDBMS.
2. Petakan atribut bernilai tunggal ke dalam kolom tabel.
3. Petakan metode untuk disimpan di dalam prosedur atau modul program.
4. Petakan agregasi yang bernilai tunggal dan hubungan asosiasi dengan
kolom yang dapat menyimpan primary key dari tabel terkait, yaitu,
menambahkan foreign key ke dalam tabel. Lakukan hal tersebut untuk
kedua sisi yang berhubungan.
5. Petakan atribut multi-valued dan buat hubungan one-to-many dari tabel
yang asli ke tabel yang baru.
6. Petakan multi-valued agregasi dan hubungan asosiasi ke tabel asosiatif
baru yang menghubungkan dua tabel asli bersama-sama. Masukkan
primary key dari kedua tabel tersebut ke dalam tabel asosiatif yang
baru, yaitu menambahkan foreign key ke tabel.
7. Untuk hubungan agregasi dan asosiasi dengan tipe campuran, copy
primary key dari sisi single-valued (1..1 atau 0..1) ke kolom baru pada
tabel yang memiliki hubungan multi-valued (1..* atau 0..*) yang dapat
menyimpan primary key dari tabel terkait. Yaitu menambahkan foreign
key ke tabel multi-valued.
89
8. Untuk hubungan generalisasi, pastikan bahwa primary key dari
subclasssama dengan primary key dari superclass. Multiplicity dari
hubungan asosiasi yang baru dari subclass ke superclass harus 1..1. Jika
superclass konkret, yaitu mereka dapat menginisiasi sendiri, maka
multiplicity dari superclass ke subclass adalah 0..*, jika tidak konkret
hubungannya adalah 1..1. Selanjutnya, Exclusive-or (XOR) harus
ditambahkan kedalam asosiasi. Lakukan langkah ini untuk setiap
superclass. Atau, sesuaikan inheritance dengan menyalin atribut
superclass ke semua subclass dan hapus superclass dari desain.
Berikut ini adalah contoh mapping dari class diagram ke RDBMS tabel
beserta penjelasannya:
+masuk()
+keluar()
+batal()
-kode_inventory
-nama_user
inventory
+masuk()
+keluar()
+batal()
-kode_keuangan
-nama_user
keuangan
+masuk()
+keluar()
+batal()
-kode_direktur
-nama_user
direktur
+masuk()
+keluar()
+batal()
-kode_marketing
-nama_user
marketing
1
+enter()
+edit()
+cancel()
-id_hrd
-name_hrd
hrd
+enter()
+edit()
+cancel()
-id_manajer
-name_manajer
manajer
+enter()
+edit()
+cancel()
-id_admin
-name_admin
admin
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
profile
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
member
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
t_member
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
t_profile 1 1
Gambar 2.13 contoh Mapping Class Diagram pada kasus Sistem
Informasi Penjualan Pada PT. Berkah Jaya Motor
90
1. Class user dan generalisasi dari class user terpetakan menjadi
beberapa tabel yaitu: tabel data pegawaidan user.
2. Class Marketing, Keuangan, Inventory dan Direktur Class Abstrak
karena memiliki hubungan Generalisasi dengan Class User
sehingga tidak menjadi tabel.
2.16 Activity / Entity (CRUD) Matrix
Data – to – location – CRUD matriks adalah matriks yang
digunakan untuk memetakan persyaratan data ke lokasi atau tabel dengan
kolom yang mengidentifikasikan entitas (dan kemungkinan atribut). Kolom
tersebut mengindikasikan lokasi, dan selnya (berpotongan baris dan kolom)
mengindikasikan tingkat akses dokumen dengan C = create, R = read, U=
update atau modify, dan D= delete atau deactivate (Whittenet al, 2004).
Tabel 2.13 Contoh Data To Location CRUD Matrix
Location
Entity – Attribute
M K I D MJ H A
Member R R R R R R R
Id_member R R R R R R R
Username R R R R R R R
Password R R R R R R R
Type R R R R R R R
Id_profile R R R R R R R
91
2.17 Spesifikasi Database
Menurut Jogiyanto (2008) Spesifikasi Database menggambarkan
struktur data fisik pada suatu sistem atau aplikasi. Spesifikasi database
menyajikan bagaimana penyimpanan data dilakukan di software database.
Bentuk dari spesifikasi database sendiri secara umum berupa tabel yang
menyajikan informasi field untuk seluruh tabel yang digunakan. Informasi
field yang ditampilkan antara lain namafield, tipe field, panjang field dan
field yang menjadi field kunci (primary key).
Secara sederhana, untuk membuat spesifikasi database dapat
menggunakan Microsoft Word atau Open Office Writer. Informasi tabel dan
field berasal dari hasil analisis sistem berupa class diagram. Dari spesifikasi
database kemudian membuat struktur tabel di suatu DBMS
seperti MySQL atau Oracle.
Adapun contoh dari spesifikasi database adalah sebagai berikut:
Tabel 2.14contoh spesifikasi database
Nama Field Tipe data Ukuran Keterangan
Username Varchar 25 Nama user
Password Varchar 25 Password
Id_level Int 2 Id level
NIP Varchar 15 Nomor Induk Pegawai
92
2.18 Konsep Standar Operasional Prosedur (SOP)
Menurut Kementrian Pendayagunaan Aparatur Negara (Kemenpan),
Standar Operasional Prosedur adalah serangkaian instruksi tertulis yang
dibakukan mengenai berbagai proses penyelenggaraan aktivitas organisasi,
bagaimana dan kapan harus dilakukan, dimana dan oleh siapa dilakukan.
Menurut Kemenpan, standar operasional prosedur teknis adalah
prosedur standar yang sangat rinci dari kegiatan yang dilakukan oleh satu
orang aparatur atau pelaksana dengan satu peran atau jabatan (Kementrian
Pendayagunaan Aparatur Negara, 2012).
Tabel 2.15 Contoh SOP Diagram
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Marketing
· -
· Tabel Motor
Melihat Produk
2. Malakukan
Sales Order
Mulai
3.
Melanjutkan
Sales Order Batal?
Menampilkan
Sales Order
4.
Surat
Pengiriman
Motor
5.
· Marketing
· Sales Order
· -
· Marketing
· -
· Sales Order
Tidak
Ya
Selesai
· Marketing
· -
· -
· Marketing
· Bukti Sales
Order
· Tabel
Konfirmasi
Sales Order
A B
Dari gambar di atas terlihat bahwa ada alur dari proses sales order
pada marketing, dimulai dari marketing melihat produk, lalu melakukan
93
sales order, setelah produk yang diingikan di pesan, akan menampilkan
tabel sales order yang baru, disini dapat dilihat semua produk-produk yang
telah dipesan, apabila produk yang telah dipesan tidak jadi di order,
marketing tinggaal pilih batal sistem akan menampilkan ke tampilan awal
atau sales order, jika inggin melanjutkan pemesan, marketing tinggal
membuat Surat Pengiriman Motor untuk diberikan ke bagian keuangan dan
inventory, supaya pesanan motor dapat disetujui oleh bagian keuangan dan
bagian inventory dapat mengirim motor sesuai dengan yang di pesan.
2.19 Konsep Laporan
2.19.1 Laporan
Menurut Ogders, laporan merupakan bentuk komunikasi
secara tertulis atau lisan mengenai suatu hal tertentu sesuai dengan
tujuan penulisannya (Sukoco, 2007).
Laporan adalah alat komunikasi tertulis yang memuat
hasil pengolahan data dan informasi serta memberikan kesimpulan
atau rekomendasi atas fakta-fakta atau keadaan-keadaan yang telah
diselidiki sebelumnya.
2.19.2 Fungsi Laporan
Menurut Locker, laporan memiliki berbagai fungsi yang
saling berkaitan satu sama lain. Adapun manfaat tersebut (Sukoco,
2007), yaitu:
94
1. Sebagai sarana komunikasi vertikal
Salah satu sarana komunikasi antara atasan dengan bawahan
adalah laporan dengan laporan pihak bawahan dapat
menginformasikan berbagai kegiatan dan masukan berupa idea
atau gagasan terhadap suatu permasalahan. Sedangan pihak
pimpinan dapat memperoleh berbagai data dan informasi yang
kemudian dapat diolah, dikembangan dan digunakan sebagai
pertimbangan pengambilan keputusan serta perencanaan lebih
lanjut. Selain itu pimpinan juga dapat memberikan penilaian
permasalahan dan kinerja bawahan. Dengan demikian, laporan
dapat menciptakan komunikasi antara atasan dengan bawahan
dan sebaliknya.
2. Sebagai alat pertanggung jawaban
Laporan merukapan manifestasi dari bentuk komunikasi vertikal
dari atas ke bawah. Sebagai bentuk pertanggungjawaban
terhadap tanggung jawab dan wewenang yang telah diberikan
oleh atasan, laporan merupakan alat yang paling tepat untuk
mempertanggungjawabkan kepercayaan dan wewenang yang
telah diterimanya.
3. Memberikan informasi penting
Laporan harus beriisi informasi faktual dan pemikiran-
pemikiran yang rasional, argumentative, dan objektif sebagai
tanggapan terhadap fenomena faktual tersebut. Oleh karena itu,
95
laporan dapat digunakan sebagai sumber informasi penting
dalam pengambilan keputusan manajerial.
4. Sebagai bahan pengambilan keputusan
Laporan merupakan susunan dan kajian informasi yang
dituangkan secara lengkap, jelas, komprehensif, benar, objektif,
dan sistematis. Sehubungan dengan itu, laporan dapat digunakan
sebagai sumber pertimbangan dalam pengambilan keputusan
atau kebijaksanaan bagi unit dan organisasi secara keseluruhan.
Oleh karena itu, laporan harus disusun sebagaimana yang
disyaratkan di atas, karena apabila dalam suatu laporan
disajikan tidak objektif maka keputusan yang diambil akan
menyimpang dan tidak tepat. Dalam penyusunan laporan harus
dihindarkan praktek “ABS” (Asal Bapak Senang), karena hal ini
justru akan menghasilkan keputusan yang tidak tepat dan lambat
laun akan menghancurkan organisasi.
2.19.3 Jenis Laporan
Menurut Quible, terdapat berbagai macam laporan yang
semuanya tergantung yang digunakan, (Sukoco, 2007)yaitu:
1. Berdasarkan waktu penyampaian
Jika dilihat dari segi waktu penyampaian, laporan dapat
diklasifikasikan menjadi 2, yaitu :
96
a. Laporan rutin, laporan ini sering dikatakan laporan berkala
atau periodik. Laporan ini dibuat secara rutin secara periode
waktu tertentu, misalnya mingguan, bulanan atau triwulan.
Laporran ini biasanya berisi tentang pelaksanaan aktivitas
pada satuan unit organisasi atau tugas individu dalam
organisasi. Contoh laporan rutin antara lainlaporan
manajemen dalam siding RUPS (Rapat Umum Pemegang
Saham) dan laporan pertanggungjawaban Presiden RI setiap
tanggal 16 Agustus.
b. Laporan incidental, merupaka laporan yang dibuat yang
disampaikan pada waktu yang tidak terjadwal secara tetap.
Laporan ini disusun bila ada suatu hal yang dipandang sangat
penting atau ada kegiatan yang bersifat khusus dan
mendadak. Contohnya laporan bencana alam, laporan hasil
penelitian, dan lain-lain.
2. Berdasarkan cara penyampaian
Jika dilihat dari segi penyampaiannya, laporan dapat
diklasifikasikan menjadi 3, yaitu:
a. Laporan lisan, laporan ini tidak memerlukan penulisan
khusus, karena pelapor mengungkapkan isi laporannya
secara lisan kepada pimpinan, baik dengan bertatap muka
secara langsung maupun melalui telepon. Tetapi penting
diperhatikan penyampaian laporan melalui telepon, menurut
97
etika perkantoran, dianggap kurang sopan. Laporan lisan
disampaikan bila hal-hal yang dilaporkan bersifat
informative yang tidak berakibat atau pengaruh yang fatal.
Dapat dibagangkan bila laporan keuangan perusahaan yang
terdiri dari banyak mata anggaran tentu tidak mungkin
disampaikan secara lisan, tetapi harus dilaporkan secara
tertulis. Salah satu kelemahan dari laporan lisan adalah
adanya ketidakleluasaan untuk mengungkapkan isi laporan,
baik karena waktu yang terbatas maupun tekanan psikologis
pelapor terhadap pimpinan.
b. Laporan tertulis, laporan yang disampaikan dalam bentuk
tulisan biasanya diketik di komputer, yang memberikan
keleluasaan penggunaan data yang mendukung dalam
bentuk diagram atau gambar yang mendukung isi laporan.
Mengenai berapa banyak yang akan dilaporkan tergantung
pada kebutuhan, apakah laporan dapat dibuat secara ringkas
atau perlu pembahasan secara mendalam. Laporan ini bias
berbentuk formal atau informal. Melalui laporan tertulis
diharapkan informasi yang disajikan lebih terstruktur dan
dengan analisis yang mendalam.
c. Laporan visual, laporan ini disajikan dalam bentuk
gambar, entah itu lukisan, foto, film atau slide. Laporan ini
biasa kita temui pada berita yang ditayangkan dalam
98
televise atau film dokumentasi yang dibuat untuk
melaporkan kejadian tertentu sehingga membutuhkan biaya
yang relatif lebih besar.
3. Berdasarkan bentuk
Dilihat dari segi bentuknya, laporan dapat
diklasifikasikan menjadi 3, yaitu:
a. Laporan berbentuk surat, isi laporan ini terbatas, biasanya
terdiri dari poin-poin terpenting saja yang perlu ditulis di
dalamnya.
b. Laporan berbentuk formulir, laporan ini disajikan dengan
bentuk dan format yang tetap. Dengan demikian yang
berubah hanya isi laporan, tetapi materi yang dilaporkan
tetap. Laporan ini digunakan untuk laporan yang bersifat
rutin, misalnya laporan penjualan, laporan pembelian,
laporan penilaian hasil kerja, dan laporan unit produksi.
c. Laporan berbentuk karangan atau naskah, laporan dibuat
dalam bentuk karangan, karena informasi yang akan
disampaikan cukup banyak. Biasanya untuk menulis
laporan formal seperti skripsi, tesis atau desertasi. Contoh
lainnya adalah laporan feasibility study (laporan studi
kelayakan) sebuah bisnis baru.
99
4. Berdasarkan sifat penyajian
Jika dilihat dari sifat penyajiannya, laporan dapat
diklasifikasikan menjadi 2, yaitu:
a. Laporan formal, bersifat analisis yang dibuat dengan
mengikuti aturan resmi dalam pembuatan laporan dan
didukung oleh dokumen-dokumen resmi. Salah satu yang
penting diperhatikan adalah penulis harus mampu
menginterpretasikan data dengan benar. Kekeliruan dalam
menginterpretasikan data akan berdampak pada kesalahan
dalam pembuatan kesimpulan atau rekomendasi. Dalam
pembuatan kesimpulan, unsur subjektivitas laporan tidak
boleh dimasukkan ke dalam laporan agar laporan yang dibuat
benar dan bersifat objektif.
b. Laporan informal, laporan ini biasanya diwujudkan dalam
bentuk e-maill, memo atau surat yang dibuat dengan
mengikuti aturan pembuatan laporan pada umumnya.
Pembuat laporan dapat membuat bentuk laporan sesuai
dengan keinginannya sendiri dan sering tanpa disertai dengan
dokumen-dokumen pendukung materi laporan.
5. Berdasarkan maksudnya
Jenis laporan yang ditinjau dari maksudnya pada
dasarnya dibedakan atas ada dan tidak adanya tingkat analisis
laporan tersebut, diantaranya:
100
a. Laporan informatif, laporan ini biasanya untuk
menginformasikan tentang suatu hal. Karena bersifat member
informasi, pelapor tidak harus memberikan analisis atau
rekomendasi terhadap yang dilaporkan.
b. Laporan rekomendasi, laporan ini selain untuk
menyampaikan informasi juga menyertai pendapat si pelapor
berupa penilaian atau tindak lanjut dari penilaian terhadap
suatu hal atas dasar pengamatan sekilas, bukan atas dasar
penilaian mendalam.
c. Laporan pertanggung jawaban, laporan ini memberikan
informasi kepada atasan mengenai pelaksanaan program
kerja tertentu, baik dilihat dari segi proses, keberhasilan atau
kegagalan suatu program, factor penghambat dan
pendukungnya.
101
BAB III
METODOLOGI PENELITIAN
3.1. Metode Pengumpulan Data
Dalam menyelesaikan skripsi ini penulis memerlukan data-data serta
informasi yang relatif lengkap sebagai bahan yang dapat mendukung
kebenaran materi uraian dan pembahasan. Oleh karena itu, Sebelum skripsi
ini dilakukan, diperlukan suatu riset agar penulis lebih terarah. Dalam
penelitian ini, metode pengumpulan data yang digunakan oleh penulis
adalah menggunakan empat cara, yaitu: observasi, wawancara, studi pustaka
dan studi literatur sejenis.
3.1.1 Observasi
Observasi dilakukan selama bulan Februari dan Maret 2014
pada PT. Berkah Jaya Motor. Berdasarkan pengamatan yang
dilakukan, diperoleh informasi-informasi mengenai:
1. Sejarah singkat PT Berkah Jaya Motor.
Memuat tentang latar belakang mengenai sejarah awal berdirinya ,
visi dan misinya.
2. Struktur Organisasi
Menjelaskan tentang hubungan kerja, wewenang dan tanggung
jawab tiap bagian pada instansi tersebut.
102
3. Sistem atau proses bisnis yang berjalan
Menjelaskan tentang sistem atau proses bisnis yang sedang berjalan
pada instansi saat ini dalam hal penjualan Motor.
3.1.2 Wawancara
Dalam hal ini, wawancara dilakukan dengan Ahmad Yani
selaku direktur PT Berkah Jaya Motor pada tanggal 07 Februari 2014
yang bertempat di kantor PT. Berkah Jaya Motor. Ada beberapa
pertanyaan yang penulis berikan untuk mendapatkan kebutuhan yang
diperlukan dalam rancang bangun sistem informasi penjualan ini
Tabel. 3.1 Wawancara
Topik Penelitian: “Sistem Informasi Penjualan PT. Berkah Jaya
Motor”
Nama Unit
Terkait:
Saepul Bahri (Peneliti), Bapak Ahmad Yani
(Direktur)
Pembahasan: Tentang proses bisnis, alur penjualan, data
pelanggan dan beberapa hal yang harus diketahui
eksekutif dalam laporan penjualan motor di PT.
Berkah Jaya Motor
Hari dan Tanggal: Jum‟at, 07 Februari 2014
Tempat: PT. Berkah Jaya Motor
Jl. Kp. Sawah RT 01/02 No. 25 Kelurahan
Jatimulya Kecamatan Cilodong – Depok
Pukul: 14.00 – 16.00 WIB
Draft Pertanyaan: 1. Bagaimana proses penjualan yang ada pada
103
PT. Berkah Jaya Motor?
2. Adakah kendala yang dihadapi dalam proses
penjualan?
3. Bagaimana dengan proses pembuatan laporan?
4. Solusi apa yang diharapkan dari masalah yang
ada?
Dari hasil wawancara tersebut dikumpulkan data dan informasi
berupa data proses penjualan yang terdapat pada PT. Berkah Jaya
Motor beserta kendala kendala yang dihadapi pada proses penjualan
tersebut. Adapun hasil wawancara selengkapnya dapat dilihat pada
lampiran.
3.1.3 Studi Pustaka
Studi pustaka dilakukan dengan mempelajari teori-teori, buku-
buku serta artikel-artikel yang berkaitan dengan sistem informasi
penjualan, analisis dan perancangan sistem informasi, metodologi
penelitian, pemrograman. Selain itu penulis juga mengumpulkan data
dari situs-situs internet yang berhubungan dengan skripsi penulis.
Studi pustaka ini dilakukan sebagai bahan tambahan untuk membantu
agar konsep yang akan diangkat lebih terarah.
104
3.1.4 Studi Literatur Sejenis
Penulis mengamati penelitian sebelumnya sebagai acuan dan
membandingkan untuk membuat usulan sistem lebih baik.
Pengamatan yang penulis lakukan dengan membaca referensi dari
beberapa sumber penelitian yang sejenis.
Adapun sumber literatur sejenis yang digunakan dalam
penulisan penelitian ini dapat dilihat pada bab 2 sub bab literatur.
3.2 Metode Pengembangan Sistem
Data-data yang diperoleh dari hasil observasi kemudian dicocokan
dengan data arsip dan dianalisis. Pengembangan Sistem Informasi Penjualan
ini menggunakan model RAD yang meliputi scope definition, analysis,
design, construction & testing. Penelitian ini alur yang dilalui hanya sampai
construction and testing, sedangkan untuk pengembangan dan implementasi
lebih lanjut diserahkan kepada instansi atau peneliti lain yang berminat.
Metode pengembangan sistem ini menggunakan tool UML (Unified
Modelling Language).
3.2.1 Scope Definition
Pada tahap ini, penulis dan user melakukan sejenis pertemuan
untuk menggambarkan permasalahan, menentukan ruang lingkup
pengembangan sistem, mengidentifikasi tujuan dari sistem dan
kebutuhan informasi untuk mencapai tujuan.
105
3.2.2 Analysis
Pada tahap ini, penulis menjabarkan tentang permasalahan
yang terjadi pada sistem yang sedang berjalan dan analisis sistem yang
diusulkan untuk memperbaiki sistem yang lama. Penulis
menggunakan rich picture dalam memvisualisasi prosedur sistem
yang sedang berjalan dan prosedur sistem usulan. Dalam tahap
analisis sistem ini terdapat tiga tahapan, yaitu:
1. Problem Analysis, mempelajari bagaimana proses pembuatan
laporan yang telah berjalan dan mendefinisikan masalah-masalah
yang terdapat di dalamnya.
2. Requirement Analysis, menganalisa kebutuhan yang diperlukan
dalam permasalahan system tersebut.
3. Decision Analysis, menentukan solusi yang akan digunakan dalam
mengatasi masalah pada sistem beserta rich picture sistem yang
akan diusulkan.
3.2.3 Design
3.2.3.1 Desain Proses
Pada tahap desain proses, tools-nya menggunakan
Diagram-Diagram UML (Unified Modelling Language).
Namun tidak semua Diagram yang disediakan oleh UML
digunakan dalam perancangan sistem ini. Hanya beberapa
106
Diagram UML saja yang digunakan oleh penulis, yang
menurut penulis dapat mendukung perancangan aplikasi ini.
Adapun Diagram yang digunakan oleh penulis adalah sebagai
berikut:
1. Use Case Diagram, pada tahap ini penulis
menggambarkan Diagram yang menjelaskan aktifitas
yang dilakukan sistem informasi penjualan yang akan
dibangun dan siapa saja actor yang berinteraksi dengan
sistem ini.
a. Identifikasi Actor, pada tahap ini penulis
mengidentifikasi actor-actor yang terlibat dalam
sistem ini dan apa saja tugas-tugasnya di dalam sistem
informasi penjualan.
b. Perancangan Use Case, pada tahap perancangan use
case ini penulis menggambarkan use case beserta
hubungannya dengan actor-actor yang terlibat di
dalam sistem.
c. Use Case Narrative, menjelaskan secara narasi
Diagram use case sistem informasi penjualan ini.
2. Activity Diagram, pada tahap perancangan diagram ini
menggambarkan berbagai alir aktifitas apa yang
dilakukan user dan sistem dalam sistem informasi
107
penjualan ini, serta bagaimana masing-masing alir
berawal sampai bagaimana mereka berakhir.
3. Sequence Diagram, pada tahap ini penulis
menggambarkan diagram yang menjelaskan secara detail
urutan proses yang dilakukan oleh sistem informasi
penjualan untuk mencapai tujuan dari use case, interaksi
antar class, operasi apa saja yang terlibat, urutan antar
operasi dan informasi yang diperlukan oleh masing-
masing operasi.
4. Class Diagram, pada tahap ini penulis menggambarkan
Diagram yang menunjukkan hubungan antara class
dalam sistem informasi penjualan ini dan bagaimana
mereka saling berkolaborasi untuk mencapai suatu
tujuan.
3.2.3.2 Desain Database
Pada desain database, penulis merancang database
yang akan digunakan dalam sistem informasi penjualan
dengan menggunakan class diagram dan mapping diagram
yang berguna mengoptimalkan database. Diikuti dengan
desain input (form) / output (laporan) sebagai pembentuk
attribute dalam tabel database dan matriks (CRUD). Diakhiri
108
dengan schemadatabase untuk membantu spesifikasi
database.
3.2.3.3 Desain Interface
Pada tahap desain interface, penulis merancang
tampilan antar muka yang sesuai dengan kebutuhan pengguna
sehingga sistem informasi penjualan ini dapat digunakan
secara maksimal oleh para penggunanya.
3.2.4 Construction &Testing
Setelah melakukan analisis dan perancangan sistem, saatnya
sistem untuk diimplementasikan. Pada tahap ini terdapat beberapa
aktifitas-aktifitas yang dimaksud yaitu:
1. Pemrograman (Coding)
Pada tahap ini hasil desain dimasukkan ke dalam bentuk
bahasa pemrograman yang digunakan agar dapat dijalankan dalam
bentuk aplikasi. Adapun perangkat lunak yang digunakan dalam
proses pemrograman ini adalah Sublime Text sebagai software
editor, Adobe Photoshop CS3 untuk mengolah gambar, AppServ
v2.2.17 yang mencakup: Xampp versi 1.7.4 untuk web server, PHP
versi 5.3.5 bahasa pemrograman, dan MySQL versi 3.3.9 untuk
database.
109
2. Pengujian Sistem (Back Box Testing)
Pada tahap ini dilakukan uji coba terhadap sistem baru agar
dapat digunakan tanpa menemukan kendala apapun. Adapun
ujicoba yang akan dilakukan menggunakan metode Black Box
Testing. Pada pengujian Black Box Testing, tidak perlu diketahui
apa yang sesungguhnya terjadi dalam sistem/perangkat lunak.
Karena yang diuji adalah input/output. Pengujian secara Black Box
merupakan pendekatan menguji apakah setiap fungsi di dalam
program dapat berjalan dengan benar. Berikut beberapa proses
yang dilakukan dalam pengujian ini, yaitu:
a. Fungsi-fungsi yang tidak benar, baik input maupun output.
b. Kesalahan interface.
c. Kesalahan dalam struktur data atau akses database.
3.3 Kerangka Berpikir
Kerangka berpikir terdiri atas pengumpulan data dan metode
pengembangan sistem. Kerangka berpikir yang dilakukan pada penulisan
skripsi ini adalah sebagai berikut:
110
Mulai
Metode
Pengumpulan
Data
Observasi
Studi Literatur
Sejenis
Wawancara
Studi Pustaka
RAD
(Whitten, 2004)
Metode
Pegembangan
Sistem
Scope Definition
Analysis
Problem Analysis
Requirement
Analysis
Decision Analysis
Analisis Sistem
Berjalan
Identifikasi
Masalah
Sistem Usulan
Flowchart SOP
Design
Desain Database
Desain Interface
Desain Proses
Use Case Diagram
Activity Diagram
Class Diagram
Identifikasi Actor
Perancangan Use
Case
Use Case Narative
Matriks CRUD
Mapping Class
Diagram
Schema Database
Construction &
Testing
Pemrograman
Pengujian
(Testing)Black Box Testing
Selesai
Spesifikasi
Database
Identifikasi Use
Case
Sequence
Diagram
Gambar 3.1 Kerangka Berpikir
111
BAB IV
SISTEM INFORMASI PENJUALAN
Untuk perancangan sistem, metode yang digunakan adalah metode Rapid
Application Development (RAD) yang terdiri atas tahap Scope definition,
Analysis, Design, Contruction and testing sesuai dengan fase-fase pengembangan
sistem informasi penjualan.
4.1. Scope Definition
4.1.1. Gambaran Umum Perusahaan
PT Berkah Jaya Motor merupakan salah satu perusahaan
yang bergerak dalam bidang penjualan motor bekas (second). PT.
Berkah Jaya Motor didirikan oleh Bapak H. Ahmad Yani pada
tanggal 27 Januari 1995 setelah sebelumnya menjalankan usaha ini
dengan nama perorangan karena keterbatasan modal. Modal awal
yang disertakan dalam bisnis ini sebesar Rp 50.000.000,00 dalam
bentuk kekayaan bersih tidak termasuk tanah dan bangunan
perusahaan. Dan setelah meyakini bahwa kebutuhan akan usaha ini
akan melonjak besar seiring dengan makin banyaknya permintaan
pasar di kota-kota besar di Indonesia khususnya di Jabodetabek,
maka didirikanlah perusahaan ini. Dan sampai saat ini telah memiliki
2 cabang di Depok dan di Bogor
112
PT. Berkah Jaya Motor berlokasi di Jalan Jatimulya RT
01/02 No. 25 Kelurahan Jatimulya Kecamatan Cilodong Depok ini
telah banyak memberikan kepuasan kepada masyarakat dengan
kualitas motor dan harga yang terjangkau.
Sejak berdirinya hingga sampai saat ini PT. Berkah Jaya
Motor mengalami perubahan yang meningkat baik dari kualitas
pekerjaannya hingga profesionalitas para pekerjanya yang
menerapkan etos tinggi dalam bekerja.
4.1.2. Visi dan Misi
1. Visi : Memimpin pangsa pasar sepeda motor di Indonesia dengan
merealisasikan impian pelanggan, menciptakan kegembiraan dan
berkontribusi terhadap masyarakat Indonesia.
2. Misi : Menciptakan solusi mobilitas yang terjangkau bagi
masyarakat Indonesia dengan produk dan layanan terbaik.
4.1.3. Struktur Organisasi
Gambar 4.1 Struktur Organisasi
Direktur
Manajer
Marketing Keuangan Inventory Admin/IT HRD
113
4.1.4. Tugas dan Tanggung Jawab
1. Direktur
Direktur memiliki tugas untuk mengendalikan jalannya
perusahaan agar sesuai dengan visi misi perusahaan yang telah
dibuat sebelumnya. Selain itu, direktur memiliki tugas untuk
membuat dan menetapkan kebijakan, membuat rencana strategis,
menetapkan prosedur untuk kemajuan perusahaan, serta
menyusun rencana kerja tahunan perusahaan.
2. Manager
Manager memberikan laporan kepada direktur mengenai kondisi
internal dan eksternal perusahaan, serta memberikan masukan dan
bahan pertimbangan kepada direktur dalam penyusunan
kebijakan, dan perencanaan strategis untuk kemajuan perusahaan.
Menerima dan meminta laporan dari tiap bagian atau unit kerja
secara berkala yang telah dikontrol. Pengarahan (direction) yang
mencakup kebijaksanaan, supervisi, dan lain-lain. Merancang
organisasi dan pekerjaan.
3. Marketing
Marketing bertugas menjaga dan mempertahankan hubungan
yang baik dengan para pelanggan, menerima pesanan dari para
pelanggan baik melalui telepon, faximile atau pelanggan yang
datang ke perusahaan, membuat SO (Sales Order) untuk setiap
pesanan dari pelanggan atau customer, membuat laporan pesanan,
114
memperhatikan keluhan pelanggan, baik mengenai kualitas
maupun masalah pengiriman motor, Selain itu marketing juga
bertugas untuk menganalisa perkembangan atau tren produk
terbaru terutama yang dibutuhkan oleh customer atau pelanggan.
4. Keuangan
Bagian Keuangan bertugas untuk menerima dan memeriksa uang
/ cek / giro / transfer tagihan dari bagian leasing, membuat invoice
untuk motor yang dipesan customer, menyusun laporan penjualan
yang akurat secara harian maupun bulanan kepada Manager atau
Direktur. Selain itu bagian keuangan juga bertugas untuk
mengkoordinasi dan mengawasi pengeluaran atau pemasukan
keuangan perusahaan.
5. Inventory
Inventory bertugas untuk mengontrol persediaan motor yang
diperjual belikan agar tidak terjadi kekurangan maupun kelebihan
persediaan di gudang penyimpanan, memberitahukan kepada
manager apabila terjadi kekurangan persediaan motor di gudang
untuk menghindari banyaknya pending list akibat tidak
tersedianya motor yang diminta oleh customer, membuat laporan
jumlah motor yang keluar dan masuk digudang, serta
melaksanakan kegiatan operasional berdasarkan perencanaan
yang sudah dibuat.
115
6. Shipping
Shipping bertugas untuk memberikan pelayanan kepada para
pelanggan dengan membantu pengantaran motor yang telah
dipesan kepada pelanggan, melakukan pemeriksaan kembali
disaat pengepakan motor untuk menjaga kualitas motor agar
pelanggan tidak merasa kecewa dan melakukan retur penjualan
kepada perusahaan.
7. Leasing
Leasing bertugas untuk bertanggung jawab atas kelancaran
kegiatan penagihan piutang dan menjaga keamanan hasil tagihan
yang berupa uang / cek / giro, melakukan penagihan kepada para
pelanggan yang telah jatuh tempo, serta menyerahkan hasil
penagihan kepada bagian kasir pada hari itu juga.
8. HRD ( Human Resources of Development )
HRD bertugas untuk Bertanggung jawab terhadap perencanaan,
pengawasan dan melaksanakan evaluasi terhadap jumlah tenaga
kerja yang dibutuhkan oleh perusahaan.
9. Administrator
Administrator bertugas bertanggung jawab untuk memelihara dan
mengoperasikan sebuah sistem komputer atau jaringan yang
berjalan setiap harinya dan memastikan sistem tetap berjalan
lancar dalam memberikan pelayanan kepada penggunanya.
116
4.2. Analysis
4.2.1 Problem Analysis
Peneliti mengidentifikasikan kebutuhan pembuatan sistem
informasi penjualan dengan melakukan wawancara dan observasi
untuk mendapatkan data.
Hasil observasi yang dilakukan pada tanggal 7 Februari 2014
adalah pencatatan seluruh data penjualan dilakukan secara manual
oleh bagian marketing dan inventory sedangkan pada bagian
keuangan menggunakan aplikasi Ms-Word dan Ms-Excel.
Sedangkan untuk media penyimpanan menggunakan dokumen
dalam bentuk kertas.
Kesimpulan dari wawancara dengan bapak H. Ahmad Yani
selaku direktur PT. Berkah Jaya Motor pada bulan Februari
2014adalah pihak PT. Berkah Jaya Motor setuju akan diadakannya
sistem informasi penjualan sebagai pembantu proses pernjualan
motor. Kemudian hasil wawancara terlampir pada halaman lampiran
II.
4.2.1.1 Analisis Sistem Berjalan
Berdasarkan hasil observasi dan wawancara yang
dilakukan penulis terhadap user yang terlibat, maka dapat
dijelaskan sistem yang sedang berjalan saat ini di PT.
Berkah Jaya Motor sebagai berikut:
117
Bagian Inventory
Keuangan
Costumer
1. Purchase Order
2. Sales Order
3a. Surat
pengiriman motor
Shipping
4. SPM
5. SPM
6. SPM di tanda tangani
6. SPM di tanda tangani
7. SPM ditanda
tangani
leasing 8. Invoice
9. Invoice
11. laporan
Persediaan & retur
manager
Marketing
13. laporan
Penjualan, Persediaan, Pesanan,
ReturDirektur
12. laporan
Penjualan
3a. Invoice
12. laporan pesanan
10. retur
10. retur
Gambar 4.2 Sistem Berjalan
118
Tabel 4.1 Legenda Sistem Berjalan
Customer, Leasing
Bagian Marketing
Bagian Keuangan
Bagian Inventory
Bagian Manager
Direktur
Shipping Shipping
Dokumen
Secara umum, proses bisnis yang sedang berjalan
pada PT. Berkah Jaya Motor adalah sebagai berikut :
1. Pemesanan motor oleh customer kepada PT. Berkah
Jaya Motor dapat dilakukan melalui telepon, email, dan
faximile yang akan dilayani oleh bagian marketing.
Setelah melakukan konfirmasi pesanan dan customer
setuju dengan pilihanpembayaran yang diberikan oleh
PT. Berkah Jaya Motor.
119
2. Marketing akan membuat SO (Sales Order). SO akan
diserahkan ke bagian keuangan.
3. Berdasarkan Sales Order, bagian keuangan akan
membuat Invoice. Invoice akan dibuat rangkap dua.
3a. Rangkap pertama Invoice akan diberikan kepada
inventory.
3b. Rangkap kedua diberikan kepada leasing.
4. Bagian inventorymempersiapkan motor sesuai data
yang ada di invoice, kemudian membuat Surat
Pengiriman Motor(SPM) untuk diberikan kepada
shipping..
5. Surat Pengiriman Motor(SPM) akan dibawa oleh
bagian shipping agar bagian shipping dapat
mengirimkan motor ke customer.
6. Surat Pengiriman Motor(SPM) asli yang telah di
tandatangani oleh customer sebagai bukti pengiriman
motor akan dibawa kembali oleh staf shipping untuk
dikembalikan kepada bagian inventory.
7. Surat Pengiriman Motor (SPM) tersebut akan diberikan
kepada bagian keuangan guna diarsipkan untuk
perusahaan.
8. Bagian keuangan akan memberikan surat Invoice asli
kepada bagian leasing untuk melakukan penagihan.
120
9. Leasing bertugas melakukan penagihan kepada
customer, dimana jangka waktu pembayaran bervariasi,
tergantung pada kesepakatan dengan customer. Pada
umumnya lama waktu pembayaran berkisar antara 2-3
tahun dari tanggal Invoice. Customer biasanya
melakukan pembayaran melalui Kantor Pos, Tempat
Leasing, ATM atau transfer ke rekening perusahaan,
dimana pembayaran dianggap lunas apabila dana
tersebut sudah masuk ke dalam rekening perusahaan.
Invoice asli dan BPKB akan diberikan kepada
customer.
10. Penukaran atau pengembalian motor oleh customer
akan dilayani oleh marketing. Setelah klaim retur
diterima, kemudian motor akan diganti oleh bagian
inventory.
11. Inventory membuat laporan persediaan dan retur yang
nantinya akan diserahkan ke manager
12. Bagian Keuangan membuat laporan penjualan untuk
Manager
13. manager membuat laporan untuk diserahkan ke
Direktur.
121
4.2.1.2 Identifikasi Masalah
Di dalam mengidentikasi masalah, peneliti
menganalisis sistem yang berjalan. Peneliti menemukan
masalah yang terjadi pada proses pencatatan SO (Sales
Order), retur, Invoice dan persediaan motor di gudang yang
bersifat manual dan untuk menyimpan pencatatan
menggunakan kertas. Penggunaan media penyimpanan
kertas akan berakibat rentan terhadap kehilangan data
ataupun rusak.
Disaat pembuatan laporan bagian marketing &
inventory menggunakan kertas-kertas tadi dalam
mengumpulkan data yang diperlukan dan kemudian
direkapitulasi jumlahnya, sedangkankeuangan
menggunakan softwareMicrosoft Excel dalam menginput
data-data pembayaran ketika akan membuat laporan
penjualan. Dengan proses pembuatan laporan seperti ini,
karyawan membutuhkan ketelitian yang tinggi dan waktu 1-
2 hari kerja pada proses pencarian data pesanan,
pengiriman, persediaan, produksi dan penjualan untuk di
jadikan laporan pemesanan, penjualan, persediaan dan retur
motor.
122
Untuk memudahkan pihak perusahaan PT. Berkah
Jaya Motor, maka dikira perlu penulis membangun sistem
informasi penjualan yang dapat membantu proses penjualan
dan mempermudah manager dalam mengakses laporan
masing masing karyawan dalam perusahaan. Ditambah fitur
ramalan penjualan yang dapat digunakan oleh direktur
sebagai bahan referensi dalam menganalisis penjualan di
periode yang akan datang dan mengambil kebijakan-
kebijakan untuk perusahaan.
4.2.1.3 Sistem Usulan
Pada sistem usulan ini, penulis memberikan
informasi mengenai rancangan sistem informasi penjualan
yang penulis ajukan guna mengatasi permasalahan pada
sistem lama yang telah disebutkan sebelumnya.
Adapun prosedur dari perancangan sistem informasi
penjualan yang diusulkan adalah sebagai berikut:
123
Marketing Keuangan
Inventory
Manager
Sistem Informasi Penjualan
Direktur
1. Input Sales Order
2. Input Surat
Pengiriman Motor
6. Input Permintaan
Persediaan Motor
5. input Pembayaran dari
Customer/Leasing
3. input Invoice
4. Cetak Surat Pengiriman Motor
7. Input Surat Masuk Motor
8. Manage Persediaan Motor
9. Input Retur
HRD
10. Manage Data
Pegawai
Admin
12. Melihat Laporan Persediaan Motor,
Laporan Penjualan, Laporan Retur,
Laporan Pesanan Motor, Ramalan
Penjualan (Forecasting)
11. Melihat Laporan Persediaan Motor,
Laporan Penjualan, Laporan Retur,
Laporan Pesanan Motor
Manage User
Gambar 4.3 Sistem Usulan
Gambaran prosedur sistem yang diusulkan ini adalah :
1. Makaketing membuka sistem untuk melakukan
inputSales Order
2. Setelah mengisi beberapa data yang dibutuhkan untuk
Sales Order, Marketing menginputsurat pengiriman
motor yang nantinya akan diserahkan ke bagian
keuangan untuk di setujui.
124
3. Jika bagian keuangan menyetujui, kemudian bagian
Keuangan membuat Invoice yang nantinya akan
diserahkan ke bagian Inventory
4. Bagian Inventory mencari motor berdasarkan Invoice
dari bagian keuangan. Kemudian Inventorymencetak
Surat Pengiriman Motor yang nantinya akan diserahkan
ke bagian Shiping untuk mengirim motor ke Customer.
5. Keuangan menginput pembayaran dari
Customer/Leasing.
6. Marketing melakukan input permintaan persediaan
motor jika persediaan tidak ada yang nantinya akan
menjadi Surat Masuk Motor.
7. Pihak Inventory kemudian menginput Surat Masuk
Motor jika permintaan persediaan motor dari Marketing
sudah tersedia.
8. Setelah motor permintaan dari marketing tersedia,
Inventory melakukan manage data motor yang ada
digudang.
9. Inventory melakukan input Retur Motor Apabila barang
yang diterima tidak sesuai atau ada kerusakan,
Customer dapat melakukan retur dengan cara
memberikan pesan kepada Marketing. dan Marketing
akan meminta konfirmasi ke bagian Keuangan.
125
Kemudian Inventory mengirimkan kembali motor yang
sesuai dengan pesanan customer.
10. Pihak Admin mengatur user dan hak akses untuk
menggunakan sistem informasi penjualan.
11. Managerakan melihat laporan penjualan, pesanan, retur
dan persediaan melalui system.
12. Direkturakan melihat laporan penjualan, pesanan, retur
persediaan dan ramalan penjualan melalui system.
Sistem informasi penjualan yang dirancang ini
memberikan manfaat sebagai berikut:
1. Mempermudah Direktur selaku eksekutif dan Manager
perusahaan dalam hal melihat segala macam laporan
diantaranya pesanan motor, penjualan, retur,
persediaan motor. Direktur dapat melihat ramalan
penjualan untuk periode yang akan dating dan
memperoleh data-data yang berkaitan dengan data
penjualan secara mudah, cepat dan update.
2. Bagian Marketing dapat dengan mudah membuat SO
(Sales Order), menginput permintaan persediaan motor,
inputsurat pengiriman motor.
3. Bagian Keuangan dapat menginput pembayaran dari
customer, menyetujui Invoice dengan notifikasi
sehingga meningkatkan efisiensi kinerja dalam
organisasi.
126
4. Bagian Inventory dapat menginput surat masuk motor
setelah menerima notifikasi sistem dari permintaan
persediaan oleh marketing. Bagian Inventory dapat juga
menginputretur motor, mencetak surat pengiriman
motor mencetak Invoice yang sudah di setujui oleh
divisi keuangan. Serta memanage motor di gudang
dengan cepat dan tepat.
4.2.2 Requirement Analysis
Requirement analysis dibagi menjadi 2 (dua) bagian. Bagian
yang pertama adalah Functional Requirement yaitu proses dan
fungsi yang harus disediakan oleh sistem yang dikembangkan.
Bagian yang kedua adalah Nonfunctional Requirement yaitu fitur-
fitur lain yang diperlukan oleh sistem informasi penjualan agar dapat
lebih memuaskan pengguna sistem ini. Berikut ini adalah
requirements dari sistem informasi penjualan.
4.2.2.1 Functional Requirement
Sistem yang dikembangkan mempunyai functional
requirements sebagai berikut:
1. Direktur menggunakan sistem ini untuk melihat laporan
pesanan dari customer, laporan penjualan, laporan
persediaan motor, laporan motor retur dan Ramalan
penjualan yang nantinya akan digunakan sebagai bahan
127
dalam mengambil suatu keputusan dan kebijakan
penjulan dalam perusahaan.
2. Manager menggunakan sistem ini untuk melihat laporan
penjualan, laporan persediaan Motor, Laporan motor
retur dan laporan pesanan dari customer.
3. BagianMarketing menggunakan sistem ini untuk
menginput SO (Sales Order) yang sudah terintegrasi
dengan menjadi laporan pesanan dari customer yang
akan disampaikan ke Manager, input permintaan
persediaan, input surat pengiriman motor.
4. Bagian Keuangan menggunakan sistem ini untuk
menginputInvoice dan pembayaran dari customer untuk
menjadi laporan penjualan yang akan disampaikan ke
Manager.
5. Bagian Inventory menggunakan sistem ini untuk
mencatat persediaan motor di gudang yang akan menjadi
laporan persediaan motor dan disampaikan ke Manager.
Dan inputretur yang akan menjadi laporan retur dan
disampaikan ke Manager.
6. Bagian HRD menggunakan sistem ini untuk mengatur
data pegawai
7. Bagian Admin menggunakan sistem ini untuk mengatur
user sistem dan mengatur hak akses user
128
4.2.2.2 Nonfunctional Requirement
Nonfunctional requirement dari sistem informasi penjualan
yang dikembangkan adalah sebagai berikut:
Tabel 4.2Nonfunctional Requirement
Jenis Kebutuhan Penjelasan
Performance 1) Membantu penyusunan laporan kepada
Manajer. Dan membantu analisis
penjualan untuk Direktur
Information 1) Mencegah hilangnya data-data mengenai
pesanan motor, persediaan motor , retur
dan Invoice.
2) Data terdokumentasi dan terstruktur.
Economic 1) Mengurangi penggunaan kertas sebagai
media penyimpanan.
Efficiency 1) Mempercepat waktu penyajian laporan
pesanan motor, penjualan, persediaan
motor yang update.
2) Mempercepat pembuatan kebijakan
penjualan oleh direktur.
Effectiveness 1) Kegiatan pencatatan SO (Sales Order),
retur, Invoice dan persediaan motor,
dalam satu sistem.
Service 1) Menghasilkan laporan yang update
kepada manager dan direktur.
4.2.3 Decision Analysis
Dari tahapan analisis sebelumnya telah diketahui
permasalahan dari sistem yang sedang berjalan, persyaratan dan
kebutuhan yang diinginkan, maka tahapan selanjutnya adalah
analisis keputusan yaitu menentukan komponen-komponen dari
sistem usulan yang akan dirancang, dibangun, dan
diimplementasikan. Berikut merupakan komponen-komponen yang
129
dibutuhkan:
1. Data Master
Proses perekaman data-data yang berhubungan dengan data
penjualan perusahaan, yaitu data pesanan motor, data penjualan
motor, data retur motor, data persediaan motor dan data pegawai
perusahaan.
2. Data Transaksi
Proses data-data yang berhubungan dengan laporan, yaitu laporan
persediaan motor, laporan penjualan motor, laporan retur motor
dan laporan persediaan motor. Dan data data yang berhubungan
dengan penunjang keputusan, yaitu Ramalan Penjualan
(Forecasting)
3. Menentukan Hak Akses (user)
Dalam hal ini sistem harus dibatasi sesuai dengan level user yang
berhak memakai sistem ini. Setiap pengguna hanya dapat
mengakses fitur-fitur dalam sistem sesuai bagiannya masing-
masing. User yang berhak menggunakan sistem ini diantaranya,
Direktur, Manager, Marketing, Inventery, Keuangan, HRD dan
Admin.
130
4.2.3.1 SOP (Standar Operating Procedure)
SOP (Standard Operating Procedure) digunakan
untuk melihat perintah kerja atau intruksi apa saja yang
terdapat dalam sistem usulan yang harus diikuti demi
mencapai keseragaman dalam menjalankan suatu proses
dengan berpedoman pada tujuan yang harus dicapai.
Adapun prosedur dari SOP sistem E-commerce adalah
sebagai berikut:
Tabel 4.3 proses sales order
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Marketing
· -
· Tabel Motor
Melihat Produk
2. Malakukan
Sales Order
Mulai
3.
Melanjutkan
Sales Order Batal?
Menampilkan
Sales Order
4.
Surat
Pengiriman
Motor
5.
· Marketing
· Sales Order
· -
· Marketing
· -
· Sales Order
Tidak
Ya
Selesai
· Marketing
· -
· -
· Marketing
· Bukti Sales
Order
· Tabel
Konfirmasi
Sales Order
A B
Keterangan :
: Proses Pembayaran (Keuangan)
: Laporan Pesananan Motor (Direktur)
A
B
131
Dari gambar di atas terlihat bahwa ada alur dari
proses sales order pada marketing, dimulai dari marketing
melihat produk, lalu melakukan sales order, setelah produk
yang diingikan di pesan, akan menampilkan tabel sales
order yang baru, disini dapat dilihat semua produk-produk
yang telah dipesan, apabila produk yang telah dipesan tidak
jadi di order, marketing tinggaal pilih batal sistem akan
menampilkan ke tampilan awal atau sales order, jika inggin
melanjutkan pemesan, marketing tinggal membuat Surat
Pengiriman Motor untuk diberikan ke bagian keuangan dan
inventory, supaya pesanan motor dapat disetujui oleh bagian
keuangan dan bagian inventory dapat mengirim motor
sesuai dengan yang di pesan.
Tabel 4.4 Proses Pembayaran
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Keuangan
· -
· -
Input
pembayaran
2. Mengecek
Pembayaran
Mulai
3.
Sesuai?
Konfirmasi
pembayaran
· Keuangan
· -
· -
· Keuangan
· -
· Tabel
Konfirmasi
Pembayaran
Tidak
Ya
Selesai
C
132
Keterangan :
: Laporan Penjualan (Direktur)
Dari gambar di atas terlihat bahwa ada alur dari
proses pembayaran pada Keuangan, dimulai dari Keuangan
input data pembayaran, setelah selesai input data
pembayaran kemudian Keuangan mengecek data data
pembayaran, jika sudah sesuai maka keuangan
menyimpannya ke dalam database dan kemudian muncul
tabel pembayaran.
Tabel 4.5 Proses Input Data Pengiriman Motor
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Marketing
· -
· Tabel Sales
Order
Input Data
Pengiriman
Motor
2.Input Invoice
berdasarkan
SO
Mulai
3.
Melakukan
Pengiriman
Motor ke
customer
sesuaiCek Motor
sesuai invoice
4.
· Keuangan
· -
· Tabel Invoice
· Marketing
· -
· Sales Order
Tidak
Ya
Selesai
· Marketing
· -
· -
D
Stock out
· Inventory
· Stock Out
· Tabel Stock
Out
C
133
Keterangan :
: Laporan Persediaan (Direktur)
Dari gambar di atas terlihat bahwa ada alur dari
proses Input Data Pengiriman Motor pada marketing,
dimulai dari marketing melihat Tabel Sales Order, lalu
melakukan input data pengiriman motor, setelah data selesai
di input, data akan muncul di Tabel Surat Pegiriman Motor
dan secara otomatis akan masuk ke bagian Keuangan untuk
di buatkan Invoice, setelah invoice dibuat maka data akan
masuk kebagian inventory sebagai data stock out yang
mempengaruhi jumlah persediaan. Sebelum motor dikirim
inventory melakukan pengecekan terhadap pesanan motor
berdasarkan invoice. Jika sesuai motor akan di bawa
kebagian marketing untuk dikirim ke customer.
D
134
Tabel 4.6 Proses Retur
NO. Marketing Inventory Keuangan Direktur Keterangan
1.
Deskripsi
Mulai · Marketing
· -
· -
2.
Konfirmasi
Retur
3.
Barang Retur
Diterima Oleh
Inventory
4.
Mengirim
Motor Retur
Mendapatkan
Konfirmasi Retur
5. Retur
7.
Selesai
Malakukan
Pengiriman
Motor Retur
6.
Cetak Invoice
· Marketing
· -
· -
· Keuangan
· Konfirmasi
Retur dan
Invoice
· -
· Inventory
· Barang Retur
· -
· Inventory
· Motor Retur
· -
· Keuangan
· Invoice
· -
· Inventory
· -
· -
E
Keterangan :
: Laporan Retur (Direktur)
Dari gambar di atas terlihat bahwa ada alur dari
proses retur pada marketing, dimulai dari marketing
menerima konfirmasi retur dari customer, lalu meminta
konfirmasi dari bagian keuangan dan membawa motor retur
ke bagian inventory, setelah motor retur diterima oleh
inventory, lalu inventory input data motor retur, setelah itu
cetak invoice dan motor pengganti retur di bawa ke bagian
E
135
marketing untuk dikirim ke customer.
Tabel 4.7 Proses Permintaan Persediaan Motor
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Marketing
· -
· -
Melihat Produk
2.Cek
Persediaan
Motor
Mulai
3.
Menampilkan
Permintaan
Persediaan
Motor
Mengisi input
permintaan
persediaan
motor
4.
Bukti
Permintaan
Persediaan
Motor
5.
· Marketing
· -
· -
· Marketing
· Permintaan
persediaan
Motor
· -
Ya
Tidak
· Marketing
· -
· Permintaan
Persediaan
Motor
· Inventory
· Bukti
Permintaan
· Tabel
Konfirmasi
Permintaan
Ada?
Stock In6 F
· Inventory
· -
· Tabel Stock
in
Keterangan :
: Laporan Persediaan (Direktur)
Dari gambar di atas terlihat bahwa ada alur dari
proses Permintaan Persediaan pada marketing, dimulai dari
marketing melihat persediaan, ketika persediaan tidak ada
maka marketing melakukan permintaan persediaan dengan
cara input data permintaan persediaan, setelah selesai input
data permintaan, maka secara otomatis data akan masuk
F
136
kebagian inventory sebagai bukti permintaan dari
marketing.
Tabel 4.8 Proses Laporan Penjualan
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Direktur
· -
· -
Pilih Menu
Laporan
Penjualan
2. Input
Periode
3.Melihat
Laporan
Penjualan
· Direktur
· -
· -
· Direktur
· Laporan
Penjualan
· Tabel
Pembayaran
C
Selesai
Keterangan
: Proses Pembayaran (Keuangan)C
Dari gambar di atas terlihat bahwa ada alur dari
proses melihat Laporan Penjualan pada Direktur, dimulai
dari direktur memilih laporan penjualan, lalu memasukkan
periode penjualan dan kemudian secara otomatis sistem
menampilkan laporan penjualan berdasarkan periode yang
di Input oleh direktur.
137
Tabel 4.9 Proses Laporan Persediaan Motor
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Direktur
· -
· -
Pilih Menu
Laporan
Persediaan
2.Melihat
Laporan
Persediaan
· Direktur
· Laporan
Persediaan
· Tabel
Persediaan
D&F
Selesai
Keterangan
: Proses Surat Pengiriman Motor (Marketing)D
: Proses Surat Permintaan Persediaan (Marketing)F
Dari gambar di atas terlihat bahwa ada alur dari
proses Melihat Laporan Persediaan pada Direktur, dimulai
dari direktur memilih laporan Persediaan, kemudian secara
otomatis sistem menampilkan laporan persediaan.
Tabel 4.10 Proses Laporan Retur
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Direktur
· -
· -
Pilih Menu
Laporan Retur
2.Melihat
Laporan
Retur
· Direktur
· Laporan
Retur
· Tabel Retur
E
Selesai
Keterangan
: Proses ReturE
138
Dari gambar di atas terlihat bahwa ada alur dari
proses Melihat Laporan Retur pada Direktur, dimulai dari
direktur memilih laporan retur, kemudian secara otomatis
sistem menampilkan laporan retur.
Tabel 4.11Proses Laporan Pesanan Motor
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Direktur
· -
· -
Pilih Menu
Laporan
Pesanan
2. Input
Periode
3.Melihat
Laporan
Pesanan
· Direktur
· -
· -
· Direktur
· Laporan
Pesanan
· Tabel
Pesanan
B
Selesai
Keterangan
: Proses Sales Order (Marketing)B
Dari gambar di atas terlihat bahwa ada alur dari
proses melihat Laporan Pesanan pada Direktur, dimulai dari
direktur memilih laporan pesanan, lalu memasukkan
periode pesanan dan kemudian secara otomatis sistem
menampilkan laporan pesanan berdasarkan periode yang di
Input oleh direktur.
139
Tabel 4.12Proses Ramalan Penjualan
NO. Marketing Keuangan Inventory Direktur Keterangan
1.
Deskripsi
· Direktur
· -
· -
Pilih Menu
Forecasting
2. Melihat
Forecasting· Direktur
· Forecasting
· -
Selesai
Dari gambar di atas terlihat bahwa ada alur dari proses
Melihat Laporan Ramalan Penjualan pada Direktur, dimulai dari
direktur memilih Ramalan Penjualan, kemudian secara otomatis
sistem menampilkan Ramalan Penjualan.
Setelah mengetahui komponen-komponen sistem yang
diusulkan selanjutnya adalah menentukan jenis perangkat sistem
yaitu berupa tools atau alat untuk merancang dan
mengimplementasikan sistem usulan sehingga menghasilkan
arsitektur sistem usulan.
Di dalam sistem yang lama, proses pengolahan datanya
dilakukan secara manual, sedangkan pada sistem informasi
penjualan yang akan dikembangkan adalah sistem informasi
terkomputerisasi dan konsep pengembangan aplikasi ini
menggunakan UML (Unified Model Language). Sedangkan
bahasa pemrograman menggunakan PHP dan
mengimplementasikan sistem database menggunakan MySQL.
140
4.3. Design
4.3.1 Desain Proses
Pada tahap ini, penulis memberikan informasi mengenai rancangan
sistem yang penulis ajukan guna menanggulangi permasalahan-
permasalahan sistem yang telah disebutkan sebelumnya.
4.3.1.1 Use Case Diagram
4.3.1.1.1 Identifikasi Actor
Identifikasi actor ditujukan untuk
mengidentifikasi apa saja yang dilakukan oleh para
actor dalam sistem informasi eksekutif ini. Adapun
actor yang terlibat dalam sistem informasi penjualan
ini dapat diklasifikasikan sesuai dengan tugasnya
menjadi Direktur, Manager, Bagian Marketing,
Bagian Keuangan, Bagian Inventory, Bagian HRD
dan Bagian Admin.
Untuk lebih jelasnya peran-peran actor yang
ada dalam sistem informasi penjualan dapat dilihat
pada tabel 4.5 berikut ini:
141
Tabel 4.13 Identifikasi Actor
Actor Description
Direktur Direktur dalam sistem ini berperan sebagai
eksekutif yang bertugas menerima laporan-
laporan mengenai penjualan dan ramalan
penjualan.
Marketing Bagian Marketingmenggunakan sistem ini
untuk mengelola informasi-informasi
mengenai penjualan seperti input SO (Sales
Order), membuat surat permintaan
persediaan, menginputsurat pengiriman
motor, dan melihat persediaan motor di
gudang.
Keuangan Bagian Keuangan menggunakan sistem ini
untuk menginput pembayaran dari
customer dan membuatInvoice.
Inventory Bagian Inventory menggunakan sistem ini
untuk menginput surat masuk motor,
memanage motor di gudang (stock in, stock
out), mencetak surat pengiriman motor,
mencetak Invoice yang telah dibuat oleh
bagian keuangan, dan menginputretur.
Admin Bagian Admin menggunakan sistem ini
untuk memanageUser yang menggunakan
sistem
HRD Bagian HRD menggunakan sistem ini
untuk mengelola data master seperti data
Pegawai
Manager Manager menggunakan sistem ini untuk
mengakses laporan-laporan seperti laporan
persedian, pesanan, retur dan penjualan.
142
4.3.1.1.2 Identifikasi Use Case
Setelah actor teridentifikasi, tahapan
selanjutnya dalam perancangan sistem informasi
penjualan ini adalah mengidentifikasi use case.
Berikut deskripsi dari tiap use case yang terdapat
dalam tabel 4.6 berikut ini:
Tabel 4.14 Identifikasi Use Case
No Use Case
Name
Description Actor
1 Login Use case ini menggambarkan
kegiatan login untuk mengakses
sistem informasi penjualan ini
sesuai dengan level user yang
mengakses.
Direktur,
Manager,
Marketing,
Keuangan,
Inventory
Admin
HRD
2 Manage
User
Use Case ini menggambarkan
kegiatan memanageuser pada
sistem
Admin
3 Input SO
(Sales
Order)
Use case ini menggambarkan
kegiatan menginput SO ke dalam
sistem yang sudah terorganisasi.
Kegiatan ini dilakukan setelah
customer memesan motor.
Marketing
4 Input
Permintaan
Persediaan
Motor
Use case ini menggambarkan
kegiatan Menginput Surat
Permintaan Peersediaan motor.
Kegiatan ini dilakukan setelah
Marketing
143
Marketing gagal Input SO customer
karena stok motor digudang tidak
mencukupi.
5 Input data
pengiriman
motor
Use case ini menggambarkan
kegiatan menginput surat
pengiriman motor setelah berhasil
membuat SO
Marketing
6 InputInvoice Use Case ini menggambarkan
kegiatan membuat Invoice untuk
kemudian disetujui oleh bagian
keuangan.
Keuangan
7 Input
Pembayaran
Customer
Use Case ini menggambarkan
kegiatan menginput pembayaran
dari customer oleh bagian
keuangan.
Keuangan
8 Input Surat
Masuk
Motor
Use Case ini menggambarkan
kegiatan yang dilakukan bagian
inventory untuk input Surat Masuk
Motor.
Inventory
9 Cetak
Invoice
Use Case ini menggambarkan
kegiatan mencetak Invoice yang
telah disetujui oleh Bagian
Keuangan dengan fitur Notifikasi.
Inventory
10 Cetak Surat
Pengiriman
Motor
Use Case ini menggambarkan
kegiatan mencetak Surat
Pengiriman Motor
Inventory
11 Manage
Motor
Gudang
Use Case ini menggambarkan
kegiatan pencatatan motor masuk
dan keluar yang ada di gudang.
Inventory
12 InputRetur Use Case ini menggambarkan
kegiatan menginput data motor
retur dari customer.
Inventory
144
13 Melihat
Laporan
Persediaan
Motor
Use Case ini menggambarkan
kegiatan melihat laporan persediaan
motor dalam perusahaan.
Manager,
Direktur
14 Melihat
Laporan
Pesanan
Motor
Customer
Use Case ini menggambarkan
kegiatan melihat laporan pesanan
motor dalam perusahaan.
Manager,
Direktur
15 Melihat
Laporan
Penjualan
Use Case ini menggambarkan
kegiatan melihat laporan penjualan
dalam perusahaan.
Manager,
Direktur
16 Melihat
Laporan
Retur
Use Case ini menggambarkan
kegiatan melihat laporan retur
dalam perusahaan.
Manager,
Direktur
17 Forecasting Use Case inn menggambarkan
kegiatan melihat ramalan penjualan
pada periode akan dating dalam
perusahaan.
Direktur
18 Manage
Pegawa
Use Case ini menggambarkan
kegiatan melihat jumlah dan posisi
pegawai dalam perusahaan
HRD
19 Logout Use Case ini menggambarkan
kegiatan keluar dari sistem ini.
Direktur,
Manager,
Marketing,
Keuangan,
Inventory,
HRD,
Admin
145
4.3.1.1.3 Perancangan Use Case
login
input SO
manage user
input data
pengiriman motor
input permintaan
persediaan motor
cetak invoice
cetak surat
pengiriman motor
input surat masuk
motor
input retur
input invoice
input pembayaran
customer
melihat laporan
penjualan
melihat laporan
persediaan motor
melihat laporan
retur
forecasting
logout
Marketing
Inventory
Direktur
Keuangan
Sistem Informasi Penjualan
«extends»
«extends»
<<extend>>
<<extend>>
<<extend>>
«extends»
<<include>>
«extends»
Manager
admin
HRD
Manage Pegawai
Melihat Laporan
pesanan motor
Manage motor
Gambar 4.4 Use Case Diagram Sistem Informasi Penjualan PT. Berkah
Jaya Motor
146
4.3.1.1.4 Use Case Narative
Use case narrative merupakan pemaparan
naratif tentang kegiatan yang dilakukan oleh actor
dan respon yang diberikan oleh sistem sesuai
dengan yang terjadi pada aplikasi sistem informasi
eksekutif yang dirancang ini. Pada use case
narrative ini dijelaskan urutan kegiatan yang
dilakukan sistem dan actor.
Tabel berikut dibawah ini merupakan use
case narrative dari sistem informasi penjualan.
Tabel 4.15 Uses Case Narative Login
Use case Name Login
Use case Id 1
Actor Direktur, Manager, Marketing, Inventory,
Keuangan, Admin, HRD
Description Use case ini menggambarkan kegiatan login
untuk mengakses sistem informasi
penjualansesuai dengan level user yang
mengakses.
Pre condition Usermembuka sistem informasi penjualan.
Trigger Use case ini dilakukan agar user dapat
mengakses sistem informasi penjualan.
Typical course of
events
ActorAction Sistem response
1. Usermembuka
sistem ini.
3. Masukkan
2. Menampilkan form
login user
4. Menverifikasi data
147
username dan
password
user.
5. Menampilkan
Halaman Utama
sesuai dengan level
user.
Post condition Menu berhasil ditampilkan beserta sub-sub
menu dan fungsinya.
Tabel 4.16 Use Case NarrativeManage User
Use case Name Manage User
Use case Id 3
Actor Admin
Description Use case ini menggambarkan kegiatan
memanage user di dalam sistem.
Pre condition Usertelah login
Trigger Use case ini dilakukan ketika menambah user
dan mereset password
Typical course of
events
ActorAction Sistem response
1. Memilih menu
pengguna
3. Klik lihat/ubah pada
list user
5. Mengubah data user
dan klik simpan
2. Menampilkan list
user
4. Menampilkan data
user
6. Sistem menyimpan
ke dalam database
Post condition Proses manage user berhasil disimpan ke
dalam database.
148
Tabel 4.17 Use Case Narrative Input SO (Sales Order)
Use case Name Input SO (Sales Order)
Use case Id 2
Actor Marketing
Description Use case ini menggambarkan kegiatan
menginput SO di dalam sistem.
Pre condition Usermemilih Menu Sales Order
Trigger Use case ini dilakukan agar user dapat
menginput data SO dari Customer.
Typical course of
events
ActorAction Sistem response
1. Memilih menu SO
3. Menginputform SO
serta klik save
2. Menampilkan form
SO
4. Sistem menyimpan
ke dalam database
Alternate Course Alt 3a: klik edit untuk mengedit filed SO, jika
ada kesalahan dalam menginputfield
SO yang sudah tersimpan dalam
database
3b: Jika persediaan Motor tidak mencukupi
maka sistem akan menampilkan pesan
error, maka sistem akan menampilkan
form surat permintaan persediaan.
Post condition Proses tambah SO berhasil disimpan ke dalam
database.
149
Tabel 4.18 Use Case Narrative Input Permintaan Persedian
Use case Name Menginput permintaan persediaan
Use case Id 5
Actor Marketing
Description Use case ini menggambarkan kegiatan
menginput permintaan persediaan
Pre condition Usermemilih menu Permintaan Persediaan
Trigger Use case ini dilakukan agar user dapat
menambahkan persediaan Motor di gudang
Typical course of
events
ActorAction Sistem response
1. Marketing memilih
menu Permintaan
Persediaan
3. Menginput form
permintaan
Persediaan serta klik
save
2. Menampilkan
Form Permintaan
Persediaan
4. Sistem
menyimpan ke
dalam database
Post condition Proses tambah Permintaan Produksi berhasil
disimpan ke dalam database
Tabel 4.19 Use Case NarrativeInputSurat Pengiriman Motor
Use case Name InputSurat Pengiriman Motor
Use case Id 4
Actor Marketing
Description Use Case ini menggambarkan kegiatan
menginput surat pengiriman Motor
Pre condition Usermemilih menu Pengiriman Motor
Trigger Use case ini dilakukan agar Bagian Inventory
mencetak surat pengiriman Motor
Typical course of ActorAction Sistem response
150
events 1. Marketing memilih
menu Pengiriman
Motor
3. Marketing mengisi
form Pengiriman
Motor serta klik
save
2. Menampilkan form
Pengiriman Motor
4. Sistem menyimpan
ke dalam database
Alternate Course Alt 3a: Jika klikcancel maka sistem akan
kembali ke tampilan home marketing
3b: Jika ada field kosong atau salah
karakter maka sistem akan
memberikan peringatan error
Post condition Proses tambah Pengiriman Motor berhasil
disimpan ke dalam database.
Tabel 4.20 Use Case Narrative Input Invoice
Use case Name InputInvoice
Use case Id 11
Actor Keuangan
Description Use Case ini menggambarkan kegiatan
menginputInvoice oleh Keuangan.
Pre condition Usermengklik menu Invoice
Trigger Use case ini dilakukan Keuangan untuk
membuat Invoice dan serta menyetujui berkas
tersebut dengan Notifikasi
Typical course of
events
ActorAction Sistem response
1. Keuangan memilih
menu Invoice
3. Mengisikan
formInvoice serta
klik save
2. Menampilkan
formInvoice
4. Menampilkan
halaman notifikasi
Invoice
151
5. Klik Terima 6. Menyimpan ke
Database
Post condition Keuangan berhasil membuat dan menyetujui
Invoice dengan fitur notifikasi
Tabel 4.21 Use Case Narrative Menginput Pembayaran Customer
Use case Name Input Pembayaran dari Custumer
Use case Id 12
Actor Keuangan
Description Use Case ini menggambarkan kegiatan Bagian
Keuangan menginput pembayaran dari
customer
Pre condition Usermengklik menu Pembayaran
Trigger Use case ini dilakukan Bagian Keuangan dalam
memberikan laporan penjualan perusahaan.
Typical course of
events
ActorAction Sistem response
1. Bagian Keuangan
memilih menu
pembayaran.
3. Menginput
pembayaran
kemudian klik save.
2. Menampilkan form
pembayaran.
4. Menyimpan dalam
database laporan
penjualan.
Post condition Bagian Keuangan berhasil menyimpan
pembayaran dari customer
152
Tabel 4.22 Use Case Narrative Menginput Surat Masuk Motor
Use case Name Menginput Surat Masuk Motor
Use case Id 8
Actor Inventory
Description Use Case ini menggambarkan kegiatan bagian
inventory menginput surat masuk Motor ketika
Motor dikirimkan ke bagian Inventory.
Pre condition Usermengklik menu Surat Masuk Motor
Trigger Use case ini dilakukan agar userdapat
memberikan laporan Motor yang masuk.
Typical course of
events
ActorAction Sistem response
1. User memilih menu
Masuk Motor
3. Mengisi Surat
Masuk Motor
kemudian klik
save
2. Menampilkan form
Surat Masuk
Motor.
4.Menyimpan
kedalam database
surat danmengirimkan
ke bagian Inventory
Post condition User berhasil menginput surat masuk Motor
Tabel 4.23 Use Case Narrative Cetak Invoice
Use case Name Cetak Invoice
Use case Id 8
Actor Inventory
Description Use Case ini menggambarkan kegiatan
usermencetak Invoice
Pre condition Usermengklik menu Kirim Motor
Trigger Use case ini dilakukan agar usermencetak
Invoice untuk mempersiapkan motor sesuai
pesanan.
Typical course of ActorAction Sistem response
153
events 1. User memilih menu
Kirim Motor.
3. Klik cetak invoice.
2. Menampilkan data
Invoice.
4. Mencetak data
yang di inginkan.
Post condition Menu cetak berhasil di jalankan sesuai
fungsinya.
Tabel 4.24 Use Case Narrative Cetak Surat Pengiriman Motor
Use case Name Cetak Surat Pengiriman Motor
Use case Id 10
Actor Inventory
Description Use Case ini menggambarkan kegiatan
usermencetak Surat Pengiriman Motor
Pre condition Usermengklik menu Kirim Motor
Trigger Use case ini dilakukan agar usermencetak surat
pengiriman Motor dan menyerahkan ke bagian
shipping.
Typical course of
events
ActorAction Sistem response
1.User memilih menu
Kirim Motor.
4.Klik cetak Surat
Pengiriman Motor.
3. Menampilkan data
Pengiriman Motor.
5. Mencetak data
yang di inginkan.
Post condition Menu cetak berhasil di jalankan sesuai
fungsinya.
154
Tabel 4.25 Use Case Narrative Manage Motor Gudang
Use case Name Manage Motor Gudang
Use case Id 9
Actor Inventory
Description Use Case ini menggambarkan kegiatan-
kegiatan yang dilakukan di dalam memanage
Motor di gudang. Mengenai Stock In dan Stock
Out Motor di gudang
Pre condition Usermemilih menu Manage Motor
Trigger Use case ini dilakukan agar bisa merubah dan
memanage data Motor di gudang
Typical course of
events
ActorAction Sistem response
1. User memilih menu
Manage Motor
3. Klik Menu Ubah
Persediaan
5. Input data Motor
baru dan klik Save
2. Menampilkan data
Motor di gudang
4. Menampilkan
formUbah
Persediaan
6. Menyimpan data
Motor masuk
Post condition Data Motor di gudang berhasil di perbarui
Tabel 4.26 Use Case Narrative InputRetur
Use case Name InputRetur
Use case Id 10
Actor Inventory
Description Use Case ini menggambarkan kegiatan bagian
inventory dalam menginputretur
Pre condition Usermengklik menu Retur
Trigger Use case ini dilakukan agar userdapat
155
menginputretur
Typical course of
events
ActorAction Sistem response
1. User memilih menu
retur
3. User
menginputretur
kemudian klik save
2. Menampilkan
Form Input Retur
4. Menyimpan
kedalam database
Post condition Data retur berhasil di simpan kedalam
database
Tabel 4.27Use Case Narrative Melihat Laporan Persediaan Motor
Use case Name Melihat Laporan Persediaan Motor
Use case Id 15
Actor Direktur, manager
Description Use Case ini menggambarkan kegiatan
direktur/manager untuk melihat Laporan
Persediaan Motor
Pre condition Usermemilih menu Laporan Persediaan
Trigger Use case ini dilakukan agar userdapat
mengetahui persediaan Motor di gudang
Typical course of
events
ActorAction Sistem response
1. Direktur memilih
menu Persediaan
Motor
3. Klik Periode laporan
secara periodik dan
klik lihat
2. Mempilkan
persediaan Motor
4. Menampilkan
persediaan secara
periodik
Post condition Laporan persediaan Motor berhasil ditampilkan
156
Tabel 4.28Use Case Narrative Laporan Pesanan Motor Customer
Use case Name Laporan Pesanan Motor Customer
Use case Id 14
Actor Direktur, Manager
Description Use Case ini menggambarkan kegiatan user
melihat laporan pesanan Motor customer
Pre condition Usermengklik menu Laporan Persediaan
Trigger Use case ini dilakukan agar userdapat
mengetahui trend penjualan saat ini
Typical course of
events
ActorAction Sistem response
1. Actor memilih menu
Laporan Pesanan
3. Klik Periode laporan
secara periodik dan
klik lihat
2. Mempilkan
pesanan Motor
4. Menampilkan
pesanan secara
periodik
Post condition Laporan Pesanan Motor Customer berhasil di
tampilkan
Tabel 4.29Use Case Narrative Laporan Penjualan
Use case Name Laporan Penjualan
Use case Id 14
Actor Direktur, Manager
Description Use Case ini menggambarkan kegiatan user
dalam melihat laporan penjualan
Pre condition User mengklik menu Laporan Penjualan
Trigger Use case ini dilakukan agar direktur/manager
dapat membuat kebijakan promosi setelah
melihat laporan penjualan
Typical course of
events
ActorAction Sistem response
1. Actor memilih 2. Mempilkan
157
menu Laporan
Penjualan
3. Klik Periode
laporan secara
periodik dan klik
lihat
penjualan
4. Menampilkan
penjualan secara
periodik
Post condition Laporan Penjualan berhasil di tampilkan
Tabel 4.30 Use Case Narrative Laporan Retur
Use case Name Laporan Retur
Use case Id 16
Actor Direktur
Description Use Case ini menggambarkan kegiatan
direktur/manager dalam melihat laporan retur
Pre condition Usermengklik menu Laporan
Trigger Use case ini dilakukan agar usermembuat
kebijakan untuk meningkatkan kualitas
persediaan berdasarkan laporan retur
Typical course of
events
ActorAction Sistem response
1. Actor memilih menu
Retur
3. Klik Periode laporan
secara periodik dan
klik lihat
2. Mempilkan retur
4. Menampilkan
retur secara
periodik
Post condition Laporan Retur berhasil di tampilkan
158
Tabel 4.31 Use Case Narrative Ramalan Penjualan
Use case Name Forecasting
Use case Id 17
Actor Direktur
Description Use Case ini menggambarkan kegiatan
Direktur dalam melihat Ramalan Penjualan
Pre condition Usermengklik menu Forecasting
Trigger Use case ini dilakukan agar usermelihat
ramalan penjualan diperiode yang akan datang
untuk mengetahui perkiraan jumlah permintaan
customer berdasarkan laporan penjualan
Typical course of
events
ActorAction Sistem response
1. Actor memilih
menu Forecasting
2. Mempilkan grafik
forecasting
Post condition Ramalan Penjualan berhasil di tampilkan
Tabel 4.32 Use Case Narrative Manage Pegawai
Use case Name Manage Pegawai
Use case Id 18
Actor HRD
Description Use Case ini menggambarkan kegiatan user
dalam manage pegawai
Pre condition Usermengklik menu Pegawai
Trigger Use case ini dilakukan ketika menambah user
dan mereset password
Typical course of
events
ActorAction Sistem response
1. Memilih menu
pengguna
3. Klik lihat/ubah pada
listpegawai
2. Menampilkan
listuser
4. Menampilkan
data pegawai
159
5. Mengubah/menambah
data pegawai dan klik
simpan
6. Sistem
menyimpan ke
dalam database
Post condition Keluar dari sistem
Tabel 4.33Use Case Narrative Logout
Use case Name Logout
Use case Id 19
Actor Marketing, Keuangan, Inventory, Manager,
Direktur, Admin, HRD
Description Use Case ini menggambarkan kegiatan user
dalam keluar dari sistem ini
Pre condition Userlogin ke dalam system
Trigger Use case ini dilakukan saat user telah selesai
menggunakan sistem ini
Typical course of
events
ActorAction Sistem response
1. Klik Keluar 2. Mengeluarkan
dari sistem
Post condition Keluar dari sistem
160
4.3.1.2 Activity Diagram
Activity Diagram menggambarkan aktifitas-aktifitas
yang terjadi dalam sistem dan user. Berikut ini adalah activity
diagram yang terdapat pada sistem informasi penjualan:
1. Activity Diagram Login
sistemMarketing, Inventory,
Keuangan, Manager,
Direktur, Admin, HRD
Masukkan username
Dan password
Menampilkan halaman
Home user
selesai
mulai
Benar?
YT
logout
Gambar 4.5Activity Diagram Login
Pada activity diagram login ini, user yang terdiri
dari Marketing, Keuangan, Inventory, Manager, Direktur,
HRD dan Admin harus mengisikan username dan
password terlebih dahulu untuk dapat mengakses sistem
informasi penjualan ini. Setelah berhasil memasukkan
username dan password lalu sistem memverfikasi
username dan passworduser dan menampilkan halaman
utama sesuai dengan level user.
161
2. Activity Diagram Input SO (Sales Order)
sistemMarketing
pilih menu SO Menampilkan form SO
input form SO
save cancel
menampilkan SO baru
selesai
mulai
Gambar 4.6Activity DiagramInput SO (Sales Order)
Pada activity diagram ini aktifitas yang terjadi
adalah actor yang ingin menginput SO (Sales Order).
Input pemesanan konsumen ini dilakukan langsung ke
sistem dan sudah terintegrasi dengan sistem laporan
pesanan Motor dari konsumen yang terkomputerisasi.
162
3. Activity Diagram Manage User
sistemMarketing
pilih menu pengguna Menampilkan list pengguna
klik edit
Menampilkan
form edit pengguna
menyimpan kedalam database
selesai
mulai
mengisi Form Edit Pengguna
dan klik simpan
Gambar 4.7Activity DiagramManage User
Pada activity diagram ini actor yang terlibat
adalah Admin, Aktifitas yang dilakukan dalam activity ini
adalah memanage user. Dalam kegiatan ini user memilih
menu pengguna dan sistem akan menampilkan
listpengguna, kemudian admin klik edit pada pengguna
yang akan di edit datanya. Sistem akan menampilkan
formeditpengguna, kemudian admin mengedit data user
163
diikuti klik simpan. Activity ini dilakukan jika user ingin
mereset password.
4. Activity DiagramInput Permintaan Persediaan Motor
sistemMarketing
marketing memilih
menu permintaan persediaan
menampilkan form surat
permintaan persediaan
mengisi form surat permintaan
persediaan
menampilkan permintaan
persediaan
selesai
mulai
klik save
Gambar 4.8 Activity Diagram Permintaan Persediaan
Motor
Pada activity diagram ini actor yang terlibat adalah
Marketing, Aktifitas yang dilakukan dalam activity ini
adalah menginput surat permintaan persediaan motor.
Dalam kegiatan ini user memilih menu Permintaan
Persediaan dan sistem akan menampilkan form permintaan
persediaan. Activity ini dilakukan jika pesanan Motor
customer tidak ada di gudang.
164
5. Activity Diagram input data pengiriman Motor
sistemMarketing
pilih menu pengiriman motormenampilkan form
surat pengiriman motor
mengisi form surat pengiriman motor
menyimpan kedalam database
selesai
mulai
klik save
Gambar 4.9Activity DiagramPermintaan Persediaan
Motor
Pada activity diagram ini actor pada proses ini
adalah Marketing. Tujuan dari proses ini adalah marketing
membuat Surat Pengiriman Motor yang akan dibawa oleh
shipping dalam menjalankan tugas distribusinya.
165
6. Activity DiagramInputInvoice
sistemKeuangan
Memilih menu invoice menampilkan form invoice
selesai
mulai
Mengisi data invoice,
Klik simpan
Menyimpan ke dalam database
Gambar 4.10Activity DiagraminputInvoice
Pada activity diagram ini actor yang terlibat
adalah bagian keuangan. Tujuan dari proses ini adalah
bagian keuangan membuat Invoice yang berguna
sebaagai penagihan pembayaran pada customer. Proses
dalam activity ini dilakukan pertama-tama dengan
membuka menu Invoice. Lalu sistem akan menampilkan
formInvoice. Setelah actor mengisikan
formInvoicemengklik save maka sistem akan menyimpan
data Invoice.
166
7. Activity DiagramInput Pembayaran Customer
sistemKeuangan
Memilih menu
pembayaran
menampilkan form
pembayaran
selesai
mulai
Mengisi form pembayaran
serta klik save
Menyimpan ke dalam
database
Gambar 4.11Activity Diagraminputpembayaran
Pada activity diagram ini actor yang terlibat
adalah bagian Keuangan. Tujuan dari proses ini adalah
menginput pembayaran dari customer yang
mengintergrasikan dengan laporan penjualan. Pada
proses ini actor memulai dengan membuka menu
pembayaran customer kemudian sistem menampilkan
form pembayaran. Lalu actor menginputform
pembayaran dan mengklik save dan sistem menyimpan
kedalam database pembayaran.
167
8. Activity DiagramInput Surat Masuk Motor
sistemInventory
Memilih menu
Surat masuk motor
Menampilkan Form
Surat Masuk Motor
selesai
mulai
Mengisi form surat
masuk motor serta klik simpan
Menyimpan ke dalam database
Gambar 4.12Activity DiagraminputSurat Masuk Motor
Pada activity diagram ini actor yang terlibat adalah
Bagian Inventory. Tujuan dari proses ini adalah bagian
Inventory membuat surat masuk Motor ke gudang
bersamaan dengan Motor yang baru masuk. Proses ini
dimulai dengan actor memilih menu Surat Masuk Motor
lalu sistem menampilkan form surat masuk motor
kemudian actor mengisi form tersebut dan mengkilk
simpan maka sistem akan menyimpan ke dalam database
Surat Masuk Motor.
168
9. Activity Diagram Cetak Invoice
sistemInventory
Memilih
Menu Kirim Motor
Menampilkan
data pesanan motor
Mencetak invoice
selesai
mulai
Klik cetak invoice
Gambar 4.13Activity Diagramcetak invoice
Pada activity diagram ini actor yang terlibat adalah
bagian inventory. Tujuan dari proses ini adalah mencetak
Invoice yang akan di serahkan ke customer melalui
shipping. Proses ini dimulai dengan actor membuka menu
Notifiksi lalu sistem menampilkan data Invoice dan
kemudian actor mengkilik print maka sistem akan
mencetak Invoice tersebut.
169
10. Activity Diagram Cetak Surat Pengiriman Motor
SistemInventory
Pilih
Menu Kirim Motor
mulai
Menampilkan data
Pesanan motor
Klik Cetak
Surat Pengiriman Motor
Mencetak surat
pengiriman motor
selesai
Gambar 4.14 Activity Diagram cetak surat pengiriman
Motor
Pada activity diagram ini actor yang terlibat adalah
bagian inventory. Tujuan dari proses ini adalah mencetak
surat pengiriman Motor yang akan di serahkan ke
customer melalui shipping. Proses ini dimulai dengan
actor membuka menu Kirim Motor lalu sistem
menampilkan data pesanan Motor kemudian actor
mengkilik cetak maka sistem akan mencetak surat
pengiriman Motor tersebut.
170
11. Activity Diagram Manage Motor Gudang
SistemInventory
Memeilih menu Manage
Motor
mulai
Menampilkan data
Persediaan
Menampilkan
Ubah Persediaan
Klik Ubah Persediaan
Ubah Persediaan
Serta klik simpan
Menyimpan kedalam
database
mulai
Gambar 4.15 Activity Diagram Manage motor gudang
Pada activity diagram ini actor yang terlibat adalah
Bagian inventory. Tujuan dari proses ini adalah memanage
Motor di gudang. Proses ini dimulai dengan membuka
menu Manage Motor. Lalu sistem akan menampilkan data
persediaan motor di gudang. Actor mengklik menu Ubah
Persediaan dan mengisikan data motor yang diubah dari
persediaan gudang kemudian klik simpan. Dan sistem
menyimpan data Motor di gudang tersebut ke dalam
database.
171
12. Activity DiagramInput Retur
SistemInventory
Memeilih menu Retur
mulai
Menampilkan Form
Retur
Menyimpan data retur
Kedalam database
selesai
Input data retur
Dan klik simpan
Gambar 4.16 Activity Diagram Input Retur
Pada activity diagram ini actor yang terlibat adalah
bagian Inventory. Tujuan dari proses ini adalah bagian
inventory menginput data retur dari customer. Proses ini
dimulai dengan membuka menu Retur lalu sistem
menampilkan formretur kemudian actor menginput data
retur dan klik simpan maka sistem akan menyimpan data
retur kedalam database.
172
13. Activity Diagram Melihat Laporan Persediaan Motor
SistemManager, Direktur
Pilih MenuPersediaan Motor
mulai
Menampilkan Persediaan Motor
Menampilkan PersediaanBerdasarkan Group
selesai
Filter LaporanBerdasarkan Group
View
Menampilkan LaporanPersediaan
Berdasarkan Group
Mencetak PersediaanBerdasarkan Group
Gambar 4.17 Activity Diagram Melihat Laporan
Persediaan Motor
Pada activity diagram ini actor yang terlibat adalah
Direktur dan Manager. Tujuan dari proses ini adalah
Direktur dapat melihat atau mencetak laporan persediaan
Motor di gudang. Proses ini dimulai dengan memilih
173
menu Laporan Persediaan Motor lalu sistem akan
menampilkan Laporan Persediaan.
14. Activity Diagram Melihat Laporan Pesanan Motor
Customer
SistemManager, Direktur
Pilih Menu
Pesanan Motor
mulai
Menampilkan Pesanan Motor
Mencetak laporan
Pesanan Secara periodik
selesai
Filter Laporan
Secara periodik
View Print
Menampilkan Laporan
PesananSecara periodik
Menampilkan Laporan
Pesanan Secara periodik
Gambar 4.18Activity Diagram Melihat Pesanan Motor
Customer
174
Pada activity diagram ini actor yang terlibat adalah
Manager, Direktur. Tujuan dari proses ini adalah melihat
laporan pesanan motor customer yang berguna untuk
mengambil kebijakan persediaan motor melihat trend pada
customer. Proses ini diumulai dengan membuka menu
Pesanan Motor lalu sistem akan menampilkan laporan
pesanan motor customer.
15. Activity Diagram Lihat Laporan Penjualan
SistemManager, Direktur
Pilih Menu
Penjualan
mulai
Menampilkan
Laporan Penjualan
Mencetak laporan
PenjualanSecara periodik
selesai
Filter Laporan
Secara periodik
View Print
Menampilkan Laporan
Penjualan Secara periodik
Menampilkan Laporan
Penjualan Secara periodik
Gambar 4.19Activity Diagram Lihat Laporan Penjualan
175
Pada activity diagram ini actor yang terlibat adalah
Direktur dan Manager. Tujuan dari proses ini adalah
melihat laporan penjualan. Proses ini dimulai dengan
membuka menu Laporan Penjualan lalu sistem akan
menampilkan laporan penjualan secara keseluruhan.
16. Activity Diagram Melihat Laporan Retur
SistemManager, Direktur
Pilih Menu
Laporan Retur
mulai
Menampilkan
Laporan Retur
Mencetak laporan
Retur Secara periodik
selesai
cancel Cetak
Gambar 4.20 Activity Diagram Melihat Laporan Retur
Pada activity diagram ini actor yang terlibat adalah
Direktur. Tujuan dari proses ini adalah melihat laporan
retur yang yang dapat digunakan sebagai bahan
keputusan meningkatkan kualitas produksi perusahaan
yang lebih baik kedepannya. Proses ini dimulai dengan
membuka menuRetur lalu sistem menampilkan laporan
retur secara keseluruhan.
176
17. Activity Diagram Forecasting
SistemDirektur
Pilih menu
ForecastingMenampilkan Forecasting
mulai
selesai
Gambar 4.21 Activity Diagram Forecasting
Pada activity diagram ini actor yang terlibat adalah
Direktur. Tujuan dari proses ini adalah Direktur dapat
melihat atau mencetak forecasting. Proses ini dimulai
dengan memilih menu forecasting lalu sistem akan
menampilkan forecasting.
177
18. Activity Diagram Manage Pegawai
sistemHRD
Pilih Menu pegawaMenampilkan
list Pegawai
Klik ubah
Menampilkan Form
ubah pengawai
Isi form ubah pegawai
Serta klik simpan
Menyimpan ke dalam
database
mulai
selesai
Gambar 4.22 Activity Diagram Manage Pegawai
Pada activity diagram ini actor yang terlibat adalah
HRD, Aktifitas yang dilakukan dalam activity ini adalah
memanage pegawai. Dalam kegiatan ini user memilih
menu pengguna dan sistem akan menampilkan list
pegawai, kemudian HRD klik edit pada pegawaiyang akan
di edit datanya. Sistem akan menampilkan
formeditpegawai, kemudian HRD mengedit data user
178
diikuti klik simpan. Activity ini dilakukan jika user ingin
mereset password.
19. Activity Diagram Logout
Direktur, Manager, Marketing,
Keuangan, Inventory, HRD,
Admin
Sistem
Pilih Menu
Logout
mulai
Mengeluarkan actor dari
Sistem dan menampilkan
halaman login
selesai
Gambar 4.23 Activity Diagram Logout
Pada activity diagram logout ini menjelaskan
tentang acktor yang keluar dari sistem yaitu dengan cara
mengklik Keluar dan sistem akan membawa keluar dari
sistem dan menampilkan halaman login.
179
4.3.1.3. Sequence Diagram
Sequence diagram ini menjelaskan secara detail urutan
proses yang dilakukan dalam sistem untuk mencapai tujuan
dari use case, digambarkan pada sequence diagram berikut
ini:
1. Sequence Diagram Login
Direktur, Manager, Marketing
Inventory,Keuangan
HRD, Keuangan
Input Username & Password{}
Masuk ke menu utama user ()
member
validasi username & Password{}
Data Valid ()
Form Login
login berhasil ()
menampilkan halaman user ()
login gagal ()
menampilkan pesan kesalahan ()
Gambar 4.24Sequence Diagram Login
Dalam sequence diagram ini user pengguna sistem
ini yang terdiri atas Direktur, Manager, Marketing,
Keuangan, Inventory, HRD danAdmin sebelum masuk ke
dalam sistem untuk mengakses fitur-fitur yang terdapat
180
dalam sistem ini harus melakukan login terlebih dahulu.
Proses dalam login ini user membuka aplikasi lalu
akan muncul halaman login dan user harus memasukkan
username dan password. Setelah user memasukkan
username dan password lalu sistem akan menvalidasi
username dan password yang dimasukkan. Setelah
username dan password valid maka sistem akan membuka
halaman utama sesuai dengan level hak akses user.
2. Sequence Diagram SO (Sales Order)
Marketing
pilih menu SO ()
order
menyimpan SO baru ()
Form Sales Order
menampilkan form SO ()
mengisi form SO ()
Menyimpan data pelanggan ()
customer
klik simpan ()
Gambar 4.25Sequence Diagram SO (Sales Order)
181
Dalam sequence diagram update SO (Sales Order)
ini, marketing memilih menu SO. Setelah form untuk input
data muncul, lalu masukkan data SO kemudian Marketing
menginput data-data dan memilih tombol simpan, lalu
sistem akan mengecek kelengkapan data apakah masih ada
data yang seharusnya diisi tapi tidak diisi. Setelah data
tersebut di cek dan data tersebut telah terisi semua, sistem
lalu menyimpan data SO tersebut disimpan ke dalam
database.
3. Sequence Diagram Manage User
admin
member
menyimpan data ()
Form Manage user
Memilih menu pengguna()
Menampilkan List pengguna()
Klik lihat/ubah pada list pengguna()
Menampilkan data pengguna()
Mengubah data pengguna dan klik simpan()
profile
menyimpan data ()
Gambar 4.26 Sequence Diagram Manage User
182
Dalam sequence diagram manage user, admin
mengklik menu pengguna. Sistem akan menampilkan
semua list pengguna. admin dapat melakukan perubahan
dan melihat data list, dengan pilih klik lihat atau ubah,
maka sistem akan menampilkan data pengguna yang telah
di ubah dan menyimpan didalam database.
4. Sequence DiagramInput Permintaan Persediaan Motor
Marketing
pilih menu permintaan persediaan ()
Order_item
menyimpan data ()
Form Permintaan
persediaan
menampilkan form permintaan persediaan()
input permintaan persediaan()
klik simpan()
Gambar 4.27 Sequence Diagram Input Permintaan
Persediaan
183
Dalam sequence diagram input permintaan
persediaan, marketing mengklik menu Permintaan
Persediaan. Setelah form untuk input data muncul, lalu
masukkan data permintaan persediaan kemudian
marketing mengklik tombol simpan, lalu sistem akan
mengecek kelengkapan data apakah masih ada data yang
seharusnya diisi tapi tidak diisi. Setelah data tersebut di
cek dan data tersebut telah terisi semua, sistem lalu
menyimpan data permintaan persediaan tersebut disimpan
ke dalam database.
5. Sequence Diagram Input Surat Pengiriman Motor
Marketing
pilih menu pengiriman motor ()
order
menyimpan data ()
Form surat
pengiriman motor
menampilkan form surat pengiriman motor ()
mengisi form ()
klik simpan()
Gambar 4.28 Sequence Diagram Input Surat Pengiriman
Motor
184
Dalam sequence diagram inputsurat pengiriman
motor, marketing mengklik menu Pengiriman Motor.
Setelah form untuk input data muncul, lalu masukkan Data
Pengiriman Motor kemudian marketing mengklik tombol
simpan, lalu sistem akan mengecek kelengkapan data
apakah masih ada data yang seharusnya diisi tapi tidak
diisi. Setelah data tersebut di cek dan data tersebut telah
terisi semua, sistem lalu menyimpan data pengiriman
Motor tersebut disimpan ke dalam database.
6. Sequence Diagram Input Invoice
Keuangan
pilih menu invoice ()
Order_sign
menyimpan data ()
Form invoice
menampilkan form invoice ()
mengisi form ()
klik simpan()
Gambar 4.29 Sequence Diagram Input Invoice
185
Dalam sequence diagram ini menjelaskan proses
membuat Invoice yang dilakukan Bagian Keuangan
sebagai aktor. Aktor memilih menu Invoice, kemudian
sistem akan menampilkan forminvoice. Lalu aktor mengisi
form tersebut dan klik simpan, kemudian sistem akan
menyimpan ke database.
7. Sequence Diagram Input Pembayaran Customer
Keuangan
klik menu pembayaran customer ()
Order_pay
menyimpan data ()
Form pembayaran
menampilkan form pembayaran ()
input data pembayaran ()
klik simpan()
Gambar 4.30 Sequence Diagram Input Pembayaran
Customer
186
Dalam sequence diagram ini menjelaskan proses
menginput Pembayaran Customer yang dilakukan Bagian
Keuangan sebagai aktor. Aktor memilih menu
Pembayaran Customer, kemudian sistem akan
menampilkan form pembayaran customer. Lalu aktor
mengisi form tersebut serta klik tombol simpan kemudian
sistem akan menyimpan ke database.
8. Sequence Diagram Input Surat Masuk Motor
Inventory
item
menyimpan data ()
Form surat masuk
motor
menampilkan form surat masuk motor ()
input form surat masuk motor ()
pilih menu surat masuk motor()
klik simpan()
Gambar 4.31 Sequence Diagram Input Surat Masuk
Motor
187
Dalam sequence diagram ini menjelaskan proses
menginput Surat Masuk Motor yang dilakukan Bagian
Inventory sebagai aktor. Aktor memilih menu Surat Masuk
Motor, kemudian sistem akan menampilkan form surat
masuk motor. Lalu aktor mengisi form tersebut dan klik
simpan kemudian sistem akan menyimpan ke database.
9. Sequence Diagram Cetak Invoice
Inventory
Order_sign
mencetak invoice ()
GUI Lembar invoice
pilih menu kirim motor()
menampilkan pesanan motor()
klik simpan()
get data pesanan motor()
Gambar 4.32 Sequence Diagram Cetak Invoice
Pada sequence diagram ini menjelaskan proses
cetak Invoice yang dilakukan oleh Bagian Inventory
sebagai aktor. Aktor memilih menu Kirim Motor dan
188
sistem menampilkan data Pesanan Motor yang telah
disetujui oleh Bagian Keuangan. Lalu aktor klik cetak
untuk mencetak Invoice yang telah di setujui oleh Bagian
Keuangan.
10. Sequence Diagram Cetak Surat Pengiriman Motor
Inventory
order
GUILembar surat
Pengiriman motor
pilih menu kirim motor()
menampilkan pesanan motor()
klik simpan()
get data pesanan motor()
mencetak surat pengiriman motor()
Gambar 4.33 Sequence Diagram Cetak Surat Pengiriman
Motor
Pada sequence diagram ini menjelaskan proses
cetak surat pengiriman motor yang dilakukan oleh Bagian
Inventory sebagai aktor. Aktor memilih menu kirim motor
dan sistem menampilkan data pesanan motor. Lalu aktor
klik cetak untuk mencetak Surat Pengiriman Motor.
189
11. Sequence Diagram Manage Motor
Inventory
pilih menu manage motor ()
item
GUI
get data persediaan motor di gudang ()
menampilkan data persediaan motor ()
menyimpan data ()
klik ubah ()
menampilkan form ubah persediaan ()
input data ubah persediaan()
klik simpan()
Gambar 4.34 Sequence Diagram Manage Motor
Gambar sequence diagrammanage Motor ini
menjelaskan proses memanage Motor di gudang yang
dapat di lakukan oleh Bagian Inventory selaku aktor.
Dimulai dari memilih menu Manage Motor dan sistem
menampilkan data persediaan motor. Kemudian aktor
mengklik Ubah Persediaan, sistem akan menampilkan
formUbah Persediaan. Lalu aktor menginput data
perubahan kemudian klik Simpan. Maka sistem akan
190
menyimpan perubahan data persediaan Motor tersebut.
12. Sequence Diagram InputRetur
Inventory
pilih menu retur ()
retur
GUI
menyimpan data ()
input form retur ()
menampilkan form retur ()
klik simpan()
Gambar 4.35 Sequence Diagram InputRetur
Gambar sequence diagram inputretur ini
digunakan untuk menjelaskan proses Bagian Inventory
sebagai aktor dalam menginput data retur. Pertama aktor
memilih menuRetur. Lalu sistem akan menampilkan
formretur dan aktor akan menginput data retur dilanjutkan
dengan klik Simpan. Maka sistem akan menyimpan data
retur kedalam database.
191
13. Sequence Diagram Melihat Laporan Persediaan
Motor
Manager, Direktur
Order_item
GUI
mencetak laporan ()
klik print ()
get data ()
Order_pay
ged data ()
Menghitung persediaan motor
menghitung ()
item
menyimpan data ()
filter data ()
Laporan persediaan motor
Pilih menu laporan persediaan ()
menampilkan laporan secara keseluruhan()
Klik laporan berdasarkan group ()
Menampilkan laporan persediaan berdasarkan group ()
Gambar 4.36 Sequence Diagram Melihat Laporan
Persediaan Motor
Gambar sequence diagram melihat laporan
persediaan Motor ini digunakan oleh manager dan
Direktur sebagai aktor untuk melakukan proses melihat
laporan persediaan Motor baik secara keseluruhan maupun
secara periodik. Pertama aktor memilih menu Laporan
Persediaan. Kemudian sistem menampilkan laporan
persediaan motor secara keseluruhan. Lalu aktor memfilter
laporan persediaan Motor berdasarkan periode bulan atau
tahun. Sistem akan menampilkan secara periodik yang
telah di filter oleh aktor. Kemudian jika aktor ingin
mencetak laporan persediaan motor maka aktor harus
192
mengklik print, maka sistem akan mengkonversi format
laporan persediaan motor tersebut kedalam bentuk PDF.
14. Sequence Diagram Melihat Laporan Pesanan Motor
Manager, Direktur
order
GUI
mencetak laporan pesanan motor()
klik laporan secara periodik ()
klik print ()
Sortir data
get data ()
Laporan pesanan
motor
sortir data secara periodik ()
Pilih menu laporan pesanan()
menampilkan halaman filter laporan
menampilkan secara periodik()
Gambar 4.37 Sequence Diagram Pesanan Motor
Gambar sequence diagram melihat laporan
pesanan motor ini digunakan oleh manager dan Direktur
sebagai aktor untuk melakukan proses melihat laporan
pesanan motor dari customer baik secara keseluruhan
maupun secara periodik. Pertama aktor memilih menu
laporan pesanan. Kemudian sistem menampilkan halaman
filter laporan pesanan motor. Lalu aktor memfilter laporan
pesanan motor berdasarkan periode bulan atau tahun.
Sistem akan menampilkan secara periodik yang telah di
193
filter oleh aktor. Kemudian jika aktor ingin mencetak
laporan pesanan motor dari customer maka aktor harus
mengklik print, maka sistem akan mengkonversi format
grafik laporan pesanan motor dari customer tersebut
kedalam bentuk PDF.
15. Sequence Diagram Melihat Laporan Penjualan
Manager, Direktur
Order_pay
GUI
klik laporan secara periodik ()
klik print ()
Sortir data
get data ()
Laporan penjualan
sortir data secara periodik ()
Pilih menu laporan penjualan()
menampilkan halaman filter laporan ()
menampilkan secara periodik()
mencetak laporan penjualan ()
Gambar 4.38 Sequence Diagram melihat Laporan
Penjualan
Gambar sequence diagram melihat laporan
penjualan ini digunakan oleh manager dan Direktur
sebagai aktor untuk melakukan proses melihat laporan
penjualan baik secara keseluruhan maupun secara
periodik. Pertama aktor memilih menulaporan penjualan.
194
Kemudian sistem menampilkan halaman filter laporan.
Lalu aktor memfilter laporan penjualan berdasarkan
periode bulan atau tahun. Sistem akan menampilkan
secara periodik yang telah di filter oleh aktor. Kemudian
jika aktor ingin mencetak laporan penjualan maka aktor
harus mengklik print, maka sistem akan mengkonversi
format laporan penjualan tersebut kedalam bentuk PDF.
16. Sequence Diagram Melihat Laporan Retur
Manager, Direktur
pilih menu retur ()
Retur
GUI
mencetak laporan retur ()
klik print ()
get data ()
Lembar laporan Retur
menampilkan secara keseluruhan()
Gambar 4.39 Sequence Diagram Laporan Retur
Gambar sequence diagram melihat laporan retur
ini digunakan oleh manager dan Direktur sebagai aktor
untuk melakukan proses melihat laporan retur. Pertama
aktor memilih menu laporan retur. Kemudian sistem
195
menampilkan laporan retur secara keseluruhan. Kemudian
jika aktor ingin mencetak laporan retur maka aktor harus
mengklik print, maka sistem akan mengkonversi format
grafik laporan retur tersebut kedalam bentuk PDF.
17. Sequence Diagram Forcesting
Direktur
Order_pay
GUI
klik print ()
get data ()
Lembar foresting
menampilkan ramalan penjualan periode kedepan
pilih forecasting()
mencetak forecasting()
Gambar 4.40 Sequence DiagramForecasting
Gambar sequence diagramForecasting ini
digunakan oleh Direktur sebagai aktor untuk melakukan
proses Forecasting. Pertama aktor memilih
menuforecasting. Kemudian sistem menampilkan grafik
ramalan penjualan untuk bulan yang akan datang.
Kemudian jika direktur ingin mencetak grafik ramalan
penjualan maka direktur harus mengklik print, maka
196
sistem akan mengkonversi format grafik ramalan
penjualan tersebut kedalam bentuk PDF.
18. Sequence DiagramManage Pegawai
HRD
member
menyimpan data ()
Form Manage
Pegawai
Memilih menu pegawai()
Menampilkan List pegawai()
Klik lihat/ubah pada list pegawai()
Menampilkan data pegawai()
ubah data pegawai dan klik simpan()
profile
menyimpan data ()
Gambar 4.41 Sequence Diagram Manage Pegawai
Dalam sequence diagram manage pegawai, HRD
sebagai aktormengklik menu pegawai. Sistem akan
menampilkan semua list pegawai. HRD dapat melakukan
perubahan dan melihat data list, dengan pilih klik lihat
atau ubah, maka sistem akan menampilkan data pegawai
yang telah di ubah dan menyimpan didalam database.
197
19. Sequence Diagram Logout
Direktur, Manager, Marketing,
Inventory, keuangan
HRD, Admin
pilih menu logout ()
member
Logout Form
keluar sistem
user keluar ()
user berhasil keluar ()
Gambar 4.42 Sequence Diagram Logout
Gambar sequnce diagram ini menejelaskan tentang
proses keluar dari sistem yang dilakukan oleh semua aktor
yang terlibat dalam sistem ini, yaitu Direktur, Manager,
Marketing, Keuangan, Inventory, HRD dan Admin.
Dengan mengklik logout dan sistem akan membawa aktor
ke halaman login user.
198
4.3.1.4 Class Diagram
Class diagram menggambarkan objek-objek yang
menyusun sebuah sistem dan juga hubungan antara kelas objek
yang terjadi di dalam sistem informasi penjualan ini.
Class diagram dari sistem informasi penjualan ini
adalah sebagai berikut:
Tabel 4.34 Identifikasi potensial objek “Rancang Bangun
Sistem Informasi Penjualan pada PT. Berkah Jaya Motor
No Potensial Objek Reason
1 Member √ Tipe “Member”
2 Id_member √ Attribute ofMember
3 Username √ Attribute ofMember
4 Password √ Attribute ofMember
5 Type √ Attribute ofMember
6 Id_profile √ Attribute ofMember
7 Profile √ Tipe “Profile”
8 Id_profile √ Attribute ofProfile
9 Id_no √ Attribute ofProfile
10 Name √ Attribute ofProfile
11 address √ Attribute ofProfile
12 Id_city √ Attribute ofProfile
13 Phone √ Attribute ofProfile
14 Email √ Attribute ofProfile
15 Bday √ Attribute ofProfile
16 Gender √ Attribute ofProfile
17 Merried √ Attribute ofProfile
18 Education √ Attribute ofProfile
19 religion √ Attribute ofProfile
20 City √ Tipe “City”
21 Id_city √ Attribute of City
199
22 Name_city √ Attribute of City
23 Id_prov √ Attribute of City
24 Provinsi √ Tipe “Provinsi”
25 Id_prov √ Attribute of Provinsi
26 Name_prov √ Attribute of Provinsi
27 Order √ Tipe “Order”
28 Id_order √ Attribute of Order
29 Name_member √ Attribute of Order
30 Po_no √ Attribute of Order
31 Send_no √ Attribute of Order
32 No_pol √ Attribute of Order
33 So_no √ Attribute of Order
34 Date √ Attribute of Order
35 By_name √ Attribute of Order
35 By_no_ktp √ Attribute of Order
36 By_address √ Attribute of Order
36 By_id_city √ Attribute of Order
37 By_phone √ Attribute of Order
38 Customer √ Tipe “Customer”
39 Id_customer √ Attribute of Customer
40 Name √ Attribute of Customer
41 No_ktp √ Attribute of Customer
42 Address √ Attribute of Customer
43 Id_city √ Attribute of Customer
44 Order_sign √ Tipe “Order_sign”
45 Id_order_sign √ Attribute of order_sign
46 Id_order √ Attribute of order_sign
47 Id_member √ Attribute of order_sign
48 Date √ Attribute of order_sign
49 receipt √ Attribute of order_sign
50 invoice √ Attribute of order_sign
51 Status √ Attribute of order_sign
52 Item √ Tipe “Item”
53 Id_item √ Attribute of item
200
54 Label √ Attribute of item
55 Name √ Attribute of item
56 Type √ Attribute of item
57 Year √ Attribute of item
58 Jenis √ Attribute of item
59 unitcost √ Attribute of item
60 quantity √ Attribute of item
61 Date √ Attribute of item
62 approve √ Attribute of item
63 Order_pay √ Tipe “Order_pay”
64 Id_order_pay √ Attribute of order_pay
65 Id_order_sign √ Attribute of order_pay
66 Date √ Attribute of order_pay
67 Id_member √ Attribute of order_pay
68 Debt √ Attribute of order_pay
69 Pay √ Attribute of order_pay
70 Retur √ Tipe “Retur”
71 Id_retur √ Attribute ofretur
72 Id_item √ Attribute ofretur
73 Date √ Attribute ofretur
74 receipt √ Attribute ofretur
75 quantity √ Attribute ofretur
76 Note √ Attribute ofretur
201
+create()
+edit()
+delete()
-id_retur
-id_item
-date
-receipt
-quantity
-note
-retur
retur
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
profile
+create()
+edit()
+delete()
-id_order_sign
-id_order
-id_member
-date
-receipt
-invoice
-status
order_sign
+create()
+edit()
+delete()
-id_order_pay
-id_order_sign
-date
-id_member
-debt
-pay
order_pay
+create()
+edit()
+delete()
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
order
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
member
+create()
+edit()
+delete()
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
item
+create()
+edit()
+delete()
-id_city
-name_city
-id_prov
city
+create()
+edit()
+delete()
-id_prov
-name_prov
Provinsi
+enter()
+cancel()
+exit()
-id_marketing
-name_marketing
marketing
+enter()
+cancel()
+exit()
-id_keuangan
-name_keuangan
keuangan
+enter()
+cancel()
+exit()
-id_inventory
-name_inventory
inventory
+enter()
+cancel()
+exit()
-id_direktur
-name_direktur
direktur
+enter()
+cancel()
+exit()
-id_manajer
-name_manajer
manajer
+enter()
+cancel()
+exit()
-id_hrd
-name_hrd
hrd
+enter()
+cancel()
+exit()
-id_admin
-name_admin
admin
1..*
1
1..* 1..*
1
1..*
1..*
1
1
1
1..*
1
1
1..*
1
1
1 1..*
1
1..*
1..*
1
+create()
+edit()
+delete()
-id_customer
-name
-no_ktp
-address
-id_city
customer1..*
11
1
+create()
+delete()
+edit()
-id_category
-name_category
-id_group
category
1..*
1
+create()
+delete()
+edit()
-id_group
-name_group
group
11..*
Gambar 4.43Class Diagram Sistem Informasi Penjualan
pada PT. Berkah Jaya Motor
202
4.3.2 Desain Database
4.3.2.1 Matriks CRUD
Pada analisis sistem menemukan bahwa
persyaratan logika tersebut perlu ditentukan dalam
bentuk matrik CRUD (Create, Read, Update, Delete).
Berikut ini adalah tabel matriks CRUD:
Tabel 4.35 Matriks CRUD (Create, Read, Update,
Delete)
Location
Entity – Attribute
M K I D MJ H A
Member R R R R R R R
Id_member R R R R R R R
Username R R R R R R R
Password R R R R R R R
Type R R R R R R R
Id_profile R R R R R R R
Profile R R R R R R R
Id_profile R R R R R R R
Id_no R R R R R R R
Name R R R R R R R
address R R R R R R R
Id_city R R R R R R R
Phone R R R R R R R
email R R R R R R R
Bday R R R R R R R
203
Gender R R R R R R R
Merried R R R R R R R
Education R R R R R R R
religion R R R R R R R
City R R R R R R CRUD
Id_city R R R R R R CRUD
Name_city R R R R R R CRUD
Id_prov R R R R R R CRUD
Provinsi R R R R R R
Id_prov R R R R R R CRUD
Name_prov R R R R R R CRUD
Order CRUD R R R R - -
Id_order CRUD R R R R - -
Id_member CRUD R R R R - -
Po_no CRUD R R R R - -
Send_no CRUD R R R R - -
No_pol CRUD R R R R - -
So_no CRUD R R R R - -
Date CRUD R R R R - -
By_name CRUD R R R R - -
By_no_ktp CRUD R R R R - -
By_address CRUD R R R R - -
By_id_city CRUD R R R R - -
By_phone CRUD R R R R - -
Customer CRUD R R R R - -
Id_customer CRUD R R R R - -
Name CRUD R R R R - -
No_ktp CRUD R R R R - -
204
Address CRUD R R R R - -
phone CRUD R R R R - -
Id_city CRUD R R R R - -
Order_sign R CRUD R - - - -
Id_order_sign R CRUD R - - - -
Id_order R CRUD R - - - -
Id_member R CRUD R - - - -
date R CRUD R - - - -
receipt R CRUD R - - - -
invoice R CRUD R - - - -
status R CRUD R - - - -
item CRUD R CRUD R R - -
Id_item CRUD R CRUD - - - -
label CRUD R CRUD - - - -
name CRUD R CRUD R R - -
type CRUD - CRUD R R - -
year CRUD - CRUD R R - -
jenis CRUD - CRUD R R - -
unitcost CRUD - CRUD - - - -
quantity CRUD - CRUD R R - -
date CRUD - CRUD - - - -
approve CRUD - CRUD - - - -
category CRUD CRUD
id_category CRUD R R R R R CRUD
name_category CRUD R R R R R CRUD
id_group CRUD R R R R R CRUD
group CRUD R R R R R CRUD
id_group CRUD R R R R R CRUD
name_group CRUD R R R R R CRUD
Order_pay - CRUD - - - - -
205
Id_order_pay - CRUD - - - - -
Id_order_sign - CRUD - - - - -
date - CRUD - - - - -
Id_member - CRUD - - - - -
debt - CRUD - - - - -
pay - CRUD - - R - -
Retur - - CRUD R R - -
Id_retur - - CRUD - - - -
Id_item - - CRUD R R - -
date - - CRUD - - -
receipt - - CRUD - - -
quantity - - CRUD R R - -
note - - CRUD - R - -
Keterangan: C = Create, R = Read, U = Update, D = Delete
M = Marketing, K = Keuangan, I = Inventory, D = Direktur
MJ = Manajer, H = HRD, A = Admin
4.3.2.2 Mapping Class Diagram
Mapping class diagram digunakan untuk
menjembatani antara class diagram ke format
Relational Database Management System (RDBMS)
tabel. Berikut ini adalah gambar mapping class
diagram ke RDBMS tabel.
206
+create()
+edit()
+delete()
-id_retur
-id_item
-date
-receipt
-quantity
-note
-retur
retur
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
profile
+create()
+edit()
+delete()
-id_order_sign
-id_order
-id_member
-date
-receipt
-invoice
-status
order_sign
+create()
+edit()
+delete()
-id_order_pay
-id_order_sign
-date
-id_member
-debt
-pay
order_pay
+create()
+edit()
+delete()
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
order
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
member
+create()
+edit()
+delete()
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
item
+create()
+edit()
+delete()
-id_city
-name_city
-id_prov
city
+create()
+edit()
+delete()
-id_prov
-name_prov
Provinsi
+enter()
+cancel()
+exit()
-id_marketing
-name_marketing
marketing
+enter()
+cancel()
+exit()
-id_keuangan
-name_keuangan
keuangan
+enter()
+cancel()
+exit()
-id_inventory
-name_inventory
inventory
+enter()
+cancel()
+exit()
-id_direktur
-name_direktur
direktur
+enter()
+cancel()
+exit()
-id_manajer
-name_manajer
manajer
+enter()
+cancel()
+exit()
-id_hrd
-name_hrd
hrd
+enter()
+cancel()
+exit()
-id_admin
-name_admin
admin
1..*
1
1..*
1..*
1 1..*
1..*
1
11
1..*
1
1
1..*
1
1
1 1..*
1
1..*
1..*
1
+create()
+edit()
+delete()
-id_retur
-id_item
-date
-receipt
-quantity
-note
-retur
t_retur
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
t_profile
+create()
+edit()
+delete()
-id_order_sign
-id_order
-id_member
-date
-receipt
-invoice
-status
t_order_sign
+create()
+edit()
+delete()
-id_order_pay
-id_order_sign
-date
-id_member
-debt
-pay
t_order_pay
+create()
+edit()
+delete()
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
t_order
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
t_member
+create()
+edit()
+delete()
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
t_item
+create()
+edit()
+delete()
-id_city
-name_city
-id_prov
t_city
+create()
+edit()
+delete()
-id_prov
-name_prov
t_provinsi
1..*
1
1..*
1 1..*
1..*
1
11
1..*
1
1
1..*
1
1
1 1..*
1
1..*
1..*
1
+create()
+edit()
+delete()
-id_order_item
-id_order
-id_item
-qty
-qty_min
t_order_item
1
1..*
1
+create()
+edit()
+delete()
-id_customer
-name
-no_ktp
-address
-id_city
-phone
t_customer
1
1..*1
1
+create()
+edit()
+delete()
-id_customer
-name
-no_ktp
-address
-id_city
-phone
customer
1
11
1..*
+create()
+edit()
+delete()
-label
-name_category
-id_group
category
+create()
+edit()
+delete()
-id_group
-name_group
group
1
1..*
1..*
1
+create()
+edit()
+delete()
-label
-name_category
-id_group
t_category
+create()
+edit()
+delete()
-id_group
-name_group
t_group
Gambar 4.44 Mapping Class Diagram
Berdasarkan gambar 4.44 Mapping Class
Diagram, ada beberapa class yang mengalami
penambahan, perubahan atau penghilangan class, yaitu
207
a. Class Member adalah class induk dari Profile dan
aktor-aktor. Maka pada bagian RDBMS tabel class
aktor-aktor akan hilang karena telah diwakili oleh
class member. Sebagai penggambaran penghapusan
adalah sebagai berikut :
+masuk()
+keluar()
+batal()
-kode_inventory
-nama_user
inventory
+masuk()
+keluar()
+batal()
-kode_keuangan
-nama_user
keuangan
+masuk()
+keluar()
+batal()
-kode_direktur
-nama_user
direktur
+masuk()
+keluar()
+batal()
-kode_marketing
-nama_user
marketing
1
1
+enter()
+edit()
+cancel()
-id_hrd
-name_hrd
hrd
+enter()
+edit()
+cancel()
-id_manajer
-name_manajer
manajer
+enter()
+edit()
+cancel()
-id_admin
-name_admin
admin
+create()
+edit()
+delete()
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
profile
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
member
+create()
+edit()
+delete()
-id_member
-username
-password
-type
-id_profile
t_member
Gambar 4.45Mapping Class Member
208
b. Class order itemadalah penambahan dari classitem
dan classorder. Maka pada bagian RDBMS terjadi
penambahan class order item. Sebagai
penggambaran penambahan class adalah seperti
berikut:
1..*
1..*
1..*
1..*
1
1
+create()
+edit()
+delete()
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
t_order
+create()
+edit()
+delete()
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
order
+create()
+edit()
+delete()
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
t_item
+create()
+edit()
+delete()
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
item+create()
+edit()
+delete()
-id_order_item
-id_order
-id_item
-qty
-qty_min
t_order_item
1..*1..*
Gambar 4.46Mapping Class Order Item
209
4.3.2.3 Schema Database
-id_retur
-id_item
-date
-receipt
-quantity
-note
-retur
t_retur
-id_profile
-id_no
-name
-address
-phone
-bday
-gender
-married
-education
-religion
-id_city
t_profile
-id_order_sign
-id_order
-id_member
-date
-receipt
-invoice
-status
t_order_sign
-id_order_pay
-id_order_sign
-date
-id_member
-debt
-pay
t_order_pay
-id_order
-id_member
-po_no
-so_no
-no_pol
-send_no
-date
-by_name
-by_no_ktp
-by_address
-by_phone
-id_item
t_order
-id_member
-username
-password
-type
-id_profile
t_member
-id_item
-label
-name
-type
-year
-jenis
-unitcost
-quantity
-date
-approve
t_item
-id_city
-name_city
-id_prov
t_city
-id_prov
-name_prov
t_provinsi
1..*
-id_order_item
-id_order
-id_item
-qty
-qty_min
t_order_item
-id_customer
-name
-no_ktp
-address
-id_city
-phone
t_customer
-label
-name_category
-id_group
t_category
-id_group
-name_group
t_group
Gambar 4.47 Skema Database Sistem Informasi
Penjualan
210
4.3.2.4 Spesifikasi Database
Berikut ini adalah tabel spesifikasi database
dari sistem penjualan ini:
1. Member
Nama Tabel : Member
Primary Key : id_member
Foreign Key : type, id_profile
Tabel 4.36 Tabel Member
Nama Field Tipe
Data Ukuran Keterangan
id_member varchar 2 id_pengguna
username varchar 10 username pengguna
password varchar 10 password Pengguna
type varchar 10 tipe Pengguna
id_profile int 2 Id_profile pengguna
2. Profile
Nama Tabel : profile
Primary Key : id_profile
Foreign Key : id_city
Tabel 4.37 Tabel Profile
Nama Field Tipe
Data Ukuran Keterangan
id_profile int 2 Id detail pengguna
id_member varchar 2 Id pengguna
name varchar 20 username
211
pengguna
address varchar 30 alamat Pengguna
id_city int 3 kota pengguna
phone varchar 12 telepon pengguna
email varchar 20 email pengguna
bday date/time tanggal lahir
pengguna
gender char 1 jenis kelamin
pengguna
married char 1 status pengguna
education varchar 5 pendidikan
pengguna
religion varchar 7 agama pengguna
3. Kota
Nama Tabel : city
Primary Key : id_city
Foreign Key : id_prov
Tabel 4.38 Tabel City
Nama Field Tipe Data Ukuran Keterangan
id_city int 3 Id Kota
Name_city Varchar 20 Nama Kota
Id_prov int 2 Id_Provinsi
212
4. Provinsi
Nama Tabel : prov
Primary Key : id_prov
Foreign Key : -
Tabel 4.39 Tabel Provinsi
Nama Field Tipe
Data Ukuran Keterangan
Id_prov int 2 Id provinsi
Name_prov Varchar 20 Nama provinsi
5. customer
Nama Tabel : customer
Primary Key : id_customer
Foreign Key : id_city
Tabel 4.40 Tabel customer
Nama Field Tipe
Data Ukuran Keterangan
Id_customer int 5 Id customer
name_customer Varchar 20 Nama customer
No_ktp Varchar 15 No ktp customer
Address Varchar 30 Alamat cutomer
Id_city int 3 Kote customer
by_phone varchar 13 No telepon
customer
213
6. order
Nama Tabel : order
Primary Key : id_order
Foreign Key : id_member
Tabel 4.41 Tabel order
Nama Field Tipe
Data Ukuran Keterangan
id_order int 5 Kode level
id_member varchar 2 Nama level
so_no int 5 No sales order
send_no int 5 No pengiriman
pol_no varchar 10 no polisi motor
date date/ti
me
Tanggal order
by_name varchar 20 Nama customer
By_no_ktp varchar 15 No ktp customer
By_address varchar 30 Alamat cutomer
By_id_city int 3 Kote customer
By_phone varchar 13 No telepon
customer
214
7. Order Item
Nama Tabel : order_item
Primary Key : id_order_item
Foreign Key : id_order, id_item
Tabel 4.42 Tabel order_item
Nama Field Tipe
Data Ukuran Keterangan
id_order_item int 5 id order item
id_order int 5 id order
Id_item int 5 id item
qty int 2 jumlah
qty_min int 2 Jumlah
permintaan
8. Item
Nama Tabel : item
Primary Key : id_item
Foreign Key : label
Tabel 4.43 Tabel item
Nama Field Tipe
Data Ukuran Keterangan
id_item int 5 Kode motor
label int 5 Nomor kategori
name varchar 9 Merk Motor
type varchar 9 Tipe motor
year varchar 5 Tahun motor
215
jenis varchar 10 Jenis motor
unitcost int 9 Harga motor
quantity int 2 Jumlah motor
date Date/time Tanggal motor
approve char 2 ok/no
9. Order_sign
Nama Tabel : order_sign
Primary Key :id_order_sign
Foreign Key : id_order, id_member, receipt
Tabel 4.44order sign
Nama Field Tipe
Data Ukuran Keterangan
id_order_sign int 5 id order sign
id_order int 5 id order
id_member varchar 2 id pegawai
date date/time Tanggal
receipt varchar 13 faktur
invoice varchar 13 invoice
status varchar enum Status proses
10. Order pay
Nama Tabel : order_pay
Primary Key : id_order_pay
Foreign Key : id_order sign, id_member
216
Tabel 4.45 Tabel order pay
Nama Field Tipe
Data Ukuran Keterangan
id_order_pay int 5 id pembayaran
Id_order_sign int 5 id pesanan
Date date/time Tanggal pesanan
Id_member varchar 2 id member
debt Varchar 8 Jumlah harga
pay Jumlah
pembayaran
11. Retur
Nama Tabel : retur
Primary Key : id_retur
Foreign Key : id_item, receipt
Tabel 4.46 Tabel Retur
Nama Field Tipe
Data Ukuran Keterangan
id_retur int 5 id retur
id_item Int 5 id item (motor)
date date/time 5 Tanggal retur
receipt varchar 13 faktur
note varchar 30 Catatan retur
217
12. Category
Nama Tabel : category
Primary Key : label
Foreign Key : id_group
Tabel 4.47 Tabel category
Nama Field Tipe
Data Ukuran Keterangan
label int 5 Nomor kategori
name_category varchar 10 Nama kategory
id_group varchar 5 Id group
13. Group
Nama Tabel : group
Primary Key : id_group
Foreign Key : -
Tabel 4.48 Tabel group
Nama Field Tipe
Data Ukuran Keterangan
id_group int 5 Id group
name_group varchar 10 Nama group
218
4.3.3 Desain Interface
Dalam tahapan ini, akan di rancang tampilan tatap
muka (interface) dari sistem informasi penjualan yang akan
dibangun. Perancangan interface ini akan dibagi menjadi
beberapa halaman sesuai dengan tugas dan wewenang aktor
dalam sistem ini, diantaranya halaman marketing, halaman
keuangan, halaman produksi, halaman inventory dan halaman
manager.
1. Halaman Login
SISTEM INFORMASI PENJUALAN
PT. BERKAH JAYA MOTOR
User Name :
Password :
Login
Gambar 4.48 Perancangan Interface Login
Setiap user yang ingin mengakses sistem informasi
penjualan ini harus melakukan login di halaman ini. Dan
setelah user melakukan login, sistem akan men-directuser
sesuai denga level penggunannya.
219
2. Marketing
a. Persediaan Motor
PT. BERKAH JAYA MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Tabel Data Motor
No Tipe MotorKode_Motor Tahun Jumlah HargaJenis Motor Status manage
Gambar 4.49 Perancangan InterfacePersediaan
Motor
Halaman Persediaan Motorini digunakan
olehmarketinguntuk melihat persediaan motor yang
tersedia. Pada Halaman marketing ini menampilkan
menu yang boleh di akses oleh marketing diantaranya
: SO, Permintaan Persediaan dan Surat Pengiriman
Motor.
220
b. Input SO
PT. BERKAH JAYA MOTOR
Tabel Sales Order
No. SO :
Nama :
No KTP :
Alamat :
Telp. :
Merk Motor :
Jumlah :
Nama MotorKode_Motor Merk
SimpanTambah
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Sales Order
Nama Barang
Jenis Motor Tahun Motor Banyak Harga Satuan Totalno Kode motor Merk Motor Tipe Motor
Gambar 4.50 Perancangan Interface Input SO
Perancangan interfaceupdate SO ini digunakan oleh
marketing untuk menginput pesanan dari customer.
c. Input Permintaan Persediaan
PT. BERKAH JAYA MOTOR
Tabel Permintaan Persediaan
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Permintaan Produksi
Sal es Or der Juml ah Permi nt aaan Per sedi aan
Cek St at us
Nama Motor
Gambar 4.51 Perancangan Interface Inputpermintaan
persediaan
221
Perancangan interfaceinput permintaan
persediaan ini menggambarkan tentang perancangan
jika pesanan motor dari customer tidak ada di gudang,
maka marketing membuat surat permintaan
persediaan untuk segera disediakan oleh bagian
inventory.
d. Input Data Pengiriman Motor
PT. BERKAH JAYA MOTOR
Tabel Surat Pengiriman Motor
No. SO :
No. SPM :
Nama :
No KTP :
Alamat :
Telepon :
No Surat Pengiriman MotorNo So
SimpanTambah
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Pengiriman Motor
Atas Nama
Banyak Harga Satuan TotalNo Kode Motor Nama Motor
Gambar 4.52 Perancangan InterfaceInput Surat
Pengiriman Motor
Perancangan interfaceinput surat pengiriman
motor ini menggambarkan rancangan halaman surat
pengiriman motor. Halaman ini akan muncul ketika
user memilih sub menu Pengiriman Motor. Halaman
ini menampilkan forminput untuk surat pengiriman
222
3. Keuangan
a. Perancangan InterfaceHome Keuangan
Biodata Pegawai Keuangan
NAMA PERUSAHAAN
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Invoice
Pembayaran
Gambar 4.53 Perancangan Interface Home Keuangan
Perancangan interface ini menjelaskan tahapan
setelah keuangan berhasil melakukan login dan sistem
langsung menampilkan halaman home untuk keuangan
beserta menu-menu untuk level user keuangan.
223
b. Perancangan InterfaceInputInvoice
PT. BERKAH JAYA MOTOR
Tabel Invoice
Pesanan Motor
Tanggal Pesanan :
No SO :
Atas Nama :
No KTP :
Alamat :
Telepon :
Nama MotorKode_Motor Merk
Simpan
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Invoice
Nama Barang
Jenis Motor Tahun Motor Banyak Harga Satuan Totalno Kode motor Merk Motor Tipe Motor
Gambar 4.54 Perancangan InterfaceInputInvoice.
Perancangan interfaceinputInvoiceini
menjelaskan tentang pembuatan data Invoice dalam
suatu proses penjualan. Dalam mengakses data ini
Keuangan memilih submenu Invoice dalam menu Input
dan sistem akan memunculkan formInvoice. Setelah
berhasil melakukan penginputan Invoice maka
keuangan harus membuat persetujuan Invoice dengan
fitur notifikasi yang ada dalam sistem ini.
224
c. Perancangan InterfaceInput Pembayaran Customer
PT. BERKAH JAYA MOTOR
Tabel Pembayaran
Pesanan Motor
Tanggal Pesanan :
No SO :
Atas Nama :
No KTP :
Alamat :
Telepon :
Nama MotorKode_Motor Merk
Simpan
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Invoice
Nama Barang
Harga Totalno Kode motor Merk Motor Banyak
Gambar 4.55 Perancangan Interface input pembayaran
customer
Perancangan interfaceinput pembayaran
customer ini menjelaskan tentang input hasil penjualan
perusahaan. Dalam mengakses data ini keuangan
memilih submenu pembayaran. Halaman ini
menampilkan forminput pembayaran dari customer.
225
4. Inventory
a. Perancangan Interface HomeInventory
Biodata Pegawai Inventory
PT. BERKAH JAYA MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Kirim Barang Manage Barang
Retur
Gambar 4.56 Perancangan interface home Inventory
Perancangan interface ini menjelaskan
tahapan setelah Inventory berhasil melakukan login dan
sistem langsung menampilkan halaman home untuk
inventory beserta menu-menu untuk level
userInventory.
226
b. Perancangan Interface InputSurat Masuk Motor
TABEL PERMINTAAN PERSEDIAAN
PT. BERKAH JAYA MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Surat Masuk Motor
Sales Order Jumlah Kebutuhan Persediaan
Simpan
Nama Motor
TABEL SURAT MASUK MOTOR
Merk MotorKode_Motor Jenis Motor Tahun JumlahTipe Motor
Motor
Merk
Tipe Motor
Jenis Motor
Tahun
Harga Satuan
Jumlah
SURAT MASUK MOTOR
Gambar 4.57 Perancangan interface inputsurat masuk
Motor
Perancangan interfaceinput surat masuk Motor
ini menjelaskan tentang input surat masuk Motor.
Dalam mengakses data ini produksi memilih submenu
Surat Masuk Motor. Halaman ini menampilkan
formSurat Masuk Motor.
227
c. Perancangan Interface Cetak Invoice
PT. BERKAH JAYA MOTOR
TABEL PESANAN MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
No SO Invoice (Print) KirimNo Surat Pengiriman Motor
Gambar 4.58 Perancangan interface cetak Invoice
Perancangan interfaceinput cetak Invoice ini
menjelaskan tentang cetak Invoice. Dalam mengakses
data ini Inventory memilih menu notifiasi. Halaman ini
menampilkan Invoice yang siap di cetak.
d. Cetak Surat Pengiriman Motor
PT. BERKAH JAYA MOTOR
TABEL PESANAN MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
No SO Invoice KirimNo Surat Pengiriman Motor (cetak)
Gambar 4.59 Perancangan interface cetak Surat
Pengiriman Motor
228
e. Perancangan Interface Manage Motor Gudang
TABEL PERSEDIAAN MOTOR
PT. BERKAH JAYA MOTOR
Merk MotorKode_Motor Jenis Motor
Simpan
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Manage Motor
Tipe Motor JumlahTahun ManageStatus
PERSEDIAAN MOTOR
Tanggal
Kode Motor
Merk Motor
Tipe Motor
Jenis Motor
Tahun
Harga Satuan
Jumlah
Gambar 4.60 Perancangan interfacemanage motor
gudang
Perancangan interfacemanage Motorini
menjelaskan tentang manage Motor digudang. Dalam
mengakses data ini inventory memilih submenumanage
Motor dalam menu manage. Halaman ini menampilkan
persediaan motor digudang dan akan di manage oleh
bagian inventory.
229
f. Perancangan Interface InputRetur
TABEL RETUR MOTOR
PT. BERKAH JAYA MOTOR
No InvoiceNo Retur Kode Motor
Simpan
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Retur Motor
Tanggal KeteranganJumlah Manage
RETUR MOTOR
No Retur
Tanggal
No Invoice
Motor
Jumlah
Keterangan
Gambar 4.61 Perancangan interface inputretur
Perancangan interface input retur ini
menjelaskan tentang input retur Motor dari customer.
Dalam mengakses data ini inventory memilih submenu
retur dalam menu input. Halaman ini menampilkan
form retur.
230
5. Direktur
a. Perancangan Interface Home Direktur
BIODATA DIREKTUR
PT. BERKAH JAYA MOTOR
Persediaan Barang
Pesanan Barang
Penjualan
Retur
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Forecasting
Gambar 4.62 Perancangan interface home
manager/Direktur
Perancangan interface ini menjelaskan
tahapan setelah direktur berhasil melakukan login
dan sistem langsung menampilkan halaman home
untuk direktur beserta menu-menu untuk level
userdirektur.
231
b. Perancangan Interface Melihat Laporan Persediaan
Motor
Grafik Persediaan Motor
PT. BERKAH JAYA MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Persediaan
Laporan Persediaan
Pesanan
Laporan Pesanan
Retur
Laporan Retur
Penjualan
Laporan Penjualan
Forecasting
Forecasting
0
5
10
15
20
25
30
35
Jan Feb Mar Apr May Jun
Food
Gas
Motel
Gambar 4.63 Perancangan laporan persediaan
motor
Perancangan interface laporan persediaan
motor ini menjelaskan tentang melihat laporan
persediaan motor. Dalam mengakses data ini
direkturmemilih submenuLaporan Persediaan Motor.
Halaman ini menampilkan laporan persediaan motor
di gudang.
232
c. Perancangan Interface Melihat Laporan Pesanan
Motor Customer
Grafik Pesanan Motor
PT. BERKAH JAYA MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Persediaan
Laporan Persediaan
Pesanan
Laporan Pesanan
Retur
Laporan Retur
Penjualan
Laporan Penjualan
Forecasting
Forecasting
0
5
10
15
20
25
30
35
Jan Feb Mar Apr May Jun
Food
Gas
Motel
Gambar 4.64 Perancangan interface pesanan motor
customer
Perancangan interface laporan pesanan
motor customer ini menjelaskan tentang melihat
laporan pesanan motor customer. Dalam mengakses
data ini direkturmemilih submenu Laporan Pesanan
Motor. Halaman ini menampilkan laporan pesanan
motor dari customer secara periodik.
233
d. Perancangan Interface Melihat Laporan Penjualan
Grafik Penjualan Motor
PT. BERKAH JAYA MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Persediaan
Laporan Persediaan
Pesanan
Laporan Pesanan
Retur
Laporan Retur
Penjualan
Laporan Penjualan
Forecasting
Forecasting
0
5
10
15
20
25
30
35
Jan Feb Mar Apr May Jun
Food
Gas
Motel
Gambar 4.65 Perancangan interface laporan
penjualan
Perancangan interface laporan melihat
laporan penjualan ini menjelaskan tentang melihat
laporan melihat laporan penjualan. Dalam
mengakses data ini direkturmemilih submenu
Laporan Penjualan. Halaman ini menampilkan
laporan melihat laporan penjualan secara periodik.
234
e. Perancangan Interface Melihat Laporan Retur
Grafik Retur Motor
PT. BERKAH JAYA MOTOR
Pengiriman Persediaan KeuanganPermintaan LaporanPesananMaster data Akun
Persediaan
Laporan Persediaan
Pesanan
Laporan Pesanan
Retur
Laporan Retur
Penjualan
Laporan Penjualan
Forecasting
Forecasting
0
5
10
15
20
25
30
35
Jan Feb Mar Apr May Jun
Food
Gas
Motel
Gambar 4.66 Perancangan interface melihat
laporan retur
Perancangan interface laporan melihat
laporan retur ini menjelaskan tentang melihat
laporan melihat laporan retur. Dalam mengakses
data ini manager memilih submenu returdalam
menu laporan. Halaman ini menampilkan laporan
melihat laporan retursecara periodik.
235
4.4 Construction & Testing
4.4.1 Pemrograman (Coding)
Pada tahap pemrograman ini spesifikasi perangkat keras dan
perangkat lunak yang digunakan adalah sebagai berikut:
1. Perangkat keras
a. Prosessor intel (R) Dual Core
b. RAM 2GB
c. Hardisk 5000GB
d. Monitor dengan resolusi 1200x800 pixel
2. Perangkat lunak
a. Windows 7 ultimate
b. Adobe dreamweaver CS 3
c. Miscrosoft Visio 2007
d. Xampp
e. Browser Mozila firefox versi 17.0
Sedangkan perangkat keras dan lunak yang mendukung untuk
diterapkan sistem ini adalah
1. Perangkat keras
a. Server
b. Prosessor minimal setara dengan Pentium IV atau keatas
c. RAM 1GB atau lebih
236
2. Perangkat lunak
a. OS Windows 7 atau versi terbaru. OS Linux dengan variannya
b. Browser Mozilla atau google chrome
c. Flash Player
4.4.2 Pengujian Sistem (Blackbox Testing)
Pada tahap ini dilakukan pengujian terhadap sistem informasi
penjualan PT. Berkah Jaya Motor. Pengujian yang dilakukan adalah
pengujian external (Blackbox Testing). Blackbox Testing yaitu
melakukan pengujian terhadap aplikasi dengan cara memeriksa satu
persatu link yang ada dengan menggunakan tabel pengujian, apakah
link tersebut sudah sesuai seperti yang diharapkan atau belum.
Pengujian ini antara lain :
1. Pengujian Proses Login
2. Pengujian Proses Sales Order
3. Pengujian Proses Surat Pengiriman Motor
4. Pengujian Proses Invoice
5. Pengujian Proses Pembayaran
6. Pengujian Proses Kirim Motor
7. Pengujian Proses Surat Masuk Motor (Persediaan)
8. Pengujian Proses Cetak Surat Pengiriman Motor
9. Pengujian Proses Retur
10. Pengujian Proses Laporan Persediaan
11. Pengujian Proses Laporan Retur
237
12. Pengujian Proses Laporan Pesanan
13. Pengujian Proses Laporan Penjualan
14. Pengujian Proses Forecasting (Ramalan Penjualan)
Hasil print out dari testing selengkapnya dapat dilihat di
lampiran 3
238
1.
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan uraian dan pembahasan pada bab-bab sebelumnya
maka peneliti dapat menyimpulkan bahwa :
6. Sistem Informasi Penjualan ini digunakan oleh bagian Direktur,
Manager, Marketing, Keuangan, Inventory, HRD dan Admin
7. Sistem ini berfokus pada proses penjualan, laporan pemesanan,
laporan retur, laporan persediaan dan laporan penjualan.
8. Metode pengembangan sistem yang digunakan adalah menggunakan
metode berorientasi objek dengan model pengembangan Rapid
Application Development (RAD) dan tools UML yang meliputi use
case diagram, class diagram, sequence diagram dan activity diagram.
9. Sistem ini dibangun dengan menggunakan bahasa pemrograman PHP.
Adapun database yang digunakan adalah dengan menggunakan
MySQL.
10. Ramalan penjualan menggunakan metode Simple Moving Average.
5.2 Saran
Beberapa saran yang peneliti sampaikan dalam perancangan
sistem informasi penjualan ini, yaitu :
1. Sistem dikembangkan dengan menambahkan hak akses kepada
Customer sehingga dapat melihat langsung persediaan motor yang
ada di perusahaan dan dapat melakukan sales order sendiri.
2. Ada penambahan aplikasi chat pada sistem, sehingga setiap pegawai
dapat berkomunikasi ke semua bagian yang ada pada perusahaan.
3. Forecasting dalam sistem di tambah dengan metode yang berbeda
sehingga Direktur selaku eksekutif dapat membandingkan dan
menganalisis metode ramalan penjualan yang lebih akurat.
DAFTAR PUSTAKA
Alwi, Hasan. (2007). Kamus Besar Bahasa Indonesia. Jakarta: Balai Pustaka.
Assauri, S. (2004). Manajemen produksi dan operasi. Edisi revisi. Jakarta :
Universitas indonesia.
Buchori Alma. (2008). Managemen Pemasaran dan Pemasaran Jasa. Bandung:
Alfabeta
Dennis, Alan., Wixom, Barbara Haley., Tegarden, David. (2005). System Analysis
and Design With UML Version 2.0 : An Object-Oriented Approach 2nd
Edition. United States : John Wiley & Sons.
Hariyanto B. (2004). Sistem Manajemen Basis Data: Pemodelan, Perancangan,
dan Terapannya. Bandung: Informatika.
Hasibuan Z. (2007) Metodologi Penelitian pada bidang Ilmu Komputer dan
Teknologi Informasi: Konsep, Teknik dan Aplikasi. Fakultas Ilmu
Komputer UI: Jakarta.
Herjanto, Eddy. (2008). Manajemen Operasi. Edisi Ketiga. Jakarta: Grasindo
Jogiyanto. 2005. Analisis & Desain Sistem Informasi: Pendekatan Terstruktur
teori dan Praktek Aplikasi Bisnis. Andi: Yogyakarta.
Jogiyanto. (2008). Metodologi Penelitian Sistem Informasi: Pedoman dan Contoh
Melakukan Penelitian di Bidang Sistem Teknologi Informasi, Andi.
Yogyakarta.
Kadir A. (2003). Pengenalan Sistem Informasi. Penerbit: Andi, Yogyakarta.
Kalakota, R. and Robinson, M. (2001), e-Business 2.0 : Roadmap for Successs,
Addison-Weley, New Jersey.
Kustiyahningsih, Y. dan Anamisa, D. R. (2011). Pemrograman Basis Data
Berbasis Web Menggunakan PHP& MySQL. Edisi Pertama. Yogyakarta:
Graha Ilmu.
Ladjamudin, bin Al-bahra. (2005). Analisis dan Desain Sistem Informasi. Edisi
Pertama. Yogyakarta : Graha Ilmu.
Ma‟Arif & Hendri, Tanjung. (2006). Manajemen Operasi. Jakarta: Penerbit
Grasindo.
Mathiassen, Lars., Munk-Madsen, Andreas., Nielsen, Peter A., Stage, Jen. (2000).
Object Oriented Analysis & Design. Forlaget Marko. Denmark.
McLeod, Raymond, Jr. & Schell, Goerge. (2008). Sistem Informasi Manajemen,
Edisi-10 Terjemahan Ali Akbar Yulianto. Jakarta : Salemba Empat.
Mulyadi. (2001). Sistem Akuntansi, edisi ke-3. Jakarta : Salemba Empat.
Mulyanto A. (2009). Sistem Informasi Konsepdan Aplikasi. Yogyakarta : Pustaka
Pelajar.
Munawar. (2005). Pemodelan Visual dengan UML. Penerbit Graha Ilmu:
Yogyakarta.
Nazir. Ph.D. (2005). Metode Penelitian. Bogor : Ghalia Indonesia
Nickerson, R. C. (2001). Business and Information Systems (2nd Edition). New
Jersey : Prentice Hell.
Niswonger. C. Niswonger, Rollin. (2009). Prinsip-Prinsip Akuntansi, Edisi ke-19.
Jakarta : Salemba Empat.
Pujawan, I.N. (2008), Supply Chain Management, Guna Widya, Surabaya.
Pressman RS. (2007). Rekayasa Perangkat Lunak. Yogyakarta: Penerbit Andi.
O‟Brien J. (2008). Pengantar Sistem Informasi Perspektif Bisnis Dan Manajerial
Edisi 10. Jakarta : Salemba : Informatika
Rangkuti, Freddy. (2004). Manajemen Persediaan: Aplikasi di Bidang Bisnis.
Jakarta : Grafindo Persada.
Rijan, Yunirman., dan Koesoemawati, Ira. (2009). Cara mudah membuat surat
perjanjian / kontrak dan surat penting lainnya. edisi pertama cetakan
pertama. Raih Asa Sukses . Jakarta.
Rizky, Soetam. (2011). Konsep Dasar Rekayasa Perangkat Lunak. Jakarta:
Prestasi Pustaka,
Soemarso S. R. (2004). Akuntansi Suatu Pengantar. Buku satu. Edisi lima. Jakata:
Salemba Empat.
Sholiq. (2006). Pemodelan Sistem Informasi Berorientasi Objek dengan UML,
Graha Ilmu, Yogyakarta.
Sukoco, Badri M. (2007). Manajemen Administrasi Perkantoran Modern.
Surabaya: Penerbit Erlangga
Sumayang, L. (2003). Dasar -Dasar Manajemen Produksi dan Operasi. Edisi
Pertama, Jakarta : PT. Salemba Empat Patria.
Turban E, Aronson JE. (2005). Decision Support Systems and Intelligent System
6th Edition. Prentice-Hall, Ic, New Jersey.
Turban, E., King, D., Lee, J., Liang, T.P., and Turban, D. (2010). Electronic
Commerce 2010 : A Managerial Perspective, Pearson, New Jersey.
Whitten, Jeffery L., Bentley, Lonnie D,. Dittman, Kevin C. (2004). System
analysis and design methods. 7th
Edition. New York : McGraw Hill.
2.
3.
4.
LAMPIRAN-LAMPIRAN
LAMPIRAN-LAMPIRAN
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
LAMPIRAN I
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34. LAMPIRAN II
1. LAMPIRAN WAWANCARA I
Tabel. 3.1 Wawancara
Topik Penelitian: “Sistem Informasi Penjualan PT. Berkah Jaya
Motor”
Nama Unit
Terkait:
Saepul Bahri (Peneliti), Bapak Ahmad Yani
(Direktur)
Pembahasan: Tentang proses bisnis, alur penjualan, teknologi
yang digunakan dan beberapa hal yang harus
diketahui eksekutif dalam laporan penjualan motor
di PT. Berkah Jaya Motor
Hari dan Tanggal: Jum‟at, 07 Februari 2014
Tempat: PT. Berkah Jaya Motor
Jl. Kp. Sawah RT 01/02 No. 25 Kelurahan
Jatimulya Kecamatan Cilodong – Depok
Pukul: 14.00 – 16.00 WIB
Draft Pertanyaan: 5. Bagaimana proses penjualan yang ada pada
PT. Berkah Jaya Motor?
6. Adakah kendala yang dihadapi dalam proses
penjualan?
7. Bagaimana dengan proses pembuatan laporan?
8. Teknologi apa yang digunakan dalam
membantu proses penjualan?
9. Solusi apa yang diharapkan dari masalah yang
ada?
2. LAMPIRAN WAWAN CARA II
Topik Penelitian: “Sistem Informasi Penjualan Pada PT. Berkah
Jaya Motor”
Nama Unit
Terkait:
Saepul Bahri (Peneliti), Muhammad Ridwan
(Manager)
Pembahasan:
Tentang proses bisnis, alur penjualan, media
penyimpanan data data dan beberapa hal yang
harus diketahui eksekutif dalam laporan penjualan
motor di PT. Berkah Jaya Motor
Hari dan Tanggal: Senin, 10 Februari 2014
Tempat:
PT. Berkah Jaya Motor
Jl. Kp. Sawah RT 01/02 No. 25 Kelurahan
Jatimulya Kecamatan Cilodong - Depok
Pukul: 10.00 – 12.00 WIB
Draft Pertanyaan:
1. Apa Tugas Pokok dan Fungsi Bapak sebagai
Manager?
2. Bagaimana proses bisnis yang ada pada PT.
Berkah Jaya Motor?
3. Media penyimpanan data data yang
digunakan?
4. Informasi apa saja yang diberikan kepada
Eksekutif dalam hal laporan?
5. Bagaimana dengan proses laporan dan motor
yang tersedia?
6. Adakah kendala yang dihadapi dalam proses
pembuatan laporan?
7. Apakah sudah ada sistem yang membantu
dalam pembuatan laporan?
LAMPIRAN III
1. Pengujian Proses Login
Pengujianproses Login
Actor Semua actor
Menu -
Sub Menu -
Aktivitas Rancangan
Proses
1. Aktifkan kesistem!
2. Masukkan “username”dan “password”!
3. Klik button Login
Tanda Peringatan
Kesalahan “Maaf! Anda belum bisa mengakses sistem
kami”
Kesesuaian
Sistem
- Actor berhasil Login
- Masuk ke halaman Home masing masing actor
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman Login pada sistem informasi
penjualan, agar actor dapat mengakses sistem ini, actor harus terlebih
dahulu login dengan cara memasukkan username dan password pada field
dan kemudian klik button Login.
Gambar diatas menampilkan halaman Home salah satu actor pada
sistem informasi penjualan, ini menjelaskan bahwa actor dalam mengisi
username dan password telah sesuai dan berhasil melakukan proses login.
Gambar diatas menampilkan peringatan pada proses login, ini
menjelaskan bahwa actor dalam memasukkan username dan password tidak
sesuai sehingga actor tidak berhasil masuk ke sistem informasi penjualan.
2. Pengujian Level Marketing
a. Proses Sales Order
Pengujianproses Sales Order
Actor Marketing
Menu Pesanan
Sub Menu Sales Order
Aktivitas Rancangan
Proses
1. Klikmenusales order
2. Mengisi “No SO”, “Nama”, “No KTP”,
“Alamat”, “Telepon”, “Merk Motor”, “Jumlah”
3. Klik tombol Simpan
Tanda Peringatan
Kesalahan
“Please fill out this field”
Kesesuaian
Sistem
“Berhasil! Data telah disimpan”
Hasil Warning OK
Accept OK
Keterangan Tanda peringatan kesalahan dapat menyesuaikan pada
form yang belum diisi.
Gambar diatas menampilkan halaman data persediaan motor
pada sistem informasi penjualan, agar marketing dapat melakukan sales
order, marketing harus memilih menu sales order yang ada pada menu
Pesanan.
Gambar diatas menampilkan halamanformsales order, agar
marketingdapat melakukan sales order, marketing harus mengisi field-
field yang ada pada halaman sales order, sepeti No SO, Nama, No
KTP, Alamat, Telepon, Merk Motor, Jumlah dan klik tombol simpan.
Gambar diatas menampilkan halaman peringatan pada saat
melakukan sales order, yang disebabkan karena field-field yang ada
pada halaman sales order kurang lengkap.
Gambar diatas menampilkan daftar sales order, ini menjelaskan
bahwa marketing yang sudah mengisi field-field yang ada pada halaman
sales order telah berhasil disimpan dan menjadi data pesanan motor.
b. Surat Pengiriman Motor
Pengujian proses Surat Pengiriman Motor
Actor Marketing
Menu Pengiriman
Sub Menu Pengiriman Motor
Aktivitas Rancangan
Proses
1. KlikmenuPengiriman Motor
2. Klik button Buat Surat Pengiriman Motor
pada tabel Surat Pengiriman Motor
3. Isi “No SO”, “No Surat Pengiriman
Motor”, “Nama”, “No KTP”, “Alamat”,
“Telepon”
4. Klik button Simpan
Tanda Peringatan
Kesalahan
tidak ada peringatan kesalahan, karena Surat
Pengiriman Motor dapat dilakukan ketika
sales order berhasil dilakukan.
Kesesuaian
Sistem
“Berhasil! Data telah simpan”
Hasil Warning OK
Accept OK
Keterangan Tombol Buat Surat Pengiriman Motor muncul
ketika proses sales order berhasil
Gambar diatas menampilkan halaman Home pada sistem
informasi penjualan, agar marketing dapat membuat Surat Pengiriman
Motor, marketing harus memilih menu Pengiriman Motor yang ada
pada menu Pengiriman.
Gambar diatas menampilkan halaman Tabel Surat Pengiriman
Motor pada sistem informasi penjualan, agar marketing dapat membuat
Surat Pengiriman Motor, marketing harus klik Button Buat Surat
Pengiriman Motor yang ada pada Tabel Surat Pengiriman Motor.
Gambar diatas menampilkan halaman form Surat Pengiriman
Motor pada sistem informasi penjualan, setelah marketing klik tombol
Buat Surat Pengiriman Motor,otomatis field-field yang ada pada
halaman form Surat Pengiriman Motor terisi, sepeti No SO, No Surat
Pengiriman Motor, Nama, No KTP, Alamat, Telepon dan klik tombol
simpan.
Gambar diatas menampilkan Tabel Surat Pengiriman Motor, ini
menjelaskan bahwa marketing yang sudah mengisi field-field yang ada
pada halaman form Surat Pengiriman Motor telah berhasil disimpan dan
menjadi data Surat Pengiriman Motor yang nanti di cetak oleh bagian
invoice.
3. Pengujian Level Keuangan
a. Invoice
Pengujianproses Invoice
Actor Keuangan
Menu Keuangan
Sub Menu invoice
Aktivitas Rancangan
Proses
1. KlikmenuInvoice
2. Klik button Invoicepada tabel Invoice
3. Isi : “Tanggal Pesanan”, “No SO”,
“No Surat Pengiriman Motor”, “Atas
Nama”, “No KTP”, “Alamat”,
“Telepon” dan “Status”
3. Klik buttonSimpan
Tanda Peringatan
Kesalahan
“The Status Field is Required“
Kesesuaian
Sistem
“Berhasil! Data Telah Disimpan”
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman Home Keuangan pada
sistem informasi penjualan, agar Keuangan dapat membuat Invoice,
Keuangan harus memilih menu Invoice yang ada pada menu
Keuangan.
Gambar diatas menampilkan halaman Tabel Invoice pada sistem
informasi penjualan, agar Keuangan dapat membuat Invoice, Keuangan
harus memilih buttonInvoice yang ada pada Tabel Invoice.
Gambar diatas menampilkan halaman form Invoice pada sistem
informasi penjualan, setelah Keuanganklik button invoice pada Tabel
Invoice, maka field-field yang terdapat pada form invoice secara
otomatis terisi, kemudian Keuangan mengisi field Status dan kemudian
klik Simpan.
Gambar diatas menampilkan halaman Tabel Invoice pada
sistem informasi penjualan, ini menjelaskan bahwa Keuanganyang
sudah mengisi field-field yang ada pada halaman form Invoice telah
berhasil disimpan dan menjadi data Invoice yang nanti di cetak dan
diserahkan ke Customer dan Leasing.
Gambar diatas menampilkan halaman peringatan pada saat
melakukan proses Invoice, yang disebabkan karena fieldStatus yang
ada pada halaman form invoicetidak di isi.
b. Pembayaran
Pengujianproses Pembayaran
Actor Keuangan
Menu Keuangan
Sub Menu Pembayaran
Aktivitas Rancangan
Proses
1. KlikmenuPembayaran
2. Klik button Invoice pada tabel Invoice
3. Isi : Tanggal Pesanan, No SO, No
Surat Pengiriman Motor, Atas Nama,
No KTP, Alamat, Telepon dan
Nominal
4. Klik buttonSimpan
Tanda Peringatan
Kesalahan
“Please Fill Out This Field”
Kesesuaian
Sistem
“Berhasil! Data Telah Disimpan”
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman Home Keuangan pada
sistem informasi penjualan, agar Keuangan dapat melakukan proses
pembayaran, Keuangan harus memilih menu Pembayaran yang ada
pada menu Keuangan.
Gambar diatas menampilkan halaman Tabel Pembayaran pada
sistem informasi penjualan, agar Keuangan dapat membuat proses
pembayaran, Keuangan harus memilih button Pembayaran yang ada
pada Tabel Pembayaran.
Gambar diatas menampilkan halaman form Pembayaran pada
sistem informasi penjualan, setelah Keuanganklik button Pembayaran
pada Tabel Invoice, maka field-field yang terdapat pada form invoice
secara otomatis terisi, kemudian Keuangan mengisi field Nominal dan
kemudian klik Simpan.
Gambar diatas menampilkan halaman Tabel Pembayaran pada
sistem informasi penjualan, ini menjelaskan bahwa Keuanganyang
sudah mengisi field-field yang ada pada halaman form Pembayaran
telah berhasil disimpan dan menjadi data Penjualan.
Gambar diatas menampilkan halaman peringatan pada saat
melakukan proses Pembayaran, yang disebabkan karena fieldNominal
yang ada pada halaman form Pembayarantidak di isi.
3. Pengujian Level Inventory
a. Kirim Motor
Pengujianproses Kirim Motor
Actor Inventory
Menu Pengiriman
Sub Menu Kirim Motor
Aktivitas Rancangan
Proses
1. KlikmenuPengiriman
2. Klik button Cetak pada tabel Pesanan
Motor
3. Isi : “Tanggal Pesanan”, “No SO”,
“No Surat Pengiriman Motor”, “Atas
Nama”, “No KTP”, “Alamat”,
“Telepon” dan “Nominal”
4. Klik buttonSimpan
Tanda Peringatan
Kesalahan
: tidak ada peringatan, karena proses Kirim
Motor dapat dilakukan ketika proses invoice
berhasil dilakukan.
Kesesuaian
Sistem
“Berhasil! Data Telah Disimpan”
Hasil Warning OK
Accept OK
Keterangan Ketika Proses Invoice belum dilakukan, maka
button Kirim Motor tidak muncul dan proses
Kirim Motor tidak dapat dilakukan
Gambar diatas menampilkan halaman HomeInventory pada
sistem informasi penjualan, agar Inventory dapat melakukan proses
Kirim Motor, Inventory harus memilih menu Kirim Motor yang ada
pada menu Pengiriman.
Gambar diatas menampilkan halaman Tabel Pesanan Motor
pada sistem informasi penjualan, agar Inventory dapat melakukan
proses Kirim Motor, inventory harus klik Button Kirim yang ada pada
Tabel Pesanan Motor.
Gambar diatas menampilkan halaman form Kirim Motor pada
sistem informasi penjualan, setelah inventory klik tombol
Kirim,otomatis field-field yang ada pada halaman form Kirim Motor
terisi, sepeti No SO, No Surat Pengiriman Motor, Nama, No KTP,
Alamat, Telepon dan klik tombol simpan.
Gambar diatas menampilkan Tabel Pesanan Motor, ini
menjelaskan bahwa inventoryyang sudah mengisi field-field yang ada
pada halaman form Kirim Motor telah berhasil disimpan.
b. Surat Masuk Motor
Pengujianproses input Surat Masuk Motor
Actor Inventory
Menu Persediaan
Sub Menu Surat Masuk Motor
Aktivitas Rancangan
Proses
1. KlikmenuSurat Kirim Motor
2. Klik button Cetak pada tabel Pesanan
Motor
3. Isi : “Kode Motor”,
“Merk”,“TipeMotor”, “Jenis Motor”,
“Tahun”, “Harga Satuan”, “Jumlah”
4. Klik buttonSimpan
Tanda Peringatan
Kesalahan
tidak ada peringatan, karena proses Kirim
Motor dapat dilakukan ketika proses invoice
berhasil dilakukan.
Kesesuaian
Sistem
“Berhasil! Data Telah Disimpan”
Hasil Warning OK
Accept OK
Keterangan Ketika Proses Invoice belum dilakukan, maka
button Kirim Motor tidak muncul dan proses
Kirim Motor tidak dapat dilakukan
Gambar diatas menampilkan halaman HomeInventory pada
sistem informasi penjualan, agar Inventory dapat melakukan Surat
Kirim Motor, Inventory harus memilih menu Surat Kirim Motor yang
ada pada menu Persediaan.
Gambar diatas menampilkan halaman form Surat Masuk Motor,
agar inventorydapatinput Surat Masuk Motor, inventory harus mengisi
field-field yang ada pada halaman sales order, sepeti Kode Motor,
Merk, Tipe Motor, Jenis Motor, Tahun, Harga Satuan, Jumlah dan klik
button simpan.
Gambar diatas menampilkan halaman Tabel Persediaan Motor
pada sistem informasi penjualan, ini menjelaskan bahwa Marketingyang
sudah mengisi field-field yang ada pada halaman form Surat Masuk
Motor telah berhasil disimpan dan menjadi data Persediaan.
c. Cetak Surat Pengiriman Motor
Pengujianproses Cetak Surat Pengiriman Motor
Actor Inventory
Menu Pengiriman
Sub Menu Kirim Motor
Aktivitas Rancangan
Proses
1. KlikmenuKirim Motor
2. Klik button Cetak pada tabel Pesanan
Motor di kolom No. Surat Pengiriman
Motor
3. Klik buttonPrint
Tanda Peringatan
Kesalahan
tidak ada peringatan, karena proses Cetak
Surat Pengiriman Motor dapat dilakukan
ketika proses input Surat Pengiriman berhasil
dilakukan oleh Marketing
Kesesuaian
Sistem
Sistem mencetak surat pengiriman motor
Hasil Warning OK
Accept OK
Keterangan
Gambar diatas menampilkan halaman Home untuk inventory,
agar inventory dapat mencetak Surat Pengiriman Motor, maka inventory
harus memilih menu Kirim Motor yang terdapat pada menu
Pengiriman.
Gambar diatas menampilkan Tabel Pesanan Motor pada sistem
informasi penjualan, agar inventory dapat mencetak Surat Pengiriman
Motor, maka inventory harus klik button Cetak yang terdapat pada
Tabel Pesanan Motor di kolom no. Surat Pengiriman Motor.
Gambar diatas menampilkan halaman Surat Pengiriman Motor
yang siap dicetak, inventory dapat mencetak halaman dengan dengan
memilih button Print. Setelah inventory memilih button Print maka
otomatis sistem akan mencetak halaman Surat Pengiriman Motor.
d. Retur
Pengujianproses Retur
Actor Inventory
Menu Persediaan
Sub Menu Retur Motor
Aktivitas Rancangan
Proses
1. KlikmenuRetur Motor
2. Isi : “No Retur”, “Tanggal”,”No
Invoice”, “Motor”, “Jumlah” dan
“Keterangan”
3. Klik buttonSimpan
Tanda Peringatan
Kesalahan
“Please fill out this field”
Kesesuaian
Sistem
“Berhasil! Data telah disimpan”
Hasil Warning OK
Accept OK
Keterangan Tanda peringatan kesalahan dapat menyesuaikan
pada form yang belum diisi.
Gambar diatas menampilkan halaman Home Inventory, agar
inventory dapat melakukan retur, maka inventory harus memilih Retur
Motor pada menu Persediaan.
Gambar diatas menampilkan halaman Tabel Motor dan form
Retur Motor, pada halaman ini inventory mengisi data No Retur,
Tanggal, No Invoice, Motor, Jumlah, Keterangan dan kemudian klik
button Simpan.
Gambar diatas menampilkan hasil proses Retur yang telah
berhasil disimpan, ini menunjukkan bahwa inventory dalam
memasukkan data data retur telah sesuai.
Gambar diatas menunjukkan kesalahan pada saat melakukan
retur, ini menunjukkan ada field yang tidak terisi saat inventory
memasukkan data data retur.
4. Pengujian Level Direktur
a. Laporan Persediaan
PengujianLaporan Persediaan
Actor Direktur
Menu Persediaan
Sub Menu Laporan Persediaan
Aktivitas Rancangan
Proses
1. KlikmenuLaporan Persediaan
Tanda Peringatan
Kesalahan
-
Kesesuaian
Sistem
Grafik persediaan motor tampil
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman HomeDirektur, agar
Direktur dapat melihat laporan persedian motor, direktur harus memilih
menu Laporan Persediaan yang ada pada menu Persediaan.
Gambar diatas menampilkan Laporan Persediaan pada sistem
informasi penjualan. Ini menunjukkan bahwa proses surat masuk motor
dan manage motor digudang berjalan dengan baik pada bagian inventory.
b. Laporan Retur
PengujianLaporan Persediaan
Actor Direktur
Menu Retur
Sub Menu Laporan Retur
Aktivitas Rancangan
Proses
1. KlikmenuLaporan Retur
Tanda Peringatan
Kesalahan
-
Kesesuaian
Sistem
Grafik retur motortampil
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman HomeDirektur, agar
Direktur dapat melihat laporan retur motor, direktur harus memilih menu
Laporan Retur yang ada pada menu Retur.
Gambar diatas menampilkan Laporan Retur pada sistem
informasi penjualan. Ini menunjukkan bahwa proses retur motor berjalan
dengan baik pada bagian inventory.
c. Laporan Pesanan
PengujianLaporan Pesanan
Actor Direktur
Menu Pesanan
Sub Menu Laporan Pesanan
Aktivitas Rancangan
Proses
1. Klik menu Laporan Pesanan
Tanda Peringatan
Kesalahan
-
Kesesuaian
Sistem
Grafik Pesanan motor tampil
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman HomeDirektur, agar
Direktur dapat melihat laporan pesanan motor, direktur harus memilih
menu Laporan Pesanan yang ada pada menu Retur.
Gambar diatas menampilkan Laporan pesanan secara periode
pada sistem informasi penjualan. Ini menunjukkan bahwa proses sales
order berjalan dengan baik pada bagian marketing.
d. Laporan Penjualan
PengujianLaporan Penjualan
Actor Direktur
Menu Penjualan
Sub Menu Penjualan /unit
Aktivitas Rancangan
Proses
1. Klik menu Penjualan /unit
Tanda Peringatan
Kesalahan
-
Kesesuaian
Sistem
Grafik Penjualan motor tampil
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman HomeDirektur, agar
Direktur dapat melihat laporan penjualan motor, direktur harus memilih
menu Penjualan/Unit yang ada pada menu Penjualan.
Gambar diatas menampilkan Laporan penjualan pada sistem
informasi penjualan. Ini menunjukkan bahwa proses pembayaran berjalan
dengan baik pada bagian keuangan.
e. Forecasting(Ramalan Penjualan)
Pengujianforecasting
Actor Direktur
Menu Forecasting
Sub Menu Forecasting
Aktivitas Rancangan
Proses
1. Klik menu Forecasting
Tanda Peringatan
Kesalahan
-
Kesesuaian
Sistem
Grafik Forecasting tampil
Hasil Warning OK
Accept OK
Keterangan -
Gambar diatas menampilkan halaman HomeDirektur, agar
Direktur dapat melihat forecasting (ramalan penjualan), direktur harus
memilih menu forecasting yang ada pada forecasting.
Gambar diatas menampilkan forecasting (ramalan penjualan)
pada sistem informasi penjualan. Ramalan ini diambil atau berdasarkan
laporan penjualan yang kemudian di proses dengan metode simple moving
average.
LAMPIRAN IV
A. Desain Interface
1. Interface form Sales Order
2. Interface menu Surat Pengiriman Motor
3. Interface form pembuatan Invoice
4. Interface form Pembayaran
5. Interface menu Kirim Motor
6. Interface Menu Laporan Persediaan
7. Interface Laporan Retur
8. Interface Laporan Pesanan
9. Interface Laporan Penjualan
LAMPIRAN V
1. HOME / DASHBOARD
<!DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/
xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xht
ml">
<head>
<meta http-
equiv="content-type"
content="text/html; charset=utf-
8" />
<link href="<?php echo
base_url('assets/css/bootstrap.cs
s') ?>" rel="stylesheet">
<link href="<?php echo
base_url('assets/css/sticky-
footer.css') ?>"
rel="stylesheet">
<link href="<?php echo
base_url('assets/css/kendo.common
-bootstrap.min.css') ?>"
rel="stylesheet">
<meta name="keywords"
content="" />
<meta name="description"
content="" />
<link rel="shortcut icon"
href="<?php echo
base_url('assets/ico/favicon.png'
) ?>">
<title><?php echo $title;
?></title>
<?php
$this->load->helper('HTML');
echo link_tag('css/style.css')
?>
</head>
<body>
<div id="wrapper">
<div id="logo">
<h1>Berkah Jaya
Motor</h1>
<p><em> Design by <a
href="http://templated.co"
rel="nofollow">TEMPLATED</a></em>
</p>
</div>
<hr />
<!-- end #logo -->
<div id="header">
<div id="menu">
<ul class ="menu">
<li>Master
Data
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/item');
?>">Motor</a></li>
<li><a
href="<?php echo
site_url('app/m/company');
?>">Pelanggan</a></li>
<li><a
href="<?php echo
site_url('app/m/user');
?>">User</a></li>
</ul>
</li>
<li>Pesanan
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/po'); ?>">Sales
Order</a></li>
</ul>
</li>
<li>Pengiriman
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/send');
?>">Pengiriman Motor</a></li>
</ul>
</li>
<li>Persediaan
<ul class =
"submenu">
</ul>
</li>
<li>Produksi
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/request');
?>">Permintaan
Persediaan</a></li>
</ul>
</li>
<li>Keuangan
<ul class =
"submenu">
</ul>
</li>
<li>Laporan
<ul class =
"submenu">
</ul>
</li>
<li>Akun
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('panel');
?>">Biodata</a></li>
<li><a
href="<?php echo
site_url('sign_out');
?>">Keluar</a></li>
</ul>
</li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<!-- end #header-wrapper -->
<div id="wrap">
<div
class="container">
<?php
$this->model-
>setTable('member');
$me = $this-
>model-
>getRecord(array('username' =>
$this->session-
>userdata('user_online')));
$this->model-
>setTable('profile');
$biodata = $this-
>model-
>getRecord(array('id_profile' =>
$me->profile));
$noID = explode('
', $biodata->id_no);
?>
<div
class="starter-template">
<br>
<h2 align
="center">Dashboard -
Marketing</h2>
<h3 align
="center">Biodata Anda</h3>
<hr>
<div
class="alert alert-info alert-
dismissable fade in"
id="notifyBar">
<button
type="button" class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><span class="glyphicon
glyphicon-info-sign"></span>
INFORMASI</strong> <div
id="notify"></div>
</div>
<?php echo
validation_errors(); ?>
<?php
if ($message
!== '') {
$type =
($message == 'Data telah
tersimpan') ? 'alert-success' :
'alert-danger';
$notice =
($message == 'Data telah
tersimpan') ? 'Berhasil!' :
'Maaf!';
?>
<div
class="alert <?php echo $type; ?>
alert-dismissable fade in">
<button type="button"
class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><?php echo $notice; ?>
</strong> <?php echo $message; ?>
</div>
<?php } ?>
<form
method="post" action="<?php echo
site_url('data/save/profile');
?>" class="form-horizontal"
role="form">
<div
class="form-group">
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="backpage"
name="backpage" value="dashboard"
/>
</div>
</div>
<div
class="form-group">
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="record"
name="record" value="<?php echo
$biodata->id_profile; ?>" />
</div>
</div>
<div
class="form-group">
<label for="identitas"
class="col-sm-4 control-
label">No. Identitas: </label>
<div
class="col-sm-2">
<select class="form-control"
id="identitas" name="identitas">
<option>KTP</option>
<option>SIM</option>
<option>Paspor</option>
<option>ID</option>
</select>
</div>
<div
class="col-sm-3">
<input type="text" class="form-
control" name="nid" id="nid"
value="<?php echo $noID[1]; ?>"
autofocus required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Nama:</label>
<div
class="col-sm-5">
<input type="text" class="form-
control" name="nama" id="nama"
value="<?php echo $biodata->name;
?>" required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Telepon:</label>
<div
class="col-sm-5">
<input type="text" class="form-
control" name="telepon"
id="telepon"
value="<?php echo $biodata-
>phone; ?>" required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Email:</label>
<div
class="col-sm-5">
<input type="email" class="form-
control" name="email" id="email"
value="<?php echo $biodata-
>email; ?>" required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Alamat:</label>
<div
class="col-sm-5">
<textarea class="form-control"
name="alamat" id="alamat"
required><?php echo $biodata-
>address; ?></textarea>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Tgl Lahir:</label>
<div
class="col-sm-3">
<input type="text" class="form-
control" name="ttl" id="ttl"
value="<?php echo $biodata->bday;
?>" required>
</div>
<div
class="col-sm-2"></div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Jenis Kelamin:</label>
<div
class="col-sm-5">
<select class="form-control"
id="kelamin" name="kelamin">
<option value="m">Pria</option>
<option
value="f">Perempuan</option>
</select>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label"> Status
Pernikahan:</label>
<div
class="col-sm-5">
<select class="form-control"
id="nikah" name="nikah">
<option value="n">Lajang</option>
<option
value="m">Menikah</option>
<option
value="d">Duda/Janda</option>
</select>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label"> Pendidikan Terakhir:
</label>
<div
class="col-sm-5">
<select class="form-control"
id="pendidikan"
name="pendidikan">
<option>SD</option>
<option>SMP</option>
<option>SMA</option>
<option>D1</option>
<option>D2</option>
<option>D3</option>
<option>D4</option>
<option>D5</option>
<option>S1</option>
<option>S2</option>
<option>S3</option>
</select>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label"> Agama:</label>
<div
class="col-sm-5">
<select class="form-control"
id="agama" name="agama">
<option>Islam</option>
<option>Kristen</option>
<option>Hindu</option>
<option>Budha</option>
<option>Yahudi</option>
<option>Tidak Beragama</option>
</select>
</div>
</div>
<div
class="form-group">
<div
align ="center">
<button class="btn btn-primary"
type="submit">Simpan</button>
</div>
</div>
</form>
<hr>
<form
method="post" action="<?php echo
site_url('data/save/member'); ?>"
class="form-horizontal"
role="form">
<div
class="form-group">
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="backpage"
name="backpage" value="dashboard"
/>
</div>
</div>
<div
class="form-group">
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="record"
name="record" value="<?php echo
$me->id_member; ?>" />
</div>
</div>
<div
class="form-group">
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="profile"
name="profile" value="<?php echo
$me->profile; ?>" />
</div>
</div>
<h3 align
="center">Hak Akses Anda</h3>
<div
class="form-group">
<label class="col-sm-4 control-
label"> Username: </label>
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="username"
name="username" value="<?php echo
$me->username; ?>" />
<?php echo $me->username; ?>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label"> Password:</label>
<div
class="col-sm-5">
<input class="form-control"
type="password" id="password"
name="password" value="<?php echo
$me->password; ?>" required
/><br>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label"> Otoritas: </label>
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="auth"
name="auth" value="<?php echo
$me->type; ?>" />
<?php echo strtoupper($me->type);
?>
</div>
</div>
<div
class="form-group">
<div
align ="center">
<button class="btn btn-primary"
type="submit">Simpan</button>
</div>
</div>
</form>
</div>
</div>
<!-- end #content -->
<!-- end #sidebar -->
<div style="clear:
both;"> </div>
</div>
</div>
<!-- end #page -->
<div id="footer-bgcontent">
<div id="footer">
<p>107093001652@</p>
</div>
</div>
<!-- end #footer -->
<!-- Placed at the end of the
document so the pages load faster
-->
<script src="<?php echo
base_url('assets/js/jquery-
1.10.2.min.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/bootstrap.min
.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/kendo.web.min
.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/cultures/kend
o.culture.id-ID.min.js')
?>"></script>
<script>
$(document).ready(function() {
kendo.culture('id-ID');
$("#ttl").kendoDatePicker({
format: 'dd
MMMM yyyy' // value: new Date()
});
$("#identitas").val('<?php echo
$noID[0]; ?>');
$("#kelamin").val('<?php echo
$biodata->gender; ?>');
$("#nikah").val('<?php echo
$biodata->married; ?>');
$("#pendidikan").val('<?php echo
$biodata->education; ?>');
$("#agama").val('<?php echo
$biodata->religion; ?>');
// notification
$('#notifyBar').hide();
setInterval(notify, 5000);
function notify()
{
$.ajax({
type:
'POST',
url:
'<?php echo
site_url('notify/notifySend');
?>',
cache:
false,
success:
function(content) {
if
(content > 0) {
$('#notifyBar').show();
$('#notify').html('<a href="<?php
echo site_url('app/m/send'); ?>">
Ada pesanan motor yang sudah siap
dibuat Surat Pengiriman Motor
!!!</a>');
}
else {
$('#notifyBar').hide();
$('#notify').html('');
}
}
});
}
});
</script>
</div>
</body>
</html>
2. Sales Order
<!DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/
xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xht
ml">
<head>
<meta http-
equiv="content-type"
content="text/html; charset=utf-
8" />
<link href="<?php echo
base_url('assets/css/bootstrap.cs
s') ?>" rel="stylesheet">
<link href="<?php echo
base_url('assets/css/sticky-
footer.css') ?>"
rel="stylesheet">
<link href="<?php echo
base_url('assets/css/kendo.common
-bootstrap.min.css') ?>"
rel="stylesheet">
<link href="<?php echo
base_url('assets/css/kendo.bootst
rap.min.css') ?>"
rel="stylesheet">
<meta name="keywords"
content="" />
<meta name="description"
content="" />
<link rel="shortcut icon"
href="<?php echo
base_url('assets/ico/favicon.png'
) ?>">
<title><?php echo $title;
?></title>
<?php
$this->load->helper('HTML');
echo link_tag('css/style.css')
?>
</head>
<body>
<div id="wrapper">
<div id="logo">
<h1><a href="#">berkah
Jaya Motor</a></h1>
<p><em> Design by <a
href="http://templated.co"
rel="nofollow">TEMPLATED</a></em>
</p>
</div>
<hr />
<!-- end #logo -->
<div id="header">
<div id="menu">
<ul class ="menu">
<li>Master
Data
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/item');
?>">Motor</a></li>
<li><a
href="<?php echo
site_url('app/m/company');
?>">Pelanggan</a></li>
<li><a
href="<?php echo
site_url('app/m/user');
?>">User</a></li>
</ul>
</li>
<li>Pesanan
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/po'); ?>">Sales
Order</a></li>
</ul>
</li>
<li>Pengiriman
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/send');
?>">Pengiriman Motor</a></li>
</ul>
</li>
<li>Persediaan
<ul class =
"submenu">
</ul>
</li>
<li>Produksi
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/request');
?>">Permintaan
Persediaan</a></li>
</ul>
</li>
<li>Keuangan
<ul class =
"submenu">
</ul>
</li>
<li>Laporan
<ul class =
"submenu">
</ul>
</li>
<li>Akun
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('panel');
?>">Biodata</a></li>
<li><a
href="<?php echo
site_url('sign_out');
?>">Keluar</a></li>
</ul>
</li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<!-- end #header-wrapper -->
<div id="wrap">
<div
class="container">
<div
class="starter-template">
<br>
<h2 align
="center">Dashboard - Staf
Marketing</h2>
<?php if
($object == null) { ?>
<hr>
<h3 align
="center">Tabel Sales Order
Anda</h3>
<br>
<div
class="table-responsive">
<table align ="center" border
="1">
<tr>
<td>Tanggal</td>
<td>No SO</td>
<td>Atas Nama</td>
<td> </td>
</tr>
<?php
$this->model->setTable('order');
$totalRecord = 5;
$setPaging = $this->uri-
>segment(2);
$segment = ($setPaging ==
'viewRecords') ? $this->uri-
>segment(6) : 0;
$offset = (!is_numeric($segment)
|| $segment < 1) ? 0 : $segment;
if (empty($offset)) {
$offset = 0;
}
$limitRecords = array(
$this->model->LIMIT =>
$totalRecord,
$this->model->OFFSET => $offset
);
$orderRecords = array(
$this->model->ORDER_BY =>
'so_no',
$this->model->ORDER_TYPE =>
$this->model->ORDER_DESC
);
$we = $this->model-
>getList(array('user' => $this-
>session->userdata('user_id')),
$orderRecords, $limitRecords);
foreach ($we as $me) {
?>
<tr>
<td> <?php echo $me->date; ?>
</td>
<td> <?php echo $me->so_no; ?>
</td>
<td> <?php echo $me->by_name; ?>
</td>
<td>
<a href="<?php echo
site_url('data/viewDetail/po/orde
r/' . $me->id_order); ?>"
class="btn btn-info btn-xs"
role="button"><span
class="glyphicon glyphicon-list-
alt"></span> Lihat/Ubah</a>
</td>
</tr>
<?php } ?>
</table>
</div>
<div
align = "center"><?php echo
$this->pagination-
>create_links(); ?></div>
<?php } ?>
<?php
$this->model-
>setTable('order');
$numbering =
$this->model->getList();
$numberText =
'';
$numbering =
count($numbering) + 1;
$date =
date('ymd');
if
($numbering > 0 & $numbering <
10) {
$numberText = '00' . $numbering;
} else if
($numbering >= 10 & $numbering <=
99) {
$numberText = '0' . $numbering;
} else {
$numberText = $numbering;
}
$dataFields =
array(
'record'
=> 0,
'tgl' =>
'',
'nopo' =>
mdate('%Y%m%d', time()) .
random_string('numeric', 3),
'noso' =>
$date . $numberText,
'nama' =>
'',
'perusahaan' => '',
'alamat'
=> '',
'telepon'
=> ''
);
if ($object
!= null) {
$noID =
explode('-', $object->po_no);
$noAT =
explode('-', $object->so_no);
$dataFields['record'] = $object-
>id_order;
$dataFields['tgl'] = $object-
>date;
$dataFields['nopo'] = $noID[1];
$dataFields['noso'] = $noAT[1];
$dataFields['nama'] = $object-
>by_name;
$dataFields['perusahaan'] =
$object->by_company;
$dataFields['alamat'] = $object-
>by_address;
$dataFields['telepon'] = $object-
>by_phone;
}
if ($special
!= null) {
$dataFields['nama'] = $special-
>name;
$dataFields['perusahaan'] =
$special->company;
$dataFields['alamat'] = $special-
>address;
$dataFields['telepon'] =
$special->phone;
}
?>
<hr>
<div
class="alert alert-info alert-
dismissable fade in"
id="notifyBar">
<button
type="button" class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><span class="glyphicon
glyphicon-info-sign"></span>
INFORMASI</strong> <div
id="notify"></div>
</div>
<?php echo
validation_errors(); ?>
<?php
if ($message
!== '') {
if
($message == 'Data telah
tersimpan' || $message == 'Data
telah terhapus') {
$type
= 'alert-success';
$notice = 'Berhasil!';
} else {
$type
= 'alert-danger';
$notice = 'Maaf!';
}
?>
<div
class="alert <?php echo $type; ?>
alert-dismissable fade in">
<button type="button"
class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><?php echo $notice; ?>
</strong> <?php echo $message; ?>
</div>
<?php } ?>
<form
method="post" action="<?php echo
site_url('data/save/order'); ?>"
class="form-horizontal"
role="form">
<div
class="form-group">
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="backpage"
name="backpage" value="po" />
</div>
</div>
<div
class="form-group">
<div
class="col-sm-5">
<input class="form-control"
type="hidden" id="record"
name="record" value="<?php echo
$dataFields['record']; ?>" />
<input class="form-control"
type="hidden" id="nose"
name="nose" value="-" />
</div>
</div>
<h3 align
="center">Sales Order</h3>
<br>
<div
class="form-group"
style="display: none;">
<label class="col-sm-4 control-
label">Tanggal:</label>
<div
class="col-sm-3">
<input class="form-control"
type="text" name="tgl" id="tgl"
readonly>
</div>
<div
class="col-sm-2"></div>
</div>
<div
class="form-group"
style="display: none;">
<label for="nopo" class="col-sm-4
control-label">No PO: </label>
<div
class="col-sm-2">
<input type="text" class="form-
control" name="prenopo"
id="prenopo" value="PO-"
readonly>
</div>
<div
class="col-sm-3">
<input type="text" class="form-
control" name="nopo" id="nopo"
placeholder="No PO" value="<?php
echo $dataFields['nopo']; ?>"
required>
</div>
</div>
<div
class="form-group">
<label for="noso" class="col-sm-4
control-label">No SO: </label>
<div
class="col-sm-2">
<input type="text" class="form-
control" name="prenoso"
id="prenoso" value="SO-"
readonly>
</div>
<div
class="col-sm-3">
<input type="text" class="form-
control" name="noso" id="noso"
placeholder="No SO" value="<?php
echo $dataFields['noso']; ?>"
autofocus required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Nama:</label>
<div
class="col-sm-5">
<input type="text" class="form-
control" name="nama" id="nama"
placeholder="Atas Nama"
value="<?php echo
$dataFields['nama']; ?>"
required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">No KTP:</label>
<div
class="col-sm-5">
<input type="text" class="form-
control" name="perusahaan"
id="perusahaan" placeholder="No
KTP" value="<?php echo
$dataFields['perusahaan']; ?>"
required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Alamat:</label>
<div
class="col-sm-5">
<textarea class="form-control"
name="alamat" id="alamat"
placeholder="Alamat"
required><?php echo
$dataFields['alamat'];
?></textarea>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Telepon:</label>
<div
class="col-sm-5">
<input type="text" class="form-
control" name="telepon"
id="telepon"
placeholder="Telepon"
value="<?php echo
$dataFields['telepon']; ?>"
required>
</div>
</div>
<hr>
<div
class="form-group">
<label class="col-sm-4 control-
label">Merk Motor:</label>
<div
class="col-sm-5">
<select class="form-control"
id="idb" name="idb" required>
<?php
$this->model->setTable('item');
$itemList = $this->model-
>getList(array('approve' => 1));
foreach ($itemList as $record) {
?>
<option value="<?php echo
$record->id_item; ?>"><?php echo
$record->name; ?> <?php echo
$record->type; ?> <?php echo
$record->jenis; ?> <?php echo
$record->year; ?></option>
<?php } ?>
</select>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Jumlah:</label>
<div
class="col-sm-5">
<input type="text" class="form-
control" name="qty" id="qty"
placeholder="Jumlah" required>
</div>
</div>
<hr>
<div
class="table-responsive">
<table align ="center" border
="1">
<tr>
<td>No</td>
<td>Kode Motor</td>
<td>Merk Motor</td>
<td>Tipe Motor</td>
<td>Jenis Motor</td>
<td>Tahun Motor</td>
<td>Banyak</td>
<td>Harga Satuan</td>
<td>Total</td>
<td> </td>
</tr>
<?php
$this->model-
>setTable('order_item');
$no = 1;
$lists = $this->model-
>getList(array('order' =>
$dataFields['record']));
foreach ($lists as $dataRecord) {
$this->model->setTable('item');
$itemData = $this->model-
>getRecord(array('id_item' =>
$dataRecord->item));
$showAdd = '';
if ($dataRecord->qty_min != 0) {
$showAdd = '(<div style="color:
red;">' . $dataRecord->qty_min .
'</div>)';
}
?>
<tr>
<td> <?php echo $no; ?> </td>
<td> <?php echo $itemData->label;
?> </td>
<td> <?php echo $itemData->name;
?> </td>
<td> <?php echo $itemData->type;
?> </td>
<td> <?php echo $itemData->jenis;
?> </td>
<td> <?php echo $itemData->year;
?> </td>
<td> <?php echo $dataRecord->qty
. ' ' . $showAdd; ?> </td>
<td> Rp <?php echo
number_format($itemData-
>unitcost); ?> </td>
<td> Rp <?php echo
number_format($dataRecord->qty *
$itemData->unitcost); ?> </td>
<td>
<button class="btn btn-warning
btn-xs" data-toggle="modal" data-
target="#myConfirm<?php echo
$dataRecord->id_order_item; ?>">
<span class="glyphicon glyphicon-
remove-circle"></span> Hapus
</button>
</td>
</tr>
<?php
$no++;
}
?>
</table>
</div>
<?php
foreach
($lists as $dataRecord) {
$this->model->setTable('item');
$itemData = $this->model-
>getRecord(array('id_item' =>
$dataRecord->item));
?>
<!--
Modal -->
<div
class="modal fade"
id="myConfirm<?php echo
$dataRecord->id_order_item; ?>"
tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-
hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close" data-
dismiss="modal" aria-
hidden="true">×</button>
<h4 class="modal-title"
id="myModalLabel">Konfirmasi
Penghapusan Data</h4>
</div>
<div class="modal-body">
Yakin untuk membatalkan
penambahan motor "<?php echo
$itemData->name; ?>" ?
</div>
<div class="modal-footer">
<button type="button" class="btn
btn-default" data-
dismiss="modal">Batal</button>
<a href="<?php echo
site_url('data/delete/po/order_it
em/' . $dataRecord-
>id_order_item); ?>" class="btn
btn-danger"
role="button">Hapus</a>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<?php }
?>
<br>
<div
class="form-group">
<div
align = "center">
<button id="addbtn" name="addbtn"
class="btn btn-default"
type="submit">Tambah</button>
<a href="<?php echo
site_url('app/m/po'); ?>"
class="btn btn-primary"
role="button">Simpan</a>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- end #content -->
<div style="clear:
both;"> </div>
</div>
</div>
<!-- end #page -->
<div id="footer-bgcontent">
<div id="footer">
<p>107093001652@</p>
</div>
</div>
<!-- end #footer -->
<!-- Bootstrap core
JavaScript
=================================
================= -->
<!-- Placed at the end of
the document so the pages load
faster -->
<script src="<?php echo
base_url('assets/js/jquery-
1.10.2.min.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/bootstrap.min
.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/kendo.web.min
.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/cultures/kend
o.culture.id-ID.min.js')
?>"></script>
<script>
$(document).ready(function() {
kendo.culture('id-ID');
$("#tgl").kendoDatePicker({
format: 'dd
MMMM yyyy', value: new Date()
});
var tglDate =
$("#tgl").data('kendoDatePicker')
;
<?php if ($dataFields['tgl'] !==
'') { ?>
tglDate.value('<?php echo
$dataFields['tgl']; ?>');
<?php } ?>
// notification
$('#notifyBar').hide();
setInterval(notify, 5000);
function notify()
{
$.ajax({
type:
'POST',
url:
'<?php echo
site_url('notify/notifySend');
?>',
cache:
false,
success:
function(content) {
if
(content > 0) {
$('#notifyBar').show();
$('#notify').html('<a href="<?php
echo site_url('app/m/send'); ?>">
Ada pesanan motor yang sudah siap
dibuat Surat Pengiriman Motor
!!!</a>');
}
else {
$('#notifyBar').hide();
$('#notify').html('');
}
}
});
}
});
</script>
</body>
</html>
3. Input Data Pengiiriman Motor
<!DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD
/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xh
tml">
<head>
<meta http-
equiv="content-type"
content="text/html; charset=utf-
8" />
<link href="<?php echo
base_url('assets/css/bootstrap.c
ss') ?>" rel="stylesheet">
<link href="<?php echo
base_url('assets/css/sticky-
footer.css') ?>"
rel="stylesheet">
<link href="<?php echo
base_url('assets/css/kendo.commo
n-bootstrap.min.css') ?>"
rel="stylesheet">
<link href="<?php echo
base_url('assets/css/kendo.boots
trap.min.css') ?>"
rel="stylesheet">
<meta name="keywords"
content="" />
<meta name="description"
content="" />
<link rel="shortcut
icon" href="<?php echo
base_url('assets/ico/favicon.png
') ?>">
<title><?php echo
$title; ?></title>
<?php
$this->load->helper('HTML');
echo link_tag('css/style.css')
?>
</head>
<body>
<div id="wrapper">
<div id="logo">
<h1><a href="#">Berkah
Jaya Motor</a></h1>
<p><em> Design by <a
href="http://templated.co"
rel="nofollow">TEMPLATED</a></em
></p>
</div>
<hr />
<!-- end #logo -->
<div id="header">
<div id="menu">
<ul class ="menu">
<li>Master
Data
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/item');
?>">Motor</a></li>
<li><a
href="<?php echo
site_url('app/m/company');
?>">Pelanggan</a></li>
<li><a
href="<?php echo
site_url('app/m/user');
?>">User</a></li>
</ul>
</li>
<li>Pesanan
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/po'); ?>">Sales
Order</a></li>
</ul>
</li>
<li>Pengiriman
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/send');
?>">Pengiriman Motor</a></li>
</ul>
</li>
<li>Persediaan
<ul class =
"submenu">
</ul>
</li>
<li>Produksi
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/m/request');
?>">Permintaan
Persediaan</a></li>
</ul>
</li>
<li>Keuangan
<ul class =
"submenu">
</ul>
</li>
<li>Laporan
<ul class =
"submenu">
</ul>
</li>
<li>Akun
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('panel');
?>">Biodata</a></li>
<li><a
href="<?php echo
site_url('sign_out');
?>">Keluar</a></li>
</ul>
</li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<!-- end #header-wrapper -->
<div id="wrap">
<div
class="container">
<div
class="starter-template">
<br>
<h2 align
='center'>Dashboard - Staf
Marketing</h2>
<hr>
<h3 align =
'center'>Tabel Surat Pengiriman
Motor Anda</h3>
<br>
<div
class="table-responsive">
<table
align ="center" border ="1">
<tr>
<td>No SO</td>
<td>No Surat Pengiriman
Motor</td>
<td>Atas Nama</td>
<td> </td>
</tr>
<?php
$this->model->setTable('order');
$totalRecord = 5;
$setPaging = $this->uri-
>segment(2);
$segment = ($setPaging ==
'viewRecords') ? $this->uri-
>segment(6) : 0;
$offset = (!is_numeric($segment)
|| $segment < 1) ? 0 : $segment;
if
(empty($offset)) {
$offset = 0;
}
$limitRecords = array(
$this->model->LIMIT =>
$totalRecord,
$this->model->OFFSET => $offset
);
$orderRecords = array(
$this->model->ORDER_BY =>
'so_no',
$this->model->ORDER_TYPE =>
$this->model->ORDER_DESC
);
$we
= $this->model-
>getList(array('user' => $this-
>session->userdata('user_id')),
$orderRecords, $limitRecords);
foreach ($we as $me) {
?>
<tr>
<td> <?php echo $me->so_no; ?>
</td>
<td> <?php echo $me->send_no; ?>
</td>
<td> <?php echo $me->by_name; ?>
</td>
<td>
<?php if ($me->so_no != 'SO--')
{ ?>
<a href="<?php echo
site_url('data/viewDetail/send/o
rder/' . $me->id_order); ?>"
class="btn btn-info btn-xs"
role="button"><span
class="glyphicon glyphicon-list-
alt"></span> Buat Surat
Pengiriman Motor</a>
<?php } ?>
<?php if ($me->send_no != 'SPM--
') { ?>
<a href="<?php echo
site_url('data/viewDetail/send_p
rint/order/' . $me->id_order);
?>" class="btn btn-primary btn-
xs" role="button"
target="_blank"><span
class="glyphicon glyphicon-
print"></span> Cetak</a>
<?php } ?>
</td>
</tr>
<?php } ?>
</table>
</div>
<?php echo
$this->pagination-
>create_links(); ?>
<?php
$idDate =
substr(mdate('%Y%m%d', time()),
2);
$numbering =
$this->model-
>getNum(array('send_no' =>
$idDate), TRUE);
$numberText
= '';
$numbering
=count($numbering)+1;
if
($numbering > 0 & $numbering <
10) {
$numberText = '00' . $numbering;
} else if
($numbering >= 10 & $numbering
<= 99) {
$numberText = '0' . $numbering;
} else {
$numberText = $numbering;
}
$dataFields
= array(
'record'
=> 0,
'tgl' =>
'',
'nopo'
=> random_string('numeric', 3),
'nama'
=> '',
'perusahaan' => '',
'alamat'
=> '',
'telepon' => '',
'noso'
=> random_string('numeric', 3),
'nose'
=> $idDate . $numberText
);
if ($object
!= null) {
$nose =
$idDate . $numberText;
if
($object->send_no != 'SPM--') {
$noGO = explode('-', $object-
>send_no);
$nose = $noGO[1];
}
$noID =
explode('-', $object->po_no);
$noAT =
explode('-', $object->so_no);
$dataFields['record'] = $object-
>id_order;
$dataFields['tgl'] = $object-
>date;
$dataFields['nopo'] = $noID[1];
$dataFields['nama'] = $object-
>by_name;
$dataFields['perusahaan'] =
$object->by_company;
$dataFields['alamat'] = $object-
>by_address;
$dataFields['telepon'] =
$object->by_phone;
$dataFields['noso'] = $noAT[1];
$dataFields['nose'] = $noAT[1];
}
?>
<hr>
<?php echo
validation_errors(); ?>
<?php
if ($message
!== '') {
if
($message == 'Data telah
tersimpan' || $message == 'Data
telah terhapus') {
$type = 'alert-success';
$notice = 'Berhasil!';
} else {
$type = 'alert-danger';
$notice = 'Maaf!';
}
?>
<div
class="alert <?php echo $type;
?> alert-dismissable fade in">
<button type="button"
class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><?php echo $notice; ?>
</strong> <?php echo $message;
?>
</div>
<?php } ?>
<?php if
($object != null) { ?>
<form
method="post" action="<?php echo
site_url('data/save/order'); ?>"
class="form-horizontal"
role="form">
<div
class="form-group">
<div class="col-sm-5">
<input class="form-control"
type="hidden" id="backpage"
name="backpage" value="send" />
</div>
</div>
<div
class="form-group">
<div class="col-sm-5">
<input class="form-control"
type="hidden" id="record"
name="record" value="<?php echo
$dataFields['record']; ?>" />
</div>
</div>
<h3
align ="center">Surat Pengiriman
Motor</h3>
<br>
<div
class="form-group"
style="display: none;">
<label class="col-sm-4 control-
label">Tanggal:</label>
<div class="col-sm-3">
<input class="form-control"
type="text" name="tgl" id="tgl"
readonly>
</div>
<div class="col-sm-2"></div>
</div>
<div
class="form-group"
style="display: none;">
<label for="nopo" class="col-sm-
4 control-label">No PO: </label>
<div class="col-sm-2">
<input type="text" class="form-
control" name="prenopo"
id="prenopo" value="PO-"
readonly>
</div>
<div class="col-sm-3">
<input type="text" class="form-
control" name="nopo" id="nopo"
placeholder="No PO" value="<?php
echo $dataFields['nopo']; ?>"
readonly>
</div>
</div>
<div
class="form-group">
<label for="noso" class="col-sm-
4 control-label">No SO: </label>
<div class="col-sm-2">
<input type="text" class="form-
control" name="prenoso"
id="prenoso" value="SO-"
readonly>
</div>
<div class="col-sm-3">
<input type="text" class="form-
control" name="noso" id="noso"
placeholder="No SO" value="<?php
echo $dataFields['noso']; ?>"
readonly>
</div>
</div>
<div
class="form-group">
<label for="nose" class="col-sm-
4 control-label">No Surat
Pengiriman Motor: </label>
<div class="col-sm-2">
<input type="text" class="form-
control" name="prenose"
id="prenose" value="SPM-"
readonly>
</div>
<div class="col-sm-3">
<input type="text" class="form-
control" name="nose" id="nose"
placeholder="No Surat Pengiriman
Barang" value="<?php echo
$dataFields['nose']; ?>"
autofocus required>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Nama:</label>
<div class="col-sm-5">
<input type="text" class="form-
control" name="nama" id="nama"
placeholder="Atas Nama"
value="<?php echo
$dataFields['nama']; ?>"
readonly>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">No KTP:</label>
<div class="col-sm-5">
<input type="text" class="form-
control" name="perusahaan"
id="perusahaan"
placeholder="Nama Perusahaan"
value="<?php echo
$dataFields['perusahaan']; ?>"
readonly>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Alamat:</label>
<div class="col-sm-5">
<textarea class="form-control"
name="alamat" id="alamat"
placeholder="Alamat Perusahaan"
readonly><?php echo
$dataFields['alamat'];
?></textarea>
</div>
</div>
<div
class="form-group">
<label class="col-sm-4 control-
label">Telepon:</label>
<div class="col-sm-5">
<input type="text" class="form-
control" name="telepon"
id="telepon"
placeholder="Telepon"
value="<?php echo
$dataFields['telepon']; ?>"
readonly>
</div>
</div>
<hr>
<div
class="table-responsive">
<table align ="center" border
="1">
<tr>
<td>No</td>
<td>kode Motor</td>
<td>Nama Motor</td>
<td>Banyak</td>
<td>Harga Satuan</td>
<td>Total</td>
</tr>
<?php
$this->model-
>setTable('order_item');
$no = 1;
$lists = $this->model-
>getList(array('order' =>
$dataFields['record']));
$showAdd = '';
foreach ($lists as $dataRecord)
{
$this->model->setTable('item');
$itemData = $this->model-
>getRecord(array('id_item' =>
$dataRecord->item));
$showAdd = '';
if ($dataRecord->qty_min != 0) {
$showAdd = '(<div style="color:
red;">' . $dataRecord->qty_min .
'</div>)';
}
?>
<tr>
<td> <?php echo $no; ?> </td>
<td> <?php echo $itemData-
>label; ?> </td>
<td> <?php echo $itemData->name;
?> </td>
<td> <?php echo $dataRecord->qty
. ' ' . $showAdd; ?> </td>
<td> Rp <?php echo
number_format($itemData-
>unitcost); ?> </td>
<td> Rp <?php echo
number_format($dataRecord->qty *
$itemData->unitcost); ?> </td>
</tr>
<?php
$no++;
}
?>
</table>
</div>
<?php if ($showAdd == '') { ?>
<br>
<div class="form-group">
<div align ="center">
<button class="btn btn-primary"
type="submit">Simpan</button>
</div>
</div>
<?php } ?>
</form>
<?php } ?>
</div>
</div>
</div>
<!-- end #content -->
<div style="clear:
both;"> </div>
</div>
</div>
<!-- end #page -->
<div id="footer-bgcontent">
<div id="footer">
<p>107093001652@</a>.</p>
</div>
</div>
<!-- end #footer -->
<!-- Bootstrap core
JavaScript
================================
================== -->
<!-- Placed at the end
of the document so the pages
load faster -->
<script src="<?php echo
base_url('assets/js/jquery-
1.10.2.min.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/bootstrap.mi
n.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/kendo.web.mi
n.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/cultures/ken
do.culture.id-ID.min.js')
?>"></script>
<script>
$(document).ready(function() {
kendo.culture('id-ID');
$("#tgl").kendoDatePicker({
format: 'dd
MMMM yyyy', value: new Date()
});
var tglDate =
$("#tgl").data('kendoDatePicker'
);
<?php if ($dataFields['tgl'] !==
'') { ?>
tglDate.value('<?php echo
$dataFields['tgl']; ?>');
<?php } ?>
});
</script>
</div>
</body>
</html>
4. Invoice
<!DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD
/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xh
tml">
<head>
<meta http-
equiv="content-type"
content="text/html; charset=utf-
8" />
<link href="<?php echo
base_url('assets/css/bootstrap.c
ss') ?>" rel="stylesheet">
<meta name="keywords"
content="" />
<meta name="description"
content="" />
<link rel="shortcut
icon" href="<?php echo
base_url('assets/ico/favicon.png
') ?>">
<title><?php echo
$title; ?></title>
<?php
$this->load->helper('HTML');
echo link_tag('css/style.css')
?>
</head>
<body>
<div id="wrapper">
<div id="logo">
<h1><a href="#">Berkah
Jaya Motor</a></h1>
<p><em> Design by <a
href="http://templated.co"
rel="nofollow">TEMPLATED</a></em
></p>
</div>
<hr />
<!-- end #logo -->
<div id="header">
<div id="menu">
<ul class ="menu">
<li>Master
Data
<ul class =
"submenu">
</ul>
</li>
<li>Pesanan
<ul class =
"submenu">
</ul>
</li>
<li>Pengiriman
<ul class =
"submenu">
</ul>
</li>
<li>Persediaan
<ul class =
"submenu">
</ul>
</li>
<li>Produksi
<ul class =
"submenu">
</ul>
</li>
<li>Keuangan
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/f/signature');
?>">Invoice</a></li>
<li><a
href="<?php echo
site_url('app/f/pay');
?>">Pembayaran</a></li>
</ul>
</li>
<li>Laporan
<ul class =
"submenu">
</ul>
</li>
<li>Akun
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('panel');
?>">Biodata</a></li>
<li><a
href="<?php echo
site_url('sign_out');
?>">Keluar</a></li>
</ul>
</li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<!-- end #header-wrapper -->
<div id="wrap">
<div
class="container">
<div
class="starter-template">
<br>
<h2 align
="center">Dashboard - Staf
Keuangan</h2>
<hr>
<h3 align
="center">Tabel Invoice</h3>
<br>
<div>
<table
align ='center' border ='1'>
<tr>
<td>No SO</td>
<td>No Surat Pengiriman
Barang</td>
<td>No Invoice</td>
<td> </td>
</tr>
<?php
$this->model->setTable('order');
$totalRecord = 5;
$setPaging = $this->uri-
>segment(2);
$segment = ($setPaging ==
'viewRecords') ? $this->uri-
>segment(6) : 0;
$offset = (!is_numeric($segment)
|| $segment < 1) ? 0 : $segment;
if
(empty($offset)) {
$offset = 0;
}
$limitRecords = array(
$this->model->LIMIT =>
$totalRecord,
$this->model->OFFSET => $offset
);
$orderRecords = array(
$this->model->ORDER_BY =>
'so_no',
$this->model->ORDER_TYPE =>
$this->model->ORDER_DESC
);
$we
= $this->model->getList(array(),
$orderRecords, $limitRecords);
foreach ($we as $me) {
$this->model-
>setTable('order_sign');
$signDt = $this->model-
>getRecord(array('order' => $me-
>id_order));
$rcpt = ($signDt != NULL) ?
$signDt->receipt : '';
$invc = ($signDt != NULL) ?
$signDt->invoice : '';
$linkAt = ($signDt != NULL) ?
'data/viewDetail/pay/order_sign/
' . $signDt->id_order_sign : '';
$stat = '';
if ($signDt != NULL) {
if ($signDt->status != 'Proses
Selesai') {
$stat = $signDt->status;
}
}
?>
<tr>
<td> <?php echo $me->so_no; ?>
</td>
<td> <?php echo $me->send_no; ?>
</td>
<td>
<?php echo $rcpt; ?>
<?php if ($rcpt != '') { ?>
<a href="<?php echo
site_url('data/viewDetail/receip
t/order_sign/' . $signDt-
>id_order_sign); ?>" class="btn
btn-primary btn-xs"
role="button"
target="_blank"><span
class="glyphicon glyphicon-
print"></span> Cetak</a>
<?php } ?>
</td>
<td>
<?php if ($stat == 'Proses
Selesai') { ?>
<a href="<?php echo
site_url($linkAt); ?>"
class="btn btn-info btn-xs"
role="button"><span
class="glyphicon glyphicon-list-
alt"></span> Pembayaran</a>
<?php } else if ($me->send_no !=
'SPB--') { ?>
<a href="<?php echo
site_url('data/viewDetail/signat
ure/order/' . $me->id_order);
?>" class="btn btn-info btn-xs"
role="button"><span
class="glyphicon glyphicon-list-
alt"></span> Invoice</a>
<?php } ?>
</td>
</tr>
<?php } ?>
</table>
</div>
<div align
="center"><?php echo $this-
>pagination->create_links();
?></div>
<?php
$this-
>model->setTable('order_sign');
$numbering =
$this->model->getList();
$numberText
= '';
$numbering =
count($numbering) + 1;
$date =
date('ymd');
if
($numbering > 0 & $numbering <
10) {
$numberText = '00' . $numbering;
} else if
($numbering >= 10 & $numbering
<= 99) {
$numberText = '0' . $numbering;
} else {
$numberText = $numbering;
}
$dataFields
= array(
'record'
=> 0,
'tgl' =>
'',
'order'
=> 0,
'kwitansi' => $date .
$numberText,
'faktur'
=> '00' .
random_string('numeric', 3),
'user'
=> $this->session-
>userdata('user_id'),
'status'
=> 'Dalam Proses'
);
if ($object
!= null) {
$this-
>model->setTable('order_sign');
$signObj
= $this->model-
>getRecord(array('order' =>
$object->id_order));
$dataFields['order'] = $object-
>id_order;
if
($signObj != NULL) {
$noKw = explode('-', $signObj-
>receipt);
$noFk = explode('-', $signObj-
>invoice);
$dataFields['record'] =
$signObj->id_order_sign;
$dataFields['tgl'] = $signObj-
>date;
$dataFields['kwitansi'] =
$noKw[1];
$dataFields['faktur'] =
$noFk[1];
$dataFields['user'] = $signObj-
>user;
$dataFields['status'] =
$signObj->status;
}
}
?>
<hr>
<br>
<?php echo
validation_errors(); ?>
<?php
if ($message
!== '') {
if
($message == 'Data telah
tersimpan' || $message == 'Data
telah terhapus') {
$type = 'alert-success';
$notice = 'Berhasil!';
} else {
$type = 'alert-danger';
$notice = 'Maaf!';
}
?>
<div
class="alert <?php echo $type;
?> alert-dismissable fade in">
<button type="button"
class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><?php echo $notice; ?>
</strong> <?php echo $message;
?>
</div>
<?php } ?>
<?php if
($object != null) { ?>
<br>
<h3
align ="center">Pesanan
Motor</h3>
<br>
<div
class="table-responsive"
style="text-align: left;">
<p><b>Tanggal Pesanan:</b> <?php
echo $object->date; ?></p>
<p><b>No SO:</b> <?php echo
$object->so_no; ?></p>
<p><b>No Surat Pengiriman
Motor:</b> <?php echo $object-
>send_no; ?></p>
<p><b>Atas Nama:</b> <?php echo
$object->by_name; ?></p>
<p><b>No KTP:</b> <?php echo
$object->by_company; ?></p>
<p><b>Alamat:</b> <br><?php echo
$object->by_address; ?></p>
<p><b>Telepon:</b> <?php echo
$object->by_phone; ?></p>
</div>
<hr>
<div
class="table-responsive">
<table align ="center" border
="1">
<tr>
<td>No</td>
<td>Kode Motor</td>
<td>Merk Motor</td>
<td>Tipe Motor</td>
<td>Jenis Motor</td>
<td>Tahun</td>
<td>Banyak</td>
<td>Harga Satuan</td>
<td>Total</td>
</tr>
<?php
$this->model-
>setTable('order_item');
$no = 1;
$lists = $this->model-
>getList(array('order' =>
$dataFields['order']));
foreach ($lists as $dataRecord)
{
$this->model->setTable('item');
$itemData = $this->model-
>getRecord(array('id_item' =>
$dataRecord->item));
$showAdd = '';
if ($dataRecord->qty_min != 0) {
$showAdd = '(<div style="color:
red;">' . $dataRecord->qty_min .
'</div>)';
}
?>
<tr>
<td> <?php echo $no; ?> </td>
<td> <?php echo $itemData-
>label; ?> </td>
<td> <?php echo $itemData->name;
?> </td>
<td> <?php echo $itemData->type;
?> </td>
<td> <?php echo $itemData-
>jenis; ?> </td>
<td> <?php echo $itemData->year;
?> </td>
<td> <?php echo $dataRecord->qty
. ' ' . $showAdd; ?> </td>
<td> Rp <?php echo
number_format($itemData-
>unitcost); ?> </td>
<td> Rp <?php echo
number_format($dataRecord->qty *
$itemData->unitcost); ?> </td>
</tr>
<?php
$no++;
}
?>
</table>
</div>
<hr>
<form
method="post" action="<?php echo
site_url('data/save/order_sign')
; ?>" class="form-horizontal"
role="form">
<div
class="form-group">
<div class="col-sm-5">
<input class="form-control"
type="hidden" id="backpage"
name="backpage"
value="signature" />
<input class="form-control"
type="hidden" id="record"
name="record" value="<?php echo
$dataFields['record']; ?>" />
<input class="form-control"
type="hidden" id="order"
name="order" value="<?php echo
$dataFields['order']; ?>" />
<input class="form-control"
type="hidden" id="user"
name="user" value="<?php echo
$dataFields['user']; ?>" />
</div>
</div>
<h3
align ="center">Surat Pengiriman
Motor</h3>
<br>
<div
class="form-group"
style="display: none;">
<label class="col-sm-4 control-
label">Tanggal:</label>
<div class="col-sm-3">
<input class="form-control"
type="text" name="tgl" id="tgl"
readonly>
</div>
<div class="col-sm-2"></div>
</div>
<div
class="form-group">
<label for="kwitansi"
class="col-sm-4 control-
label">No Invoice: </label>
<div class="col-sm-2">
<input type="text" class="form-
control" name="prekwi"
id="prekwi" value="IC-"
readonly>
</div>
<div class="col-sm-3">
<input type="text" class="form-
control" name="kwitansi"
id="kwitansi" placeholder="No
Kwitansi" value="<?php echo
$dataFields['kwitansi']; ?>"
autofocus required>
</div>
</div>
<div
class="form-group"
style="display: none;">
<label for="faktur" class="col-
sm-4 control-label">No Faktur:
</label>
<div class="col-sm-2">
<input type="text" class="form-
control" name="prefkt"
id="prefkt" value="FT-"
readonly>
</div>
<div class="col-sm-3">
<input type="text" class="form-
control" name="faktur"
id="faktur" placeholder="No
Faktur" value="<?php echo
$dataFields['faktur']; ?>"
required>
</div>
</div>
<div
class="form-group">
<label for="status" class="col-
sm-4 control-label">Status:
</label>
<div class="col-sm-5">
<select class="form-control"
id="status" name="status">
<option>Terima</option>
<option>Dalam Proses</option>
<option>Tolak</option>
</select>
</div>
</div>
<div
class="form-group">
<div align ="center">
<button class="btn btn-primary"
type="submit">Simpan</button>
</div>
</div>
</form>
<?php } ?>
</div>
</div>
</div>
<!-- end #content -->
<!-- end #sidebar -->
<div style="clear:
both;"> </div>
</div>
</div>
<!-- end #page -->
<div id="footer-bgcontent">
<div id="footer">
<p>107093001652@</p>
</div>
</div>
<!-- end #footer -->
<!-- Bootstrap core JavaScript
================================
================== -->
<!-- Placed at the end
of the document so the pages
load faster -->
<script src="<?php echo
base_url('assets/js/jquery-
1.10.2.min.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/bootstrap.mi
n.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/kendo.web.mi
n.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/cultures/ken
do.culture.id-ID.min.js')
?>"></script>
<script>
$(document).ready(function() {
kendo.culture('id-ID');
$("#tgl").kendoDatePicker({
format: 'dd
MMMM yyyy', value: new Date()
});
$("#status").val('<?php echo
$dataFields['status']; ?>');
var tglDate =
$("#tgl").data('kendoDatePicker'
);
<?php if ($dataFields['tgl'] !==
'') { ?>
tglDate.value('<?php echo
$dataFields['tgl']; ?>');
<?php } ?>
});
</script>
</div>
</body>
</html>
5. Kirim Motor
<!DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DT
D/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/x
html">
<head>
<meta http-
equiv="content-type"
content="text/html;
charset=utf-8" />
<link href="<?php echo
base_url('assets/css/bootstrap.
css') ?>" rel="stylesheet">
<meta name="keywords"
content="" />
<meta
name="description" content=""
/>
<link rel="shortcut
icon" href="<?php echo
base_url('assets/ico/favicon.pn
g') ?>">
<title><?php echo
$title; ?></title>
<?php
$this->load->helper('HTML');
echo link_tag('css/style.css')
?>
</head>
<body>
<div id="wrapper">
<div id="logo">
<h1><a href="#">Berkah
Jaya Motor</a></h1>
<p><em> Design by <a
href="http://templated.co"
rel="nofollow">TEMPLATED</a></e
m></p>
</div>
<hr />
<!-- end #logo -->
<div id="header">
<div id="menu">
<ul class
="menu">
<li>Master
Data
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/i/motor');
?>">Motor</a></li>
</ul>
</li>
<li>Pesanan
<ul class =
"submenu">
</ul>
</li>
<li>Pengiriman
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/i/out');
?>">Kirim Motor</a></li>
</ul>
</li>
<li>Persediaan
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/i/item');
?>">Manage Barang</a></li>
<li><a
href="<?php echo
site_url('app/i/retur');
?>">Retur Barang</a></li>
<li><a
href="<?php echo
site_url('app/i/permintaan');
?>">Surat Masuk Motor</a></li>
</ul>
</li>
<li>Produksi
<ul class =
"submenu">
</ul>
</li>
<li>Keuangan
<ul class =
"submenu">
</ul>
</li>
<li>Laporan
<ul class =
"submenu">
</ul>
</li>
<li>Akun
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/i/dashboard');
?>">Biodata</a></li>
<li><a
href="<?php echo
site_url('sign_out');
?>">Keluar</a></li>
</ul>
</li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<!-- end #header-wrapper -->
<div id="wrap">
<div
class="container">
<div
class="starter-template">
<br>
<h2 align
="center">Dashboard - Staf
Inventory</h2>
<hr>
<h3 align
="center">Tabel Pesanan
Motor</h3>
<br>
<div
class="table-responsive">
<table
align ="center" border ="1">
<tr>
<td>No SO</td>
<td>No Surat Pengiriman
Motor</td>
<td>No Invoice</td>
<td> </td>
</tr>
<?php
$this->model-
>setTable('order_sign');
$totalRecord = 5;
$setPaging = $this->uri-
>segment(2);
$segment = ($setPaging ==
'viewRecords') ? $this->uri-
>segment(6) : 0;
$offset =
(!is_numeric($segment) ||
$segment < 1) ? 0 : $segment;
if
(empty($offset)) {
$offset = 0;
}
$limitRecords = array(
$this->model->LIMIT =>
$totalRecord,
$this->model->OFFSET => $offset
);
$we
= $this->model-
>getList(array('status' =>
'Terima'), array(),
$limitRecords);
foreach ($we as $me) {
$this->model-
>setTable('order');
$signDt = $this->model-
>getRecord(array('id_order' =>
$me->order));
?>
<tr>
<td> <?php echo $signDt->so_no;
?> </td>
<td> <?php echo $signDt-
>send_no; ?>
<a href="<?php echo
site_url('data/viewDetail/send_
print/order_sign/' . $me-
>id_order_sign); ?>" class="btn
btn-primary btn-xs"
role="button"
target="_blank"><span
class="glyphicon glyphicon-
print"></span> Cetak</a>
<?php } ?>
</td>
<td> <?php echo $me->receipt;
?>
<a href="<?php echo
site_url('data/viewDetail/recei
pt_print/order_sign/' . $me-
>id_order_sign); ?>" class="btn
btn-primary btn-xs"
role="button"
target="_blank"><span
class="glyphicon glyphicon-
print"></span> Cetak</a>
</td>
<td>
<a href="<?php echo
site_url('data/viewDetail/out/o
rder_sign/' . $me-
>id_order_sign); ?>" class="btn
btn-info btn-xs"
role="button"><span
class="glyphicon glyphicon-
list-alt"></span> Kirim</a>
</td>
</tr>
</table>
</div>
<?php echo
$this->pagination-
>create_links(); ?>
<hr>
<?php echo
validation_errors(); ?>
<?php
if
($message !== '') {
if
($message == 'Data telah
tersimpan' || $message == 'Data
telah terhapus') {
$type = 'alert-success';
$notice = 'Berhasil!';
} else
{
$type = 'alert-danger';
$notice = 'Maaf!';
}
?>
<div
class="alert <?php echo $type;
?> alert-dismissable fade in">
<button type="button"
class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><?php echo $notice; ?>
</strong> <?php echo $message;
?>
</div>
<?php } ?>
<?php
if ($object
!= null) {
$this-
>model->setTable('order');
$orderObj = $this->model-
>getRecord(array('id_order' =>
$object->order));
$noKw =
explode('-', $object->receipt);
$noFk =
explode('-', $object->invoice);
?>
<h3>Pesanan Motor</h3>
<div
class="table-responsive"
style="text-align: left;">
<p><b>Tanggal Pesanan:</b>
<?php echo $orderObj->date;
?></p>
<p><b>No SO:</b> <?php echo
$orderObj->so_no; ?></p>
<p><b>No Surat Pengiriman
Motor:</b> <?php echo
$orderObj->send_no; ?></p>
<p><b>Atas Nama:</b> <?php echo
$orderObj->by_name; ?></p>
<p><b>No KTP:</b> <?php echo
$orderObj->by_company; ?></p>
<p><b>Alamat:</b> <br><?php
echo $orderObj->by_address;
?></p>
<p><b>Telepon:</b> <?php echo
$orderObj->by_phone; ?></p>
</div>
<hr>
<div
class="table-responsive">
<table align ="center" border
="1">
<tr>
<td>No</td>
<td>Kode Motor</td>
<td>Type Motor</td>
<td>Jenis Motor</td>
<td>Tahun Motor</td>
<td>Banyak</td>
<td>Harga Satuan</td>
<td>Total</td>
</tr>
<?php
$this->model-
>setTable('order_item');
$no = 1;
$lists = $this->model-
>getList(array('order' =>
$object->order));
foreach ($lists as $dataRecord)
{
$this->model->setTable('item');
$itemData = $this->model-
>getRecord(array('id_item' =>
$dataRecord->item));
$showAdd = '';
if ($dataRecord->qty_min != 0)
{
$showAdd = '(<div style="color:
red;">' . $dataRecord->qty_min
. '</div>)';
}
?>
<tr>
<td> <?php echo $no; ?> </td>
<td> <?php echo $itemData-
>label; ?> </td>
<td> <?php echo $itemData-
>name; ?> </td>
<td> <?php echo $itemData-
>type; ?> </td>
<td> <?php echo $itemData-
>year; ?> </td>
<td> <?php echo $dataRecord-
>qty . ' ' . $showAdd; ?> </td>
<td> Rp <?php echo
number_format($itemData-
>unitcost); ?> </td>
<td> Rp <?php echo
number_format($dataRecord->qty
* $itemData->unitcost); ?>
</td>
</tr>
<?php
$no++;
}
?>
</table>
</div>
<form
method="post" action="<?php
echo
site_url('data/save/order_sign'
); ?>" class="form-horizontal"
role="form">
<div class="form-group">
<div class="col-sm-5">
<input class="form-control"
type="hidden" id="backpage"
name="backpage" value="out" />
<input class="form-control"
type="hidden" id="record"
name="record" value="<?php echo
$object->id_order_sign; ?>" />
<input class="form-control"
type="hidden" id="order"
name="order" value="<?php echo
$object->order; ?>" />
<input class="form-control"
type="hidden" id="tgl"
name="tgl" value="<?php echo
$object->date; ?>" />
<input class="form-control"
type="hidden" id="prekwi"
name="prekwi" value="IC-" />
<input class="form-control"
type="hidden" id="kwitansi"
name="kwitansi" value="<?php
echo $noKw[1]; ?>" />
<input class="form-control"
type="hidden" id="prefkt"
name="prefkt" value="FT-" />
<input class="form-control"
type="hidden" id="faktur"
name="faktur" value="<?php echo
$noFk[1]; ?>" />
<input class="form-control"
type="hidden" id="status"
name="status" value="Proses
Selesai" />
<input class="form-control"
type="hidden" id="user"
name="user" value="<?php echo
$object->user; ?>" />
</div>
</div>
<div class="form-group">
<div align ="center">
<button class="btn btn-primary"
type="submit">Kirim
Motor</button>
</div>
</div>
</form>
<?php } ?>
</div>
</div>
</div>
<!-- end #content -->
<div style="clear:
both;"> </div>
</div>
</div>
<!-- end #page -->
<div id="footer-bgcontent">
<div id="footer">
<p>107093001652@</a>.</p>
</div>
</div>
<!-- end #footer -->
<!-- Bootstrap core
JavaScript
===============================
=================== -->
<!-- Placed at the end
of the document so the pages
load faster -->
<script src="<?php echo
base_url('assets/js/jquery-
1.10.2.min.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/bootstrap.m
in.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/kendo.web.m
in.js') ?>"></script>
</div>
</body>
</html>
6. Pembayaran
<!DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DT
D/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/x
html">
<head>
<meta http-
equiv="content-type"
content="text/html;
charset=utf-8" />
<link href="<?php echo
base_url('assets/css/bootstrap.
css') ?>" rel="stylesheet">
<meta name="keywords"
content="" />
<meta
name="description" content=""
/>
<link rel="shortcut
icon" href="<?php echo
base_url('assets/ico/favicon.pn
g') ?>">
<title><?php echo
$title; ?></title>
<?php
$this->load->helper('HTML');
echo link_tag('css/style.css')
?>
</head>
<body>
<div id="wrapper">
<div id="logo">
<h1><a href="#">Berkah
Jaya Motor</a></h1>
<p><em> Design by <a
href="http://templated.co"
rel="nofollow">TEMPLATED</a></e
m></p>
</div>
<hr />
<!-- end #logo -->
<div id="header">
<div id="menu">
<ul class
="menu">
<li>Master
Data
<ul class =
"submenu">
</ul>
</li>
<li>Pesanan
<ul class =
"submenu">
</ul>
</li>
<li>Pengiriman
<ul class =
"submenu">
</ul>
</li>
<li>Persediaan
<ul class =
"submenu">
</ul>
</li>
<li>Produksi
<ul class =
"submenu">
</ul>
</li>
<li>Keuangan
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('app/f/signature');
?>">Invoice</a></li>
<li><a
href="<?php echo
site_url('app/f/pay');
?>">Pembayaran</a></li>
</ul>
</li>
<li>Laporan
<ul class =
"submenu">
</ul>
</li>
<li>Akun
<ul class =
"submenu">
<li><a
href="<?php echo
site_url('panel');
?>">Biodata</a></li>
<li><a
href="<?php echo
site_url('sign_out');
?>">Keluar</a></li>
</ul>
</li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<!-- end #header-wrapper -->
<div id="wrap">
<div
class="container">
<div
class="starter-template">
<br>
<h2 align
="center">Dashboard - Staf
Keuangan</h2>
<hr>
<div
class="alert alert-info alert-
dismissable fade in"
id="notifyBar">
<button
type="button" class="close"
data-dismiss="alert" aria-
hidden="true">×</button>
<strong><span class="glyphicon
glyphicon-info-sign"></span>
INFORMASI</strong> <div
id="notify"></div>
</div>
<h3 align
="center">Tabel Pembayaran</h3>
<br>
<div
class="table-responsive">
<table
align ="center" border = "1">
<tr>
<td>No SO</td>
<td>No Surat Pengiriman
Motor</td>
<td>No Invoice</td>
<td> </td>
</tr>
<?php
$this->model-
>setTable('order_sign');
$totalRecord = 5;
$setPaging = $this->uri-
>segment(2);
$segment = ($setPaging ==
'viewRecords') ? $this->uri-
>segment(6) : 0;
$offset =
(!is_numeric($segment) ||
$segment < 1) ? 0 : $segment;
if
(empty($offset)) {
$offset = 0;
}
$limitRecords = array(
$this->model->LIMIT =>
$totalRecord,
$this->model->OFFSET => $offset
);
$we
= $this->model->getList(array(
'user' => $this->session-
>userdata('user_id'), 'status'
=> 'Proses Selesai'
), array(), $limitRecords);
foreach ($we as $me) {
$this->model-
>setTable('order');
$signDt = $this->model-
>getRecord(array('id_order' =>
$me->order));
?>
<tr>
<td> <?php echo $signDt->so_no;
?> </td>
<td> <?php echo $signDt-
>send_no; ?> </td>
<td> <?php echo $me->receipt;
?> </td>
<td>
<a href="<?php echo
site_url('data/viewDetail/pay/o
rder_sign/' . $me-
>id_order_sign); ?>" class="btn
btn-info btn-xs"
role="button"><span
class="glyphicon glyphicon-
list-alt"></span>
Pembayaran</a>
</td>
</tr>
<?php } ?>
</table>
</div>
<div align
="center"><?php echo $this-
>pagination->create_links();
?></div>
<hr>
<?php
if
($message !== '') {
if
($message == 'Data telah
tersimpan' || $message == 'Data
telah terhapus') {
$type = 'alert-success';
$notice = 'Berhasil!';
} else
{
$type = 'alert-danger';
$notice = 'Maaf!';
}
?>
<div
class="alert <?php echo $type;
?> alert-dismissable fade in">
<button type="button"
class="close" data-
dismiss="alert" aria-
hidden="true">×</button>
<strong><?php echo $notice; ?>
</strong> <?php echo $message;
?>
</div>
<?php } ?>
<?php echo
validation_errors(); ?>
<?php
if ($object
!= null) {
$this-
>model->setTable('order');
$orderObj = $this->model-
>getRecord(array('id_order' =>
$object->order));
?>
<h3>Pesanan Motor</h3>
<div
class="table-responsive"
style="text-align: left;">
<p><b>Tanggal Pesanan:</b>
<?php echo $orderObj->date;
?></p>
<p><b>No SO:</b> <?php echo
$orderObj->so_no; ?></p>
<p><b>No Surat Pengiriman
Motor:</b> <?php echo
$orderObj->send_no; ?></p>
<p><b>Atas Nama:</b> <?php echo
$orderObj->by_name; ?></p>
<p><b>No KTP:</b> <?php echo
$orderObj->by_company; ?></p>
<p><b>Alamat:</b> <br><?php
echo $orderObj->by_address;
?></p>
<p><b>Telepon:</b> <?php echo
$orderObj->by_phone; ?></p>
</div>
<hr>
<div
class="table-responsive">
<table align ="center" border
="1">
<tr>
<td>No</td>
<td>Kode Motor</td>
<td>Type Motor</td>
<td>Banyak</td>
<td>Harga Satuan</td>
<td>Total</td>
</tr>
<?php
$this->model-
>setTable('order_item');
$no = 1;
$subTotal = 0;
$lists = $this->model-
>getList(array('order' =>
$object->order));
foreach ($lists as $dataRecord)
{
$this->model->setTable('item');
$itemData = $this->model-
>getRecord(array('id_item' =>
$dataRecord->item));
$showAdd = '';
$subTotal += ($dataRecord->qty
* $itemData->unitcost);
if ($dataRecord->qty_min != 0)
{
$showAdd = '(<div style="color:
red;">' . $dataRecord->qty_min
. '</div>)';
}
?>
<tr>
<td> <?php echo $no; ?> </td>
<td> <?php echo $itemData-
>label; ?> </td>
<td> <?php echo $itemData-
>name; ?> </td>
<td> <?php echo $dataRecord-
>qty . ' ' . $showAdd; ?> </td>
<td> Rp <?php echo
number_format($itemData-
>unitcost); ?> </td>
<td> Rp <?php echo
number_format($dataRecord->qty
* $itemData->unitcost); ?>
</td>
</tr>
<?php
$no++;
}
?>
<?php
$tax = $subTotal * 0.1;
$total = $subTotal + $tax;
?>
<tr>
<td colspan="4" rowspan="3"
style="text-align:
center;">Terbilang: <?php echo
str_replace(' ', ' ', $this-
>attribute-
>convertNominal($total)) ?>
Rupiah</td>
<td>Sub Total</td>
<td>Rp <?php echo
number_format($subTotal);
?></td>
</tr>
<tr>
<td>Pajak 10%</td>
<td>Rp <?php echo
number_format($tax); ?></td>
</tr>
<tr>
<td></td>
<td>Rp <?php echo
number_format($total); ?></td>
</tr>
</table>
</div>
<hr>
<br>
<h3
align ="center">Pembayaran</h3>
<br>
<div
class="table-responsive">
<table align ="center" border
="1">
<tr>
<td>No</td>
<td>Tanggal</td>
<td>Nominal Pembayaran</td>
<td>Sisa Pembayaran</td>
<td>Status</td>
<td> </td>
</tr>
<?php
$this->model-
>setTable('order_pay');
$paysObj = $this->model-
>getList(array('order_sign' =>
$object->id_order_sign));
$no = 1;
$debt = 0;
$stat = 'Belum Lunas';
foreach ($paysObj as
$dataRecord) {
$debt += $dataRecord->pay;
$showDebt = $dataRecord->debt -
$debt;
if ($showDebt < 0) {
$showDebt = 0;
}
$stat = ($showDebt == 0) ?
'Lunas' : 'Belum Lunas';
?>
<tr>
<td> <?php echo $no; ?> </td>
<td> <?php echo $dataRecord-
>date; ?> </td>
<td> <?php echo $dataRecord-
>pay; ?> </td>
<td> <?php echo $showDebt; ?>
</td>
<td> <?php echo $stat; ?> </td>
<td>
<button class="btn btn-warning
btn-xs" data-toggle="modal"
data-target="#myConfirm<?php
echo $dataRecord->id_order_pay;
?>">
<span class="glyphicon
glyphicon-remove-
circle"></span> Hapus
</button>
</td>
</tr>
<?php
$no++;
}
?>
</table>
<?php
$no
= 1;
foreach ($paysObj as
$dataRecord) {
?>
<!-- Modal -->
<div class="modal fade"
id="myConfirm<?php echo
$dataRecord->id_order_pay; ?>"
tabindex="-1" role="dialog"
aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button"
class="close" data-
dismiss="modal" aria-
hidden="true">×</button>
<h4 class="modal-title"
id="myModalLabel">Konfirmasi
Penghapusan Data</h4>
</div>
<div class="modal-body">
Yakin untuk menghapus data
transaksi pembayaran #<?php
echo $no; ?> ?
</div>
<div class="modal-footer">
<button type="button"
class="btn btn-default" data-
dismiss="modal">Batal</button>
<a href="<?php echo
site_url('data/delete/pay/order
_pay/' . $dataRecord-
>id_order_pay); ?>" class="btn
btn-danger"
role="button">Hapus</a>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<?php
$no++;
}
?>
</div>
<?php
if ($stat != 'Lunas') { ?>
<hr>
<form method="post"
action="<?php echo
site_url('data/save/order_pay')
; ?>" class="form-horizontal"
role="form">
<div class="form-group">
<div class="col-sm-5">
<input class="form-control"
type="hidden" id="backpage"
name="backpage" value="pay" />
<input class="form-control"
type="hidden" id="record"
name="record" value="0" />
<input class="form-control"
type="hidden" id="bayar"
name="bayar" value="<?php echo
$total; ?>" />
<input class="form-control"
type="hidden" id="order"
name="order" value="<?php echo
$object->id_order_sign; ?>" />
</div>
</div>
<div class="form-group"
style="display: none;">
<label class="col-sm-4 control-
label">Tanggal:</label>
<div class="col-sm-3">
<input class="form-control"
type="text" name="tgl" id="tgl"
readonly>
</div>
<div class="col-sm-2"></div>
</div>
<div class="form-group">
<label class="col-sm-4 control-
label">Nominal:</label>
<div class="col-sm-5">
<input type="text" class="form-
control" name="nominal"
id="nominal"
placeholder="Nominal Pembayaran
(Rp)" autofocus required>
</div>
</div>
<div class="form-group">
<div align ="center">
<button class="btn btn-primary"
type="submit">Simpan</button>
</div>
</div>
</form>
<?php }
?>
<?php } ?>
</div>
</div>
</div>
<!-- end #content -->
<!-- end #sidebar -->
<div style="clear:
both;"> </div>
</div>
</div>
<!-- end #page -->
<div id="footer-bgcontent">
<div id="footer">
<p>107093001652@</p>
</div>
</div>
<!-- end #footer -->
<!-- Bootstrap core
JavaScript
===============================
=================== -->
<!-- Placed at the end
of the document so the pages
load faster -->
<script src="<?php echo
base_url('assets/js/jquery-
1.10.2.min.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/bootstrap.m
in.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/kendo.web.m
in.js') ?>"></script>
<script src="<?php echo
base_url('assets/js/cultures/ke
ndo.culture.id-ID.min.js')
?>"></script>
<script>
$(document).ready(function() {
kendo.culture('id-ID');
$("#tgl").kendoDatePicker({
format: 'dd
MMMM yyyy', value: new Date()
});
// notification
$('#notifyBar').hide();
setInterval(notify, 5000);
function
notify() {
$.ajax({
type:
'POST',
url:
'<?php echo
site_url('notify/notifyPay');
?>',
cache:
false,
success: function(content) {
if
(content > 0) {
$('#notifyBar').show();
$('#notify').html('<a
href="<?php echo
site_url('app/f/signature');
?>"> Ada pesanan barang yang
sudah siap dibuat nota kwitansi
!!!</a>');
}
else {
$('#notifyBar').hide();
$('#notify').html('');
}
}
});
}
});
</script>
</div>
</body>
</html>