SISTEM INFORMASI PENJUALAN PULSA ELEKTRONIKrepository.usd.ac.id/33427/2/995314023_Full.pdfdigunakan...
Transcript of SISTEM INFORMASI PENJUALAN PULSA ELEKTRONIKrepository.usd.ac.id/33427/2/995314023_Full.pdfdigunakan...
SISTEM INFORMASI PENJUALAN PULSA ELEKTRONIK
Studi Kasus Pada Three M Cell Bandung
S k r i p s i
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Disusun Oleh:
Nama : Kristofer Dwi Dino Anggoro
NIM : 995314023
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
SALES INFORMATION SYSTEM OF ELECTRONIC PULSE
(Case study on THREE M CELL Bandung)
A Thesis
Presented as Partial of the Requirement
To Obtain the Sarjana Teknik Degree
In Departement of Informatic Technology
Written By:
Name : Kristofer Dwi Dino Anggoro
NIM : 995314023
DEPARTEMENT OF INFORMATIC TECHNOLOGY
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
INTISARI
Three M Cell yang bergerak dibidang penjualan pulsa elektronik di
Bandung saat ini berusaha memberikan pelayanan yang terbaik bagi para
pelanggannya, untuk mendukung tujuan tersebut dibutuhkan suatu kinerja yang
efektif terutama di dalam perusahaan itu, saat ini informasi yang didapat tidak
akurat, disebabkan karena pemrosesan yang ada masih manual, seperti proses
pembelian , penjualan, dan proses penagihan, dimana masih bayak data – data
yang bocor atau terlewatkan karena faktor manusia, hal ini dapat menyebabkan
kerugian – kerugian yang tidak terlihat bagi perusahaan.
Berdasarkan proses diatas yang masih manual, maka diperlukan kehadiran
sistem baru yang dapat membantu mendukung aktivitasnya dan juga agar dapat
mengoptimalkan dalam pengolahan data yang ada. Untuk pengimplementasiannya
digunakan VB 6.0 untuk user interface – nya, MS SQL Server 2000 untuk
database-nya dan Seagate Crystal Report 7.1 sebagai laporannya.
Hasil dari perancangan sistem berupa sistem order penjualan, sistem
pemrosesan order penjualan, dan sistem pembayaran tagihan, yang membantu
petugas Three M Cell dalam penentuan pemrosesan order serta pembuatan tagihan
harian
ABSTRACT
Statisfaction of costumer is what Three M Cell about to present. To stand
up and support that espectation, an effective performance is needed. At the present
day, many informations are received inacurated, because avaliability data are still
manualy processed. Such as buying, selling and invoice proces, where there are
still many lacked and ignored data processing by human error. These conditions
could produce an invisible loss.
Due to these conditions, a brand new system for optimizing data
processing is mostly needed. It is implemented by use of VB 6.0 as it’s user
interface, MS SQL server 2000 as it’s database and seagate crystal report 7.1 as
it’s report.
Result of creating the system are : selling order system, selling order
processing system and payment of invoice system. These system can help Three
M Cell officer for determining order processing and making daily invoice.
PERSEMBAHAN
Karya ini kupersembahkan untuk :
Bapak, Ibu, Mba Paulin, dan Anna
yang dengan kesabaran serta dukungannya
untuk menyelesaikan kuliah ini
KATA PENGANTAR
Segala Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa
atas segala berkat, rahmat dan kasih-Nya sehingga penulis dapat menyelesaikan
tugas akhir yang berjudul Sistem Informasi Penjualan Pulsa Elektonic dengan
baik. Tugas akhir ini disusun guna memenuhi salah satu persyaratan untuk
memperoleh gelar Sarjana Teknik di Jurusan Teknik Informatika, Universitas
Sanata Dharma.
Penulis menyadari dalam penyusunan tugas akhir ini tidak terlepas dari
bantuan, saran, bimbingan serta dukungan dan juga fasilitas dari berbagai pihak
yang sangat bermanfaat bagi penulis sehingga penulis dapat menyelesaikan
penulisan tugas akhir ini. Maka dalam kesempatan ini penulis mengucapkan
terima kasih yang sebesar-besarnya kepada :
1. Bapak JB.Budi Darmawan, ST, M.Sc selaku dosen pembimbing yang
telah meluangkan waktu untuk memberikan bimbingan dan pengarahan
selama penyusunan tugas akhir.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc, selaku Ketua Jurusan Teknik
Informatika yang telah memberikan kesempatan dan fasilitas untuk
menyelesaikan studi pada Jurusan Teknik Informatika.
3. Pihak perusahaan, Bapak Yayang, Bapak Arnold, serta karyawan
lainnya.
4. Para dosen Universitas Sanata Dharma khususnya dosen Program studi
Teknik Informatika yang telah memberikan bekal pengetahuan kepada
penulis.
5. Serta semua pihak lain yang tak dapat disebutkan satu per satu.
Penulis menyadari bahwa tugas akhir ini masih banyak kekurangannya dan
masih memerlukan perbaikan. untuk itu, penulis mengharapkan kritik dan saran
yang bersifat membangun dari pada pembaca. Atas kritik dan saran yang
diberikan, penulis mengucapkan terima kasih. Semoga bermanfaat, Amin.
Yogyakarta, 10 April 2007
Kristofer Dwi Dino Anggoro
DAFTAR ISI
HALAMAN JUDUL..................................................................................... i
INTISARI ..................................................................................................... ii
ABSTRACTION........................................................................................... iii
HALAMAN PERSETUJUAN ...................................................................... iv
HALAMAN PENGESAHAN ....................................................................... v
PERSEMBAHAN......................................................................................... vi
KATA PENGANTAR................................................................................... vii
DAFTAR ISI ................................................................................................ ix
DAFTAR GAMBAR .................................................................................... xiv
DAFTAR TABEL......................................................................................... xxii
PERNYATAAN KEASLIAN KARYA......................................................... xxiii
BAB I. PENDAHULUAN
1.1 Latar Belakang............................................................................. 1
1.2 Rumusan Masalah........................................................................ 2
1.3 Batasan Masalah .......................................................................... 2
1.4 Tujuan Penulisan ......................................................................... 2
1.5 Metodologi Penelitian.................................................................. 3
1.6 Sistematika Penulisan .................................................................. 4
BAB II. LANDASAN TEORI
2.1 Sistem Informasi.......................................................................... 6
2.1.1 Pengertian Sistem Informasi............................................. 6
2.1.2 Kualitas Informasi............................................................ 6
2.2 Database ..................................................................................... 7
2.2.1 Tahap – tahap Perancangan Database............................... 7
2.2.2 Entity Relational Diagram (ER Diagram)......................... 9
2.2.3 Diagram Aliran Data (DAD) ............................................ 11
2.3 Arsitektur Client - Server ............................................................. 13
2.4 Structured Query Language (SQL) ............................................. 14
2.5 Komponen Structured Query Language (SQL) 2000 ................... 14
2.6 VISUAL BASIC 6.0 (VB6) ........................................................... 16
2.7 Seagate Crystal Report 7.1 ........................................................... 16
2.8 Three M Cell Dealer Pulsa Elektronik.......................................... 17
BAB III. ANALISA dan PERANCANGAN SISTEM
3.1 Analisa Sistem............................................................................. 20
3.1.1 Sistem yang Dikembangkan ............................................. 20
3.1.2 Gambaran Sistem ............................................................. 21
3.1.2.1 Prosedure sistem lama........................................ 21
3.1.2.2 Prosedure sistem baru ........................................ 22
3.1.2.3 Produk yang dijual ............................................. 24
3.1.2.4 Pelanggan .......................................................... 25
3.1.3 Requirement Analisis ....................................................... 26
3.1.3.1 Identifikasi Bisnis Aktor .................................... 26
3.1.3.2 Identifikasi Bisnis Use Case .............................. 26
3.1.3.3 Use Case Diagram ............................................ 28
3.1.4 Diagram Arus Data........................................................... 29
3.1.4.1 Contex Diagram................................................. 29
3.1.4.2 Diagram Berjenjang........................................... 30
3.1.4.3 Overview Diagram ............................................. 31
3.1.4.4 DAD Level 1 Proses 2 ....................................... 34
3.2 Perancangan Sistem ..................................................................... 34
3.2.1 Desain Basis Data ............................................................ 34
3.2.1.1 Permodelan Data (Conceptual Database Design/ER
Diagram) ........................................................... 35
3.2.1.2 Logical Database Design .................................. 36
3.2.1.3 Physical Database Design ................................. 37
3.2.2 Rancangan Antar Muka.................................................... 43
3.2.2.1 Rancangan Tampilan Awal ............................... 43
3.2.2.2 Rancangan Pencarian ......................................... 45
3.2.2.3 Rancangan untuk Operator................................. 46
3.2.2.4 Rancangan untuk Admin.................................... 50
3.2.2.5 Rancangan untuk Administrasi........................... 75
3.2.2.6 Rancangan untuk Menu Bantuan........................ 78
3.2.3 Kebutuhan Sistem ............................................................ 80
3.2.3.1 Kebutuhan Perangkat-lunak .............................. 80
3.2.3.2 Kebutuhan Perangkat-keras................................ 80
BAB IV IMPLEMENTASI dan ANALISA SISTEM
4.1 Implementasi Perangkat Lunak .................................................... 82
4.2 Implementasi ............................................................................... 83
4.2.1 Aplikasi Yang Digunakan ................................................ 83
4.2.2 Implementasi Antar Muka ................................................ 84
4.2.2.1 Form Start Up ................................................... 84
4.2.2.2 Form Setting ..................................................... 87
4.2.2.3 Form utama ....................................................... 88
4.2.2.4 Menu Login ....................................................... 89
4.2.2.5 Menu Logout .................................................... 91
4.2.2.6 Menu Keluar ..................................................... 92
4.2.2.7 Menu Order ....................................................... 92
4.2.2.8 Menu proses Order............................................. 96
4.2.2.9 Menu Cari ......................................................... 101
4.2.2.10 Menu Pembayaran ............................................ 104
4.2.2.11 Menu Tagihan ................................................... 108
4.2.2.12 Menu Laporan Penjualan .................................. 116
4.2.2.13 Menu Produk .................................................... 118
4.2.2.14 Menu Otlet ........................................................ 124
4.2.2.15 Menu Harga Jual ............................................... 131
4.2.2.16 Menu Dealer ..................................................... 132
4.2.2.17 Menu Karyawan ................................................ 136
4.2.2.18 Menu Stok ........................................................ 139
4.3 Analisa Hasil ............................................................................... 141
BAB V PENUTUP
5.1 Kesimpulan.................................................................................. 143
5.2 Saran ........................................................................................... 144
DAFTAR PUSTAKA ................................................................................... 145
LAMPIRAN ................................................................................................. 146
DAFTAR GAMBAR
1. Gambar 2.1 Tahap Perancangan Basis Data ........................................... 8
2. Gambar 2.2 Berbagai macam contoh entitas ........................................... 9
3. Gambar 2.3 Berbagai macam atribut dari entitas siswa ........................... 9
4. Gambar 2.4 Relasi antara Siswa dan Guru .............................................. 10
5. Gambar 2.5 Relasi One to One ............................................................... 10
6. Gambar 2.6 Relasi One to Many ............................................................. 10
7. Gambar 2.7 Relasi Many to Many............................................................ 11
8. Gambar 2.8 Simbol DAD ...................................................................... 12
9. Gambar 2.9 Arsitektur client-server ........................................................ 13
10. Gambar 2.10 Struktur Organisasi Three M Cell .................................... 18
11. Gambar 3.1 Pelanggan Three M Cell .................................................... 25
12. Gambar 3.2 Use case diagram ................................................................. 28
13. Gambar 3.3 Contex diagram ................................................................... 29
14. Gambar 3.3 Diagram berjenjang ............................................................. 30
15. Gambar 3.4 Overview diagram untuk admin .......................................... 31
16. Gambar 3.5 Overview diagram level 0 untuk administrasi ...................... 32
17. Gambar 3.6 overview diagram level 0 untuk operator ............................. 33
18. Gambar 3.7 Overview diagram level 1 proses 2 ...................................... 34
19. Gambar 3.8 Conceptual database design/ER diagram ............................ 35
20. Gambar 3.9 Logical database design ...................................................... 36
21. Gambar 3.10 Rancangan tampilan start up ............................................. 43
22. Gambar 3.11 Rancangan tampilan menu utama ...................................... 44
23. Gambar 3.12 Rancangan tampilan form login ........................................ 44
24. Gambar 3.13 Rancangan tampilan form pencarian ................................. 45
25. Gambar 3.14 Rancangan tampilan form hasil pencarian ......................... 45
26. Gambar 3.15 Rancangan tampilan form penjualan order ........................ 46
27. Gambar 3.16 Rancangan tampilan form penjualan order, menu order gagal
................................................................................................................ 47
28. Gambar 3.17 Rancangan tampilan form tambah penjualan order ............ 47
29. Gambar 3.18 Rancangan tampilan form proses penjualan order ............. 48
30. Gambar 3.19 Perancangan halaman tombol proses ................................. 49
31. Gambar 3.20 Perancangan halaman pengaturan koneksi database .......... 50
32. Gambar 3.21 Perancangan halaman update produk ................................. 51
33. Gambar 3.22 Perancangan halaman tambah operator .............................. 52
34. Gambar 3.23 Perancangan halaman tambah produk ................................ 52
35. Gambar 3.24 Perancangan halaman tambah detail produk ...................... 53
36. Gambar 3.25 Perancangan halaman rubah operator celular ..................... 53
37. Gambar 3.26 Perancangan halaman rubah produk .................................. 54
38. Gambar 3.27 Perancangan halaman rubah detail produk ......................... 54
39. Gambar 3.28 Perancangan halaman hapus detail produk ......................... 55
40. Gambar 3.29 Perancangan halaman update otlet ..................................... 55
41. Gambar 3.30 Perancangan halaman tambah otlet .................................... 56
42. Gambar 3.31 Perancangan halaman rubah otlet ....................................... 56
43. Gambar 3.32 Perancangan halaman jenis deposit .................................... 57
44. Gambar 3.33 Perancangan halaman tambah jenis deposit ....................... 57
45. Gambar 3.34 Perancangan halaman rubah jenis deposit .......................... 58
46. Gambar 3.35 Perancangan halaman untuk update depo ........................... 58
47. Gambar 3.36 Perancangan halaman untuk tambah depo ......................... 59
48. Gambar 3.37 Perancangan halaman untuk rubah depo ........................... 59
49. Gambar 3.38 Perancangan halaman untuk update harga jual ................... 60
50. Gambar 3.39 Perancangan halaman untuk tambah harga jual .................. 60
51. Gambar 3.40 Perancangan halaman untuk update dealer ......................... 61
52. Gambar 3.41 Perancangan halaman untuk tambah dealer ........................ 61
53. Gambar 3.42 Perancangan halaman untuk rubah dealer .......................... 62
54. Gambar 3.43 Perancangan halaman untuk update produk dealer ............. 62
55. Gambar 3.44 Perancangan halaman untuk tambah produk dealer ............ 63
56. Gambar 3.45 Perancangan halaman untuk rubah detail produk dealer ..... 63
57. Gambar 3.46 Perancangan halaman untuk update karyawan ................... 64
58. Gambar 3.47 Perancangan halaman untuk tambah karyawan .................. 64
59. Gambar 3.48 Perancangan halaman untuk rubah karyawan ..................... 65
60. Gambar 3.49 Perancangan halaman untuk membuat laporan tagihan ...... 65
61. Gambar 3.50 Perancangan halaman untuk mencetak semua tagihan otlet TMC
................................................................................................................ 66
62. Gambar 3.51 Perancangan halaman untuk membuat tagihan otlet ........... 67
63. Gambar 3.52 Perancangan halaman untuk mencetak tagihan otlet ........... 67
64. Gambar 3.53 Perancangan halaman untuk tagihan depo .......................... 68
65. Gambar 3.54 Perancangan halaman untuk mencetak tagihan depo .......... 69
66. Gambar 3.55 Perancangan halaman untuk mencetak tagihan otlet depo .. 70
67. Gambar 3.56 Perancangan halaman untuk melihat detail tagihan otlet depo
tertentu ................................................................................................... 71
68. Gambar 3.57 Perancangan halaman untuk mencetak tagihan otlet depo .. 72
69. Gambar 3.58 Perancangan halaman ntuk membuat laporan penjualan ..... 73
70. Gambar 3.59 Perancangan halaman untuk mencetak laporan penjualan .. 73
71. Gambar 3.60 Perancangan halaman untuk stok ....................................... 74
72. Gambar 3.61 Perancangan halaman untuk tambah stok ........................... 74
73. Gambar 3.62 Perancangan halaman untuk rubah stok ............................. 75
74. Gambar 3.63 Perancangan halaman untuk pembayaran otlet TMC ......... 75
75. Gambar 3.64 Perancangan halaman untuk bayar otlet TMC .................... 76
76. Gambar 3.65 Perancangan halaman untuk lihat detail transaksi otlet TMC 76
77. Gambar 3.66 Perancangan halaman untuk pembayaran depo .................. 77
78. Gambar 3.67 Perancangan halaman untuk bayar depo ............................ 77
79. Gambar 3.68 Perancangan halaman untuk lihat detail transaksi otlet TMC 78
80. Gambar 3.69 Perancangan halaman informasi program .......................... 78
81. Gambar 3.70 Perancangan halaman pembelajaran program .................... 79
82. Gambar 4.1 Form start up ...................................................................... 84
83. Gambar 4.2 kode pemeriksaan koneksi ................................................... 85
84. Gambar 4.3 kode pemeriksaan user dan proses ....................................... 86
85. Gambar 4.4 kode penanganan error form start up ................................... 86
86. Gambar 4.5 kode file ThreeMCell.conn .................................................. 87
87. Gambar 4.6 Form setting ........................................................................ 87
88. Gambar 4.7 kode penanganan error form setting ..................................... 88
89. Gambar 4.8 Form utama ......................................................................... 89
90. Gambar 4.9 kode pemeriksaan status id user .......................................... 90
91. Gambar 4.10 kode pemeriksaan data login .............................................. 90
92. Gambar 4.11 kode menu sesuai jabatan .................................................. 90
93. Gambar 4.12 Form login ........................................................................ 91
94. Gambar 4.13 kode menu logout .............................................................. 91
95. Gambar 4.14 kode menu keluar .............................................................. 92
96. Gambar 4.15 Form order ........................................................................ 93
97. Gambar 4.16 Form tambah order ............................................................ 93
98. Gambar 4.17 kode kepala nomor tujuan .................................................. 94
99. Gambar 4.18 kode format id order penjualan .......................................... 95
100. Gambar 4.19 Form konfirmasi tambah order ....................................... 96
101. Gambar 4.20 Form proses ................................................................... 97
102. Gambar 4.21 kode pengecekan data harga jual produk ........................ 98
103. Gambar 4.22 kode pemeriksaan status order ........................................ 98
104. Gambar 4.23 Form proses order .......................................................... 99
105. Gambar 4.24 Form cari ....................................................................... 101
106. Gambar 4.25 kode pencarian data tidak ada ........................................ 102
107. Gambar 4.26 Form hasil cari ............................................................... 103
108. Gambar 4.27 Form pembayaran .......................................................... 104
109. Gambar 4.28 kode daftar otlet yang belum melakukan pembayaran .... 105
110. Gambar 4.29 Form dibayar ................................................................. 106
111. Gambar 4.30 Form konfirmasi dibayar ................................................ 107
112. Gambar 4.31 Form detail pembayaran tagihan .................................... 107
113. Gambar 4.32 Form perubahan tagihan bermasalah .............................. 108
114. Gambar 4.33 Form laporan tagihan ..................................................... 109
115. Gambar 4.34 kode total tagihan otlet hari sebelumnya. ........................ 110
116. Gambar 4.35 Hasil cetak tagihan semua otlet ...................................... 111
117. Gambar 4.36 Hasil cetak tagihan semua otlet bawahan depo tertentu .. 112
118. Gambar 4.37 Form lihat detail tagihan otlet tertentu ............................ 113
119. Gambar 4.38 kode mencetak tagihan otlet tertentu. ............................. 114
120. Gambar 4.39 Form cetak tagihan otlet TMC tertentu ........................... 114
121. Gambar 4.40 Form cetak tagihan otlet depo tertentu ........................... 115
122. Gambar 4.41 Form penentuan periode laporan penjualan .................... 116
123. Gambar 4.43 kode maximal periode laporan penjualan ....................... 116
124. Gambar 4.44 Hasil cetak laporan penjualan ......................................... 116
125. Gambar 4.45 Laporan detail selisih pembayaran tagihan ..................... 118
126. Gambar 4.46 Form produk .................................................................. 119
127. Gambar 4.47 Form tambah detail produk ............................................ 120
128. Gambar 4.48 Form rubah detail produk ............................................... 120
129. Gambar 4.49 Form konfirmasi hapus detail produk ............................. 121
130. Gambar 4.50 Form tambah data operator celular ................................. 121
131. Gambar 4.51 Form rubah data operator celular ................................... 122
132. Gambar 4.55 Kode informasi penghapusan data operator celular ........ 122
133. Gambar 4.56 Form tambah data produk .............................................. 123
134. Gambar 4.57 Form rubah data produk ................................................. 123
135. Gambar 4.58 Form otlet ...................................................................... 124
136. Gambar 4.59 Form tambah otlet .......................................................... 125
137. Gambar 4.60 Form rubah otlet ............................................................ 126
138. Gambar 4.61 Form deposit .................................................................. 127
139. Gambar 4.62 Form tambah deposit ..................................................... 127
140. Gambar 4.63 Form rubah deposit ........................................................ 128
141. Gambar 4.64 Kde informasi hapus jenis deposit .................................. 128
142. Gambar 4.65 Form depo ..................................................................... 129
143. Gambar 4.66 Form tambah depo ......................................................... 129
144. Gambar 4.67 Form rubah depo ............................................................ 130
145. Gambar 4.68 Form harga jual ............................................................. 131
146. Gambar 4.69 Form rubah harga jual .................................................... 132
147. Gambar 4.70 Form dealer ................................................................... 133
148. Gambar 4.71 Form tambah dealer ....................................................... 133
149. Gambar 4.72 Form rubah dealer .......................................................... 134
150. Gambar 4.73 kode hapus data dealer ................................................... 134
151. Gambar 4.74 Form produk dealer ....................................................... 135
152. Gambar 4.75 Form tambah produk dealer ........................................... 136
153. Gambar 4.76 Form rubah produk dealer .............................................. 136
154. Gambar 4.77 Form karyawan .............................................................. 137
155. Gambar 4.78 Form tambah karyawan ................................................. 137
156. Gambar 4.79 Form rubah karyawan .................................................... 138
157. Gambar 4.80 Form stok ...................................................................... 139
158. Gambar 4.81 Form tambah stok .......................................................... 140
159. Gambar 4.82 Form rubah stok ............................................................. 140
DAFTAR TABEL
1. Tabel 3.1 Produk yang tersedia di Three M Cell ..................................... 24
2. Tabel 3.2 Identifikasi Bisnis aktor. ......................................................... 26
3. Tabel 3.3 Tabel identifikasi bisnis use case ............................................ 27
4. Tabel 3.4 Tabel operator ......................................................................... 37
5. Tabel 3.5 Tabel produk ........................................................................... 37
6. Tabel 3.6 Tabel detail produk ................................................................. 37
7. Tabel 3.7 Tabel stok ............................................................................... 37
8. Tabel 3.8 Tabel depo .............................................................................. 38
9. Tabel 3.9 Tabel otlet ............................................................................... 39
10. Tabel 3.10 Tabel jenis deposit ................................................................ 39
11. Tabel 3.11 Tabel dealer .......................................................................... 39
12. Tabel 3.12 Tabel produk dealer .............................................................. 40
13. Tabel 3.13 Tabel harga jual .................................................................... 40
14. Tabel 3.14 Tabel karyawan ..................................................................... 41
15. Tabel 3.15 Tabel order penjualan ............................................................ 41
16. Tabel 3.16 Tabel proses .......................................................................... 42
17. Tabel 3.17 Tabel histori tagihan ............................................................. 42
18. Tabel 3.18 Tabel history pembayaran ..................................................... 43
19. Tabel 4.1 Daftar menu pada form utama .................................................. 88
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis
tidak memuat bagian orang lain, kecuali yang telah disebutkan dalam kutipan dan
daftar pustaka layaknya karya ilmiah.
Yogyakarta, 10 April 2007
Kristofer Dwi Dino Anggoro
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Three M Cell yang bergerak dibidang penjualan pulsa elektronik di
Bandung saat ini berusaha memberikan pelayanan yang terbaik bagi para
pelanggannya, untuk mendukung tujuan tersebut dibutuhkan suatu kinerja yang
efektif terutama di dalam perusahaan itu.
Informasi adalah salah satu faktor untuk mendukung kemajuan bagi
perusahaan tersebut. Informasi merupakan unsur penting yang dapat digunakan
untuk mengevaluasi proses kerja dalam perusahaan itu sendiri, dimana dengan
informasi yang tepat yang diambil dari data yang akurat serta tepat waktu dapat
membantu pemilihan atau penentuan keputusan yang tepat bagi pemilik usaha.
Saat ini informasi yang didapat tidak akurat, disebabkan karena
pemrosesan yang ada masih manual, seperti proses pembelian, penjualan, dan
proses penagihan, dimana masih bayak data yang bocor atau terlewatkan karena
faktor manusia, hal ini dapat menyebabkan kerugian yang tidak terlihat bagi
perusahaan.
Berdasarkan proses diatas yang masih manual, maka diperlukan kehadiran
sistem baru yang dapat membantu mendukung aktivitas pencatatan order
penjualan, penentuan pemrosesan order penjualan, pembuatan tagihan penjualan
dan juga agar dapat mengoptimalkan dalam pengolahan data yang ada, yang
nantinya diharapkan dapat mengolah data dengan cepat, tepat dan akurat.
1.2 Rumusan Masalah
Rumusan masalah yang diambil dalam penulisan skripsi ini adalah :
Bagaimana membuat sistem informasi untuk pengolahan data order penjualan,
pemrosesan order penjualan dan sistem pembayaran PT Three M Cell.
1.3 Batasan Masalah
Supaya penulisan ini lebih jelas akan permasalah yang ditinjau, maka dalam pembahasan skripsi ini ditetapkan batasan masalahnya sebagai berikut :
1. Sistem dibatasi pada sistem penerimaan order penjualan pulsa elektronik,
sistem pemrosesan order penjualan, dan sistem pembayaran tagihan.
2. Sistem berbasiskan client-server menggunakan Visual Basic 6.0,
Microsoft SQL Server 200, dan Seagate Crystal Reports 7.1.
1.4 Tujuan Penulisan
Tujuan dari penulisan skripsi ini adalah :
1. Membuat sebuah sistem yang dapat membantu pemasukan data order
penjualan dengan efisien.
2. Memberikan informasi kelayakan order penjualan untuk mengurangi
kesalahan pemrosesan order penjualan.
3. Memberikan informasi tagihan yang akurat untuk membantu sistem
pembayaran.
1.5 Metodologi Penelitian
Metodologi penelitian untuk mengumpulkan data dalam penyusunan
laporan ini adalah (Whitten, 2004) :
1. Survei kebutuhan program .
Mencari bahan-bahan yang mendukung program yang akan dibuat dengan
melakukan observasi proses pengolahan data yang ada dan interview
dangan pihak instansi yang terkait tentang proses yang digunakan selama
ini.
2. Studi literatur.
Mengumpulkan data atau informasi dengan cara membaca referensi
berupa buku – buku, laporan – laporan, makalah di internet dan lainnya
yang berhubungan dengan permasalahan terkait.
3. Mengembangkan sistem informasi.
1) Analisa sistem
Analsisa sistem ini merupakan tidak lanjutan dari pengamatan data di
lapangan, analisa sistem dilakukan untuk mengetahui kekurangan
atau kelebihan sistem lama.
2) Desain sistem
Dari hasil yang didapat dari analisa sistem lama, akan diambil
kekurangan dan kelebihannya untuk merancang dan menerapkan
pada sistem yang akan dibuat.
3) Implementasi sistem
Tahap ini melakukan penerapan sistem yang sebelumnya telah
didesain pada keadaan nyata.
4. Uji coba sistem informasi
Tahap uji coba yang dilakukan di labolatorium dengan mengambil sejumlah sampel untuk mengetahui kesulitan dan pengeksekusian yang bertujuan untuk memperbaiki program yang masih mengalami kesalahan.
1.6 Sistematika Penulisan
Sistematika penulisan skripsi ini terbagi atas lima bab, isi dari tiap bab
sebagai berikut :
BAB I PENDAHULUAN
Berisi latar belakang masalah, rumusan masalah, batasan masalah yang
merupakan pokok permasalahan, tujuan penulisan, metodologi penelitian,
dan sistematika penulisan.
I. BAB II LANDASAN TEORI
II. Bab ini berisi uraian dari teori-teori yang menjadi dasar penjelasan-penjelasan yang pendukung pembuatan sistem informasi, baik dasar teori dari program aplikasi yang digunakan serta hal-hal yang diperlukan dalam mengimplementasikan sistem informasi.
BAB III ANALISIS dan PERANCANGAN SISTEM
Berisi analisis sistem dan menjelaskan perancangan sistem yang dibuat
secara umum, bagaimana tampilan, desain database serta alur prosesnya.
III. BAB IV IMPLEMENTASI dan ANALISA SISTEM
Bab ini berisi implementasi sistem yang membahas sistem secara lebih
terperinci, termasuk penjelasan bagian - bagian penting dari program,
dan analisa dari hasil yang didapat berdasarkan pengujian di
labolatorium.
BAB V KESIMPULAN dan SARAN
Berisi kesimpulan yang terdiri atas kelebihan dan kelemahan program
DAFTAR PUSTAKA
LAMPIRAN
BAB II
LANDASAN TEORI
2.1 Sistem Informasi
2.1.1 Pengertian Sistem Informasi
Informasi merupakan hal yang sangat penting dalam mendukung
pengambilan keputusan bagi suatu manajemen. Informasi itu dapat diperoleh dari
sistem informasi (information system).
Sistem informasi adalah suatu sistem di dalam suatu organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi,
bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan
pihak luar tertentu dengan laporan-laporan yang diperlukan( Robert, 1983).
2.1.2 Kualitas Informasi
Agar informasi menjadi bentuk yang lebih berguna dan lebih berarti bagi
penggunanya maka harus mempunyai kualitas yang baik. Kualitas dari suatu
informasi (quality of information) tergantung dari tiga hal (Anthony, 1980), yaitu :
1. Informasi harus akurat (accurate), yang berarti informasi harus bebas dari
kesalahan-kesalahan dan jelas mencerminkan maksudnya.
2. Informasi harus tepat pada waktunya (timeliness), berarti informasi yang
sampai pada penggunanya tidak boleh datang terlambat. Informasi yang
tidak tepat waktu atau usang sudah tidak memiliki nilai lagi.
3. Informasi harus relevan (relevance), berarti informasi tersebut harus
berguna bagi pemakainya. Relevasi informasi untuk setiap orang berbeda
antara orang satu dengan yang lain.
2.2 Database
Database adalah sekumpulan data yang saling berhubungan (Inge Martina,
2003). Selain itu database sering juga disebut sebagai tempat penyimpanan data.
Suatu database tidak secara langsung menampilkan data ke user , tetapi user
harus menjalankan aplikasi yang mengakses ke data dari database dan
menampilkan dalam bentuk yang mudah dimengerti. Untuk bekerja dengan
database harus memakai sebuah bahasa. Bahasa database ada beberapa macam
salah satunya Structured Query Language (SQL).
2.2.1 Tahap-tahap Perancangan Database
Pada perancangan basis data meliputi tahapan-tahapan sebagai berikut
(Inge Martina, 2003) :
1. Conceptual design
merupakan conceptual schema yang mengacu kepada suatu conceptual
model. Di tahap ini biasanya digunakan entity relational model sebagai
conceptual model.
2. Logical design
Pada tahap ini conceptual schema yang telah diterjemahkan ke model data
yang sesuai dengan DBMS yang digunakan. Hasil yang diperoleh berupa
logical schema database yang mengacu pada suatu logical data model.
Logical model mempresentasikan data dalam suatu cara yang tidak melibatkan
physical details.
3. Physical design
Di tahap ini, logical schema dilengkapi dengan detail-detail implementasi
secara fisik (organisasi file dan index). Dan physical design yang dihasikan
berupa tabel.
Tahapan-tahapan perancangan database dapat dilihat pada diagram berikut :
Gambar 2.1 Tahap Perancangan Basis Data
Application
requirements
Conseptual design
Physical design
Logical design
Database design
Conseptual schema
Logical schema
Physical schema
Database structure and
related documentation
2.2.2 Entity Relational Diagram (ER Diagram)
ER diagram adalah model data yang menggunakan beberapa notasi untuk
menggambarkan data dalam konteks entitas dan hubungannnya yang
dideskripsikan oleh data tersebut (Whitten, 2004).
Komponen utama ER diagram seperti :
1. Entitas (entity), berupa kelompok orang, tempat, objek kejadian atau
konsep tentang apa yang diperlukan untuk meng-capture dan menyimpan
data. Pada pengembangannya entitas dilambangkan dengan kotak. Contoh
entitas: rumah, siswa, dokter.
Rumah Siswa Dokter
Gambar 2.2 Berbagai macam contoh entitas
2. Atribut (attribute), yaitu sifat atau karakteristik deskriptif suatu entitas
atau sebagai penjelasan-penjelasan dari entitas yang membedakan satu
entitas dengan entitas yang lainnya. Misalnya : entitas siswa memiliki
atribut Id_siswa, Nama, alamat dan lain-lain.
SiswaID_siswa Alamat
Nama
Gambar 2.3 Berbagai macam atribut dari entitas siswa
3. Relasi (relationship), merupakan penghubung antara suatu entitas dengan
entitas lain, dan merupakan bagian yang sangat penting didalam mendisain
database. Sebuah relasional digambarkan dengan belah ketupat. Sebagai
contoh, hubungan antara siswa dengan guru.
Siswa Diajar Guru
Gambar 2.4 Relasi antara Siswa dan Guru
Relationship memiliki tiga tipe. Setiap tipe menunjukan jumlah record dari setiap
tabel yang dapat direlasikan ke record pada tabel lain.
Ketiga macam tipe ER, yaitu :
1. One to one (1:1). Berarti satu entitas hanya memiliki satu relasi dengan
satu entitas yang lain. Misalnya satu sekolah hanya dikepalai oleh satu
Kepala Sekolah.
Sekolah DipimpinKepala
Sekolah
1 1
Gambar 2.5 Relasi One to One
2. One to many (1:N) atau Many to One (N:1). Dimana satu entitas memiliki
satu atau lebih relasi dengan entitas lainnya. Contohnya seorang
mahasiswa dapat kuliah ledih dari satu jurusan pada suatu universitas.
Mahasiswa MendaftarJurusan di
universitas
1 N
Gambar 2.6 Relasi One to Many
3. Many to Many (N:N). Yang artinya banyak entitas memiliki relasi dengan
banyak entitas lainnya. Sebagai contoh : banyak pembeli dapat membeli
banyak barang di suatu pasar.
Pembeli Membeli BarangN N
Gambar 2.7 Relasi Many to Many
2.2.3 Diagram Aliran Data (DAD)
Diagram aliran data (DAD) atau data flow diagram (DFD) adalah model
proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem
dan tugas atau pengolahan yang dilakukan oleh sistem (Whitten, 2004). DAD
merupakan dokumentasi sistem yang baik karena terstruktur dan jelas.
Manfaat digunakannya DAD adalah sebagai berikut :
1. Sebagai alat bantu komunikasi.
2. Membantu mempermudah dalam memahami sistem secara logika.
Dalam pengambarannya DAD menggunakan tiga simbol dan satu koneksi
seperti berikut :
Simbol Nama Simbol Keterangan
Nomor Proses
Nama Proses
Process/Proses Kerja atau kegiatan yang dilakukan oleh
sistem sebagai respons terhadap aliran
data masuk untuk menghasilkan output.
Nama Agen
Eksternal
Agen eksternal
atau Kesatuan
luar
Berupa orang, unit organisasi, sistem
atau organisasi luar yang berinteraksi
dengan sistem.
Kesatuan luar ini biasanya juga disebut
entitas eksternal.
Nama
Simpanan
Data store atau
Simpanan data
Penyimpanan data yang ditujukan untuk
pengguna selanjutnya.
Nama Aliran data
Data Flow atau
Aliran data
Data yang menjadi input atau output ke
atau dari proses.
Gambar 2.8 Simbol DAD
2.3 Arsitektur Client- Server
Di model client-server pemprosesan pada sebuah aplikasi terjadi pada
client dan server. Client–server merupakan tipikal sebuah aplikasi two-tier dengan
banyak client dan sebuah server yang dihubungkan melalui sebuah jaringan,
seperti terlihat pada gambar berikut :
Gambar 2.9 Arsitektur client-server
Aplikasi ditempatkan pada computer client dan mesin basis data
dijalankan pada server jarak jauh. Aplikasi client mengeluarkan permintaan ke
server basis data yang mengirimkan kembali data ke client.
Tipe-tipe tugas yang terjadi pada client adalah :
1. User interface
2. Interaksi basis data
3. Pengambilan dan modifikasi basis data
4. Sejumlah aturan bisnis
5. Penanganan kesalahan
Network
Server
Client (Pc)
Server basis data berisi mesin basis data, termasuk tabel, prosedur
tersimpan, dan Trigger. Server basis data dapat menangani :
1. Manajemen data
2. Keamanan
3. Penaganan kesalahan.
2.4 Structured Query Language (SQL)
Structured Query Language (SQL) adalah salah satu Database
Management System (DBMS) yang memakai sistem pemakain file secara
bersama-sama. DBMS ini dapat mendukung aplikasi program yang semakin
kompleks dan bervariasi. SQL merupakan salah satu DBMS yang baik untuk
memahami cara kerja DBMS yang lain.
2.5 Komponen Structured Query Language (SQL) 2000
Beberapa komponen SQL Server 2000 sebagai berikut :
a. Database
Database adalah merupakan tempat untuk menyimpan data. Di dalaam
database terdapat table, view, indeks, store procedure dan Trigger.
b. Table
Table adalah tempat untuk menyimpan data dalam database. Data yang
terdapat pada tabel disebut dengan nama record. Sebuah record dapat hanya
terdiri atas satu field atau lebih dari satu field .
c. Indeks
Merupakan file jenis khusus yang bekerjasama dengan tabel. Tujuannya
adalah untuk mempecepat proses pengaksesan record atau sekelompok record
tertentu.
d. View
Merupakan tabel virtual yang isinya ditetukan oleh query ke dalam basis data.
View bukan merupakan tabel fisik, tetapi merupakan sekumpulan instruksi
yang memberikan hasil serangkaian data.
e. Stored Procedure
Stored procedure merupakan prosedur yang dapat disimpan. Untuk
menyimpan stored procedure tersebeut, harus diberi nama. Suatu prosedur
dapat merupakan satu atau lebih pernyataan SQL. Oleh karena itu stored
procedure dapat disimpan, menyebabkan stored procedure dapat dipakai atau
dieksekusi berulang kali.
f. Trigger
Trigger adalah sebuah jenis spesial dari stored procedure yang dijalankan
secara otomatis pada waktu user memodifikasi data tabel. Trigger dapat
dibuat untuk dijalankan pada waktu ada proses pemodifiksaian pada tabel
seperti insert, update dan delete.
2.6 VISUAL BASIC 6.0 (VB6)
Visual Basic 6.0 adalah salah satu bahasa pemprograman yang digunakan
untuk membuat aplikasi Windows yang berbasis GUI (Graphical User Interface).
(Aryo Suryo Kusumo, 2003). VB mudah dalam pemakaiannya dan memiliki
kemampuan untuk berinteraksi dengan seluruh aplikasi Windows dan semua jenis
aplikasi pemprograman.
Beberapa kemampuan yang dimiliki oleh VB6 antara lain :
1. Mudah dalam pemakiannya.
2. Akses data lebih cepat dan handal dalam membuat aplikasi database.
3. Tambahan kontrol-kontrol baru yang lebih canggih dan peningkatan pada
kaidah struktur bahasanya.
4. Compailer handal yang dapat menghasilkan file executable ( langsung
dapat dijalankan) lebih cepat dan efisien.
5. Terdapat tambahan beberapa wizard yang baru. Wizard merupakan sarana
untuk memudahkan dalam pembuatan aplikasi dengan mengotomatisasi
tugas-tugas tertentu.
6. Dapat menguji program (debuging) serta menghasilkan program akhir
berekstansi (exe) yang langsung dapat dijalankan.
2.7 Seagate Crystal Reports 7.1
Seagate Crystal Reports 7.1 adalah sebuah program bantu yang
dikhususkan untuk membuat laporan. Selain itu mempunyai keunggulan lain yaitu
dapat bekomunikasi dengan berbagi jenis bahasa pemrograman, dalam hal ini
adalah VB 6.0 dan berbagai macam jenis database dalam hal ini MS SQL server
2000. Adapun keunggulan lain yang didapat adalah :
1. Mudah dalam pemakaianya, dikarenakan pembuatannya yang lebih
condong kepada desainnya langsung.
2. Pemrogramannya yang sederhana dengan adanya fitur formula.
3. Hasil design yang dapat di compile menjadi program standalone.
4. Terdapat berbagai macam wizzard yang membantu dalam menentukan
jenis laporan yang akan kita buat.
2.8 Three M Cell Dealer Pulsa Elektronik
Pada awalnya pemilik membuka usahanya dengan menjual produk telepin
Chip Card untuk telepon umum pada tahun 1998, lama kelamaan usahanya
berkembang dan pada tahun 1999 – 2001 pemilik sudah memiliki toko tetap
dengan nama “Top Diskon” dengan spesialisasi produknya berupa voucer isi
ulang, setelah itu awal tahun 2001 pemilik bergabung dengan pengusaha
seprofesinya dan mengganti nama usahanya menjadi Three M Cell dan
mempunyai tempat baru untuk tokonya yang berlokasi di BIP Bandung dengan
produk yang ditawarkan berupa voucer isi ulang dan hand phone.
Tahun 2002 mereka pindah tempat ke jalan cibaduyut no 126a dimana
pada bulan febuary 2002 saat operato pro XL membuka program baru yaitu
kemitraan XL, merekapun bergabung kemitraan dengan operator XL, disinilah
awal mereka menjual produk proXL secara resmi serta saat itu mereka telah
menjalin kemitraan dengan distributor besar lainnya seperti OrCell, Gemala
Markapada dan Gemilang Selaras Mandiri
Setelah berjalan beberapa tahun kemudian, teman bisnisnya satu per satu
meninggalkan perusahaan sehingga pemilik saja yang mengelola sampai sekarang.
Untuk kemitraan dengan XL pun dengan bergantinya waktu dan bisnis plan
mereka akhirnya Three M Cell pun menjadi dealer resmi XL kita, sedangkan
untuk produk lain, pemilik menjalin kemitraan dengan distributor lainnya sampai
sekarang.
Untuk Struktur organisasi perusahaan dapat dilihat pada gambar 2.1
dibawah ini.
Operator Admin Administrasi Arsip Lapangan
Pemilik
Gambar 2.10 Struktur Organisasi Three M Cell
Berdasarkan diagram diatas, dapat diketahui tugasnya yaitu :
1. Pemilik
Pemilik itu sendiri yang langsung membawahi dan memberi perintah
kepada karyawan – karyawannya.
2. Admin
Secara garis besar merupakan tangan kanan pemilik, bila pemilik tidak
ada, adminlah yang bertugas mengontrol segala proses yang berjalan
diperusahaan, dan tugas utamanya adalah melakukan audit ulang terhadap
transaksi yang dilakukan perusahaan dan menyiapkan tagihan – tagihan
kepada pelanggan untuk besoknya
3. Administrasi
Mengurusi semua hal yang berhubungan dengan pembayaran tagihan ke
distributor, mendata pembayaran yang diterima dari pelanggan
4. Lapangan
Mengurusi semua hal diluar perusahaan, seperti memberikan tagihan
transaksi kemarin, menjali hubungan yang sehat dengan berkunjung
langsung ke pelanggan, dan memberikan informasi – informasi penting
lainnya, seperti perubahan program bisnis dan lainnya.
5. Operator
Bertugas menerima, memproses, serta mendata semua pesanan transaksi
yang berlangsung.
6. Arsip
Bertugas mendata, mengumpulkan dan menata semua bukti transaksi yang
berlangsung tiap harinya.
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1 Analisa Sistem
Tahap analisa sistem merupakan tahap yang penting di dalam
mengembangkan suatu sistem. Tahap analisa harus dilalui supaya perangkat-
lunak yang dibangun sesuai dengan kebutuhan pemakai dan apabila terdapat
kesalahan dapat dengan mudah ditelusuri.
Inti pada tahapan ini, yaitu membentuk suatu proses pemodelan sistem
yang nyata, sehingga kegiatan analisis dipusatkan sebagai upaya untuk
menetapkan apa yang harus dilakukan oleh sistem.
3.1.1 Sistem yang dikembangkan
Sistem yang dirancang adalah sistem informasi untuk penjualan dengan
menggunakan SQL Server. Program yang dibuat dalam suatu database sehingga
perlu dilakukan pemanggilan data untuk ditampilkan.
Sistem informasi penjualan ini bertujuan untuk mencatat semua order
penjualan yang diterima oleh perusahaan, memprosesnya sesuai dengan order
yang diterima dan menyimpan data pembayaran.
3.1.2 Gambaran Sistem
Sistem yang dibuat ini digunakan untuk mengolah data order penjualan
yang dimasukan ke komputer, sehingga dapat dilakukan pemrosesan terhadap
antrian order tersebut dengan akurat, tapi sebelumnya diperlukan data – data awal
penunjang untuk sistem informasi penjualan ini, seperti data pelanggan (otlet),
harga jual berdasarkan kategori depositnya, data stok serta dealer yang berguna
untuk penentuan pemrosesan order penjualan dan produk yang dijual oleh
perusahaan. Selain itu, berdasarkan pemrosesan order tadi, perusahaan dapat
menentukan jumlah tagihan yang harus dibayar oleh pelanggan dengan akurat.
3.1.2.1 Prosedur sistem lama
Berikut adalah prosedur order penjualan, pemrosesan order penjualan dan
pembayaran sistem lama :
1. Pelanggan (otlet) mengirim sms (short message service) ke operator Three M
Cell dengan informasi sebagai berikut :
- ID pengirim, dalam hal ini siapa pengirim sms tadi, data ID pengirim ini
(otlet) sudah terdaftar dalam phone book telepon perusahaan.
- Spesifikasi produk yang diminta, baik nama produk dan jenis pulsa yang
diminta.
- Nomor tujuan kemana pulsa itu harus dikirim
2. Operator yang bertugas mencatat order dalam berkas.
3. Operator langsung melakukan pemrosesan order yang diterima dan mecatat
nomor serial yang muncul dari mesin pemrosesan.
4. Saat malam harinya perusahaan memasukan kembali data order penjualan
yang telah diproses kedalam komputer, menggunakan MS Exel untuk
mencetak tagihan. Tagihan ini sebagian diberikan kepada petugas administrasi
dan petugas lapangan pada pagi harinya.
5. Petugas administrasi mencatat semua data pembayaran yang dilakukan oleh
pelanggan berdasarkan data tagihan tadi.
3.1.2.2 Prosedur sistem baru
Ada pun prosedur order penjualan, pemrosesan order penjualan dan
pembayaran sistem dari yang akan dibuat adalah sebagai berikut :
1. Pelanggan (otlet) mengirim sms (short message service) ke operator Three M
Cell dengan informasi sebagai berikut :
1. ID pengirim, dalam hal ini siapa pengirim sms tadi, data ID pengirim ini
(otlet) sudah terdaftar dalam phone book telepon perusahaan.
2. Spesifikasi produk yang diminta, kode detail produk yang diminta.
3. Nomor tujuan kemana pulsa itu harus dikirim
Operator yang bertugas mencatat order memasukan data - data tersebut
kedalam komputer.
2. Operator pemrosesan melihat data antrian order penjualan yang belum
diproses dan menentukan order tadi akan diproses menggunakan apa, dalam
hal ini memilih untuk diproses dengan dealer utama atau stok yang ada saat
ini, sebelum itu dilakukan pengecekan ulang pelanggan apakah order otlet
yang bersangkutan layak untuk diproses atau tidak. Adapun syarat – syarat
kelayakan pertimbangan pemrosesan order yang bersangkutan adalah :
1. Apakah otlet yang bersangkutan telah melunasi tagihan - tagihan
sebelumnya.
2. Apakah otlet yang bersangkutan telah melebihi kuota yang diberikan,
dalam hal ini berdasarkan deposit otlet yang dilakukan saat pendaftaran
menjadi pelanggan.
3. Setelah penentuan pemrosesan, operator pemrosesan melakukan pemrosesan
menggunakan dealer utama atau stok yang ada.
4. Setelah melakukan pemrosesan operator mencatat nomor serial pemrosesan
dan menyimpan datanya. Pada tahap ini bila sudah keluar nomor serial dan
disimpan maka untuk proses order ini dikatakan selesai dan sukses. Adapun
kemungkinan yang jarang terjadi adalah bila tidak munculnya nomor serial
pemrosesan dengan kata lain tidak bisa diproses. Bila hal ini terjadi maka
operator akan mencobanya lagi beberapa saat hingga batas waktu 1 x 24 jam,
bila masih tetap tidak bisa, maka order tersebut dinyatakan gagal, dan tidak
masuk kedalam tagihan.
5. Pada malamnya administrator mengecek order penjualan yang sukses diproses
dan membuat tagihan untuk smua otlet.
6. Setelah itu otlet dapat melakukan pembayaran di pagi harinya ke bagian
administrasi. Perlu diketahui untuk pembayaran dilakukan setiap hari, sebelum
jam 2 siang, kecuali hari sabtu dan minggu. Jadi untuk pembayaran tagihan
hari jumat, sabtu dan minggu dilakukan pada hari senin .
3.1.2.3 Produk yang dijual
Tabel dibawah ini menggambarkan mengenai produk apa saja yang
tersedia di Three M Cell:
Operator Telkomsel Bakrie
Telecom
Mobie
8
Telkom XL Satelindo
Perdana
As, Simpati
-
-
-
Jempol Bebas Xplor
-
Jenis Produk
Voucer isi ulang
elektronik
As, Simpati
Esia
Fren
Flexy
Jempol Bebas
IM3 Mentari
Tabel 3.1 Produk yang tersedia di Three M Cell
Berdasarkan daftar produk yang dijual oleh perusahaan, untuk sistem yang
dibuat, produk yang digunakan hanya produk isi ulang elektronik saja.
3.1.2.4 Pelanggan
Gambar dibawah ini merupakan para pelanggan Three M Cell :
Otlet
Three M Cell
Otlet Otlet
Otlet Otlet Otlet
Otlet Otlet Otlet
Depo
Perusahaan
Pelanggan
Gambar 3.1 Pelanggan Three M Cell
Berdasarkan gambar diatas dapat diketahui jenis pelanggan Three M Cell
yaitu :
1. Otlet
Otlet adalah pelanggan langsung yang sebelumnya telah mendaftar
menjadi pelanggan. Mereka dapat melakukan pemesan order penjualan
yang nantinya akan diproses oleh perusahaan.
2. Depo
Depo adalah pelanggan yang didalamnya membawahi beberapa otlet.
Dimana otlet bawahan depo dapat melakukan pemesanan order penjualan
yang nantinya akan diproses oleh perusahaan, tetapi untuk tagihan dan
pembayarannya dilakukan oleh depo yang bersangkutan
3.1.3 Requirement Analisis
3.1.3.1 Identifikasi bisnis actor
Tujuan dari identifikasi bisnis aktor adalah merumuskan siapa saja (aktor)
yang berhubungan langsung dengan sistem informasi ini. Berikut adalah tabel
identifikasi bisnis aktor.
Nama aktor Sinonim Deskripsi
Operator - Karyawan yang bertugas untuk menginputkan data
order penjualan dan memproses order yang ada.
Admin - Karyawan yang bertugas mengupdate data secara
keseluruhan, membuat laporan-laporan dan
membuat tagihan.
Administrasi - Karyawan yang bertugas menginputkan data-data
pembayaran dari pelanggan.
Tabel 3.2 Identifikasi Bisnis aktor.
3.1.3.2 Identifikasi Bisnis Use Case
Berikut ini merupakan rincian bisnis Use Case yang dipakai.
Nama Deskripsi Use case Pelaku yang
berpartisipasi
Melakukan
login
Mendeskripsikan kejadian bila karyawan
ingin masuk kedalam sistem. (berbeda
pengguna, berbeda pula hak akses yang
didapat).
Admin
Administrasi
Operator
Update
produk
Mendeskripsikan kejadian dimana admin
akan merubah data produk operator celular,
beserta detail produk yang ada.
Admin
Update outlet Mendeskripsikan kejadian dimana admin
akan merubah data outlet, data jenis deposit
beserta data deponya.
Admin
Upadate
dealer
Mendeskripsikan kejadian dimana admin
akan merubah data dealer
Admin
Update harga
jual
Mendeskripsikan kejadian dimana admin
akan merubah data harga jual saat ini
Admin
Update
karyawan
Mendeskripsikan kejadian dimana admin
akan merubah data karyawan saat ini
Admin
Cari data Mendeskripsikan kejadian dimana admin,
operator, administrasi akan mencari
informasi otlet beserta transaksinya .
Admin
Administrasi
Operator
Melihat
tagihan
Mendeskripsikan kejadian dimana admin
akan mencetak tagihan dengan mengecek
terlebih dahulu informasi yang ada, untuk
administrasi hanya bisa melihat detail
tagihan.
Admin
Administrasi
Membuat
laporan
Penjualan
Mendeskripsikan kejadian dimana admin
akan mencetak laporan penjualan pada
periode tertentu.
Admin
Mengisi order
penjualan
Mendeskripsikan kejadian dimana operator
memasukkan data pesanan atau order
penjualan.
Operator
Memproses
order
penjualan
Mendeskripsikan kejadian dimana operator
memasukkan data order penjualan yang
telah sukses diproses
Operator
Mengisi
pembayaran
Mendeskripsikan kejadian dimana
administrasi memasukkan data pembayaran
yang dilakukan oleh outlet.
Administrasi
Tabel 3.3 Tabel identifikasi bisnis use case
3.1.3.3 Use case diagram
Berikut dibawah ini merupakan gambaran lengkap diagram use case
beserta aktornya.
update harga jual
memproses order penjualan
mengisi pembayaran
mengisi order penjualan
membuat laporan penjualan
melihat tagihan
update produk
update otlet
cari data
update karyawan
update dealer
l o g i n
depend on
Admin
Administrasi
Operator
Gambar 3.2 Use case diagram
3.1.4 Diagram Arus Data (DAD)
3.1.4.1 Contex Diagram
Gambar dibawah ini merupakan contex diagram, dimana menggambarkan
arus data masuk dan keluar dari sistem.
0
Sistem informasi
penjualan pulsa
elektronik
Three M Cell
Hasil pencarian.
Data order penjualan,
kriteria pencarian, data
proses penjualan
Hasil pencarian,
Tagihan pelanggan.
pembayaran Pelanggan,
Kriteria pencarian.
data produk, otlet,
harga jual, dealer, karyawan
Kriteria pencarian.
Hasil pencarian,
Laporan penjualan,
Laporan tagihan.
Operator Administrasi
Admin
Gambar 3.3 Contex diagram
3.1.4.2 Diagram Berjenjang
Berikut dibawah ini adalah diagram berjenjang, sesuai dengan proses –
proses yang ada.
2.5 P
Update
karyawan
2.4 P
Update dealer
2.3 P
Update harga
jual
2.1 P
Update produk
7 P
Mengisi order
penjualan
6 P
Mengisi
Pembayaran
5 P
Membuat
laporan
penjualan
4 P
Melihat tagihan
3 P
Cari data
2
Update data
2.2 P
Update otlet
8 P
Memproses
Order penjualan
1 P
Login
0
Sistem informasi
penjualan pulsa
elektronik
Three M Cell
Top Level
Overview Diagram level 0
Level 1
Gambar 3.3 Diagram berjenjang
3.1.4.3 Overview Diagram Level 0
Diagram ini tepat digunakan untuk menggambarkan sistem yang akan
dibuat. Diagram ini lebih menekanankan hanya pada logika dari kebutuhan-
kebutuhan sistem. Berikut dibawah ini overview diagram level 0 untuk admin:
1P
Login
5P
Membuat
laporan
penjualan
4P
Melihat
tagihan
3P
Cari
data
2
Update
Admin
1 Karyawan
1 Karyawan
Informasi Karyawan
Data karyawan
2 Operator celularInformasi Operator Celular
Data operator celular
3 ProdukInformasi produk
Data produk
4 Detail produkInformasi detail produk
Data detail produk
5 StokInformasi stok
Data stok
6 DepoInformasi depo
Data depo
7 OtletInformasi otlet
Data otlet
8 Jenis DepositInformasi jenis deposit
Data jenis deposit
9 DealerInformasi dealer
Data dealer
10 Produk DealerInformasi produk dealer
Data produk dealer
11 Harga JualInformasi harga jual
Data harga jual
12 Proses
13 Histori tagihan
12 ProsesInformasi proses
Informasi histori tagihan
13 Histori tagihan
12 ProsesInformasi proses
Informasi histori tagihan
Informasi proses
Informasi Karyawan
validasi
data login
data produk, otlet, dealer,
harga jual, karyawan
kriteria pencarian
hasil pencarian
laporan tagihan
laporan penjualan
14 Histori pembayaranInformasi histori tagihan
Gambar 3.4 Overview diagram untuk admin
Gambar dibawah ini adalah overview diagram level 0 untuk administrasi :
1P
Login
4P
Melihat
tagihan
3P
Cari
data
Administrasi
6P
Mengisi
pembayaran
12 Proses
13 Histori tagihandata tagihan
13 Histori tagihan
12 ProsesInformasi proses
Informasi histori tagihan
Informasi pencarian
validasi
data login
kriteria pencarian
hasil pencarian
laporan tagihan
data pembayaran
1 KaryawanInformasi Karyawan
14 Histori pembayarandata pembayaran
Gambar 3.5 Overview diagram level 0 untuk administrasi
Gambar dibawah ini adalah overview diagram level 0 untuk operator :
1P
Login
7P
Mengisi order
penjualan
3P
Cari
data
Operator
8P
Memproses
order
penjualan
12 Proses
14 Order penjualandata order penjualan
Informasi pencarian
validasi
data login
kriteria pencarian
hasil pencarian
data order penjualan
data proses order penjualan
1 KaryawanInformasi Karyawan
4 Detail produkInformasi detail produk
7 OtletInformasi otlet
14 Order penjualandata order penjualan
12 ProsesInformasi proses
10 Produk DealerInformasi produk dealer
5 StokInformasi stok
Gambar 3.6 overview diagram level 0 untuk operator
3.1.4.4 DAD Level 1 Proses 2
Berikut ini adalah diagram overview level1. Diagram ini menjelaskan
proses yang terladi dimana admin dapat melakukan update data
2.1P
Update
produk
2.4P
Update
dealer
2.3P
Update
harga jual
2.2P
Update
otlet
Admin
2.5P
Update
karyawan
2
2 Operator celularInformasi Operator Celular
Data operator celular
3 ProdukInformasi produk
Data produk
4 Detail produkInformasi detail produk
Data detail produk
5 StokInformasi stok
Data stok
6 DepoInformasi depo
Data depo
7 OtletInformasi otlet
Data otlet
8 Jenis DepositInformasi jenis deposit
Data jenis deposit
11 Harga JualInformasi harga jual
Data harga jual
9 DealerInformasi dealer
Data dealer
10 Produk DealerInformasi produk dealer
Data produk dealer
1 KaryawanInformasi Karyawan
Data karyawan
1Pvalidasi
Data produk
Data otlet
Data harga jual
Data dealer
Data karyawan
Gambar 3.7 Overview diagram level 1 proses 2
3.2 Perancangan Sistem
3.2.1 Disain Basis Data
Perancangan basis data menekankan pada entity dari relasi antar table.
Berikut adalah perancangan basis data secara lengkap.
3.2.1.1 Permodelan Data (Conceptual Database Desig
n/ER Diagram)
Untu
k relasi an
tar entitas p
ada sistem
ini d
apat d
ilihat p
ada g
ambar b
erikut:
operator
selularstok
dealer
proseshistory
pembayaran
produk
dealer
depootletorder
penjualan
detail
produkproduk
jenis
deposit
harga
jual
karyawanhistory
tagihan
ID_operator *
nama
ID_operator **
nama
ID_produk *
nama
alamat
ID_dealer *
hp
limit
jabatan
nama
ID_karyawan *
alamat
tlp
tgl_masuk
password
online
ID_DP **
jumlah
ID_produk **
pulsa
ID_DP *
aktif
tenggang
ID_dealer **
ID_DP **
ID_PD *
hbeli
harga_setor
ID_deposit
ID_DP **
ID_DP **
tgl
ID_penjualan *
jam
notujuan
ID_depo **
keterangan
ID_otlet **
status
ID_karyawan
ID_penjualan**
tgl
ID_proses *
jam
no_serial
harga_otlet
harga_depo
ID_stok
alasan
ID_karyawan
ID_PD
ID_otlet **
ID_depo **
tgl_tagihan
total_tag_depo
total_tag_otlet
ID_pembayaran **
total_tag_depo_rev
status
total_tag_otlet_rev
tgl_bayar
dibayar
ID_pembayaran *
keterangan
jumlah
ID_deposit *
ID_depo **
ID_deposit **
ID_otlet *
nama
alamat
tgl_masuk
aktif
tlp
tlp_order
ID_depo *
alamat
tlp
keterangan
punya
1
N
punya1 N
punya
1
1
punya1 N
punya1 N
punya
1
N
punya
1
N
punya
1
N
punya1N
punya1N
punya
1
1bayar bayar
catat
catat
punya
1
N
N
1
1N
N1
1 N
punyaN 1
Gam
bar 3
.8 Conceptual database d
esign/ER diagram
3.2.1.2 Logical Database Design
Pada gambar di bawah ini dijelaskan mengenai relasi antar table yang ada
di sistem :
Operator Celular Stok Harga jual Jenis deposit
ID_operator * ID_deposit *
nama ID_DP ** keteranganjumlah
Harga setor
ID_deposit **
Produk Detail produk Order penjualan Otlet Depo
ID_produk * ID_DP * ID_penjualan * ID_outlet * ID_depo *
ID_operator ** ID_produk ** ID_DP ** ID_depo ** alamat
nama pulsa tgl ID_deposit **
aktif jam nama
tengang notujuan alamat
ID_otlet ** tlp
ID_depo tgl masuk
keterangan aktif
status
Dealer
Produk dealer
proses History tagihan
Karyawan
ID_dealer *
ID_PD *
ID_proses *
ID_karyawan *
nama
ID_dealer **
ID_penjualan **ID_depo **
jabatan
alamat
ID_DP **
tgl
ID_otlet **
nama
hp
Hbeli
jam total_tag_depo
alamat
limit
no_serial total_tag_otlet
tlp
ID_PD
tgl masuk
ID_stok
password harga_otlet
harga_depo
ID_DP **
tlp
keterangan
status
online
jumlah
tlp order
tgl tagihan
ID pembayaran**
ID pembayaran *
tgl bayar
dibayar
alasan
History
Pembayaran
ID_karyawan**
ID_karyawan**
Gambar 3.9 Logical database design
keterangan :
• * : Primary Key, merupakan kunci primer yang bersifat untuk pada suatu
table.
• ** : Foreign Key, merupakan kunci tamu pada suatu table dan kunci primer
pada table lain.
3.2.1.3 Physical Database Design
Berikut adalah disain database untuk sistem informasi penjualan pulsa
elektronik Three M Cell :
1. Tabel Operator celular
Tabel ini digunakan untuk menyimpan data operator selular saat ini. Di
bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_operator nama
Varchar
Varchar
5
30
Kode ID operator selular (Primary Key) Nama lengkap operator celular
Tabel 3.4 Tabel operator
2. Tabel Produk
Tabel produk digunakan untuk menyimpan data produk yang diproduksi
oleh tiap-tiap operator. Di bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_produk Nama ID_operator
Varchar
Varchar
Varchar
5
30 5
Kode produk operator selular (Primary Key) Nama produk operatoer selular Kode operator selular (Foreign Key)
Tabel 3.5 Tabel produk
3. Tabel Detail produk
Digunakan untuk menyimpan data spesifik dari tiap-tiap produk yang ada,
terutama yang dijual oleh perusahaan. Di bawah ini adalah table beserta
atributnya:
Nama field Tipe data Ukuran Keterangan
ID_DP
Varchar
8
Kode deatil produk, (Primary Key)
ID_produk Pulsa Aktif Tenggang
Varchar
Int
Int
Int
30 7 3 3
Kode porduk (Foreign Key) Jumlah pulsa Masa aktif Masa tenggang
Tabel 3.6 Tabel detail produk
4. Tabel Stok
Digunakan untuk menyimpan data sisa produk yang dibeli oleh
perusahaan untuk semua produk yang disimpan. Di bawah ini adalah table beserta
atributnya:
Nama field Tipe data Ukuran Keterangan
ID_DP Jumlah
Varchar
Int
8
10
Kode detail produk (Foreign Key) Jumlah saat ini
Tabel 3.7 Tabel stok
5. Tabel Depo
Tabel ini digunakan untuk menyimpan data depo. Depo itu sendiri
merupakan anak didik perusahaan yang mirip dengan Three M Cell dan memiliki
pelanggan berupa outlet-outlet lainnya. Di bawah ini adalah table beserta
atributnya:
Nama field Tipe data Ukuran Keterangan
ID_depo Alamat Tlp Keterangan
Varchar
Varchar
Varchar
Varchar
3 30 15 30
Kode depo, (Primary Key) Nama lengkap operator celular Telepon depo Keterangan
Tabel 3.8 Tabel depo
6. Tabel Otlet
Tabel ini digunakan menyimpan data outlet atau pelanggan. Di bawah ini
adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_outlet ID_depo ID_Deposit Nama Alamat Tlp TglMasuk Aktif tlp_order
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Datetime
Boolean
Int
5 3 3 30 30 15 8 1 15
Kode ID otlet, (Primary Key) Kode depo (Foreign Key) Kode deposit (Foreign Key) Nama otlet Alamat otlet Telepon otlet Tanggal masuk Status aktif berlangganan Telepon untuk order
Tabel 3.9 Tabel otlet
7. Tabel Jenis deposit
Digunakan untuk menyimpan data jenis deposit yang dilakukan oleh
outlet. Di bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_Deposit Keterangan Jumlah
Varchar
Varchar
Int
5 30 9
Kode deposit, (Primary Key) Keterangan deposit Jumlah deposit
Tabel 3.10 Tabel jenis deposit
8. Tabel Dealer
Tabel ini digunakan untuk menyimpan data dealer. Di bawah ini adalah
table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_dealer Nama Alamat Tlp Limit
Varchar
Varchar
Datetime
Varchar
Int
5 30 8 15 10
Kode dealer, (Primary Key) Nama dealer Alamat dealer Telepon dealer Limit untuk order
Tabel 3.11 Tabel dealer
9. Tabel Produk dealer
Digunakan untuk menyimpan data produk yang dijual oleh dealer terutama
produk yang dimiliki oleh perusahaan. Di bawah ini adalah table beserta
atributnya:
Nama field Tipe data Ukuran Keterangan
ID_PD ID_dealer ID_DP Hbeli
Varchar
Varchar
Varchar
Int
15 5 15
10
Kode produk dealer, (Primary Key) Kode dealer (Foreign Key) Kode detail produk (Foreign Key) Harga beli produk dealer
Tabel 3.12 Tabel produk dealer
10. Tabel Harga jual
Digunakan untuk menyimpan data-data harga jual produk perusahaan saat
ini. Di bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_DP H_setor ID_Deposit
Varchar
Int
Varchar
30
10 3
Kode Detail produk (Foreign Key) Harga setor Kode deposit (Foreign Key)
Tabel 3.13 Tabel harga jual
11. Tabel Karyawan
Digunakan untuk menyimpan data karyawan perusahaan dan bila
jabatannya antara (admin, operator atau administrasi) mereka memiliki password
untuk masuk kesistem. Di bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_karyawan Jabatan Nama Alamat Tlp tgl_masuk password online
Varchar
Varchar
Varchar
Varchar
Varchar
Datetime
Varchar
Boolean
15 15 30 30 15 8 15 1
Kode karyawan, (Primary Key) Jabatannya Nama karyawan Alamat Telepon Tanggal masuk Password Status online
Tabel 3.14 Tabel karyawan
12. Tabel Order penjualan
Digunakan untuk menyimpan data order pesanan pelanggan. Di bawah ini
adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_Penjualan Hari Jam ID_DP No_tujuan ID_otlet ID_Depo Keterangan Status User_order
Int
Datetime
Datetime
Varchar
Int
Varchar
Varchar
Varchar
Boolean
Varchar
5 8 8 15
15 5 3 15 1
15
Kode penjualan, (Primary Key) Hari order Jam order Kode detail produk(Foreign Key) Nomor tujuan Otlet yang order (Foreign Key) Kode Depo (Foreign Key) Keterangan order Status sudah diproses atau sedang diproses User yang mencatat order (Foreign Key)
Tabel 3.15 Tabel order penjualan
13. Tabel Proses
Digunakan untuk menyimpan data order pesanan pelanggan yang sudah
diproses. Di bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_proses ID_penjualan Hari Jam No_serial ID_PD ID_stok User_proses Harga_Otlet Harga_Depo Alasan_salah
Varchar
Varchar
Datetime
Datetime
Varchar
Varchar
Varchar
Varchar
Int
Int
Varchar
5 10 8 8 20 15 5 15 10 10 50
Kode proses, (Primary Key) Kode penjualan (Foreign Key) Hari Jam Nomor serial pemrosesan Diproses dengan produk dealer Diproses dengan stok Pengguna (Foreign Key) Harga jual untuk otlet Harga jual untuk depo Alasan jika order tidak akan masuk kedalam tagihan
Tabel 3.16 Tabel proses
14. Tabel History tagihan
Digunakan untuk menyimpan data tagihan berdasarkan order yang telah
sukses diproses. Di bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
tgl_tagihan ID_depo ID_otlet total_tag_depo total_tag_otlet status ID_pembayaran total_tag_depo_rev total_tag_otlet_rev
Datetime
Varchar
Varchar
Int
Int
Varchar
Int
Int
Int
8 3 5 9 9 11 9 9 9
Tanggal tagihan Kode depo (Foreign Key) Kode otlet (Foreign Key) Total tagihan depo Total tagihan otlet Status tagihan “Lunas atau Belum Lunas” Kode pembayaran (Foreign Key) Revisi perubahan tagihan depo Revisi perubahan tagihan otlet
Tabel 3.17 Tabel histori tagihan
15. Tabel History pembayaran
Digunakan untuk menyimpan data pembayaran yang dilakukan oleh
pelanggan, baik otlet maupun depo. Di bawah ini adalah table beserta atributnya:
Nama field Tipe data Ukuran Keterangan
ID_pembayaran tgl_bayar dibayar
Varchar
Datetime
Int
9 8 9
Kode Pembayaran, (Primary Key) Tanggal bayar Jumlah nominal dibayar
Tabel 3.18 Tabel history pembayaran
3.2.2. Rancangan Antar Muka
Tahap ini akan menjelaskan mengenai perancangan antar muka perangkat
lunak yang dibuat.
3.2.2.1 Rancangan Tampilan Awal
Tampilan awal berupa form strat up. Tampilan ini akan mengawali sistem
sebelum masuk ke menu utama.
Logo
Sistem Penjualan
Pulsa elektronik
Three M Cell
Bandung
Gambar 3.10 Rancangan tampilan start up
Setelah beberapa saat maka akan muncul menu utama dimana pilhan pada
toolbar disable semua kecuali menu, karena belum melakukan login terlebih
dahulu. Berikut adalah tapilannya:
21:00
Penjualan Cari Administrasi Laporan Pengaturan Bantuan
Order
Proses Order
Menu
Login
Keluar
Pembayaran Penjualan
Tagihan
Produk
Otlet
Harga jual
Dealer
Karyawan
13-05-06
Stok
Logout
Info program
Bantuan
Penggunaan
Informasi Jabatan - ID user
Gambar 3.11 Rancangan tampilan menu utama
Karena pengguna hanya bisa memilih yang ada didalam menu, salah
satunya adalah pilihan Login. Form ini berfungsi untuk menentukan hak akses
pengguna, antara lain operator, administrasi, dan admin. Sesuai dengan hak akses
yang ada, maka hanya menu – menu tertentu saja yang bisa diakses. Berikut
adalah tampilah form login :
ID
Password
Arnold
******
O K
Gambar 3.12 Rancangan tampilan form login
3.2.2.2.Rancangan Pencarian
Tampilan pencarian ini dapat digunakan oleh semua pengguna. Dalam hal
ini adalah operator, admin dan administrasi. Dimana pengguna memasukan data
yang hendak dicari terlebih dahulu berupa pilihan otlet dan tanggal order yang
hendak dicari. Gambar dibawah ini merupakan rancangan form pencarian :
Outlet
Tgl 20/03/2007
C a r i K e l u a r
Gambar 3.13 Rancangan tampilan form pencarian
Sedangkan untuk hasil pencariannya pengguna dapat melihat hasilnya
dengan menekan tombol Cari. Berikut dibawah ini merupakan perancangan form
hasil pencarian :
No tujuanID
produk
Keterangan
gagal
ID
StokHarga
Nomor
serial
Outlet
Detail Transaksi
Tgl
K e l u a r
Total order yang di proses
Total order yang gagal
Total Tagihan
ID PenjualanJam
order
Jam
proses
ID
Dealer
Gambar 3.14 Rancangan tampilan form hasil pencarian
3.2.2.3 Rancangan untuk operator
Perancangan ini dikhususkan untuk pengguna dimana jabatannya adalah
operator.
1. Perancangan Halaman Penjualan Order
User interface ini digunakan untuk memasukkan data pesanan atau order
dari otlet. Dapat di akses dengan memilih menu Penjualan – Order pada toolbar.
Antrian Order
2Total antrian Order
ID Penjualan Hari JamID Detail
ProdukNo Tujuan ID Otlet ID Depo
Daftar Order
T A M B AH
BEB-001016/2/2007 08185566444 ZZU TMC11:35
1Total order tidak bisa di proses
Order Gagal
R E F R E S H
0702160005
Gambar 3.15 Rancangan tampilan form penjualan order
1.1 Perancangan Halaman Penjualan Order menu Order Gagal
User interface ini digunakan untuk melihat daftar order penjualan yang
sudah diperiksa oleh operator pemrosesan dan dinyatakan gagal karena faktor lain.
Daftar Order gagal
1Total antrian Order
ID
PenjualanHari Jam
ID Detail
ProdukNo Tujuan ID Otlet ID Depo
Daftar Order
T A M B AH
BEB-005016/2/2007 08185566333 ZZU TMC11:30
1Total order tidak bisa di proses
Order Gagal
R E F R E S H
0702160004
Keterangan gagal
dino - sudah dicoba 10 x
Gambar 3.16 Rancangan tampilan form penjualan order, menu order gagal
1.2 Perancangan Halaman Menu Tambah Penjualan Order
User interface ini bertujuan unutk menambahkan order yang masuk.
Tanggal
ID Order
Outlet
Produk
Jam Order
No Tujuan
02/31/2007
0702310001
ESI-0050
14:02
081 - -
Depo RAHZZU
S I M P A N K E L U A R
Gambar 3.17 Rancangan tampilan form tambah penjualan order
2. Perancangan Halaman User Interface Proses Order Penjualan
User interface ini digunakan untuk menampilkan antrian order yang belum
diproses dan order lain yang sukses diproses sesuai deangan kategorinya. Untuk
tab menu lainnya selain antrian order, hanya menampilkan data order yang telah
diproses dan sukses saja dimana dikelompokan sesuai nama produknya.
PRO XL Mentari IM3 Simpati Flexy Mobile 8 Bakrie
P ro s e s 1Total Antrian Order
Antrian Order
ID Penjualan Hari JamID Detail
ProdukNo Tujuan ID Otlet ID Depo
BEB-001016/2/2007 08185566444 ZZU TMC11:350702160005
R E F R E S H Total Order sukses diproses 219
XL
Mentari
IM3
Simpati
Flexy
Mobile 8
Bakrie213
1
1
1
1
1
1
Gambar 3.18 Rancangan tampilan form proses penjualan order
2.1 Perancangan Halaman User Interface Untuk Tombol Proses
User interface ini digunakan oleh operator untuk memproses order yang
ada, dimana terdapat 3 bagian penting yaitu detail order yang memberitahukan
detail order yang akan diproses, info otlet dimana menampilkan data tagihan hari
sebelumnya beserta status tagihannya, juga detail transaksi yang sudah diproes
untuk hari ini dan jumlah depositnya. Yang terakhir adalah memasukan data
pemrosesan, apakah order akan diproses menggunakan dealer utama atau
menggunakan stok yang ada, tidak lupa mengisikan nomor serial pemrosesan.
Untuk kasus tertentu dimana order tidak bisa diproses maka alasan tidak bisa
diproses harus diisi, atau operator dapat memberikan toleransi pemrosesan dengan
persetujuan admin atau pemilik.
Depo
OutletID Penjualan
Produk Pulsa
Jam Order
No Tujuan
di proses dengan :
No Serial
tidak bisa diproses
Alasan
TMC
BEB-0010
120600001 ZZU
10.000
0818-5566-444
11:35
8756-762-HJUK
S i m p a n
HRN-BEB-0010
ID Stok
Detail Order Info Otlet
Tagihan Tgl
Beri toleransi pemrosesan
Status
Total Tag hari ini
12-05-2006
360.000
Belum Lunas
Deposit 2.000.000
Dealer
16500000SisaDMP-9000
11-05-2006 Lunas
10-05-2006 Lunas
Informasi kelayakan proses
K E L U A R
Info syarat lunas
Info syarat tagihan < deposit
Gambar 3.19 Perancangan halaman tombol proses
3.2.2.4.Rancangan untuk Admin
Perancangan ini dikhususkan untuk pengguna dimana jabatannya adalah
admin.
1. Perancangan Halaman Untuk Pengaturan Koneksi Database
Halaman ini berguna untuk mengatur koneksi ke database, dimana
halaman ini dibuat terpisah dari program utama. Untuk pengaturannya dilakukan
hanya sekali saja pada komputer client setelah melakukan instalasi awal.
UID
Password
sa
123456
Simpan Keluar Test
DSN DINO
Login Database
Gambar 3.20 Perancangan halaman pengaturan koneksi database
2. Perancangan Halaman Untuk Update Produk
Halaman ini ditujukan untuk menambahkan produk baik data operator
selular, produk yang dipunyai oleh operator selular tersebut dan detail produk dari
tiap-tiap produk yang ada.
ID Nama
XL 10.000
ID Produk Nama
BEB Bebas
BBI Bebas Bicara
ID Detail P Pulsa
BEB-0010 10.000
BEB-0050 50.000
Aktiv Tenggang
7 30
30 30
Operator Celular Produk
Detail Produk
Tambah Operator
Tambah Produk
Tambah Detail Produk HapusRubah
Gambar 3.21 Perancangan halaman update produk
2.1 Perancangan Halaman User Inteface Untuk Tambah Operator
Halaman ini ditujukan untuk menambahkan operator celular yang ada.
ID
Nama
Simpan Keluar
Gambar 3.22 Perancangan halaman tambah operator
2.2 Perancangan Halaman User Inteface Untuk Tambah Produk
Halaman ini ditujukan untuk menambahkan produk – produk yang
dimiliki oleh operator celular, dengan syarat operator celularnya telah dipilih
terlebih dahulu.
ID produk
Nama
Simpan Keluar
Gambar 3.23 Perancangan halaman tambah produk
2.3 Perancangan Halaman User Inteface Untuk Tambah Detail Produk
Halaman ini ditujukan untuk menambahkan detail produk dari produk
yang sudah ada, menginformasikan banyak pulsanya, masa aktiv serta masa
tenggang produk tersebut.
ID detail produk
Pulsa
Simpan Keluar
0000
Aktiv
Tenggang
Hari
Hari
BEB -
Gambar 3.24 Perancangan halaman tambah detail produk
2.4 Perancangan Halaman User Inteface Untuk Rubah Operator Celular
Halaman ini ditujukan untuk merubah data yang ada dalam tabel operator
celular dengan memilih terlebih dahulu datanya.
ID
Nama Exelcomindo Pratama
XL
Simpan Keluar
Gambar 3.25 Perancangan halaman rubah operator celular
2.5 Perancangan Halaman User Inteface Untuk Rubah Produk
Halaman ini ditujukan untuk merubah data yang ada dalam tabel produk
dengan memilih terlebih dahulu datanya.
ID produk
Nama Bebas Regular
Simpan Keluar
BEB-R
Gambar 3.26 Perancangan halaman rubah produk
2.6 Perancangan Halaman User Inteface Untuk Rubah Detail Produk
Halaman ini ditujukan untuk merubah data yang ada dalam tabel detail
produk dengan memilih terlebih dahulu datanya.
ID detail produk
Pulsa 10000
Simpan Keluar
BEB-R-0010
Aktiv
Tenggang 7
7 Hari
Hari
Gambar 3.27 Perancangan halaman rubah detail produk
2.7 Perancangan Halaman User Inteface Untuk Hapus Data Menu Produk
Halaman ini ditujukan untuk menghapus data operator celular, produk,
maupun detail produk yang sudah tidak di disediakan oleh perusahaan dengan
memilih terlebih dahulu datanya.
info datanya
Hapus Keluar
Anda Yakin Hapus
Gambar 3.28 Perancangan halaman hapus detail produk
3. Perancangan Halaman Untuk Update Otlet
Halaman ini berguna untuk menampilkan dan merubah data otlet, jenis
deposit, dan depo yang dimiliki oleh perusahaan saat ini. Berikut gambar dibawah
ini merupakan tampilan menu otlet. Untuk tombol hapus dapat digunakan dengan
memilih datanya terlebih dahulu, sedangkan tampilannya sama dengan gambar
3.28.
53Total Otlet
ID Depo ID Otlet Jenis Deposit Nama Alamat Tlp Tgl Masuk
Otlet Jenis deposit Depo
T A M B AH
RAH ZZU EP-2 Prima Cell Gatsu 56 (021)5474456 20-03-2003
Tlp Order
08175656859
R U B A H H A P U S
Tidak AktivAktiv
Gambar 3.29 Perancangan halaman update otlet
3.1 Perancangan Halaman User Interface Untuk Tambah Otlet
Halaman ini ditujukan untuk menambahan data otlet baru.
ID Depo
ID Otlet
Jenis Deposit
Nama
Alamat
Tlp
Tgl Masuk
Tlp Order
S I M P A N K E L U A R
Gambar 3.30 Perancangan halaman tambah otlet
3.2 Perancangan Halaman User Interface Untuk Rubah Otlet
Halaman ini ditujukan untuk merubah data otlet tertentu, bila otlet tersebut
mengalami perubahan, seperti sudah tidak menjadi pelanggan atau perubahan
alamat, telepon order dan sebagainya.
Gatsu 56
(021)5474456
Prima Cell
20-03-2003
08175656859
S I M P A N K E L U A R
Status Tidak AktivAktiv
ID Depo
ID O tle t
Jen is Deposit
Nama
A lamat
T lp
Tgl M asuk
T lp O rder
ZZU
EP -2
RAH
Gambar 3.31 Perancangan halaman rubah otlet
4. Perancangan Halaman Untuk Update Jenis Deposit
Halaman ini ditujukan untuk melihat semua jenis deposit yang disediakan
oleh perusahaan.
ID Deposit Keterangan
DP-1 Deposit 1 juta
DP-2 Deposit 2 juta
EP-0 Harga untuk depo selain TMC
EP-1 Deposit 1 juta untuk otlet bawahan depo lain
EP-2 Deposit 2 juta untuk otlet bawahan depo lain
53Total Otlet
Otlet Jenis deposit Depo
T A M B AH R U B A H H A P U S
ID Deposit
1000000
2000000
0
1000000
2000000
Gambar 3.32 Perancangan halaman jenis deposit
4.1 Perancangan Halaman Untuk Tambah Jenis Deposit
Halaman ini ditujukan untuk menambahkan jenis deposit baru.
S I M P A N K E L U A R
ID deposit
Keterangan
Jumlah
Gambar 3.33 Perancangan halaman tambah jenis deposit
4.2 Perancangan Halaman Untuk Rubah Jenis Deposit
Halaman ini ditujukan untuk merubah jenis deposit baru.
S I M P A N K E L U A R
ID deposit
Keterangan
Jumlah
Gambar 3.34 Perancangan halaman rubah jenis deposit
5. Perancangan Halaman Untuk Update Depo
Halaman ini ditujukan untuk melihat depo yang ada saat ini.
ID Depo Alamat Tlp Keterangan
TMC Gatsu 20 689 3 M Cell
RAH Dipenogoro 10 670 -
53Total Otlet
Otlet Jenis deposit Depo
T A M B AH R U B A H H A P U S
Gambar 3.35 Perancangan halaman untuk update depo
5.1 Perancangan Halaman Untuk Tambah Depo
Halaman ini ditujukan untuk menambahkan depo baru.
ID Depo
Alamat
Tlp
Keterangan
S I M P A N K E L U A R
Gambar 3.36 Perancangan halaman untuk tambah depo
5.2 Perancangan Halaman Untuk Rubah Depo
Halaman ini ditujukan untuk merubah data depo.
ID Depo
Alamat
Tlp
Keterangan
S I M P A N K E L U A R
Gambar 3.37 Perancangan halaman untuk rubah depo
6. Perancangan Halaman Untuk Update Harga Jual
Halaman ini ditujukan untuk melihat detail harga jual dari suatu detail
produk yang di jual oleh perusahaan. Untuk tombol hapus, tampilan halamannya
sama dengan gambar 3.28.
ID Detail Produk Harga Setor
HA P U S
BEB-0010 10500
R U B A HJenis Deposit
DP-2
BEB-0025 25500
AS-0010 10500
AS-0020
AS-0025
AS-0050
20500
50500
Gambar 3.38 Perancangan halaman untuk update harga jual
6.1 Perancangan Halaman Untuk Rubah Harga Jual
Halaman ini ditujukan untuk menambahkan harga jual yang masih kosong
atau merubah harga yang sudah ada dengan harga yang terbaru dengan memilih
datanya terlebih dahulu.
ID Detail produk
Jenis Deposit
Harga setor
S I M P A N K E L U A R
AS-0025
DP-2
Gambar 3.39 Perancangan halaman untuk tambah harga jual
7. Perancangan Halaman Untuk Update Dealer
Halaman ini ditujukan untuk melihat daftar dealer utama dan produk yang
disediakan oleh dealer tersebut. Untuk tombol hapus, tampilan halamannya sama
dengan gambar 3.28.
ID dealer Nama Alamat Limit
Dealer Produk dealer
T A M B AH R u b a h
EPAY
NSPRO
SMA
Refil
HRN
e-pay
Nusapro
SMART
Simpati
XL
10 juta
-
50 juta
-
30 juta
H a p u s
Gambar 3.40 Perancangan halaman untuk update dealer
7.1 Perancangan Halaman Untuk Tambah Dealer
Halaman ini ditujukan untuk menambahkan dealer baru.
S i m p a n K e l u a r
ID dealer
Nama
Alamat
Limit
Gambar 3.41 Perancangan halaman untuk tambah dealer
7.2 Perancangan Halaman Untuk Rubah Dealer
Halaman ini ditujukan untuk merubah data dealer tertentu.
K e l u a r
ID dealer
Nama
Alamat
Limit
R u b a h
Gambar 3.42 Perancangan halaman untuk rubah dealer
8. Perancangan Halaman Untuk Update Produk Dealer
Halaman ini ditujukan untuk melihat detail produk yang dimiliki oleh
dealer tertentu.
ID produk dealer ID detail produk Harga beli
Dealer EPAY
EPAY - BEB - 0010 BEB - 0010-
Dealer Produk dealer
T A M B AH R u b a h H a p u s
Gambar 3.43 Perancangan halaman untuk update produk dealer
8.1 Perancangan Halaman Untuk Tambah Produk Dealer
Halaman ini ditujukan untuk menambahkan produk yang disediakan oleh
dealer tertentu.
S i m p a n K e l u a r
ID produk dealer EPAY
Harga beli Rp
BEB - 0010-
Gambar 3.44 Perancangan halaman untuk tambah produk dealer
8.2 Perancangan Halaman Untuk Rubah Produk Dealer
Halaman ini ditujukan untuk merubah detail produk yang dimiliki oleh
dealer.
R u b a h K e l u a r
ID produk dealer EPAY - BEB - 0010
Harga beli -Rp
Gambar 3.45 Perancangan halaman untuk rubah detail produk dealer
9. Perancangan Halaman Untuk Update Karyawan
Halaman ini ditujukan untuk melihat karyawan perusahaan yang ada saat
ini. Untuk tombol hapus, tampilan halamannya sama dengan gambar 3.28.
ID Karyawan Jabatan Nama Alamat HP Tgl masuk Password
Arnold Admin
Operator
Operator
Administrasi
Arnold cibangkong 085689988778 19/07/2002 123456
T a m b a h R u b a h H a p u s
Gambar 3.46 Perancangan halaman untuk update karyawan
9.1 Perancangan Halaman Untuk Tambah Karyawan
Halaman ini ditujukan untuk menambahkan karyawan baru yang diterima
oleh perusahaan.
ID karyawan
Jabatan
Nama
Alamat
Hp
Tgl masuk
Password
S i m p a n K e l u a r
Admin
Gambar 3.47 Perancangan halaman untuk tambah karyawan
9.2 Perancangan Halaman Untuk Rubah Karyawan
Halaman ini ditujukan untuk merubah data detail karyawan.
ID karyawan
Jabatan
Nama
Alamat
Hp
Tgl masuk
Password
Arnold
arnold
cibangkong
085689988778
02/27/2002
123456
K e l u a rR u b a h
Admin
Gambar 3.48 Perancangan halaman untuk rubah karyawan
10. Perancangan Halaman Untuk Membuat Laporan Tagihan
Halaman ini ditujukan untuk melihat dan mecetak tagihan untuk besok
hari, baik itu tagihan untuk otlet depo TMC maupun tagihan untuk depo lain yang
sudah diakumulasikan.
tagihan otlet tanggal
1550000Total Tagihan Outlet TMC
ID Otlet Tagihan
13-05-2006
Lihat detail transaksi
ZZU 1120000
GMN 430000
Cetak semua tagihan
Otlet TMC DEPO
Cetak tagihan Depo
Cetak tagihan otlet Depo
Lihat detail transaksi
Gambar 3.49 Perancangan halaman untuk membuat laporan tagihan
10.1 Perancangan Halaman Untuk Mencetak Semua Tagihan Otlet TMC
Halaman ini ditujukan untuk mencetak tagihan otlet TMC dimana detail
transaksinya adalah transaksi yang telah sukses diproses.
ID proses Jam Produk No Tujuan Harga
Tagihan Harian untuk Otlet TMC
Alamat
Detail Order
Total Tagihan
Serial Number
ID Otlet
Nama
Tanggal Tagihan
GMN
Gemini Cell
Jl. Surya 20
13-05-2006
########
N
Gambar 3.50 Perancangan halaman untuk mencetak semua tagihan otlet TMC
10.2 Perancangan Halaman Untuk Melihat Detail Tagihan Otlet Tertentu
Halaman ini ditujukan untuk melihat detail transaksi otlet tertentu yang
telah sukses diproses oleh perusahaan.
ID Otlet
Total Order
ID
Proses
Tanggal transaksi 13-05-2006
GMN
ID
Produk
ID
DealerID Stok No Tujuan Jam Serial Number User Proses Harga
Total TagihanK E L U A R C E T A K
Gambar 3.51 Perancangan halaman untuk membuat tagihan otlet
10.3 Perancangan Halaman Untuk Mencetak Detail Tagihan Otlet Tertentu
Halaman ini ditujukan untuk mencetak detail tagihan otlet tertentu dimana
isinya sesuai dengan yang ada pada tabel detail transaksi.
ID proses Jam Produk No Tujuan Harga
Tagihan Harian untuk Otlet TMC
Alamat
Detail Order
Total Tagihan
Serial Number
ID Otlet
Nama
Tanggal Tagihan
GMN
Gemini Cell
Jl. Surya 20
13-05-2006
########
Gambar 3.52 Perancangan halaman untuk mencetak tagihan otlet
10.4 Perancangan Halaman Untuk Melihat Tagihan Depo
Halaman ini ditujukan untuk melihat tagihan depo tertentu dengan
memilih terlebih dahulu deponya, yang ditampilkan adalah total tagihan dari otlet
yang bersangkutan dan grand total tagihan dari keseluruhan tagihan otlet tadi.
Pilih Depo RAH
tagihan depo tanggal
34.530.000Total Tagihan Depo
ID Otlet Tagihan
13-05-2006
Lihat detail transaksi
TUS 1120000
SAR 430000
Cetak semua tagihan
Otlet TMC DEPO
Cetak tagihan Depo
Cetak tagihan otlet Depo
Lihat detail transaksi
Gambar 3.53 Perancangan halaman untuk tagihan depo
10.5 Perancangan Halaman Untuk Mencetak Tagihan Depo
Halaman ini ditujukan untuk mencetak tagihan depo tertentu dengan
menekan tombol cetak tagihan depo, yang ditampilkan adalah detail tagihan tiap –
tiap otlet yang bersangkutan. Untuk harga tagihannya diambil berdasarkan harga
depo.
Tagihan Harian untuk Depo : RAH Tanggal : 13/05/2006
ID proses Jam Produk No Tujuan Harga
Alamat
Detail Order
Total Tagihan
Serial Number
ID Otlet
Nama
TUS
Taurus Cell
Jl. Banteng 45
########
N
Grand Total Tagihan ##########
Gambar 3.54 Perancangan halaman untuk mencetak tagihan depo
10.6 Perancangan Halaman Untuk Mencetak Tagihan Otlet Depo
Halaman ini ditujukan untuk mencetak tagihan otlet depo tertentu dengan
menekan tombol cetak tagihan otlet depo, yang ditampilkan adalah detail tagihan
tiap – tiap otlet yang bersangkutan. Untuk harga tagihannya diambil berdasarkan
harga depo dengan deposit tertentu. Tujuan dari mencetak tagihan otlet depo ini
adalah sebagai referensi tagihan untuk depo yang bersangkutan kepada otlet –
otlet bawahannya.
Referensi tagihan otlet untuk depo yang bersangkutan
ID proses Jam Produk No Tujuan Harga
Alamat
Detail Order
Total Tagihan
Serial Number
ID Otlet
Nama
TUS
Taurus Cell
Jl. Banteng 45
########
N
Grand Total Tagihan ##########
Depo RAH
Gambar 3.55 Perancangan halaman untuk mencetak tagihan otlet depo
10.7 Perancangan Halaman Untuk Melihat Tagihan Detail Otlet Depo
Halaman ini ditujukan untuk melihat detail tagihan dari otlet depo yang
bersangkutan, dengan harga yang dipakai adalah harga depo dengan deposit
tertentu.
ID Otlet
Total Order
ID
Proses
Tanggal transaksi 13-05-2006
TUS
ID
Produk
ID
DealerID Stok No Tujuan Jam Serial Number User Proses Harga Otlet
Total TagihanK E L U A R C E T A K
Gambar 3.56 Perancangan halaman untuk melihat detail tagihan otlet depo tertentu
10.8 Perancangan Halaman Untuk Mencetak Tagihan Detail Otlet Depo
Halaman ini ditujukan untuk mencetak hanya tagihan otlet tertentu dari
depo dengan menekan tombol cetak, yang ditampilkan adalah detail tagihan dari
otlet yang bersangkutan. Untuk harga tagihannya diambil berdasarkan harga depo
dengan deposit tertentu. Tujuan dari mencetak tagihan otlet depo ini adalah
sebagai referensi tagihan untuk depo yang bersangkutan kepada otlet – otlet
bawahannya.
Referensi tagihan otlet untuk depo yang bersangkutan
ID proses Jam Produk No Tujuan Harga
Alamat
Detail Order
Total Tagihan
Serial Number
ID Otlet
Nama
TUS
Taurus Cell
Jl. Banteng 45
########
Depo RAH
Gambar 3.57 Perancangan halaman untuk mencetak tagihan otlet depo
11. Perancangan Halaman Untuk Membuat Laporan Penjualan
Halaman ini ditujukan untuk menentukan periode laporan penjualan
berdasarkan tanggal bayar terlebih dahulu sebelum dicetak.
Tanggal Awal
20/02/2007
C E T A K K e l u a r
Tanggal Akhir
20/03/2007Sampai dengan
Gambar 3.58 Perancangan halaman untuk membuat laporan penjualan
11.1 Perancangan Halaman Untuk Hasil Cetak Laporan Penjualan
Halaman ini ditujukan untuk menampilkan hasil cetak dari laporan
penjualan yang dilakukan oleh semua depo dan otlet pada periode tertentu, dengan
menekan tombol cetak.
OtletTanggal tagihan Tagihan Depo dan Otlet
Total
Depo
Laporan Penjualan Periode 02/20/2006 S/D 03/20/2006
Tanggal Bayar Dibayar
TMC CEP
2/22/2006
2/21/2006 101000
Selisih
285000 667000
13000
N
395000
101000
TMC WWE2/21/2006 104000 104000
RAH ANL2/21/2006 108000 285000
RAH QAS2/21/2006 76000
RAH ZSE2/21/2006 101000
TMC DED2/21/2006 39000
TMC DDD2/21/2006 151000
27000
150000
+ -
Tagihan Depo Tagihan Otlet Dibayar
Detail tagihan Informasi
Selisih
Transaksi xxx
salahTransaksi xxx
salah
Gambar 3.59 Perancangan halaman untuk mencetak laporan penjualan
12. Perancangan Halaman Untuk Stok
Halaman ini ditujukan untuk menampilkan jumlah stok yang ada saat ini
untuk produk tertentu. Sedangkan untuk tombol hapus dapat digunakan untuk
menghapus data stok di dalam tabel sesuai dengan pilihan, untuk tampilan tombol
hapus, sama dengan pada gambar 3.28
T a m b a h R u b a h
ID DP Jumlah
Detail Stok
DMP 20000000
SPT-0020 10
SPT-0050 5
AS-0020 12
AS-0050 30
H a p u s
Gambar 3.60 Perancangan halaman untuk stok
12.1 Perancangan Halaman Untuk Tambah Stok
Halaman ini ditujukan untuk menambahkan produk yang mempunyai stok
saat ini yang dimiliki oleh perusahaan.
Jumlah
Simpan Keluar
ID Detail Produk
Gambar 3.61 Perancangan halaman untuk tambah stok
12.2 Perancangan Halaman Untuk Rubah Stok
Halaman ini ditujukan untuk merubah banyak stok yang ada saat ini.
Jumlah
Simpan Keluar
ID Detail Produk
20000000
DMP
Gambar 3.62 Perancangan halaman untuk rubah stok
3.2.2.5 Rancangan untuk Administrasi
Perancangan ini dikhususkan untuk pengguna dimana jabatannya adalah
administrasi.
1. Perancangan Halaman Untuk Pembayaran Otlet TMC
Halaman ini ditujukan untuk melihat tagihan yang dimiliki oleh - otlet
TMC tertentu dengan memilih id otletnya.
tagihan otlet
35.030.000Total Tagihan Outlet
Tagihan
Lihat detail transaksi
12/05/2006 1120000
430000
Bayar Otlet
Otlet TMC DEPO
Bayar Depo
Lihat detail transaksi
Pilih Otlet ZZU Zul Cell
Tanggal Tagihan
12/04/2006
12/03/2006 500000
Gambar 3.63 Perancangan halaman untuk pembayaran otlet TMC
1.1 Perancangan Halaman Dibayar Untuk Otlet TMC
Halaman ini ditujukan untuk menyimpan data jumlah pembayaran tagihan
otlet TMC tertentu dengan memilih id otletnya.
Total Tagihan
1.200.000
S I M P A N K E L U A R
Dibayar
Gambar 3.64 Perancangan halaman untuk pembayaran otlet TMC
1.2 Perancangan Halaman Lihat Detail Transaksi Untuk Otlet TMC
Halaman ini ditujukan untuk memelihat data detail transaksi otlet TMC
tertentu dengan memilih id otletnya.
ID Otlet
Total Order
ID
Proses
Tanggal transaksi 05/15/2006
TUR
ID
Produk
ID
DealerID Stok No Tujuan Jam Serial Number User Proses Harga
Total TagihanK E L U A R
Gambar 3.65 Perancangan halaman untuk lihat detail transaksi otlet TMC
2. Perancangan Halaman Untuk Pembayaran Depo
Halaman ini ditujukan untuk melihat tagihan depo tertentu dengan
memilih deponya terlebih dahulu. Tagihan yang ditampilkan adalah total tagihan
otlet – otlet bawahan depo yang bersangkutan dengan spesifikasi harga depo.
Pilih Depo RAH
tagihan depo
1550000Total Tagihan Depo
ID Otlet Tagihan
Lihat detail transaksi
TUS 1120000
SAR 430000
Bayar Otlet
Otlet TMC DEPO
Bayar Depo
Lihat detail transaksi
Rahmad Depo
Gambar 3.66 Perancangan halaman untuk pembayaran depo
2.1 Perancangan Halaman Untuk Bayar Depo
Halaman ini ditujukan untuk menyimpan data jumlah pembayaran tagihan
depo tertentu dengan memilih id deponya.
Total Tagihan
1.550.000
S I M P A N K E L U A R
Dibayar
Gambar 3.67 Perancangan halaman untuk bayar depo
2.2 Perancangan Halaman Lihat Detail Transaksi Untuk Otlet Depo
Halaman ini ditujukan untuk memelihat data detail transaksi otlet depo
tertentu dengan memilih id otletnya.
ID Otlet
Total Order
ID
Proses
QAS
ID
Produk
ID
DealerID Stok No Tujuan Jam Serial Number User Proses Harga
Total TagihanK E L U A R
Gambar 3.68 Perancangan halaman untuk lihat detail transaksi otlet depo
3.2.2.6 Rancangan untuk menu bantuan
1. Informasi Program
Halaman ini berguna untuk melihat informasi spesifikasi program.
Logo
Sistem Penjualan
Pulsa elektronik
Three M Cell
Bandung
K e l u a r
Informasi Detail sistem apa saja
yang termasuk didalamnya
Informasi Pembuat
Gambar 3.69 Perancangan halaman informasi program
2. Pembelajaran Program
Halaman ini berguna untuk melihat informasi pembelajaran program,
bagaimana cara menggunakan program ini sesuai dengan jabatannya.
Jabatan
K e l u a r
Kategori Bantuan
Daftar bantuan untuk
jabatan tertentu
Isi
Gambar 3.70 Perancangan halaman pembelajaran program
3.2.3 Kebutuhan Sistem
3.2.3.1 Kebutuhan Perangkat-lunak
Seperti yang telah dijelaskan sebelumnya, sistem ini menggunakan bahasa
pemrograman VB 6.0 sebagai user interface-nya, MS SQL Server 2000 sebagai
database yang memiliki fasilitas pengolahan data dan Seagate Crystal Reports 7.1
sebagai report generator-nya.
3.2.3.2 Kebutuhan perangkat-keras
Perangkat keras yang dibutuhkan untuk mendukung sistem ini adalah 1
buah server yang akan digunakan oleh admin, 1 buah komputer client yang akan
digunakan oleh administrasi, 1 buah komputer client yang digunakan oleh
operator order, dan minimal 1 buah komputer client yang digunakan oleh operator
pemrosesan order. Untuk spesifikasi komputernya harus memiliki persyaratan
minimum sebagai berikut :
Server :
1. Processor Intel Pentuim 4 1800 Mhz L2 1Mb
2. Memori 2 x 512 MB DDR
3. Hardisk 2 x 80 Gb
4. Graphic 32 Mb
5. Sistem operasi menggunakan Windows XP Pro sp 1
6. UPS 30 menit
7. Printer Dot Matrik
Client :
1. Processor Sempron +1200 Mhz
2. Memori 512 MB DDR
3. Hardisk 40 Gb
4. Graphic 32 Mb
5. Sistem operasi menggunakan Windows XP Home Edition
Sedangkan untuk jaringan-nya dibutuhkan 1 rol kabel belden dan 1 buah
Switch-Hub 8 port.
BAB IV
IMPLEMENTASI dan ANALISIS SISTEM
Di bab ini dijelaskan lebih lanjut mengenai implementasi dari perancangan
yang telah dibuat pada bab sebelumnya.
4.1 Implementasi Perangkat Lunak
Adapun beberapa hal yang harus dipersiapkan dalam tahap
pengimplementasian ini adalah sebagai berikut :
1. Tahap persiapan pengguna aplikasi
Yang dimaksudkan disini adalah melatih pengguna yang nantinya akan
menggunakan aplikasi ini, sehingga aplikasi yang diterapkan dapat berjalan
dengan baik, disamping itu pengguna dituntut tanggung jawab dan kerja sama
pada setiap bagiannya.
2. Tahap persiapan perangkat komputer
Persiapan perangkat komputer dilakukan agar perangkat lunak yang telah
dibuat dapat dioperasikan dengan baik. Aplikasi sistem yang dibuat adalah
aplikasi client – server, oleh karena itu secara fisik komputer client harus
terkoneksi dengan derver. Mengenai spesifikasi perangkat komputer telah
dijelaskan pada bagian perancangan teknologi bab III. Tahap persiapan
perangkat lunak terbagi dalam 2 bagian yaitu :
Persiapan sisi client :
a. Menginstall sistem operasi windows xp
b. Menginstal aplikasi sistem informasi penjualan threemcell
c. Mengatur koneksi database program
d. Mematikan setingan tanggal
Persiapan server
a. Menginstal sistem operasi windows xp
b. Menginstal MS SQL server 2000
c. Menginstal aplikasi sistem informasi penjualan threemcell, nantinya
akan digunakan oleh admin.
d. Mengatur koneksi database program
4.2 Implementasi
4.2.1 Aplikasi Yang Digunakan
Pada proses implementasi berikut ini, digunakan VB 6.0 sebagai
antarmuka program, SQL Server 2000 sebagai database-nya dan Crystal Reports
7.1 untuk pembuatan laporannya. VB 6.0 adalah program yang dipakai untuk
sebagian besar objek sistem informasi seperti form. SQL Server 2000 program
yang dipakai untuk menetapkan obyek-obyek basis data seperti database user,
table, aturan-aturan yang menyangkut validasi data dan menagani masalah
keamanan data.
4.2.2 Implementasi Antar Muka
Antar muka adalah sarana komunikasi antara sistem dan user. Antar muka
yang ada dalam sistem ini adalah menu dan fasilitas yang masing-masing
memiliki kegunaan yang berbeda.
4.2.2.1 Form Start Up
Form strat up merupakan tampilan awal dari program. Tampilan ini akan
mengawali sistem sebelum masuk ke menu utama. Gambar 4.1 dibawah ini adalah
tampilan start up-nya.
Gambar 4.1 Form start up
Di dalam form ini terdapat dua fungsi utama, yaitu :
1. Memeriksa koneksi database.
Bertujuan untuk memeriksa koneksi database, dimana syntax-nya diambil dari
file setting.conn. Gambar 4.2 di bawah ini merupakan potongan programnya :
status_koneksi = ReadLine_koneksi(App.Path & "\setting.conn", 3) If status_koneksi = "True" Then
sConnString = ReadLine_koneksi(App.Path & "\setting.conn", 1) sConnRp = ReadLine_koneksi(App.Path & "\setting.conn", 2) conn.ConnectionString = sConnString conn.CursorLocation = adUseServer conn.Open If conn.State = adStateOpen Then
status_koneksi = True
lbl_info.Caption = "Cek Koneksi .................................... Ok"
End If conn.Close
Else lbl_info.Caption = "Cek Koneksi gagal - hubungi admin !" Exit Sub
End If
Gambar 4.2 kode pemeriksaan koneksi
Baris pertama dalam file setting.conn berisikan setingan koneksi MS SQL
Server 2000 untuk MS VB 6.0 dan baris kedua berisikan setingan koneksi MS
SQL Server 2000 untuk Crystall Report 7.1. Bila ternyata status koneksi
gagal, maka program akan memberitahu user untuk segera menghubungi
admin.
2. Memeriksa data status pengguna dan data order penjualan.
Status pengguna disini adalah id user pengguna terakhir pemakai program.
Data id user ini tersimpan dalam file ThreeMCell.usr. Tujuan utama disini
adalah mengembalikan status user yang sedang online menjadi tidak online,
perlu diketahui bahwa file ini muncul apabila terjadi hal yang tidak diinginkan
yang menyebabkan program error atau crash . Untuk data order penjualan, file
yang digunakan adalah file ThreeMCell.pros. Tujuan utama dari file ini adalah
menyimpan data order penjualan pada saat operator pemrosesan sedang
melakukan penentuan pemrosesan order. Dimana pada saat order yang
bersangkutan masih dibaca atau dibuka oleh operator terjadi program error,
dengan demikian status order dapat dikembalikan menjadi siap untuk diproses
kembali pada saat program dijalankan kembali. Gambar 4.3 dibawah ini
adalah potongan kode program pemeriksaan user dan proses :
bck_id_user = ReadLine(App.Path & "\" & App.EXEName & ".usr", 1) bck_id_proses = ReadLine(App.Path & "\" & App.EXEName & ".pros", 1)
If bck_id_user <> "" Then
Call dbInit conn.Open sConnString
Set rs = conn.Execute("UPDATE karyawan SET online = '0' WHERE (ID_karyawan = '" & bck_id_user & "')", , adCmdText) conn.Close End If If bck_id_proses <> "" Then Call dbInit conn.Open sConnString
Set rs = conn.Execute("UPDATE order_penjualan SET status = '0' WHERE (ID_penjualan = '" & bck_id_proses & "')", , adCmdText) conn.Close End If
form_utama.Show Unload Me
End If
Gambar 4.3 kode pemeriksaan user dan proses
Untuk penanganan error, terdapat dua hal yang utama, yaitu bila data
login database salah dan bila database server tidak ada. Gambar 4.4 dibawah ini
adalah potongan kode penanganan error form start up:
If Err.Number = -2147217843 Then lbl_info.Caption = "Login database salah - hubungi admin !" status_koneksi = "False"
Exit Sub ElseIf Err.Number = -2147467259 Then lbl_info.Caption = "Nama server database tidak ada - hubungi admin !" status_koneksi = "False"
Exit Sub End If
Gambar 4.4 kode penanganan error form start up
4.2.2.2 Form Setting
Form setting digunakan pada saat setelah peng-instalan proram pertama
kali di komputer client. Didalamnya terdapat tugas penting yaitu menyimpan data
setingan koneksi database kedalam file ThreeMCell.conn, yang nantinya data
simpanan ini akan digunakan oleh program utama untuk melakukan koneksi ke
database.
Gambar 4.5 dibawah ini adalah potongan kode file ThreeMCell.conn :
L_server = txt_dsn.Text L_nama = txt_uid.Text L_password = txt_psw.Text DeleteFile "conn" sConnString = "Provider=SQLOLEDB.1;User ID=" & L_nama & ";password=" & L_password
& ";Initial Catalog=ThreeMCell;Data Source =" & L_server & ";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096" sConnRp = "DSN=" & L_server & ";UID=" & L_nama & ";PWD=" & L_password & ";DSQ=ThreeMCell"
CreateFile "conn"
Gambar 4.5 kode file ThreeMCell.conn
Untuk tampilan form setting dapat dilihat pada gambar 4.6 dibawah ini:
Gambar 4.6 Form setting
Untuk penanganan error terdapat dua hal yang utama, yaitu nama server
database tidak ada dan data login salah, untuk data login disini adalah id dan
password-nya. Gambar 4.7 dibawah ini adalah potongan kode form setting.
If Err.Number = -2147217843 Then
MsgBox "Data UID / Password salah !", vbOKOnly, "Koneksi"
ElseIf Err.Number = -2147467259 Then MsgBox "Nama server tidak ada !", vbOKOnly, "Koneksi" End If
Gambar 4.7 kode penanganan error form setting
4.2.2.3 Form Utama
Dalam tampilan form utama ini terdapat beberapa form lain yang dapat
digunakan pengguna sesuai dengan jabatannya. Tabel dibawah ini menunjukan
form apa saja yang terdapat didalamnya dan siapa saja yang berhak
menggunakannya.
Menu Sub Menu Pengguna
Menu Login Logout Keluar
Semua pengguna
Penjualan Order Proses Order
Operator
Cari Semua pengguna
Administrasi Pembayaran Administrasi
Laporan Penjualan Tagihan
Admin
Pengaturan Produk Otlet Harga Jual Dealer Karyawan Stok
Admin
Bantuan Info Program Bantuan Penggunaan
Semua pengguna
Tabel 4.1 Daftar menu pada form utama
Adapun tampilan form utama ini dapat dilihat pada gambar 4.8 dibawah ini :
Gambar 4.8 Form utama
4.2.2.4 Menu Login
Sebelum pengguna dapat mengakses menu – menu lain yang ada dalam
menu utama, pengguna diharuskan melakukan login terlebih dahulu. Adapun
kondisi yang harus dipenuhi adalah status id yang bersangkutan dan data login itu
sendiri. Untuk status id adalah pemeriksaan apakah id yang akan digunakan
sedang digunakan atau tidak. Gambar 4.9 dibawah ini adalah potongan kode
pemeriksaan status id user.
Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT * FROM karyawan WHERE ID_karyawan ='" & txt_id.Text & "' and password = '" & txt_password.Text & "'", , adCmdText) If rs.EOF Then xLogin = False
conn.Close Else xLogin = True
conn.Close End If
Gambar 4.9 kode pemeriksaan status id user
Sedangkan untuk data login adalah data id pengguna dan password-nya.
Gambar 4.10 dibawah ini adalah potongan kodenya:
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM karyawan WHERE ID_karyawan ='" & txt_id.Text & "' and password = '" & txt_password.Text & "' and online = '0'", , adCmdText)
If rs.EOF Then xLogin2 = False conn.Close Else
user = rs.Fields(0) jabatan = rs.Fields(1) conn.Close xLogin2 = True End If
Gambar 4.10 kode pemeriksaan data login
Bila kedua kondisi diatas yaitu xLogin dan xLogin2 bernilai benar maka
program akan menampilkan menu – menu yang sesuai dengan jabatannya.
Gambar 4.11 dibawah ini merupakan potongan programnya :
If (xLogin = True) And (xLogin2 = True) Then
Call dbInit conn.Open sConnString Set rs = conn.Execute("UPDATE karyawan SET online = '1' WHERE (ID_karyawan='" & user & "')", , adCmdText) If jabatan = "operator" Then menu_operator_awal ElseIf jabatan = "administrasi" Then menu_administrasi_awal
Else: jabatan = "admin" menu_admin_awal End If
Gambar 4.11 kode menu sesuai jabatan
Tidak lupa setelah user sukses melakukan login maka program akan
membuat sebuah file yaitu ThreeMCell.usr yang berisi data id user tersebut.
Untuk penanganan error hanya melakukan pengecekan kembali status
koneksi menuju database.
Gambar 4.12 dibawah ini adalah tampilan dari form login :
Gambar 4.12 Form login
4.2.2.5 Menu Logout
Apabila pengguna hendak melakukan proses login kembali dengan id yang
berbeda, pengguna dapat melakukannya dengan memilih menu logout terlebih
dahulu untuk membersihkan data penggunaan sebelumnya. Gambar 4.13 dibawah
ini adalah potongan kode menu logout:
Call dbInit conn.Open sConnString Set rs = conn.Execute("UPDATE karyawan SET online = '0' WHERE (ID_karyawan='" &
user & "')", , adCmdText) UnloadChildren menu_awal user = ""
StatusBar1.Panels.Item(4) = "" conn.Close DeleteFile "usr"
Gambar 4.13 kode menu logout
4.2.2.6 Menu Keluar
Apabila pengguna hendak keluar dari program, pengguna dapat
melakukannya dengan memilih menu keluar. Gambar 4.14 dibawah ini adalah
potongan kode programnya:
If user = "" Then End Else log_out
End End If
Gambar 4.14 kode menu keluar
4.2.2.7 Menu Order
Apabila jabatan pengguna adalah operator, maka pengguna dapat
menambah data order penjualan dengan menu ini. Dalam form ini terdapat dua
bagian penting dalam penampilan data, yang pertama adalah tampilan data order
penjualan dan data order penjualan yang gagal atau dengan kata lain data order
penjualan yang telah diperiksa oleh operator pemrosesan dan dinyatakan gagal
atau tidak bisa di proses. Dalam form ini terdapat dua tombol yaitu tombol tambah
dan refresh, tombol tambah disini berguna bila operator hendak menambahkan
data order penjualan baru, untuk tombol refresh, berguna untuk melihat dan
memeriksa kembali data antrian order penjualan yang belum diproses. Selain itu
dalam form ini terdapat informasi penting yaitu jumlah antrian order penjualan
yang belum diproses dan jumlah order penjualan yang gagal.
Gambar 4.15 dibawah ini adalah tampilan form order :
Gambar 4.15 Form order
Gambar 4.16 di bawah ini adalah tampilan form tambah order :
Gambar 4.16 Form tambah order
Dalam form tambah order, pengguna hanya melakukan input data otlet,
produk, jam order, dan nomor tujuannya saja. Sedangkan untuk input data otlet
dan produk pengguna tinggal memilih sesuai dengan pilihan yang ada. Adapun
pilihan untuk otlet adalah semua kode otlet pelanggan dimana statusnya adalah
pelanggan aktif. Untuk pilihan produk, pilihannya adalah semua produk yang
dijual oleh perusahaan, kecuai produk dengan kode ‘DMP-9000’ dimana produk
ini digunakan untuk data pemrosesan menggunakan stok. Untuk data jam order,
program secara automatis menampilkan jam saat ini, tetapi dapat dirubah sesuai
dengan jam order yang diterima dari handphone. Data input yang terakhir adalah
nomor tujuan, dimana panjang input minimalnya adalah sepuluh digit dan
maximalnya adalah duabelas digit, tetapi sebelumnya untuk mengurangi
kesalahan penulisan nomor tujuan, sistem langsung menampilkan kepala nomor
tujuan sesuai jenis produknya setelah pengguna memilih data produk sebelumnya.
Gambar 4.17 dibawah ini adalah potongan program untuk menampilkan kepala
nomor tujuan untuk jenis produk tertentu :
cek_produk_as = Mid(id_produk, 1, 2) cek_produk_lain = Mid(id_produk, 1, 3) If cek_produk_lain = "FRE" Then
txt_no_tujuan.Text = "0888" ElseIf cek_produk_lain = "IM3" Then txt_no_tujuan.Text = "0856" ElseIf cek_produk_as = "AS" Then txt_no_tujuan.Text = "0852" Else txt_no_tujuan.Text = "081" End If
Gambar 4.17 kode kepala nomor tujuan
Setelah data input terisi semua, pengguna dapat meyimpan datanya dengan
menekan tombol simpan. Disini program akan melakukan pengecekan kembali id
order yang ada sebelumnya dan menentukan id order yang baru yang akan dipakai
untuk data input diatas tadi. Adapun format id order penjualan diambil
berdasarkan dua digit terakhir dari tahun saat ini, dua digit dari bulan saat ini, dua
digit dari tanggal saat ini dan empat digit nomor order penjualannya. Gambar
4.18 adalah potongan kode program format id order penjualan :
kode_tgl_sekarang = Mid(Year(Now), 3, 2) & Format(Month(Now), "00") & Format(Day(Now), "00") nomor = "0000" '0703010000
conn.Open sConnString Set rs = conn.Execute("SELECT ID_penjualan FROM order_penjualan WHERE _ (ID_penjualan LIKE '" & kode_tgl_sekarang & "%')", , adCmdText) If ((rs.EOF = True) And (rs.BOF = True)) Then
kode_baru = kode_tgl_sekarang & nomor Else Do Until rs.EOF kode = Mid(rs(0), 5, 6) + 1
rs.MoveNext Loop kode_baru = Mid(Year(Now), 3, 2) & Format(Month(Now), "00") & Format(kode, "000000")
End If conn.Close
Gambar 4.18 kode format id order penjualan
Perlu diperhatikan bahwa sebelum data input yang ada disimpan ke dalam
database, program melakukan pengecekan ulang kembali untuk menghindari
adanya input data yang yang double. Bila program menemukan adanya duplikasi
data, maka program akan menampilkan pesan baru untuk konfirmasi penambahan
data duplikat ini, sedangkan pengecekan data duplikat ini berdasarkan data
tanggal order penjualan saat ini, data otlet, data produk, dan data nomor tujuan.
Gambar 4.19 dibawah ini adalah tampilan pesan konfirmasi penambahan
data duplikat :
Gambar 4.19 Form konfirmasi tambah order
4.2.2.8 Menu Proses Order
Apabila jabatan pengguna adalah operator, maka pengguna dapat
melakukan pemrosesan order yang ada dalam antrian tabel order penjualan
dengan memilih menu proses order ini. Selain itu menu proses order ini
mempunyai kegunaan lain yaitu hanya menampilkan order penjualan dengan
status sukses saja sesuai dengan kategori produknya, beserta jumlah total order
penjualan yang telah diproses untuk tiap – tiap produk tersebut.
Gambar 4.20 dibawah ini adalah tampilan dari form proses :
Gambar 4.20 Form proses
Untuk melakukan pemrosesan data order penjualan, pengguna diharuskan
memilih terlebih dahulu data order penjualan yang akan diproses. Dalam
pemilihan ini program secara automatis mengecek data harga depo maupun otlet
dari produk yang akan diproses. Gambar 4.21 dibawah ini adalah potongan kode
program pengecekan data harga jual produk sebelum diproses :
conn.Open sConnString Set rs = conn.Execute("SELECT h_setor FROM harga_jual WHERE (ID_DP = '" &
grid_kunci_id_antrian_order_id_dp & "') and (ID_deposit = '" & ID_deposit_otlet & "')", , adCmdText) If rs.EOF Then harga_otlet = False conn.Close Else conn.Close harga_otlet = True
End If conn.Open sConnString Set rs = conn.Execute("SELECT h_setor FROM harga_jual WHERE (ID_DP = '" & grid_kunci_id_antrian_order_id_dp & "') and (ID_deposit = 'EP0' )", , adCmdText)
If rs.EOF Then harga_depo = False conn.Close Else
harga_depo = True conn.Close End If If harga_otlet = False Or harga_depo = False Then
info_status_bar ("Produk " & grid_kunci_id_antrian_order_id_dp & " Belum ada harga, hubungi admin !")
Gambar 4.21 kode pengecekan data harga jual produk
Bila diketahui bahwa harga depo atau otlet belum ada, maka pengguna
tidak akan bisa memproses data order penjualan tersebut dan program akan
memberitahu pengguna untuk segera menghubungi admin. Setelah pengecekan
data harga, yang dilakukan program adalah pengecekan status order tersebut,
apakah sedang diproses oleh operator pemrosesan yang lain atau tidak. Gambar
4.22 dibawah ini adalah potongan kode pemeriksaan status order penjualan :
conn.Open sConnString
Set rs = conn.Execute("SELECT status FROM order_penjualan WHERE (ID_penjualan = '" & nama_cell & "') and (status ='0')", , adCmdText) If rs.EOF Then conn.Close
info_status_bar ("DATA SEDANG DIPROSES OLEH OPERATOR LAIN !") Else conn.Close conn.Open sConnString
Set rs = conn.Execute("UPDATE order_penjualan SET status ='1' WHERE ID_penjualan = '" & nama_cell & "'", , adCmdText) conn.Close form_proses_order.Show
End If
Gambar 4.22 kode pemeriksaan status order
Bila operator pemrosesan order dalam perusahaan ini lebih dari satu ,
maka Pengecekan status order ini sangat penting dimana tujuannya mencegah
adanya duplikasi pemrosesan untuk order yang sama. Setelah pengecekan selesai,
program akan melakukan penguncian data order tersebut dengan merubah status
ordernya lalu menampilkan form pemrosesan order penjualan, dimana dapat
dilihat pada gambar dibawah ini :
Gambar 4.23 Form proses order
Setelah form ini tampil, maka pertama kali yang dilakukan program adalah
membaca data tanggal dan status tagihan otlet yang bersangkutan, total tagihan
hari ini dan banyak deposit yang dimiliki oleh otlet yang bersangkutan, data dealer
apa saja yang dapat memproses produk yang bersangkutan, dan data stok serta
jumlah terakhir stok yang ada untuk produk yang bersangkutan dari database.
Untuk tanggal tagihan, yang ditampilkan adalah tanggal tagihan sampai tiga hari
sebelumnya, hal ini digunakan berdasarkan data pembayaran dimana terdapat hari
libur waktu pembayaran yaitu hari sabtu dan minggu. Untuk status tagihan
terdapat tiga kemungkinan yang terjadi, yaitu “Belum ada data”, “Lunas” dan
“Belum Lunas”.
Untuk status kelayakan order, berikut adalah hal - hal yang mempengaruhi
status kelakan order, apakah order layak diproses atau tidak.
1. Syarat status pembayaran
Syarat status pembayaran disini dibagi lagi menjadi dua bagian besar,
yaitu berdasarkan hari dan jam pembayaran. Untuk hari senin, syarat ini akan
bernilai benar jika status data tagihan sampai tiga hari sebelumnya bernilai
“Lunas” atau “Belum ada data”, atau status tagihan “Belum Lunas” sebelum
jam dua siang. Untuk hari selasa, rabu, kamis dan jumat, syarat ini bernilai
benar jika status tagihan hari sebelumnya “Lunas” atau “Belum ada data”, atau
status tagihan “Belum Lunas” sebelum jam dua siang. Untuk hari sabtu dan
minggu, syarat ini bernilai benar jika status tagihan hari sebelumnya “Lunas”
atau “Belum ada data” atau “Belum lunas”.
2. Syarat tagihan hari ini
Dimana syarat tagihan akan bernilai benar jika jumlah total tagihan hari ini
lebih kecil daripada jumlah deposit yang dimiliki oleh otlet yang
bersangkutan.
Seteleh kedua syarat diatas didapat, maka syarat kelayakan order “order
layak diproses” akan bernilai benar jika ke-dua syarat diatas tadi bernilai benar.
Bila ke-dua syarat diatas tidak terpenuhi, maka program akan memberitau
pengguna bahwa order yang bersangkutan tidak layak diproses. Order yang tidak
layak diproses, tetap dapat dilakukan pemrosesan dengan menekan tombol “beri
toleransi pemrosesan” dengan persetujuan admin atau pemilik perusahaan sendiri.
Setelah informasi kelayakan order didapat, pengguna dapat melanjutkan
dengan melakukan pemilihan pemrosesan. Untuk pemilihan pemrosesan ini
terdapat tiga pilihan utama, yaitu pemrosesan menggunakan dealer utama,
pemrosesan menggunakan stok yang ada, atau pilihan “tidak bisa diproses”.
Setelah pemilihan pemrosesan, pengguna dapat menyimpan datanya
dengan menekan tombol simpan. Dalam proses ini sebelum komputer menyimpan
datanya kedalam database, dilakukan pengecekan ulang kembali data total
tagihan terbaru dan data stok terbaru bila pengguna memilih untuk memproses
menggunakan stok.
Bila pengguna memilih tombol keluar, maka yang dilakukan program
adalah merubah status order penjualan menjadi siap diproses kembali dan
menghapus file ThreeMCell.pros.
4.2.2.9 Menu cari
Pengguna dapat menggunakan menu ini untuk mencari data order
penjualan otlet tertentu untuk tanggal sampai dengan minus lima. Adapun gambar
form cari seperti gambar 4.24 dibawah ini :
Gambar 4.24 Form cari
Pengguna dapat mencari data otlet yang diinginkan dengan memilih
langsung id otletnya dan menentukan tanggal transaksinya yang akan ditampilkan.
Untuk penanganan error, yaitu bila data yang akan dicari tidak ada maka
program akan memberitahu pengguna untuk memilih data yang lain. Gambar 4.25
merupakan potongan kode bila data pencarian tidak ada :
conn.Open sConnString Set rs = conn.Execute("SELECT * FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') ", , adCmdText) If rs.BOF And rs.EOF Then
info_status_bar ("Data Belum ada, pilih Data otlet / Tanggal lain !") conn.Close Else id_depo_cari = rs!id_depo
conn.Close form_hasil_cari.Show
Gambar 4.25 kode pencarian data tidak ada
Setelah penentuan id otlet dan tanggal pencarian maka program akan
menampilkan detail data transaksi pencarian diatas. Gambar 4.26 berikut adalah
tampilan dari hasil pencarian :
Gambar 4.26 Form hasil cari
Form ini menampilkan hasil pencarian beserta banyak datanya, yaitu total
order yang diproses, total order yang gagal dan total tagihan pada hari yang
bersangkutan. Adapun proses utama sebelum menampilakan data hasil pencarian
ini adalah pengecekan terlebih dahulu apakan otlet yang bersangkutan termasuk
didalam depo “TMC” atau yang lain, bila otlet yang bersangkutan termasuk
kedalam depo “TMC” maka data tagihan yang diambil adalah data tagihan otlet,
bila otlet yang bersangkutan termasuk kedalam depo lain maka data tagihan yang
ditampilkan data data tagihan depo.
4.2.2.10 Menu Pembayaran
Yang dapat menggunakan menu ini adalah pengguna dengan jabatan
administrasi, digunakan untuk memasukan data pembayaran yang diterima dari
otlet atau dari depo. Gambar 4.27 berikut dibawah ini adalah tampilan dari form
pembayaran :
Gambar 4.27 Form pembayaran
Hal pertama yang dilakukan oleh program saat form ini muncul adalah
memeriksa data tagihan semua otlet dengan status “Belum Lunas” untuk tanggal
selain tanggal sekarang. Untuk pilihan otlet TMC maka pilihan otlet yang ada
didalamnya adalah hanya data otlet TMC saja, sedangkan untuk otlet lain akan
masuk kedalam pilihan depo sesuai dengan depo yang bersangkutan.
Gambar 4.28 dibawah ini adalah potongan program data otlet TMC mana
saja yang belum melakukan pembayaran :
Sub TableToCombo_pembayaran_otlet(cmbBox As ComboBox, xKolom As Integer) tgl = Date Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT DISTINCT ID_otlet From history_tagihan WHERE (status = 'Belum Lunas') AND (tgl_tagihan <> '" & tgl & "') AND (ID_depo = 'TMC')", , adCmdText) With cmbBox Do Until rs.EOF
.AddItem rs(xKolom), lindex lindex = lindex + 1 rs.MoveNext Loop
End With conn.Close End Sub
Gambar 4.28 kode daftar otlet yang belum melakukan pembayaran
Jika pengguna akan menambah data pembayaran, maka yang dilakukan
pertama kali adalah memilih data otlet atau deponya, setelah melakukan pemilihan
data otlet atau depo, maka program akan mencari data tagihannya terlebih dahulu.
Bila yang dipilih adalah data otlet, maka data tagihannya akan ditampilkan satu
per satu sesuai dengan tanggal tagihannya. Sedangkan bila yang dipilih adalah
data depo, maka data yang ditampilkannya adalah total jumlah tagihan dengan
status “Belum Lunas” untuk tanggal selain hari ini dari tiap – tiap otlet bawahan
depo yang bersangkutan.
Untuk menambahkan data pembayaran, setelah pemilihan data otlet atau
depo diatas, maka pengguna dapat menekan tombol bayar dimana program akan
menampilkan form dibayar. Gambar 4.29 dibawah ini merupakan tampilan dari
form dibayar :
Gambar 4.29 Form dibayar
Pengguna dapat menambah data pembayaran dengan memasukan data
nominal yang dibayar oleh pelanggan dan menekan tombol lunas. Setelah
menekan tombol lunas program akan memerika kembali jumlah nominal yang
dibayar, dimana disini terdapat dua kondisi jika jumlah nominal yang dibayar
sama dengan jumlah tagihan maka data pembayaran langsung disimpan dalam
database, sedangkan jika berbeda, maka program akan menampilkan pesan bahwa
pembayaran tidak sama dengan tagihan. Gambar 4.30 dibawah ini adalah gambar
form konfirmasi penyimpanan data pembayaran jika input data pembayaran tidak
sama dengan data tagihan :
Gambar 4.30 Form konfirmasi dibayar
Bila pengguna hendak melihat detail transaksi dari otlet tertentu, baik itu
otlet bawahan tmc atau bawahan depo lain, maka pengguna dapat menekan
tombol lihat detail transaksi. Gambar 4.31 dibawah ini merupakan gambar detail
transaksi tagihan otlet yang bersangkutan.
Gambar 4.31 Form detail pembayaran tagihan
Selain untuk melihat detail transaksi untuk otlet yang bersangkutan, form
ini berguna untuk merubah tagihan otlet yang bersangkutan. Perubahan tagihan ini
di gunakan bila terjadi kesalahan yang memang dilakukan oleh pihak perusahaan,
sehingga data order yang bermasalah tersebut tidak akan dimasukan kedalam
tagihan otlet yang bersangkutan. Pengguna dapat melakukan perubahan tagihan
ini dengan memilih data yang bermasalah terlebih dahulu, lalu memasukan alasan
mengapa data tagihan yang dipilih tadi bermasalah. Gambar 4.32 dibawah ini
adalah tampilan form perubahan tagihan :
Gambar 4.32 Form perubahan tagihan bermasalah
Setelah pengguna mengisi alasannya, program menghitung tagihan baru yang
telah direvisi ulang, dan menyimpannya ke dalam database.
4.2.2.11 Menu Tagihan
Tagihan dicetak setiap hari setelah jam dua belas malam oleh admin,
berikut merupakan halaman untuk mencetak tagihan :
Gambar 4.33 Form laporan tagihan
Seperti menu pembayaran sebelumnya, menu laporan tagihan disini
mempunyai dua bagian utama, yaitu tagihan untuk otlet TMC dan tagihan untuk
otlet bawahan depo lain, tetapi data yang ditampilkan adalah hanya data tagihan
hari sebelumya saja. Gambar 4.34 dibawah ini adalah potongan kode program
untuk menampilkan jumlah tagihan hari sebelumnya:
Sub TableToFlexGrid_laporan_TMC(MSFlexGrid As MSFlexGrid, JumKolom As Integer)
Call dbInit
conn.Open sConnString tgl = Date - 1 Set rs = conn.Execute("SELECT * FROM history_tagihan WHERE ID_depo = 'TMC' AND tgl_tagihan = '" & tgl & "' AND status = 'Belum Lunas' ORDER BY ID_otlet Asc", ,
adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Gambar 4.34 kode total tagihan otlet hari sebelumnya.
Demikian juga dengan tampilan tagihan depo, hanya saja untuk tampilan
depo harus memilih terlebih dahulu id deponya.
Untuk mencetak data tagihan otlet maupun depo, pengguna dapat langsung
menekan tombol cetak semua tagihan otlet atau depo. Setelah menekan tombol ini
maka program akan membaca file laporan yang telah dibuat menggunakan crystal
report 7.1. Sedangkan hasil cetak untuk otlet dapat dilihat pada gambar 4.35
dibawah ini :
Gambar 4.35 Hasil cetak tagihan semua otlet
Untuk hasil cetak tagihan otlet bawahan depo tertentu dapat dilihat pada
gambar 4.36 dibawah ini :
Gambar 4.36 Hasil cetak tagihan semua otlet bawahan depo tertentu
Untuk tombol lihat detail tagihan otlet maupun depo disini, berguna untuk
melihat detail transaksi dari total tagihan yang ada sebelumnya, dan mencetak
tagihan untuk otlet yang bersangkutan saja. Gambar 4.37 dibawah ini adalah
tampilan detail transaksi :
Gambar 4.37 Form lihat detail tagihan otlet tertentu
Tampilan disini hampir mirip dengan tampilan hasil pencarian sebelumnya
dengan tambahan tombol cetak, hanya saja data yang ditampilkan adalah data
order penjualan yang telah sukses diproses saja. Untuk tombol cetak disini beguna
untuk mencetak data detail tagihan untuk otlet yang bersangkutan saja.
Gambar 4.38 dibawah ini adalah potongan kode program untuk mencetak tagihan
otlet tertentu :
Call dbInit With tagihan_harian_detail_otlet
.reset .ReportFileName = App.Path & "\tagihan_harian.rpt" .SQLQuery = "SELECT * from Laporan_tagihan_depo_tmc where tgl = '" & tgl & "' and ID_otlet = '" & grid_kunci_laporan_id_otlet & "'"
.WindowState = crptMaximized .Destination = crptToWindow .Connect = sConnRp .Action = 1
End With
Gambar 4.38 kode mencetak tagihan otlet tertentu.
Sedangkan hasil tampilan cetaknya dapat dilihat pada gambar 4.39 dibawah ini :
Gambar 4.39 Form cetak tagihan otlet TMC tertentu
Untuk tampilan lihat detail transaksi depo, gambar tampilannya sama
dengan gambar 4.37, hanya saja harga yang dipakai untuk otlet bawahan depo lain
disini adalah harga otletnya. Sedangkan harga otlet yang dimaksud adalah harga
yang dipakai untuk referensi tagihan yang digunakan oleh depo yang
bersangkutan untuk menagih tagihan kepada otlet bawahannya. Sedangkan untuk
hasil cetaknya dapat dilihat pada gambar 4.40 dibawah ini :
Gambar 4.40 Form cetak tagihan otlet depo tertentu
Selain itu untuk tagihan depo, terdapat tombol “cetak tagihan otlet depo”.
Tombol ini berguna untuk mencetak tagihan semua otlet depo, hanya saja harga
yang dicetak adalah harga untuk referensi tagihan otlet depo yang bersangkutan.
4.2.2.12 Menu Laporan Penjualan
Laporan penjualan dapat dicetak oleh pengguna dengan jabatan admin.
Berikut adalah gambar penentuan periode tanggal awal dan akhir dari laporan
penjualan yang akan dicetak :
Gambar 4.41 Form penentuan periode laporan penjualan
Perlu diketahui, untuk periode tanggal mulai dan tanggal akhir disini,
diambil berdasarkan data tanggal pembayarannya. Gambar 4.42 berikut potongan
kode program penentuan periode laporan penjualan tagihan :
.SQLQuery = " SELECT * from history_pembayaran Where (tgl_bayar BETWEEN '" & txt_tanggal_awal.Caption & "' AND '" & txt_tanggal_akhir.Caption & "') ORDER BY tgl_bayar"
Gambar 4.42 kode penentuan periode laporan penjualan.
Selain itu default jangka waktu untuk tanggal mulai sampai dengan
tanggal akhir dalam program adalah tigapuluh hari, tetapi pengguna dapat
menambahkan periode pencetakan hingga titik maximal yaitu enampuluh hari
dibawah hari ini. Gambar 4.43 di bawah ini adalah potongan kode program
maximal periode laporan :
Private Sub UpDown1_DownClick() If (txt_tanggal_awal.Caption = Date - 60) Then txt_tanggal_awal.Caption = Date - 60 Else
txt_tanggal_awal.Caption = tanggal_awal - 1 End If End Sub
Gambar 4.43 kode maximal periode laporan penjualan
Seletelah pengguna selesai melakukan pengaturan tanggal awal dan
tanggal akhir, maka pengguna dapat langsung mencetak dengan menekan tombol
cetak. Gambar 4.44 dibawah ini adalah hasil cetak laporan penjualan :
Gambar 4.44 Hasil cetak laporan penjualan
Berdasarkan gambar diatas, terdapat informasi akhir jumlah selisih yang
ada, dimana selisih ini didapat berdasarkan penambahan total tagihan depo dengan
tagihan otlet dikurangi dengan total pembayaran yang diterima. Selisih disini
didapat karena pada saat pembayaran, jumlah nominal yang dimasukan oleh
petugas administrasi adalah jumlah nominal tagihan yang telah direvisi karena
adanya kesalahan dari pihak perusahaan. Selain itu untuk dapat melihat atau
mencetak detail selisih pembayaran tagihan ini, admin dapat melakukannya
dengan menekan tombol cetak selisih tagihan. Gambar 4.45 dibawah ini adalah
laporan detail selisih pembayaran tagihan :
Gambar 4.45 Laporan detail selisih pembayaran tagihan
4.2.2.13 Menu Produk
Admin dapat melakukan perubahan data produk yang dijual oleh
perusahaan dengan memilih menu ini. Produk yang dijual oleh perusahaan,
diambil dari tabel detail produk, dimana dapat dilihat pada bagian tengah bawah
form ini.
Gambar 4.46 dibawah ini adalah tampilan form produk :
Gambar 4.46 Form produk
Untuk melakukan update data detail produk baik itu tambah detail produk,
rubah produk, ataupun hapus produk, pengguna harus melakukan beberapa
langkah terlebih dahulu. Langkah yang diambil yaitu pengguna harus memilih
terlebih dahulu data operator celular yang ada, lalu pengguna memilih produk dari
operator celular tadi, setelah itu pengguna dapat melakukan update data detail
produk yang ada. Setelah melakukan langkah –langkah diatas, pengguna dapat
menambahkan data detail produk dengan menekan tombol “tambah detail
produk”.
Gambar 4.47 di bawah ini adalah gambar dari form tambah detail produk :
Gambar 4.47 Form tambah detail produk
Berdasarkan gambar diatas, pengguna dapat langsung mengisikan data
detail produk dan menyimpannya. Untuk penyimpanan, program melakukan
pengecekan ulang sebelum disimpan, untuk menghindari duplikasi data.
Pengguna dapat melakukan perubahan data detail produk dengan memilih
terlebih dahulu data detail produknya, lalu menekan tombol rubah. Gambar 4.48
di bawah ini adalah gambar form untuk merubah data detail produk :
Gambar 4.48 Form rubah detail produk
Berdasarkan gambar 4.48 diatas, pengguna hanya dapat melakukan
perubahan data masa aktif dan masa tenggangnya saja. Sedangkan untuk
melakukan hapus data detail produk, setelah melakukan pemilihan data detail
produk sebelumnya maka pengguna dapat menghapus datanya dengan menekan
tombol hapus.
Gambar 4.49 adalah gambar konfirmasi hapus data detail produk.
Gambar 4.49 Form konfirmasi hapus detail produk
Perlu diketahui untuk hapus detail produk disini, bila data detail produk
sukses dihapus maka data harga jual, data stok, data produk dealer untuk detail
produk ini, akan ikut terhapus.
Dalam form produk ini pengguna dapat melakukan update data operator
celular, seperti menambahkan data operator celular, merubah data operator
celular, dan menghapus data operator celular. Untuk menambahkan data operator
celular, pengguna dapat langsung menekan tombol “tambah operator”. Berikut
adalah gambar 4.50 untuk form penambahan data operator celular :
Gambar 4.50 Form tambah data operator celular
Hal yang utama dalam form tambah data operator celular ini adalah
pengecekan kembali data yang ada oleh program, untuk menghindari duplikasi
data. Pengguna dapat melakukan rubah data operator celular dengan memilih
datanya terlebih dahulu lalu menekan tombol “rubah”. Gambar 4.51 di bawah ini
adalah tampilan dari form rubah operator celular :
Gambar 4.51 Form rubah data operator celular
Data yang dapat dirubah disini hanya date keterangannya saja. Untuk
menghapus data operator selular, pengguna dapat menghapus data operator celular
dengan menekan tombol “hapus” setelah melakukan pemilihan data operator
celular sebelumnya. Untuk tampilan konfirmasi penghapusannya sama dengan
gambar Gambar 4.49, tetapi perlu diperhatikan disini bahwa data operator celular
tidak bisa dihapus jika masih memiliki data produk. Gambar 4.55 dibawah ini
adalah potongan kode program informasi penghapusan data operator celular :
If Err.Number = -2147217873 Then info_status_bar ("Operator - " + nama_cell + " - Masih Mempunyai Produk !")
conn.Close End If
Gambar 4.55 kode informasi penghapusan data operator celular
Selain itu dalam form produk disini, pengguna dapat melakukan update
data produk, baik itu tambah produk, rubah produk, dan hapus produk. Untuk
menambah data produk, pengguna dapat menambah data produk dengan memilih
operator celularnya terlebih dahulu lalu menekan tombol “tambah produk”.
Gambar 4.56 di bawah ini adalah gambar form tambah produk :
Gambar 4.56 Form tambah data produk
Untuk tombol simpan, program akan melakukan pengecekan ulang untuk
mencegah adanya duplikasi data. Untuk merubah data produk, pengguna dapat
merubah data produk dengan memilih data produknya terlebih dahulu. Gambar
5.57 di bawah ini adalah form rubah produk :
Gambar 4.57 Form rubah data produk
Disini pengguna hanya dapat merubah nama produknya saja. Untuk hapus
data, pengguna dapat melakukan hapus data produk dengan memilih data
produknya terlebih dahulu, lalu menekan tombol hapus, tampilan hapus disini
sama dengan gambar 4.49, hanya saja data produk tidak bisa dihapus jika masih
mempunyai data detail produk.
4.2.2.14 Menu Otlet
Admin dapat melakukan perubahan data otlet dengan memilih menu ini.
Gambar 4.58 di bawah ini adalah from otlet :
Gambar 4.58 Form otlet
Dalam form ini terdapat tiga bagian penting, yaitu bagian data otlet, bagian
data jenis deposit dan bagian depo.
Bagian otlet disini berguna untuk menampilkan data semua otlet, baik itu
yang sedang aktif maupun yang tidak aktif. Pengguna dapat menambah data otlet
dengan menekan tombol “tambah”.
Gambar 4.59 di bawah ini adalah form tambah otlet :
Gambar 4.59 Form tambah otlet
Yang perlu diperhatikan dalam gambar 4.59 diatas bahwa data depo dan
jenis deposit diisi dengan memilih datanya langsung, tetapi untuk jenis deposit,
pilihannya tergantung berdasarkan pilihan data depo sebelumnya. Pengguna dapat
melakukan rubah data dengan memilih data otlet-nya terlebih dahulu, lalu
menekan tombol rubah.
Gambar 4.60 di bawah ini adalah tampilan form rubah data otlet :
Gambar 4.60 Form rubah otlet
Yang perlu diperhatikan dalam rubah data adalah status otlet, dimana
status disini sesuai status otlet saat ini, apakah status otlet saat ini masih aktiv
menjadi pelanggan perusahaan, atau status otlet yang bersangkutan sudah tidak
berlangganan. Untuk hapus data otlet, pengguna dapat melakukan hapus data otlet
dengan cara memilih data otlet terlebih dahulu lalu menekan tombol “hapus”.
Untuk konfirmasi penghapusannya sama seperti gambar 4.49, hanya saja isi
informasinya berbeda.
Bagian jenis deposit berguna untuk mengatur jenis deposit yang disediaka
oleh perusahaan.
Gambar 4.61 di bawah ini adalah gambar form bagian jenis deposit :
Gambar 4.61 Form deposit
Pada bagian ini pengguna dapat melakukan update data deposit seperti
tambah data deposit, rubah data deposit dan hapus data deposit. Untuk tambah
data deposit pengguna dapat melakukannya dengan menekan tombol “tambah”.
Gambar 4.62 di bawah ini adalah tampilan form tambah jenis deposit :
Gambar 4.62 Form tambah deposit
Pengguna dapat melakukan rubah data deposit dengan memilih data
deposit-nya terlebih dahulu lalu menekan tombol “rubah”. Gambar 4.63 di bawah
ini adalah tampilan rubah jenis deposit :
Gambar 4.63 Form rubah deposit
Dalam rubah deposit disini, pengguna hanya dapat melakukan perubahan
data jumlah dan keterangan-nya saja. Pengguna dapat melakukan hapus data
dengan memilih data jenis deposit terlebih dahulu lalu menekan tombol “hapus”,
sebelum menghapus data jenis deposit, program memberikan konfirmasi ulang
untuk penghapusan. Data jenis deposit tidak bisa dihapus jika data jenis deposit
yang bersangkutan masih digunakan oleh otlet, tampilan konfirmasi sama dengan
gambar 4.49. Gambar 4.64 di bawah ini adalah potongan kode program informasi
peenghapusan data jenis deposit :
salah_deposit: If Err.Number = -2147217873 Then info_status_bar ("Deposit - " + nama_cell + " - Masih dipakai oleh otlet !")
conn.Close End If
Gambar 4.64 kode informasi hapus jenis deposit
Bagian depo digunakan untuk melakukan update data depo seperti tambah
data depo, rubah data depo, dan hapus data depo. Gambar 4.65 di bawah ini
adalah tampilan dari form depo :
Gambar 4.65 Form depo
Pengguna dapat melakukan tambah depo dengan menekan tombol
“tambah”. Gambar 4.66 di bawah ini adalah tampilan form tambah depo :
Gambar 4.66 Form tambah depo
Pengguna dapat melakukan rubah data depo dengan memilih data depo
terlebih dahulu lalu menekan tombol “rubah”. Gambar 4.67 di bawah ini adalah
tampilan form rubah data depo :
Gambar 4.67 Form rubah depo
Pengguna dapat melakukan hapus data depo dengan memilih data depo-nya
terlebih dahulu lalu menekan tombol “hapus”. Program akan memberikan form
konfirmasi penghapusan, seperti gambar 4.49, hanya saja data tidak bisa dihapus
bila data depo masih digunakan oleh otlet.
4.2.2.15 Menu Harga jual
Admin dapat melakukan perubahan data harga jual semua produk
berdasarkan jenis deposit-nya masing – masing. Gambar 4.68 di bawah ini adalah
tampilan form haga jual :
Gambar 4.68 Form harga jual
Saat program membuka form ini, yang pertama kali dilakukannya adalah
membaca id deposit untuk dijadikan daftar pilihan jenis deposit dan membaca
semua data detail produk untuk ditampilkan dalam tabel beserta dengan harganya
bila ada. Pengguna dapat merubah data harga, baik itu data harga produk yang
belum ada harganya maupun data harga produk yang sudah ada harganya. Gambar
4.69 di bawah ini adalah gambar untuk merubah data harga jual :
Gambar 4.69 Form rubah harga jual
Pengguna dapat menghapus data harga jual dengan memilih data
produknya terlebih dahulu, lalu menekan tombol “hapus”. Program akan
menampilkan form konfirmasi ulang penghapusan seperti pada gambar 4.49,
hanya saja informasi-nya berbeda.
4.2.2.16 Menu Dealer
Admin dapat melakukan perubahan data dealer yang dimiliki oleh
perusahaan saat ini. Dalam form ini terdapat dua bagian utama, yaitu bagian
dealer dan bagian produk dealer.
Gambar 4.70 di bawah ini adalah tampilan form dealer :
Gambar 4.70 Form dealer
Dalam bagian dealer, pengguna dapat melakukan update data seperti
tambah data dealer, rubah data dealer dan hapus data dealer. Untuk menambah
data dealer baru, pengguna menekan tombol “tambah”. Gambar 4.71 di bawah ini
adalah tampilan form tambah dealer :
Gambar 4.71 Form tambah dealer
Pengguna dapat melakukan rubah data delaer, dengan memilih data delaer-
nya terlebih dahulu, lalu menekan tombol “rubah”. Gambar 4.72 di bawah ini
adalah form rubah dealer :
Gambar 4.72 Form rubah dealer
Dalam form diatas pengguna tidak dapat merubah data id dealer. Selain itu
pengguna dapat menghapus data dengan memilih data dealernya terlebih dahulu,
lalu menekan tombol “hapus”. Program akan menampilkan form konfirmasi
penghapusan seperti pada gambar 4.49. Perlu diperhatikan bahwa dalam
penghapusan data dealer, data seluruh produk yang dimiliki oleh dealer yang
bersangkutan pun akan ikut terhapus. Gambar 4.73 berikut adalah potongan kode
program penghapusan data dealer :
conn.Open sConnString Set rs = conn.Execute("DELETE dealer WHERE(ID_dealer = '" & nama_cell & "')", , adCmdText)
conn.Close info_status_bar ("Data - " + nama_cell + " - dan produknya telah dihapus !")
Gambar 4.73 kode hapus data dealer
Bagian produk dealer digunakan untuk update data produk dealer, seperti
tambah produk dealer, rubah produk dealer, dan hapus data produk dealer.
Gambar 4.74 dibawah ini adalah tampilan dari pilihan produk dealer.
Gambar 4.74 Form produk dealer
Pengguna dapat melakukan tambah produk dealer dengan memilih dahulu
data dealernya, setelah itu pengguna menekan tombol “tambah”. Gambar 4.75 di
bawah ini adalah gambar form tambah produk dealer :
Gambar 4.75 Form tambah produk dealer
Sebelum menyimpan data, program akan memeriksa data produk dealer
sebelumnya, hal ini digunakan untuk menghindari duplikasi data. Pengguna dapat
melakuka rubah data produk dealer dengan memilih data dealer terlebih dahulu
lalu menekan tombol “rubah”. Gambar 4.76 di bawah ini adalah gambar form
rubah data produk dealer :
Gambar 4.76 Form rubah produk dealer
Pengguna dapat menghapus data produk dealer dengan memilih datanya
terlebih dahulu lalu menekan tombol “hapus”. Program akan menampilkan form
konfirmasi penghapusan seperti pada gambar 4.49.
4.2.2.17 Menu Karyawan
Admin dapat melakukan perubahan data karyawan yang bekerja didalam
perusahaan saat ini.
Gambar 4.77 di bawah ini adalah tampilan form karyawan :
Gambar 4.77 Form karyawan
Dalam form ini pengguna dapat melakukan update data karyawan, seperti
tambah data karyawan, rubah data karyawan, dan hapus data karyawan. Pengguna
dapat menambah data karyawan baru dengan menekan tombol “tambah”. Gambar
4.78 di bawah ini adalah tampilan form tambah karyawan :
Gambar 4.78 Form tambah karyawan
Untuk pilihan jabatan diatas adalah operator, admin, dan administrasi saja.
Pengguna dapat melakukan rubah data karyawan dengan memilih data karyawan
terlebih dahulu, lalu menekan tombol “rubah”. Gambar 4.79 di bawah ini adalah
tampilan form rubah karyawan :
Gambar 4.79 Form rubah karyawan
Sebelum data disimpan, program melakukan pengecekan dahulu id
karyawan, hal ini bertujuan untuk mencegah adanya duplikasi data. Pengguna
dapat melakukan hapus data dengan memilih data karyawan terlebih dahulu lalu
menekan tombol “hapus”. Sebelum data dihapus, program menampilkan form
konfirmasi penghapusan seperti pada gambar 4.49.
4.2.2.18 Menu Stok
Admin dapat melakukan perubahan data stok produk yang ada saat ini.
Gambar 4.80 di bawah ini adalah tampilan form stok :
Gambar 4.80 Form stok
Dalam form ini pengguna dapat melakukan update data stok, seperti
tambah data stok, rubah data stok, dan hapus data stok. Pengguna dapat
menambah data stok baru dengan menekan tombol “tambah”.
Gambar 4.81 di bawah ini adalah tampilan form tambah stok :
Gambar 4.81 Form tambah stok
Untuk pilihan data produk, yang ditampilkan adalah semua data detail
produk yang telah disimpan dalam database. Pengguna dapat merubah data
jumlah stok terbaru dengan memilih data stoknya terlebih dahulu lalu menekan
tombol “rubah”. Gambar 4.82 di bawah ini adalah tampilan form rubah stok :
Gambar 4.82 Form rubah stok
Pengguna dapat menghapus data stok dengan memilih data stoknya
terlebih dahulu lalu menekan tombol “hapus”. Program akan menampilkan
konfirmasi penghapusan untuk data stok yang bersangkutan seperti pada gambar
4.49.
4.3 Analisa Hasil
Berikut dibawah ini adalah hasil analisa berdasarkan pengujian di
labolatorium :
1. Untuk bagian pencatatan order penjualan, operator hanya dapat memilih data
pelanggan (otlet) dan produk yang telah disediakan oleh program. Untuk
pemasukan data nomor tujuan order penjualan, program langsung
menampilkan tiga digit nomor awal tujuan sesuai dengan pilihan produk
sebelumnya, dimana sisa nomor tujuannya diisikan oleh operator, selain itu
operator hanya dapat memasukan data angka saja. Untuk data jam order,
program langsung menampilkan data jam saat ini, tetapi operator dapat
merubah data jam ini sesuai dengan data jam order penjualan yang diterima
dari handphone. Selain itu program akan memberitahu operator mengenai
pemasukan data baru, jika data yang akan dimasukan terdapat kesamaan
nomor tujuan dan data pelanggan yang melakukan order penjualan pada hari
yang sama.
2. Untuk bagian pemrosesan, sebelum dilakukan pemrosesan data order
penjualan, program akan memeriksa data harga dari produk yang diorder oleh
pelanggan. Jika data harga belum ada, maka program tidak akan menampilkan
form pemrosesan order. Pada halaman pemrosesan, program akan
menampilkan informasi tagihan sampai tiga hari sebelumnya dan total tagihan
hari ini dari otlet yang bersangkutan dimana data ini diproses oleh program
untuk menampilkan hasil kelayakan order. Berdasarkan data kelayakan order,
operator dapat langsung memilih pemrosesan order penjualan tersebut
menggunakan pilihan – pilihan yang telah disediakan oleh program. Hasil lain
yang didapat dalam pengujian ini adalah saat dua operator pemrosesan
memilih order penjualan yang sama, dimana hasilnya adalah hanya satu
operator saja yang dapat melakukan pemrosesan, hal ini disebabkan karena
adanya sistem penguncian order penjualan.
3. Admin dapat langsung mencetak data tagihan berdasarkan order penjualan
yang telah sukses diproses oleh operator pemrosesan yang telah tersimpan
dalam database hari sebelumnya dengan memilih menu laporan tagihan,
dimana hasil cetak data tagihan ini nantinya diserahkan langsung kepada
bagian administrasi untuk penerimaan pembayaran tagihan oleh pelanggan.
4. Admin dapat membuat laporan penjualan beserta detail pembayaran yang
berbeda dengan tagihan yang seharusnya untuk periode tertentu dengan
memilih menu laporan penjualan, dimana periode laporan yang akan dicetak
dapat dimodifikasi oleh admin dengan hanya menekan tombol panah atas atau
bawah saja tanpa memasukan data hari secara manual, untuk maksimal
periode laporan penjualan adalah enampuluh hari dan minimal periode laporan
penjualan adalah tigapuluh hari sampai hari ini.
BAB V
PENUTUP
5.1 Kesimpulan
1. Berdasarkan uji coba di labolatorium, sistem informasi penjualan pulsa
elektronik ini dapat mendukung, menangani dan membantu dalam
pemasukan order penjualan, dengan adanya sistem validasi program dan
pemberitahuan duplikasi data.
2. Sistem informasi penjualan pulsa elektronik ini membantu bagian
pemrosesan order penjualan dalam menentukan pemrosesan order penjulan
dengan adanya sistem validasi syarat kelayakan order penjualan,
3. Dengan sistem informasi penjualan pulsa elektronik ini, data tagihan
mudah didapat secara akurat dan cepat, dimana dengan sistem tagihan
yang baru ini akan mendukung bagian pembayaran dalam penerimaan
pembayaran sesuai dengan tagihan yang ada.
4. Sistem informasi ini dapat memberikan informasi laporan penjualan
beserta keterangan detail jumlah pembayaran yang berbeda dari jumlah
tagihan yang seharusnya.
5.2 Saran
Sebagai pertimbangan untuk pengembangan program ini, ada beberapa
saran yang dapat penulis sampaikan :
1. Sistem ini dapat diperluas lagi ruang lingkupnya tidak hanya terbatas pada
sistem penjualan saja.
2. Untuk pemasukan order, disarankan agar program terhubung langsung
dengan handphone penerima order. Sehingga data order penjulan secara
automatis tercatat oleh sistem.
3. Disarankan untuk membuat management transaksi dalam database.
Karena dalam pemrosesan order penjualan yang dapat dilakukan oleh
beberapa operator pemrosesan secara bersamaan, dimana data yang
berhubungan langsung dengan proses pemrosesan order penjualan ini
adalah data proses order penjualan, data tagihan otlet hari ini, dan data
stok, maka dengan adanya management transaksi diharapkan dapat lebih
menjamin konsistensi data yang ada.
DAFTAR PUSTAKA
Jogiyanto, H. M., 1990, “Analisis dan Desain, Sistem Informasi” : Pendekatan
tersruktur teori dan praktek aplikasi bisnis”, Yogyakarta: Penerbit Andi Offset .
Jeffery L. Whitten, Lonnie D. Bentley, Kevin C. Dittman, 2004, “Sistems Analysis
and Design Methods (diterjemahkan oleh Tim penerjemah Andi, Metode
Desain dan Analisis Sistem)”, Yogyaakarta: Penerbit Andi Offset.
Pamungkas, Ir, 2000, “Tip dan Trik Microsoft Visual Basic 6.0”, Jakarta :
Penerbit PT Elek Media Kamputindo.
Mangkulo, Alexander, Hengky, 2003, “Aplikasi Database Menggunakan ADO
VB 6.0 dan SQL Server 2000”, Jakarta: Penerbit PT Elek Media
Kamputindo.
Martina, Inge, Ir, 2003, “36 Jam Belajar Komputer Microsoft SQL Server 2000”,
Jakarta: PT Gramedia.
LAMPIRAN
� Group1.vbg
� Setting.vbp
• form_login_database Dim L_server As String Dim L_nama As String
Dim L_password As String Dim conn As New ADODB.Connection Dim sConnString, sConnRp As String Dim status_koneksi As Boolean
Private Sub cmd_ok_Click() If status_koneksi = False Then MsgBox "Data masih salah !", vbOKOnly, "Koneksi"
txt_dsn.SetFocus Else L_server = txt_dsn.Text
L_nama = txt_uid.Text L_password = txt_psw.Text DeleteFile "conn" sConnString = "Provider=SQLOLEDB.1;User ID=" & L_nama & ";password=" & L_password &
";Initial Catalog=ThreeMCell;Data Source =" & L_server & ";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096" sConnRp = "DSN=" & L_server & ";UID=" & L_nama & ";PWD=" & L_password & ";DSQ=ThreeMCell"
CreateFile "conn" End 'MsgBox "Provider=SQLOLEDB.1;User ID=" & L_nama & ";password=" & L_password & ";Initial Catalog=ThreeMCell;Data Source =" & L_server & ";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096", vbOKOnly, "Koneksi" End If End Sub
Private Sub cmd_cancel_Click() 'txt_dsn.Text = ReadLine_koneksi(App.Path & "\" & App.EXEName & ".conn", 1) End End Sub
Private Sub cmd_test_Click() On Error GoTo salah status_koneksi = False
L_server = txt_dsn.Text L_nama = txt_uid.Text L_password = txt_psw.Text
conn.ConnectionString = "Provider=SQLOLEDB.1;User ID=" & L_nama & ";password=" & L_password & ";Initial Catalog=ThreeMCell;Data Source =" & L_server & ";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096" conn.CursorLocation = adUseServer
conn.Open If conn.State = adStateOpen Then MsgBox "Connection sukses", vbOKOnly, "Koneksi"
status_koneksi = True End If conn.Close salah: If Err.Number = -2147217843 Then MsgBox "Data UID / Password salah !", vbOKOnly, "Koneksi"
ElseIf Err.Number = -2147467259 Then MsgBox "Nama server tidak ada !", vbOKOnly, "Koneksi" End If End Sub
Public Function CreateFile(ExtensiFile As String) As String Const ForAppending = 8 Dim sLogFile As String, sLogPath As String ', iLogSize As Long Dim fso, f On Error GoTo ErrHandler
sLogPath = App.Path & "\" & App.EXEName sLogFile = sLogPath & "." & ExtensiFile Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(sLogFile, ForAppending, True) f.WriteLine sConnString f.WriteLine sConnRp
f.WriteLine status_koneksi ErrHandler: Exit Function End Function
Public Function DeleteFile(ExtensiFile As String) As String Const ForAppending = 8 Dim sLogFile As String, sLogPath As String ', iLogSize As Long Dim fso, f
On Error GoTo ErrHandler sLogPath = App.Path & "\" & App.EXEName
sLogFile = sLogPath & "." & ExtensiFile Set fso = CreateObject("Scripting.FileSystemObject") 'Set f = fso.OpenTextFile(sLogFile, ForAppending, True) fso.DeleteFile sLogFile 'f.WriteLine IsiFile ErrHandler:
Exit Function End Function Private Sub Form_Load() status_koneksi = False
End Sub
� Project_3mcell.vbp
• Module_FlexyGrid Sub HeaderFlexGrid(MSFlexGrid As MSFlexGrid, JumKolom As Integer, Judul() As String, LebarKol() As Integer) With MSFlexGrid .Visible = False .Cols = JumKolom .Rows = 2 For kolom = 0 To JumKolom - 1
MSFlexGrid.TextMatrix(0, kolom) = Judul(kolom + 1) MSFlexGrid.ColWidth(kolom) = LebarKol(kolom + 1) Next kolom .Visible = True
End With End Sub Sub TableToFlexGrid(dBaseTabel As String, MSFlexGrid As MSFlexGrid, JumKolom As Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT '',* FROM " & dBaseTabel, , adCmdText) With MSFlexGrid
.Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1
strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext
Loop .Rows = .Rows + 1 .Visible = True End With
conn.Close End Sub Sub TableToFlexGrid_otlet(dBaseTabel As String, MSFlexGrid As MSFlexGrid, JumKolom As
Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT '',* FROM " & dBaseTabel & " WHERE (aktiv = '1')", ,
adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With
conn.Close End Sub Sub TableToFlexGrid_otlet2(dBaseTabel As String, MSFlexGrid As MSFlexGrid, JumKolom As Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT '',* FROM " & dBaseTabel & " WHERE (aktiv = '0')", ,
adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Sub TableToFlexGrid_produk(dBaseTabel As String, MSFlexGrid As MSFlexGrid, JumKolom As Integer) Call dbInit
conn.Open sConnString Set rs = conn.Execute("SELECT '',* FROM " & dBaseTabel & " WHERE (ID_operator = '" & grid_kunci_id_operator_celular & "' )", , adCmdText) With MSFlexGrid
.Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1
strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext
Loop .Rows = .Rows + 1 .Visible = True End With conn.Close End Sub Sub TableToFlexGrid_detail_produk(dBaseTabel As String, MSFlexGrid As MSFlexGrid,
JumKolom As Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT '',* FROM " & dBaseTabel & " WHERE (ID_produk = '" &
grid_kunci_id_produk & "' )", , adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext Loop
.Rows = .Rows + 1 .Visible = True End With conn.Close
End Sub Sub TableToFlexGrid_produk_dealer(dBaseTabel As String, MSFlexGrid As MSFlexGrid, JumKolom As Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT '', ID_dealer, ID_PD, ID_DP, hbeli FROM " & dBaseTabel & " WHERE (ID_dealer = '" & grid_kunci_id_dealer & "')", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Sub TableToFlexGrid_harga_jual(jenis_deposit As String, MSFlexGrid As MSFlexGrid, JumKolom As Integer) Call dbInit
conn.Open sConnString Set rs = conn.Execute("SELECT * FROM dbo.DP_Deposit LEFT OUTER JOIN dbo.harga_jual ON dbo.DP_Deposit.ID_DP = dbo.harga_jual.ID_DP AND dbo.DP_Deposit.ID_deposit = dbo.harga_jual.ID_deposit WHERE (dbo.DP_Deposit.ID_deposit = '" & jenis_deposit & "') AND (dbo.DP_Deposit.ID_DP <> 'DMP-9000') ORDER BY dbo.DP_Deposit.ID_DP", , adCmdText) With MSFlexGrid .Rows = 1
Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value
Next kolom .AddItem strBantu rs.MoveNext Loop
.Rows = .Rows + 1 .Visible = True End With conn.Close End Sub Sub TableToFlexGrid_order_penjualan(dBaseTabel As String, MSFlexGrid As MSFlexGrid,
JumKolom As Integer) 'kode_tgl_sekarang = Mid(Year(Now), 3, 2) & Format(bulan, "00") & Format(hari, "00") 'Dim bulan_1 As Integer 'Dim hari_1 As Integer
'bulan_1 = Month(Now) 'hari_1 = Day(Now) 'kode_tgl_sekarang = Mid(Year(Now), 3, 2) & Format(bulan_1, "00") & Format(hari_1, "00") Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * From order_penjualan WHERE (ID_penjualan LIKE '" & kode_tgl_sekarang & "%') AND (status = '0')", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Sub refresh_xl(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_operator = 'XL') ORDER BY jam DESC", , adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub Sub refresh_mentari(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" &
tgl & "') AND (ID_produk = 'MTR') ORDER BY jam DESC", , adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value
Next kolom .AddItem strBantu rs.MoveNext Loop
.Rows = .Rows + 1 .Visible = True End With conn.Close
End Sub Sub refresh_im3(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_produk = 'IM3') ORDER BY jam DESC", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Sub refresh_simpati(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND ((ID_produk = 'SIM') OR (ID_produk = 'AS')) ORDER BY jam DESC", , adCmdText) With MSFlexGrid
.Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1
strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1 .Visible = True End With
conn.Close End Sub Sub refresh_flexy(MSFlexGrid As MSFlexGrid, JumKolom As Integer)
tgl = Date Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT * FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_produk = 'FLE') ORDER BY jam DESC", , adCmdText) With MSFlexGrid
.Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1
strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext
Loop .Rows = .Rows + 1 .Visible = True End With conn.Close End Sub Sub refresh_mobile8(MSFlexGrid As MSFlexGrid, JumKolom As Integer)
tgl = Date Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT * FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_operator = 'MOB') ORDER BY jam DESC", , adCmdText) With MSFlexGrid
.Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu
rs.MoveNext Loop .Rows = .Rows + 1 .Visible = True
End With conn.Close End Sub Sub refresh_bakrie(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date Call dbInit
conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_operator = 'BKR') ORDER BY jam DESC", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF strBantu = rs(0)
For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu
rs.MoveNext Loop .Rows = .Rows + 1 .Visible = True
End With conn.Close End Sub
Sub refresh_order(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * From order_penjualan WHERE (tgl = '" & tgl & "') AND (status = '0')", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF strBantu = rs(0)
For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu
rs.MoveNext Loop .Rows = .Rows + 1 .Visible = True End With conn.Close End Sub
Sub refresh_TMC(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * From history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (status = 'Belum Lunas') AND (tgl_tagihan <> '" & tgl & "')", , adCmdText) With MSFlexGrid .Rows = 1
Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value
Next kolom .AddItem strBantu rs.MoveNext Loop
.Rows = .Rows + 1 .Visible = True End With conn.Close
End Sub Sub refresh_DEPO(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT ID_depo, ID_otlet, SUM(total_tag_depo_rev) AS tag_depo, SUM(total_tag_otlet_rev) AS tag_otlet From dbo.history_tagihan WHERE (ID_depo = '" &
id_combo_depo & "') and (status = 'Belum Lunas') AND (tgl_tagihan <> '" & tgl & "') GROUP BY ID_otlet, ID_depo", , adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1
strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext
Loop .Rows = .Rows + 1 .Visible = True End With
conn.Close End Sub Sub refresh_grid_pembayaran_otlet(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date Call dbInit
conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[gabungan_order_dan_proses] WHERE (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "') AND (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "')", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Sub refresh_grid_pembayaran_depo(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[gabungan_order_dan_proses2] WHERE (tgl <> '" & tgl & "') AND (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND (status = 'Belum
Lunas')", , adCmdText) With MSFlexGrid .Rows = 1
Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext Loop
.Rows = .Rows + 1 .Visible = True End With conn.Close
End Sub Sub refresh_grid_hasil_cari(MSFlexGrid As MSFlexGrid, JumKolom As Integer)
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM cari_order_proses_lengkap WHERE (tgl = '" & tanggal_cari & "') AND (ID_otlet = '" & id_otlet_cari & "')", , adCmdText) With MSFlexGrid
.Rows = 1 Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1
strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1 .Visible = True End With
conn.Close End Sub Sub TableToFlexGrid_laporan_TMC(MSFlexGrid As MSFlexGrid, JumKolom As Integer)
Call dbInit conn.Open sConnString tgl = Date - 1 Set rs = conn.Execute("SELECT * FROM history_tagihan WHERE ID_depo = 'TMC' AND
tgl_tagihan = '" & tgl & "' AND status = 'Belum Lunas' ORDER BY ID_otlet Asc", , adCmdText) With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub Sub TableToFlexGrid_laporan_DEPO(MSFlexGrid As MSFlexGrid, JumKolom As Integer) Call dbInit conn.Open sConnString
tgl = Date - 1 Set rs = conn.Execute("SELECT * FROM history_tagihan WHERE ID_depo = '" & kunci_lap_combo_id_depo & "' AND tgl_tagihan = '" & tgl & "' AND status = 'Belum Lunas' ORDER BY ID_otlet Asc", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF strBantu = rs(0)
For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom .AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Sub refresh_grid_laporan_detail_otlet(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date - 1 Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[gabungan_order_dan_proses] WHERE (tgl = '" & tgl & "') AND (ID_otlet = '" & grid_kunci_laporan_id_otlet & "')", , adCmdText)
With MSFlexGrid .Rows = 1 Do Until rs.EOF
strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value Next kolom
.AddItem strBantu rs.MoveNext Loop .Rows = .Rows + 1
.Visible = True End With conn.Close End Sub
Sub refresh_grid_laporan_depo(MSFlexGrid As MSFlexGrid, JumKolom As Integer) tgl = Date - 1
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM [dbo].[gabungan_order_dan_proses2] WHERE (tgl = '" & tgl & "') AND (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND (status = 'Belum Lunas')", , adCmdText) With MSFlexGrid .Rows = 1
Do Until rs.EOF strBantu = rs(0) For kolom = 1 To MSFlexGrid.Cols - 1 strBantu = strBantu & vbTab & rs(kolom).Value
Next kolom .AddItem strBantu rs.MoveNext Loop
.Rows = .Rows + 1 .Visible = True End With conn.Close End Sub
• Module_hitung Sub hitung_otlet_aktiv()
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM otlet WHERE aktiv = '1'", , adCmdText) Do Until rs.EOF
hasil_hitung = rs(0) rs.MoveNext Loop rs.Close conn.Close End Sub Sub hitung_proses_sukses()
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM proses WHERE (tgl = '" & tgl & "')", , adCmdText)
Do Until rs.EOF hasil_hitung_proses_sukses = rs(0) rs.MoveNext Loop
rs.Close conn.Close End Sub
Sub hitung_proses_xl() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses]
WHERE (tgl = '" & tgl & "') AND (ID_operator = 'XL')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_xl = rs(0) rs.MoveNext
Loop rs.Close conn.Close End Sub Sub hitung_proses_mentari() Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_produk = 'MTR')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_mentari = rs(0)
rs.MoveNext Loop
rs.Close conn.Close End Sub Sub hitung_proses_im3() Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_produk = 'IM3')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_im3 = rs(0)
rs.MoveNext Loop rs.Close conn.Close End Sub Sub hitung_proses_simpati() Call dbInit
conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND ((ID_produk = 'SIM') OR (ID_produk = 'AS'))", , adCmdText) Do Until rs.EOF
hasil_hitung_proses_simpati = rs(0) rs.MoveNext Loop rs.Close
conn.Close End Sub Sub hitung_proses_flexy()
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_produk = 'FLE')", , adCmdText)
Do Until rs.EOF hasil_hitung_proses_flexy = rs(0) rs.MoveNext Loop
rs.Close conn.Close End Sub Sub hitung_proses_mobile8() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses]
WHERE (tgl = '" & tgl & "') AND (ID_operator = 'MOB')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_mobile8 = rs(0) rs.MoveNext
Loop rs.Close conn.Close End Sub
Sub hitung_proses_bakrie() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_operator = 'BKR')", , adCmdText) Do Until rs.EOF
hasil_hitung_proses_bakrie = rs(0) rs.MoveNext Loop rs.Close
conn.Close End Sub Sub hitung_total_order() tgl = Date Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) FROM order_penjualan WHERE (tgl = '" & tgl & "') AND (status = '0')", , adCmdText) Do Until rs.EOF hasil_total_order = rs(0)
rs.MoveNext Loop rs.Close conn.Close
End Sub '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ pembayaran \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Sub hitung_total_tagihan_TMC_awal()
Dim cek_hasil As String Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT total_tag_otlet AS Tagihan FROM history_tagihan WHERE
(ID_otlet = '" & id_combo_otlet & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then hasil_hitung_total_tagihan_TMC_awal = 0 conn.Close
Else conn.Close conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_otlet) AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_tagihan_TMC_awal = rs(0) conn.Close
End If End Sub Sub hitung_total_tagihan_TMC()
Dim cek_hasil As String Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT total_tag_otlet_rev AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then hasil_hitung_total_tagihan_TMC = 0 conn.Close Else conn.Close
conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_otlet_rev) AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText)
hasil_hitung_total_tagihan_TMC = rs(0) conn.Close End If End Sub Sub banyak_data_tagihan() Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT total_tag_otlet AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then banyak_data_tagihan_otlet = 1
conn.Close Else conn.Close conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(total_tag_otlet) AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) banyak_data_tagihan_otlet = rs(0)
conn.Close End If End Sub Sub hitung_total_tagihan_DEPO_awal()
tgl = Date Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_depo) AS Tagihan FROM history_tagihan
WHERE (ID_depo = '" & id_combo_depo & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_tagihan_DEPO_awal = rs(0) conn.Close End Sub Sub hitung_total_tagihan_DEPO()
tgl = Date Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_depo_rev) AS Tagihan FROM history_tagihan
WHERE (ID_depo = '" & id_combo_depo & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_tagihan_DEPO = rs(0) conn.Close
End Sub Sub hitung_proses_pembayaran_otlet_awal() conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "')", , adCmdText)
hasil_hitung_proses_pembayaran_otlet_awal = rs(0) conn.Close End Sub
Sub hitung_proses_pembayaran_otlet() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "') and ((alasan_salah = '') or (alasan_salah IS NULL))", , adCmdText) banyak = rs(0)
conn.Close If banyak = 0 Then hasil_hitung_proses_pembayaran_otlet = 0 Else
conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "') and ((alasan_salah = '') or (alasan_salah IS NULL))", ,
adCmdText) hasil_hitung_proses_pembayaran_otlet = rs(0) conn.Close End If
End Sub Sub hitung_banyak_pembayaran_otlet() conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "')", , adCmdText) hasil_hitung_banyak_pembayaran_otlet = rs(0)
conn.Close End Sub Sub hitung_banyak_pembayaran_otlet_salah() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "') and (alasan_salah <> '')", , adCmdText) hasil_hitung_banyak_pembayaran_otlet_salah = rs(0)
conn.Close End Sub Sub hitung_proses_pembayaran_depo_awal() tgl = Date
conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_depo) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas'))", , adCmdText)
hasil_hitung_proses_pembayaran_depo_awal = rs(0) conn.Close End Sub Sub hitung_proses_pembayaran_depo() tgl = Date
conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas')) AND ((alasan_salah = '') OR (alasan_salah IS NULL))", , adCmdText)
banyak = rs(0) conn.Close If banyak = 0 Then hasil_hitung_proses_pembayaran_depo = 0 Else conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_depo) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "')
AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas')) AND ((alasan_salah = '') OR (alasan_salah IS NULL))", , adCmdText) hasil_hitung_proses_pembayaran_depo = rs(0) conn.Close
End If End Sub Sub hitung_banyak_pembayaran_depo()
tgl = Date conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND
(status = 'Belum Lunas'))", , adCmdText) hasil_hitung_banyak_pembayaran_depo = rs(0) conn.Close
End Sub Sub hitung_banyak_pembayaran_depo_salah() tgl = Date conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas')) AND (alasan_salah <> '')", , adCmdText) hasil_hitung_banyak_pembayaran_depo_salah = rs(0) conn.Close End Sub
Sub banyak_data_tagihan_depo() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM history_tagihan WHERE (ID_depo = '" & id_combo_depo & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum
Lunas')", , adCmdText) banyak_data_tag_depo = rs(0) conn.Close End Sub
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ pembayaran \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ cari \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Sub hitung_cari_tagihan_otlet() '\\\\\\harus di cek dulu record nya conn.Open sConnString Set rs = conn.Execute("SELECT harga_otlet AS Tagihan FROM cari_order_proses_lengkap
WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (harga_otlet IS NOT NULL) ", , adCmdText) If rs.EOF Then hasil_hitung_cari_tagihan_otlet = 0
conn.Close Else conn.Close conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "')", , adCmdText) hasil_hitung_cari_tagihan_otlet = rs(0)
conn.Close End If End Sub Sub hitung_cari_tagihan_depo()
'\\\\\\harus di cek dulu record nya conn.Open sConnString Set rs = conn.Execute("SELECT harga_depo AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (harga_depo
IS NOT NULL) ", , adCmdText) If rs.EOF Then hasil_hitung_cari_tagihan_depo = 0 conn.Close
Else conn.Close conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_depo) AS Tagihan FROM
cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "')", , adCmdText) hasil_hitung_cari_tagihan_depo = rs(0) conn.Close
End If End Sub Sub hitung_banyak_transaksi_otlet() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (status = '1')", , adCmdText)
hasil_hitung_banyak_transaksi_otlet = rs(0) conn.Close End Sub
Sub hitung_banyak_trasaksi_gagal() conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (keterangan LIKE '%-%')", , adCmdText) hasil_hitung_banyak_trasaksi_gagal = rs(0) conn.Close End Sub '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ cari \\\\\\\\\\\\\\\\\\\\\\
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\LAPORAN tagihan \\\\\\\\\\\\\\\\\\\\\\ Sub hitung_total_laporan_TMC() Dim tgl As Date
tgl = Date - 1 Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT total_tag_otlet AS Tagihan FROM history_tagihan WHERE (ID_depo = 'TMC') AND (tgl_tagihan = '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then hasil_hitung_total_laporan_TMC = 0
conn.Close Else conn.Close conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(total_tag_otlet) AS Tagihan FROM history_tagihan WHERE (ID_depo = 'TMC') AND (tgl_tagihan = '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_laporan_TMC = rs(0)
conn.Close End If End Sub
Sub hitung_total_laporan_DEPO() tgl = Date - 1 Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(total_tag_depo) AS Tagihan FROM history_tagihan WHERE (ID_depo = '" & kunci_lap_combo_id_depo & "') AND (tgl_tagihan = '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_laporan_DEPO = rs(0)
conn.Close End Sub Sub hitung_proses_laporan_detail_otlet() tgl = Date - 1 conn.Open sConnString Set rs = conn.Execute("SELECT total_tag_otlet FROM history_tagihan WHERE (ID_otlet = '"
& grid_kunci_laporan_id_otlet & "') AND (tgl_tagihan = '" & tgl & "')", , adCmdText) hasil_hitung_proses_lap_detail_otlet = rs(0) conn.Close End Sub
Sub hitung_banyak_laporan_detail_otlet() tgl = Date - 1
conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND (tgl = '" & tgl & "')", , adCmdText) hasil_hitung_banyak_lap_otlet = rs(0) conn.Close End Sub
Sub hitung_proses_laporan_depo() tgl = Date - 1 conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND ((tgl = '" & tgl & "') AND (status = 'Belum Lunas'))", , adCmdText) hasil_hitung_proses_laporan_depo = rs(0) conn.Close End Sub
Sub hitung_banyak_laporan_depo() tgl = Date - 1 conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses2
WHERE (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND ((tgl = '" & tgl & "') AND (status = 'Belum Lunas'))", , adCmdText) hasil_hitung_banyak_laporan_depo = rs(0) conn.Close
End Sub
• Module_hitung
Sub hitung_otlet_aktiv() Call dbInit
conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM otlet WHERE aktiv = '1'", , adCmdText) Do Until rs.EOF hasil_hitung = rs(0)
rs.MoveNext Loop rs.Close conn.Close
End Sub Sub hitung_proses_sukses() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM proses WHERE (tgl = '" & tgl & "')", , adCmdText) Do Until rs.EOF
hasil_hitung_proses_sukses = rs(0) rs.MoveNext Loop rs.Close
conn.Close
End Sub Sub hitung_proses_xl() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_operator = 'XL')", , adCmdText)
Do Until rs.EOF hasil_hitung_proses_xl = rs(0) rs.MoveNext Loop
rs.Close conn.Close End Sub Sub hitung_proses_mentari() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses]
WHERE (tgl = '" & tgl & "') AND (ID_produk = 'MTR')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_mentari = rs(0) rs.MoveNext
Loop rs.Close conn.Close End Sub
Sub hitung_proses_im3() Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_produk = 'IM3')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_im3 = rs(0)
rs.MoveNext Loop rs.Close conn.Close
End Sub Sub hitung_proses_simpati() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND ((ID_produk = 'SIM') OR (ID_produk = 'AS'))", , adCmdText) Do Until rs.EOF
hasil_hitung_proses_simpati = rs(0) rs.MoveNext Loop rs.Close
conn.Close End Sub Sub hitung_proses_flexy()
Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_produk = 'FLE')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_flexy = rs(0) rs.MoveNext
Loop rs.Close conn.Close End Sub
Sub hitung_proses_mobile8() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_operator = 'MOB')", , adCmdText) Do Until rs.EOF hasil_hitung_proses_mobile8 = rs(0)
rs.MoveNext Loop rs.Close conn.Close
End Sub Sub hitung_proses_bakrie() Call dbInit
conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM [dbo].[order_yang_sudah_diproses] WHERE (tgl = '" & tgl & "') AND (ID_operator = 'BKR')", , adCmdText) Do Until rs.EOF
hasil_hitung_proses_bakrie = rs(0) rs.MoveNext Loop rs.Close
conn.Close End Sub Sub hitung_total_order()
tgl = Date Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) FROM order_penjualan WHERE (tgl = '" & tgl & "') AND (status = '0')", , adCmdText) Do Until rs.EOF hasil_total_order = rs(0)
rs.MoveNext Loop rs.Close conn.Close
End Sub '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ pembayaran \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Sub hitung_total_tagihan_TMC_awal()
Dim cek_hasil As String Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT total_tag_otlet AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then hasil_hitung_total_tagihan_TMC_awal = 0
conn.Close Else conn.Close conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(total_tag_otlet) AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_tagihan_TMC_awal = rs(0) conn.Close End If End Sub
Sub hitung_total_tagihan_TMC() Dim cek_hasil As String Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT total_tag_otlet_rev AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then hasil_hitung_total_tagihan_TMC = 0
conn.Close Else conn.Close conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(total_tag_otlet_rev) AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_tagihan_TMC = rs(0)
conn.Close End If End Sub
Sub banyak_data_tagihan() Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT total_tag_otlet AS Tagihan FROM history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then banyak_data_tagihan_otlet = 1 conn.Close
Else conn.Close conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(total_tag_otlet) AS Tagihan FROM
history_tagihan WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) banyak_data_tagihan_otlet = rs(0) conn.Close
End If End Sub Sub hitung_total_tagihan_DEPO_awal() tgl = Date Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_depo) AS Tagihan FROM history_tagihan
WHERE (ID_depo = '" & id_combo_depo & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_tagihan_DEPO_awal = rs(0) conn.Close
End Sub Sub hitung_total_tagihan_DEPO() tgl = Date Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_depo_rev) AS Tagihan FROM history_tagihan
WHERE (ID_depo = '" & id_combo_depo & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_tagihan_DEPO = rs(0) conn.Close
End Sub Sub hitung_proses_pembayaran_otlet_awal() conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "')", , adCmdText) hasil_hitung_proses_pembayaran_otlet_awal = rs(0)
conn.Close End Sub
Sub hitung_proses_pembayaran_otlet() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" &
grid_kunci_pembayaran_tgl_tagihan & "') and ((alasan_salah = '') or (alasan_salah IS NULL))", , adCmdText) banyak = rs(0) conn.Close If banyak = 0 Then hasil_hitung_proses_pembayaran_otlet = 0 Else conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "') and ((alasan_salah = '') or (alasan_salah IS NULL))", , adCmdText)
hasil_hitung_proses_pembayaran_otlet = rs(0) conn.Close End If End Sub
Sub hitung_banyak_pembayaran_otlet() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "')", , adCmdText) hasil_hitung_banyak_pembayaran_otlet = rs(0)
conn.Close End Sub Sub hitung_banyak_pembayaran_otlet_salah() conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses WHERE (ID_otlet = '" & id_combo_otlet & "') AND (tgl = '" & grid_kunci_pembayaran_tgl_tagihan & "') and (alasan_salah <> '')", , adCmdText) hasil_hitung_banyak_pembayaran_otlet_salah = rs(0) conn.Close End Sub Sub hitung_proses_pembayaran_depo_awal() tgl = Date
conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_depo) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas'))", , adCmdText)
hasil_hitung_proses_pembayaran_depo_awal = rs(0) conn.Close End Sub
Sub hitung_proses_pembayaran_depo() tgl = Date
conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas')) AND ((alasan_salah = '') OR (alasan_salah IS NULL))", , adCmdText)
banyak = rs(0) conn.Close If banyak = 0 Then hasil_hitung_proses_pembayaran_depo = 0
Else conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_depo) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas')) AND ((alasan_salah = '') OR (alasan_salah IS NULL))", , adCmdText) hasil_hitung_proses_pembayaran_depo = rs(0) conn.Close
End If End Sub Sub hitung_banyak_pembayaran_depo()
tgl = Date conn.Open sConnString
Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas'))", , adCmdText) hasil_hitung_banyak_pembayaran_depo = rs(0) conn.Close End Sub
Sub hitung_banyak_pembayaran_depo_salah() tgl = Date conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses2
WHERE (ID_otlet = '" & grid_kunci_pembayaran_id_otlet & "') AND ((tgl <> '" & tgl & "') AND (status = 'Belum Lunas')) AND (alasan_salah <> '')", , adCmdText) hasil_hitung_banyak_pembayaran_depo_salah = rs(0) conn.Close End Sub Sub banyak_data_tagihan_depo()
conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM history_tagihan WHERE (ID_depo = '" & id_combo_depo & "') AND (tgl_tagihan <> '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText)
banyak_data_tag_depo = rs(0) conn.Close End Sub '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ pembayaran \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ cari \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Sub hitung_cari_tagihan_otlet() '\\\\\\harus di cek dulu record nya
conn.Open sConnString Set rs = conn.Execute("SELECT harga_otlet AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (harga_otlet IS NOT NULL) ", , adCmdText)
If rs.EOF Then hasil_hitung_cari_tagihan_otlet = 0 conn.Close Else
conn.Close conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "')", , adCmdText) hasil_hitung_cari_tagihan_otlet = rs(0) conn.Close End If
End Sub Sub hitung_cari_tagihan_depo() '\\\\\\harus di cek dulu record nya conn.Open sConnString
Set rs = conn.Execute("SELECT harga_depo AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (harga_depo IS NOT NULL) ", , adCmdText) If rs.EOF Then
hasil_hitung_cari_tagihan_depo = 0 conn.Close Else conn.Close conn.Open sConnString Set rs = conn.Execute("SELECT SUM(harga_depo) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" &
tanggal_cari & "')", , adCmdText) hasil_hitung_cari_tagihan_depo = rs(0) conn.Close End If
End Sub Sub hitung_banyak_transaksi_otlet() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (status = '1')", , adCmdText) hasil_hitung_banyak_transaksi_otlet = rs(0)
conn.Close End Sub
Sub hitung_banyak_trasaksi_gagal() conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') AND (keterangan
LIKE '%-%')", , adCmdText) hasil_hitung_banyak_trasaksi_gagal = rs(0) conn.Close End Sub
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ cari \\\\\\\\\\\\\\\\\\\\\\ '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\LAPORAN tagihan \\\\\\\\\\\\\\\\\\\\\\ Sub hitung_total_laporan_TMC()
Dim tgl As Date tgl = Date - 1 Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT total_tag_otlet AS Tagihan FROM history_tagihan WHERE (ID_depo = 'TMC') AND (tgl_tagihan = '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText) If rs.EOF Then hasil_hitung_total_laporan_TMC = 0 conn.Close Else conn.Close
conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_otlet) AS Tagihan FROM history_tagihan WHERE (ID_depo = 'TMC') AND (tgl_tagihan = '" & tgl & "') AND (status = 'Belum Lunas')", , adCmdText)
hasil_hitung_total_laporan_TMC = rs(0) conn.Close End If End Sub
Sub hitung_total_laporan_DEPO() tgl = Date - 1 Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT SUM(total_tag_depo) AS Tagihan FROM history_tagihan WHERE (ID_depo = '" & kunci_lap_combo_id_depo & "') AND (tgl_tagihan = '" & tgl & "')
AND (status = 'Belum Lunas')", , adCmdText) hasil_hitung_total_laporan_DEPO = rs(0) conn.Close
End Sub Sub hitung_proses_laporan_detail_otlet() tgl = Date - 1 conn.Open sConnString Set rs = conn.Execute("SELECT total_tag_otlet FROM history_tagihan WHERE (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND (tgl_tagihan = '" & tgl & "')", , adCmdText) hasil_hitung_proses_lap_detail_otlet = rs(0)
conn.Close End Sub Sub hitung_banyak_laporan_detail_otlet()
tgl = Date - 1 conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Tagihan FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND (tgl = '" & tgl & "')", ,
adCmdText) hasil_hitung_banyak_lap_otlet = rs(0) conn.Close End Sub
Sub hitung_proses_laporan_depo() tgl = Date - 1 conn.Open sConnString
Set rs = conn.Execute("SELECT SUM(harga_otlet) AS Tagihan FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND ((tgl = '" & tgl & "') AND (status = 'Belum Lunas'))", , adCmdText) hasil_hitung_proses_laporan_depo = rs(0)
conn.Close End Sub Sub hitung_banyak_laporan_depo() tgl = Date - 1 conn.Open sConnString Set rs = conn.Execute("SELECT COUNT(*) AS Banyak FROM gabungan_order_dan_proses2 WHERE (ID_otlet = '" & grid_kunci_laporan_id_otlet & "') AND ((tgl = '" & tgl & "') AND
(status = 'Belum Lunas'))", , adCmdText) hasil_hitung_banyak_laporan_depo = rs(0) conn.Close
End Sub
• Module_input
Sub TableToCombo(dBaseTabel As String, cmbBox As ComboBox, xKolom As Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM " & dBaseTabel, , adCmdText) With cmbBox Do Until rs.EOF .AddItem rs(xKolom), lindex
lindex = lindex + 1 rs.MoveNext Loop End With
conn.Close End Sub Sub TableToCombo_detailproduk(dBaseTabel As String, cmbBox As ComboBox, xKolom As Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM " & dBaseTabel & " WHERE ID_DP <> 'DMP-9000'",
, adCmdText) With cmbBox Do Until rs.EOF .AddItem rs(xKolom), lindex
lindex = lindex + 1 rs.MoveNext Loop End With
conn.Close End Sub Sub TableToCombo_otlet_aktiv(dBaseTabel As String, cmbBox As ComboBox, xKolom As
Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM " & dBaseTabel & " WHERE aktiv = '1'", ,
adCmdText) With cmbBox Do Until rs.EOF .AddItem rs(xKolom), lindex
lindex = lindex + 1 rs.MoveNext Loop End With conn.Close End Sub Sub TableToCombo_deposit1(dBaseTabel As String, cmbBox As ComboBox, xKolom As
Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM " & dBaseTabel & " WHERE (ID_deposit LIKE
'%DP%')", , adCmdText) With cmbBox Do Until rs.EOF .AddItem rs(xKolom), lindex
lindex = lindex + 1 rs.MoveNext Loop End With conn.Close End Sub Sub TableToCombo_deposit2(dBaseTabel As String, cmbBox As ComboBox, xKolom As
Integer) Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT * FROM " & dBaseTabel & " WHERE (ID_deposit NOT LIKE
'%DP%')", , adCmdText) With cmbBox Do Until rs.EOF .AddItem rs(xKolom), lindex lindex = lindex + 1 rs.MoveNext Loop End With
conn.Close End Sub
Sub TableToCombo_pembayaran_otlet(cmbBox As ComboBox, xKolom As Integer) tgl = Date Call dbInit conn.Open sConnString
Set rs = conn.Execute("SELECT DISTINCT ID_otlet From history_tagihan WHERE (status = 'Belum Lunas') AND (tgl_tagihan <> '" & tgl & "') AND (ID_depo = 'TMC')", , adCmdText) With cmbBox Do Until rs.EOF
.AddItem rs(xKolom), lindex lindex = lindex + 1 rs.MoveNext Loop
End With conn.Close End Sub
Sub TableToCombo_pembayaran_depo(cmbBox As ComboBox, xKolom As Integer) tgl = Date Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT DISTINCT ID_depo From history_tagihan WHERE (status = 'Belum Lunas') AND (tgl_tagihan <> '" & tgl & "') AND (ID_depo <> 'TMC')", , adCmdText) With cmbBox Do Until rs.EOF
.AddItem rs(xKolom), lindex lindex = lindex + 1 rs.MoveNext Loop
End With conn.Close End Sub
Sub TableToCombo_laporan_depo(cmbBox As ComboBox, xKolom As Integer) tgl = Date - 1 Call dbInit conn.Open sConnString Set rs = conn.Execute("SELECT DISTINCT ID_depo From history_tagihan WHERE (status = 'Belum Lunas') AND (tgl_tagihan = '" & tgl & "') AND (ID_depo <> 'TMC')", , adCmdText) With cmbBox
Do Until rs.EOF .AddItem rs(xKolom), lindex lindex = lindex + 1 rs.MoveNext
Loop End With conn.Close End Sub
• Module_lain_lain
Public Function CreateFile(ExtensiFile As String, IsiFile As String) As String Const ForAppending = 8 Dim sLogFile As String, sLogPath As String ', iLogSize As Long Dim fso, f
On Error GoTo ErrHandler sLogPath = App.Path & "\" & App.EXEName
sLogFile = sLogPath & "." & ExtensiFile Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(sLogFile, ForAppending, True) f.WriteLine IsiFile ErrHandler:
Exit Function End Function Public Function DeleteFile(ExtensiFile As String) As String
Const ForAppending = 8 Dim sLogFile As String, sLogPath As String ', iLogSize As Long Dim fso, f On Error GoTo ErrHandler sLogPath = App.Path & "\" & App.EXEName sLogFile = sLogPath & "." & ExtensiFile
Set fso = CreateObject("Scripting.FileSystemObject") 'Set f = fso.OpenTextFile(sLogFile, ForAppending, True) fso.DeleteFile sLogFile
'f.WriteLine IsiFile ErrHandler: Exit Function
End Function
Public Function ReadLine_koneksi(fName As String, LineNumber As Long) As String Dim ret As Long Dim lCtr As Long Dim oFSO, oFSTR, fso
Set oFSO = CreateObject("Scripting.FileSystemObject") If oFSO.FileExists(fName) Then Set oFSTR = oFSO.OpenTextFile(fName)
Do While Not oFSTR.AtEndOfStream lCtr = lCtr + 1 If lCtr = LineNumber Then ReadLine_koneksi = oFSTR.ReadLine Exit Do End If oFSTR.SkipLine Loop
oFSTR.Close Set oFSTR = Nothing ' Set fso = CreateObject("Scripting.FileSystemObject") 'dihapus file nya
' fso.DeleteFile fName End If End Function
Public Function ReadLine(fName As String, LineNumber As Long) As String Dim ret As Long Dim lCtr As Long
Dim oFSO, oFSTR, fso Set oFSO = CreateObject("Scripting.FileSystemObject")
If oFSO.FileExists(fName) Then Set oFSTR = oFSO.OpenTextFile(fName) Do While Not oFSTR.AtEndOfStream lCtr = lCtr + 1
If lCtr = LineNumber Then ReadLine = oFSTR.ReadLine Exit Do End If oFSTR.SkipLine Loop oFSTR.Close Set oFSTR = Nothing
Set fso = CreateObject("Scripting.FileSystemObject") 'dihapus file nya fso.DeleteFile fName
End If End Function Sub dbInit()
sConnString = ReadLine_koneksi(App.Path & "\setting.conn", 1) 'sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=123456;Initial Catalog=ThreeMCell;Data Source = DINO;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096" sConnRp = ReadLine_koneksi(App.Path & "\setting.conn", 2) 'sConnRp = "DSN=DINO;UID=sa;PWD=123456;DSQ=ThreeMCell" End Sub
Sub kunci_alphabet(KeyAscii As Integer) 'angka saja If KeyAscii <> vbKey0 And KeyAscii <> vbKey1 And _ KeyAscii <> vbKey2 And KeyAscii <> vbKey3 And KeyAscii <> vbKey4 _ And KeyAscii <> vbKey5 And KeyAscii <> vbKey6 And _
KeyAscii <> vbKey7 And KeyAscii <> vbKey8 And _ KeyAscii <> vbKey9 And KeyAscii <> vbKeyBack And _ KeyAscii <> vbKeyTab Then KeyAscii = 0 End Sub Sub kunci_numeric(KeyAscii As Integer) 'alphabet saja sTemplate = "~!@#$%^&*()_+|\=`';/.,<>?:{}[]""" If KeyAscii = vbKey0 Or KeyAscii = vbKey1 Or _
KeyAscii = vbKey2 Or KeyAscii = vbKey3 Or KeyAscii = vbKey4 _ Or KeyAscii = vbKey5 Or KeyAscii = vbKey6 Or _ KeyAscii = vbKey7 Or KeyAscii = vbKey8 Or _ KeyAscii = vbKey9 Or _
InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 'KeyAscii = vbKeyBack Or KeyAscii = vbKeyTab Or End Sub
Sub kunci_tertentu(KeyAscii As Integer) 'semua angka dan alphabet sTemplate = "~!@#$%^&*()_+|\=`';/.,<>?:{}[]""" If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then KeyAscii = 0 End Sub
Public Sub cek_jumlah_karakter(TextBox As TextBox) Dim i As Integer 'Dim s As String
char = 0 For i = 0 To Len(TextBox.Text) - 1 TextBox.SelStart = i TextBox.SelLength = 1
If Asc(TextBox.Text) > 32 And Asc(TextBox.Text) <= 126 Then char = char + 1 End If Next 's = MsgBox("No of char are " & char, vbInformation) 'text_box.SetFocus End Sub
Sub pindah_tab() If KeyAscii = 13 Then SendKeys "{tab}" KeyAscii = 0
End If End Sub Sub info_status_bar(isi As String) form_utama.StatusBar1.Panels.Item(1) = isi
End Sub Sub info_status_bar_5(grid_pilihan As String) form_utama.StatusBar1.Panels.Item(5) = grid_pilihan + " - " + nama_cell End Sub Public Sub UnloadChildren() On Error GoTo Cancel Do
Unload form_utama.ActiveForm Loop Cancel: Exit Sub
End Sub Public Sub keluar() nama_grid = "" nama_cell = "" 'info_status_bar_5 ("") 'info_status_bar ("") form_utama.Enabled = True End Sub
• Module_menu
Public Sub menu_admin_awal() With form_utama .mn_login.Enabled = False
.mn_cari.Enabled = True
.mn_info_program.Enabled = True
.mn_bantuan.Enabled = True .mn_produk.Enabled = True .mn_otlet.Enabled = True .mn_harga_jual.Enabled = True .mn_dealer.Enabled = True
.mn_karyawan.Enabled = True
.mn_stok.Enabled = True
.mn_lap_penjualan.Enabled = True
.mn_tagihan.Enabled = True
.mn_order.Enabled = False .mn_proses_order.Enabled = False
.mn_pembayaran.Enabled = False End With End Sub Public Sub menu_administrasi_awal()
With form_utama .mn_login.Enabled = False .mn_cari.Enabled = True .mn_info_program.Enabled = True
.mn_bantuan.Enabled = True .mn_pembayaran.Enabled = True
.mn_dealer.Enabled = False
.mn_harga_jual.Enabled = False
.mn_karyawan.Enabled = False
.mn_lap_penjualan.Enabled = False
.mn_otlet.Enabled = False
.mn_produk.Enabled = False
.mn_stok.Enabled = False
.mn_tagihan.Enabled = False .mn_order.Enabled = False .mn_proses_order.Enabled = False
End With End Sub 'awal menu operator Public Sub menu_operator_awal() With form_utama .mn_login.Enabled = False
.mn_cari.Enabled = True
.mn_info_program.Enabled = True
.mn_bantuan.Enabled = True
.mn_order.Enabled = True
.mn_proses_order.Enabled = True .mn_dealer.Enabled = False
.mn_harga_jual.Enabled = False
.mn_karyawan.Enabled = False
.mn_lap_penjualan.Enabled = False
.mn_otlet.Enabled = False
.mn_produk.Enabled = False
.mn_stok.Enabled = False
.mn_tagihan.Enabled = False
.mn_pembayaran.Enabled = False End With End Sub
Public Sub menu_awal() With form_utama .mn_login.Enabled = True .mn_bantuan.Enabled = False .mn_info_program.Enabled = True .mn_cari.Enabled = False
.mn_order.Enabled = False .mn_proses_order.Enabled = False
.mn_pembayaran.Enabled = False .mn_dealer.Enabled = False .mn_harga_jual.Enabled = False
.mn_karyawan.Enabled = False
.mn_lap_penjualan.Enabled = False
.mn_otlet.Enabled = False
.mn_produk.Enabled = False
.mn_stok.Enabled = False
.mn_tagihan.Enabled = False End With
End Sub Public Sub menu_disable() With form_utama .mn_login.Enabled = False
.mn_bantuan.Enabled = True .mn_cari.Enabled = True .mn_order.Enabled = False .mn_proses_order.Enabled = False .mn_pembayaran.Enabled = False
.mn_dealer.Enabled = False .mn_harga_jual.Enabled = False .mn_karyawan.Enabled = False
.mn_lap_penjualan.Enabled = False
.mn_otlet.Enabled = False
.mn_produk.Enabled = False
.mn_stok.Enabled = False
.mn_tagihan.Enabled = False End With End Sub
• Module_variable
Public bck_id_user As String Public bck_id_proses As String Public char As Integer
Public banyak_data_tagihan_otlet As Integer Public banyak_data_tag_depo As Integer
Public hasil_hitung_total_laporan_TMC As Currency Public kunci_lap_combo_id_depo As String Public hasil_hitung_total_laporan_DEPO As Currency Public grid_kunci_laporan_id_depo As String Public grid_kunci_laporan_id_otlet As String Public hasil_hitung_proses_lap_detail_otlet As Long Public hasil_hitung_banyak_lap_otlet As Long
Public hasil_hitung_proses_laporan_depo As Long Public hasil_hitung_banyak_laporan_depo As Integer Public id_otlet_cari As String
Public id_depo_cari As String Public tanggal_cari As Date
Public hasil_hitung_banyak_transaksi_otlet As Long Public hasil_hitung_cari_tagihan_otlet As Long Public hasil_hitung_cari_tagihan_depo As Long Public hasil_hitung_banyak_trasaksi_gagal As Long Public id_combo_otlet As String Public id_combo_depo As String
Public hasil_hitung_total_tagihan_TMC As Long Public hasil_hitung_total_tagihan_TMC_awal As Long Public hasil_hitung_total_tagihan_DEPO As Long
Public hasil_hitung_total_tagihan_DEPO_awal As Long Public dibayar As Long Public hasil_hitung_proses_pembayaran_otlet As Long Public hasil_hitung_proses_pembayaran_otlet_awal As Long Public hasil_hitung_banyak_pembayaran_otlet As Long Public hasil_hitung_banyak_pembayaran_otlet_salah As Long Public hasil_hitung_proses_pembayaran_depo As Long
Public hasil_hitung_proses_pembayaran_depo_awal As Long Public hasil_hitung_banyak_pembayaran_depo As Long Public hasil_hitung_banyak_pembayaran_depo_salah As Long
Public status_tagihan_berbeda As Boolean Public tgl As Date Public bulan As Integer
Public hari As Integer 'Public kode_tgl_sekarang As Currency Public status_harga_jual As Boolean Public hasil_hitung As Integer
Public hasil_hitung_proses_sukses As Integer Public hasil_hitung_proses_xl As Integer Public hasil_hitung_proses_mentari As Integer Public hasil_hitung_proses_im3 As Integer
Public hasil_hitung_proses_simpati As Integer Public hasil_hitung_proses_flexy As Integer Public hasil_hitung_proses_mobile8 As Integer Public hasil_hitung_proses_bakrie As Integer
Public hasil_total_order As Integer Public keterangan1 As String Public keterangan2 As String Public keterangan3 As String Public keterangan_stok As String Public kunci_id_detail_produk As String
Public kunci_id_harga_jual As String Public kunci_id_jenis_deposit As String Public grid_kunci_id_karyawan As String
Public grid_kunci_id_depo As String Public grid_kunci_id_otlet As String Public grid_kunci_id_deposit As String Public grid_kunci_id_operator_celular As String
Public grid_kunci_id_produk As String Public grid_kunci_id_detail_produk As String Public grid_kunci_id_dealer As String Public grid_kunci_id_produk_dealer As String Public ID_otlet_2 As String Public ID_deposit_otlet As String
Public harga_otlet As Boolean Public harga_depo As Boolean Public grid_kunci_id_stok As String
Public grid_kunci_id_antrian_order As String Public grid_kunci_id_antrian_order_id_dp As String Public grid_kunci_pembayaran_tgl_tagihan As String Public grid_kunci_pembayaran_id_otlet As String Public grid_kunci_pembayaran_id_depo As String Public nama_grid, nama_cell As String
Public jabatan As String Public user As String
Public conn As New ADODB.Connection Public cmd As New ADODB.Command Public rs As ADODB.Recordset Public rs_pulsa As ADODB.Recordset
Public rs_stok As ADODB.Recordset Public rs_stok_1 As ADODB.Recordset Public rs_stok_2 As ADODB.Recordset
Public sConnString, sConnRp, strBantu, nama_grid_hapus As String 'Public data_update As New Public kepala_detail_produk(6) As String
Public lebar_detail_produk(6) As Integer Public miSelStart As Integer Public lCnt As Long 'Generic long counter
Public lMax As Long Public sComboItem As String Public sComboText As String 'Text currently in combobox Public sText As String 'Text after keypressed Public sTemplate As String
• form_bantuan
Private Sub cmdOK_Click() Unload Me
End Sub Private Sub Form_Load() Me.Top = 2000 Me.Left = 4800
form_utama.Enabled = False
End Sub Private Sub Form_Unload(Cancel As Integer) form_utama.Enabled = True End Sub
• form_bantuan_pembelajaran
Dim akar As Node Private Sub Command1_Click()
Unload Me End Sub
Private Sub Form_Load() 'ListData.Visible = False List1.FontSize = 10 List1.AddItem "Pilih Kategori" If jabatan = "admin" Then lbl_jabatan.Caption = "Admin" Set akar = ListData.Nodes.Add(, tvwChild, "akar1", "Produk") Set akar = ListData.Nodes.Add(, tvwChild, "akar2", "Otlet")
Set akar = ListData.Nodes.Add(, tvwChild, "akar3", "Harga Jual") Set akar = ListData.Nodes.Add(, tvwChild, "akar4", "Dealer") Set akar = ListData.Nodes.Add(, tvwChild, "akar5", "Karyawan") Set akar = ListData.Nodes.Add(, tvwChild, "akar6", "Stok")
Set akar = ListData.Nodes.Add(, tvwChild, "akar7", "Laporan Penjualan") Set akar = ListData.Nodes.Add(, tvwChild, "akar8", "Laporan Tagihan") ElseIf jabatan = "administrasi" Then lbl_jabatan.Caption = "Administrasi" Set akar = ListData.Nodes.Add(, tvwChild, "akar1", "Pembayaran") Else: jabatan = "operator" lbl_jabatan.Caption = "Operator" Set akar = ListData.Nodes.Add(, tvwChild, "akar1", "Order")
Set akar = ListData.Nodes.Add(, tvwChild, "akar2", "Proses Order") End If End Sub
Private Sub ListData_Click() List1.Clear Call IsiListdata End Sub Function IsiListdata() If ListData.SelectedItem.Text = "Produk" Then List1.AddItem " DATA PRODUK"
List1.AddItem " " List1.AddItem " Info :" List1.AddItem " Berguna untuk merubah, menambah atau menghapus data produk saat ini" List1.AddItem " "
List1.AddItem " Menambah data produk baru yang dijual oleh perusahaan :" List1.AddItem " 1. Pilih data operator celular dari produk yang bersangkutan" List1.AddItem " 2. Pilih nama produk sesuai dengan produk yang akan ditambahkan " List1.AddItem " 3. Klik tambah detail produk"
List1.AddItem " 4. Isi id produk dan keterangannya"
List1.AddItem " 5. Simpan datanya" List1.AddItem " " List1.AddItem " Menambah data operator celular dan produknya :" List1.AddItem " 1. Klik tambah operator celular" List1.AddItem " 2. Masukan Id operator celular dan keterangannya" List1.AddItem " 3. Simpan datanya" List1.AddItem " 4. Pilih data operator yang baru dibuat"
List1.AddItem " 5. Klik tambah produk operator celular" List1.AddItem " 6. Masukan data produknya" List1.AddItem " 7. Simpan datanya" List1.AddItem " "
List1.AddItem " Menghapus data :" List1.AddItem " 1. Klik datanya " List1.AddItem " 2. Klik tombol hapus" List1.AddItem " " List1.AddItem " Catatan :" List1.AddItem " 1. LAKUKAN PENYETINGAN PADA MENU HARGA JUAL DAN DEALER " List1.AddItem " YANG BERSANGKUTAN BILA ANDA MENAMBAHKAN DATA
DETAIL PRODUK BARU ! " List1.AddItem " 2. PIKIRKAN KEMBALI NAMA ID YANG AKAN DITAMBAHKAN " List1.AddItem " AGAR SESUAI DENGAN PRODUKNYA" List1.AddItem " "
ElseIf ListData.SelectedItem.Text = "Otlet" Then List1.AddItem " DATA OTLET"
List1.AddItem " " List1.AddItem " Info :" List1.AddItem " Berguna untuk merubah menambah atau menghapus data otlet saat ini" List1.AddItem " Selain itu digunakan untuk menambah data deposit serta penambahan depo baru"
List1.AddItem " " List1.AddItem " Menambah otlet baru :" List1.AddItem " 1. Klik tombol tambah" List1.AddItem " 2. Tentukan nama id dan masukan data lainnya"
List1.AddItem " 3. Klik tombol simpan" List1.AddItem " " List1.AddItem " Menambah deposit :" List1.AddItem " 1. Klik pilihan deposit"
List1.AddItem " 2. Klik tombol tambah" List1.AddItem " 3. Masukan id dan data depositnya" List1.AddItem " 4. Klik tombol simpan" List1.AddItem " " List1.AddItem " Menambah Depo baru :" List1.AddItem " 1. Klik pilihan depo" List1.AddItem " 2. Klik tombol tambah" List1.AddItem " 3. Masukan id dan data deponya"
List1.AddItem " 4. Klik tombol simpan" List1.AddItem " " List1.AddItem " Merubah data :" List1.AddItem " 1. Pilih datanya "
List1.AddItem " 2. Klik 2 kali pada datanya" List1.AddItem " 3. Rubah data seperlunya" List1.AddItem " 4. Klik tombol simpan" List1.AddItem " "
List1.AddItem " Menghapus data :" List1.AddItem " 1. Pilih datanya " List1.AddItem " 2. Klik tombol hapus" List1.AddItem " " List1.AddItem " Catatan :" List1.AddItem " 1. PIKIRKAN KEMBALI NAMA ID YANG AKAN DITAMBAHKAN " List1.AddItem " "
ElseIf ListData.SelectedItem.Text = "Harga Jual" Then List1.AddItem " DATA HARGA JUAL"
List1.AddItem " " List1.AddItem " Info :" List1.AddItem " Berguna mengatur daftar harga jual dari produk yang dijual oleh perusahaan saat ini." List1.AddItem " " List1.AddItem " Merubah atau menambah harga jual yang ada dalam daftar :" List1.AddItem " 1. Klik 2 kali pada data harga yang masih kosong atau yang akan dirubah" List1.AddItem " 2. Masukan data harga jual saat ini"
List1.AddItem " 3. Klik tombol rubah" List1.AddItem " " List1.AddItem " Catatan :" List1.AddItem " 1. CEK KEMBALI HARGA JUAL BERDASARKAN JENIS DEPOSIT YANG
ADA SAAT INI" List1.AddItem " 2. SELALU LAKUKAN PENGECEKAN KEMBALI BILA ANDA MENAMBAHKAN DATA PRODUK BARU" List1.AddItem " "
ElseIf ListData.SelectedItem.Text = "Dealer" Then List1.AddItem " DATA DEALER" List1.AddItem " "
List1.AddItem " Info :" List1.AddItem " Berguna untuk mengatur data dealer dan produk yang disediakan oleh " List1.AddItem " dealer yang bersangkutan" List1.AddItem " "
List1.AddItem " Menambah data dealer" List1.AddItem " 1. Klik tambah pada pilihan dealer" List1.AddItem " 2. Masukan datanya dealernya" List1.AddItem " 3. Klik tombol simpan"
List1.AddItem " " List1.AddItem " Merubah data dealer" List1.AddItem " 1. Klik 2 kali pada nama dealer dalam tabel" List1.AddItem " 2. Rubah isinya" List1.AddItem " 3. Klik tombol simpan" List1.AddItem " " List1.AddItem " Menambah data produk dealer" List1.AddItem " 1. Pilih nama dealernya "
List1.AddItem " 2. Klik tombol tambah" List1.AddItem " 3. Masukan datanya" List1.AddItem " 4. Klik tombol simpan" List1.AddItem " "
List1.AddItem " Merubah data produk dealer" List1.AddItem " 1. Pilih nama dealernya " List1.AddItem " 2. Klik 2 kali pada detail produk dalam tabel" List1.AddItem " 3. Rubah datanya"
List1.AddItem " 4. Klik tombol simpan" List1.AddItem " " List1.AddItem " " List1.AddItem " Catatan :" List1.AddItem " 1. Tentuka ID dealer sebelum menambah data dealer" List1.AddItem " 2. Pertimbangkan kembali untuk menghapus data dealer, sebab yang data " List1.AddItem " produk dealer yang bersangkutan akan ikut terhapus "
List1.AddItem " " List1.AddItem " " List1.AddItem " "
ElseIf ListData.SelectedItem.Text = "Karyawan" Then List1.AddItem " DATA KARYAWAN" List1.AddItem " " List1.AddItem " Info :" List1.AddItem " Berguna untuk merubah data karyawan perusahaan" List1.AddItem " " List1.AddItem " Menambah data karyawan :" List1.AddItem " 1. Klik tombol tambah"
List1.AddItem " 2. Masukan data karyawan" List1.AddItem " 3. Klik tombol simpan" List1.AddItem " " List1.AddItem " Merubah data karyawan :"
List1.AddItem " 1. Klik 2 kali pada data yang diinginkan" List1.AddItem " 2. Rubah data seperlunya" List1.AddItem " 3. Klik tombol simpan" List1.AddItem " "
List1.AddItem " Menghapus data karyawan :" List1.AddItem " 1. Klik 2 kali pada data yang akan dihapus" List1.AddItem " 2. Klik tombol hapus" List1.AddItem " "
List1.AddItem " Catatan :" List1.AddItem " 1. Tentukan id, jabatan, dan password yang diinginkan" List1.AddItem " "
ElseIf ListData.SelectedItem.Text = "Stok" Then List1.AddItem " DATA STOK" List1.AddItem " " List1.AddItem " Info :"
List1.AddItem " Berguna untuk menambah atau merubah stok yang ada saat ini" List1.AddItem " " List1.AddItem " Menambah data stok baru :" List1.AddItem " 1. Klik tombol tambah" List1.AddItem " 2. Pilih produk yang akan mempunyai stok" List1.AddItem " 3. Masukan jumlah stok yang ada" List1.AddItem " 4. Klik tombol simpan" List1.AddItem " "
List1.AddItem " Merubah jumlah stok yang ada :" List1.AddItem " 1. Klik 2 kali pada nama produknya" List1.AddItem " 2. Masukan jumlah stok yang baru" List1.AddItem " 3. Klik tombol simpan"
List1.AddItem " " List1.AddItem " Menghapus data stok saat ini :" List1.AddItem " 1. Pilih data produknya" List1.AddItem " 2. Klik tombol hapus"
List1.AddItem " " List1.AddItem " Catatan :" List1.AddItem " 1. Selalu cek kembali jumlah stok yang ada" List1.AddItem " " ElseIf ListData.SelectedItem.Text = "Laporan Penjualan" Then List1.AddItem " LAPORAN PENJUALAN"
List1.AddItem " " List1.AddItem " Info :" List1.AddItem " Berguna untuk melihat dan mencetak laporan penjualan perusahaan" List1.AddItem " untuk periode tertentu."
List1.AddItem " " List1.AddItem " Mencetak laporan penjualan :" List1.AddItem " 1. Tentukan tanggal awal dan tanggal akhir laporan" List1.AddItem " 2. Klik tombol cetak" List1.AddItem " 3. Pilih icon print" List1.AddItem " " ElseIf ListData.SelectedItem.Text = "Laporan Tagihan" Then
List1.AddItem " LAPORAN TAGIHAN" List1.AddItem " " List1.AddItem " Info :" List1.AddItem " Berguna untuk melihat tagihan otlet dan depo hari sebelumnya "
List1.AddItem " " List1.AddItem " Mencetak tagihan semua otlet Three M Cell :" List1.AddItem " 1. Klik tombol cetak otlet" List1.AddItem " 2. Pilih icon print"
List1.AddItem " " List1.AddItem " Mencetak tagihan otlet Three M Cell satu persatu :" List1.AddItem " 1. Klik 2 kali pada nama otletnya" List1.AddItem " 2. Klik tombol cetak"
List1.AddItem " 3. Pilih icon print" List1.AddItem " " List1.AddItem " Mencetak tagihan semua otlet untuk depo tertentu :" List1.AddItem " 1. Pilih menu depo"
List1.AddItem " 2. Pilih nama deponya" List1.AddItem " 3. Klik tombol cetak depo" List1.AddItem " 4. Pilih icon print" List1.AddItem " "
List1.AddItem " Mencetak tagihan otlet satu persatu untuk depo tertentu :""" List1.AddItem " 1. Pilih menu depo" List1.AddItem " 2. Pilih nama deponya" List1.AddItem " 3. Pilih nama otlet yang akan diprint" List1.AddItem " 3. Klik tombol cetak " List1.AddItem " 4. Pilih icon print" List1.AddItem " "
ElseIf ListData.SelectedItem.Text = "Pembayaran" Then List1.AddItem " PEMBAYARAN" List1.AddItem " " List1.AddItem " Info :"
List1.AddItem " Berguna untuk mengisi data pembayaran otlet atau depo" List1.AddItem " " List1.AddItem " Mengisi pembayaran otlet Three M Cell :" List1.AddItem " 1. Masukan data id otlet yang akan membayar"
List1.AddItem " 2. Lihat daftar tagihan yang ada" List1.AddItem " 3. Cek kembali detail tagihan yang ada dengan klik tombol lihat detail" List1.AddItem " 4. Masukan jumlah nominal pembayaran" List1.AddItem " 5. Klik tombol Lunas" List1.AddItem " " List1.AddItem " Mengisi pembayaran depo" List1.AddItem " 1. Pilih id depo yang akan membayar"
List1.AddItem " 2. Lihat daftar tagihan yang ada" List1.AddItem " 3. Cek kembali detail tagihan yang ada dengan klik tombol lihat detail" List1.AddItem " 4. Masukan jumlah nominal pembayaran" List1.AddItem " 5. Klik tombol Lunas"
List1.AddItem " " List1.AddItem " Catatan :" List1.AddItem " 1. Selalu cek kembali jumlah tagihan di lembar tagihan dengan data di layar" List1.AddItem " 2. Selalu cek kembali jumlah nominal yang akan disimpan" List1.AddItem " " ElseIf ListData.SelectedItem.Text = "Order" Then List1.AddItem " ORDER PENJUALAN"
List1.AddItem " " List1.AddItem " Info :" List1.AddItem " Berguna untuk menambah data order penjualan baru dan melihat data order " List1.AddItem " penjualan yang belum di proses atau data order penjualan yang gagal diproses."
List1.AddItem " " List1.AddItem " Tambah Order :" List1.AddItem " 1. Klik tombol tambah" List1.AddItem " 2. Masukan datanya sesuai dengan pilihannya."
List1.AddItem " 3. Klik tombol simpan" List1.AddItem " " List1.AddItem " " List1.AddItem " Catatan :"
List1.AddItem " 1. SELALU CEK KEMBALI NOMOR TUJUAN" List1.AddItem " 2. Lakukan perubahan data jam seperlunya" List1.AddItem " "
ElseIf ListData.SelectedItem.Text = "Proses Order" Then List1.AddItem " PROSES ORDER" List1.AddItem " " List1.AddItem " Info : "
List1.AddItem " Berguna untuk memproses order penjualan" List1.AddItem " " List1.AddItem " Memproses order :" List1.AddItem " 1. Pilih data order penjualan dalam tabel" List1.AddItem " 2. Klik proses atau klik 2 kali pada datanya langsung" List1.AddItem " 3. Tentukan pilihan pemrosesan menggunan apa, dengan memilih pilihan " List1.AddItem " menggunakan dealer atau stok bila ada " List1.AddItem " 4. Masukan nomor serial pemrosesan lalu klik tombol simpan"
List1.AddItem " " List1.AddItem " Pengecualian :" List1.AddItem " Bila order tidak bisa diproses lakukan langkah - langkah berikut ini" List1.AddItem " 1. Lakukan konfirmasi terlebih dahulu dengan atasan atau admin yang ada"
List1.AddItem " 2. Bila disetujui, klik tombol 'Beri toleransi pemrosesan'" List1.AddItem " 3. Ulangi langkah 3 dan 4 untuk memproses order" List1.AddItem " " List1.AddItem " Catatan :"
List1.AddItem " 1. Isilah data informasi gagal diproses, bila memang data order tidak bisa diproses atau " List1.AddItem " dengan sengaja tidak akan diproses karena alasan tertentu " List1.AddItem " 2. Selalu perhatikan informasi kelayakan order dan alasan - alasannya" End If
End Function Private Sub ListData_KeyDown(KeyCode As Integer, Shift As Integer) List1.Clear
Call IsiListdata End Sub Private Sub ListData_KeyUp(KeyCode As Integer, Shift As Integer) List1.Clear Call IsiListdata
End Sub
• form_cari
Dim kunci As Boolean Dim tanggal_baru As Date
Private Sub Form_Load() form_utama.Enabled = False kunci = False TableToCombo "otlet", combo_otlet_cari, 0 txt_tanggal_cari.Caption = Date End Sub
Private Sub Form_Unload(Cancel As Integer) If kunci = False Then keluar
End If End Sub Private Sub tmbl_cari_Click() id_otlet_cari = combo_otlet_cari.Text tanggal_cari = txt_tanggal_cari.Caption conn.Open sConnString
Set rs = conn.Execute("SELECT * FROM cari_order_proses_lengkap WHERE (ID_otlet = '" & id_otlet_cari & "') AND (tgl = '" & tanggal_cari & "') ", , adCmdText) If rs.BOF And rs.EOF Then info_status_bar ("Data Belum ada, pilih Data otlet / Tanggal lain !")
conn.Close Else id_depo_cari = rs!id_depo conn.Close
form_hasil_cari.Show
kunci = True Unload Me End If End Sub
Private Sub tmbl_keluar_Click() form_utama.Enabled = True Unload Me End Sub
Private Sub txt_tanggal_cari_Change() tanggal_baru = txt_tanggal_cari.Caption End Sub Private Sub UpDown1_DownClick() If (txt_tanggal_cari.Caption = Date - 5) Then txt_tanggal_cari.Caption = Date - 5
Else txt_tanggal_cari.Caption = tanggal_baru - 1 End If End Sub
Private Sub UpDown1_UpClick() If txt_tanggal_cari.Caption = Date Then txt_tanggal_cari.Caption = Date
Else txt_tanggal_cari.Caption = tanggal_baru + 1 End If End Sub
Private Sub combo_otlet_cari_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 46 Then KeyCode = 0 'Disable the delete key miSelStart = combo_otlet_cari.SelStart
End Sub Private Sub combo_otlet_cari_KeyPress(KeyAscii As Integer) With combo_id_deposit
lMax = .ListCount - 1 sComboText = .Text sText = Left(sComboText, miSelStart) & Chr(KeyAscii) KeyAscii = 0 'Reset key pressed For lCnt = 0 To lMax sComboItem = .List(lCnt)
If UCase(sText) = UCase(Left(sComboItem, _ Len(sText))) Then .ListIndex = lCnt
.Text = sComboItem .SelStart = Len(sText) .SelLength = Len(sComboItem) - (Len(sText))
Exit For End If Next 'lCnt End With End Sub
• form_dealer
Private Sub cmd_hapus_Click()
If SSTab1.Tab = 0 And nama_grid = "grid_dealer" And grid_kunci_id_dealer <> "" Then form_hapus.Show ElseIf SSTab1.Tab = 1 And nama_grid = "grid_produk_dealer" And grid_kunci_id_produk_dealer <> "" Then
form_hapus.Show Else info_status_bar ("Pilih recordnya !") End If End Sub Private Sub cmd_rubah_Click() If SSTab1.Tab = 0 And nama_grid = "grid_dealer" And grid_kunci_id_dealer <> "" Then
form_dealer_rubah_dealer.Show ElseIf SSTab1.Tab = 1 And nama_grid = "grid_produk_dealer" And grid_kunci_id_produk_dealer <> "" Then form_dealer_rubah_produk_dealer.Show
Else info_status_bar ("Pilih dealernya !") End If End Sub Private Sub cmd_tambah_Click() If SSTab1.Tab = 0 Then
form_dealer_tambah_dealer.Show ElseIf SSTab1.Tab = 1 And grid_kunci_id_dealer <> "" Then form_dealer_tambah_produk_dealer.Show Else
info_status_bar ("Pilih dealernya !") End If End Sub Private Sub combo_dealer_Click() grid_kunci_id_dealer = combo_dealer.Text TableToFlexGrid_produk_dealer "produk_dealer", grid_produk_dealer, 5 info_status_bar ("Dealer - " + grid_kunci_id_dealer)
End Sub Private Sub combo_dealer_KeyPress(KeyAscii As Integer) grid_kunci_id_dealer = combo_dealer.Text info_status_bar ("Dealer - " + grid_kunci_id_dealer)
With combo_dealer lMax = .ListCount - 1 sComboText = .Text
sText = Left(sComboText, miSelStart) & Chr(KeyAscii)
KeyAscii = 0 'Reset key pressed For lCnt = 0 To lMax sComboItem = .List(lCnt) If UCase(sText) = UCase(Left(sComboItem, _
Len(sText))) Then .ListIndex = lCnt .Text = sComboItem .SelStart = Len(sText)
.SelLength = Len(sComboItem) - (Len(sText)) Exit For End If Next 'lCnt End With End Sub Private Sub Form_Load()
Me.Top = 300 Me.Left = 2500 UnloadChildren TableToCombo "dealer", combo_dealer, 0
grid_kunci_id_dealer = "" Dim kepala_dealer(6) As String Dim lebar_dealer(6) As Integer
Dim kepala_produk_dealer(5) As String Dim lebar_produk_dealer(5) As Integer grid_dealer.Clear
grid_produk_dealer.Clear kepala_dealer(1) = "" kepala_dealer(2) = "ID Dealer"
kepala_dealer(3) = "Nama" kepala_dealer(4) = "Alamat" kepala_dealer(5) = "Tlp" kepala_dealer(6) = "Limit"
lebar_dealer(1) = 0 lebar_dealer(2) = 1000 lebar_dealer(3) = 2070 lebar_dealer(4) = 2500 lebar_dealer(5) = 1200 lebar_dealer(6) = 1500 HeaderFlexGrid grid_dealer, 6, kepala_dealer(), lebar_dealer() TableToFlexGrid "dealer", grid_dealer, 6
kepala_produk_dealer(1) = "" kepala_produk_dealer(2) = "ID Dealer" kepala_produk_dealer(3) = "ID Produk Dealer"
kepala_produk_dealer(4) = "Produk" kepala_produk_dealer(5) = "Harga Beli" lebar_produk_dealer(1) = 0
lebar_produk_dealer(2) = 0 lebar_produk_dealer(3) = 2000 lebar_produk_dealer(4) = 4500 lebar_produk_dealer(5) = 1550 HeaderFlexGrid grid_produk_dealer, 5, kepala_produk_dealer(), lebar_produk_dealer() 'TableToFlexGrid_produk_dealer "produk_dealer", grid_produk_dealer, 5
End Sub Private Sub Form_Unload(Cancel As Integer) nama_grid = "" nama_cell = ""
keluar menu_admin_awal End Sub Private Sub grid_dealer_Click() pilih_record_dealer combo_dealer.Text = grid_kunci_id_dealer 'grid_produk_dealer.Clear
TableToFlexGrid_produk_dealer "produk_dealer", grid_produk_dealer, 5 End Sub Private Sub grid_dealer_DblClick() If grid_kunci_id_dealer = "" Then
info_status_bar ("Pilih dealer !") Else form_dealer_rubah_dealer.Show End If
End Sub Private Sub grid_dealer_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If grid_kunci_id_dealer = "" Then
info_status_bar ("Pilih dealer !") Else form_dealer_rubah_dealer.Show End If
End If End Sub Private Sub grid_dealer_SelChange() pilih_record_dealer
End Sub Private Sub grid_produk_dealer_Click() pilih_record_produk_dealer End Sub Private Sub grid_produk_dealer_DblClick() If grid_kunci_id_produk_dealer = "" Then info_status_bar ("Pilih dealer !") Else
form_dealer_rubah_produk_dealer.Show End If End Sub
Private Sub grid_produk_dealer_KeyPress(KeyAscii As Integer) If grid_kunci_id_produk_dealer = "" Then info_status_bar ("Pilih dealer !") Else
If KeyAscii = 13 Then form_dealer_rubah_produk_dealer.Show End If End If End Sub Private Sub grid_produk_dealer_SelChange() pilih_record_produk_dealer
End Sub Private Sub SSTab1_Click(PreviousTab As Integer) If SSTab1.Tab = 0 Then TableToFlexGrid "dealer", grid_dealer, 6
End If If SSTab1.Tab = 1 Then TableToFlexGrid_produk_dealer "produk_dealer", grid_produk_dealer, 5 End If End Sub Private Sub pilih_record_dealer() On Error Resume Next
Dim zbaris zbaris = grid_dealer.RowSel grid_kunci_id_dealer = grid_dealer.TextMatrix(zbaris, 1) nama_grid = grid_dealer.Name
nama_cell = grid_kunci_id_dealer 'info_status_bar_5 (nama_grid) info_status_bar ("Dealer - " + grid_kunci_id_dealer) End Sub
Private Sub pilih_record_produk_dealer() On Error Resume Next Dim zbaris zbaris = grid_produk_dealer.RowSel
grid_kunci_id_produk_dealer = grid_produk_dealer.TextMatrix(zbaris, 2) nama_grid = grid_produk_dealer.Name nama_cell = grid_kunci_id_produk_dealer 'info_status_bar_5 (nama_grid)
info_status_bar ("Produk dealer " + grid_kunci_id_produk_dealer) End Sub Private Sub combo_dealer_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 46 Then KeyCode = 0 'Disable the delete key miSelStart = combo_dealer.SelStart End Sub
• form_dealer_rubah_dealer
Private Sub Form_Activate()
txt_id_dealer.MaxLength = 5 txt_nama.MaxLength = 30 txt_alamat.MaxLength = 30 txt_tlp.MaxLength = 15
txt_limit.MaxLength = 10 End Sub Private Sub Form_Load() form_utama.Enabled = False
conn.Open sConnString Set rs = conn.Execute("SELECT * FROM dealer WHERE (ID_dealer ='" & grid_kunci_id_dealer & "')", , adCmdText) If rs.BOF And rs.EOF Then info_status_bar ("error") Unload Me
Else txt_id_dealer.Text = rs!ID_dealer txt_nama.Text = rs!nama txt_alamat.Text = rs!alamat
txt_tlp.Text = rs!tlp txt_limit.Text = rs!limit rs.Close conn.Close End If End Sub Private Sub Form_Unload(Cancel As Integer) keluar
End Sub Private Sub cmd_rubah_Click() On Error GoTo salah If txt_id_dealer.Text = "" Or txt_nama.Text = "" Or txt_alamat.Text = "" Or txt_tlp.Text = "" Or
txt_limit.Text = "" Then info_status_bar ("Ada field kosong !") txt_id_dealer.SetFocus Else
conn.Open sConnString Set rs = conn.Execute("UPDATE dealer SET ID_dealer='" & txt_id_dealer.Text & "', nama = '" & txt_nama.Text & "', alamat = '" & txt_alamat.Text & "', tlp ='" & txt_tlp.Text & "', limit = '" & txt_limit.Text & "' WHERE ID_dealer='" & grid_kunci_id_dealer & "'", , adCmdText)
conn.Close TableToFlexGrid "dealer", form_dealer.grid_dealer, 6 info_status_bar ("Data telah disimpan !") Unload Me
End If salah: If Err.Number = -2147217913 Then
info_status_bar ("Tanggal salah !") txt_id_dealer.SetFocus conn.Close ElseIf Err.Number = -2147217873 Then info_status_bar ("Data " + txt_id_dealer.Text + " Sudah ada !") txt_id_dealer.SetFocus conn.Close End If
End Sub Private Sub cmd_keluar_Click() keluar
Unload Me End Sub
Private Sub txt_alamat_KeyPress(KeyAscii As Integer) kunci_tertentu KeyAscii End Sub Private Sub txt_id_dealer_KeyPress(KeyAscii As Integer) kunci_tertentu KeyAscii End Sub Private Sub txt_limit_KeyPress(KeyAscii As Integer)
kunci_alphabet KeyAscii End Sub Private Sub txt_nama_KeyPress(KeyAscii As Integer) kunci_tertentu KeyAscii
End Sub
• form_dealer_rubah_produk_dealer
Private Sub Form_Activate() txt_id_dealer.MaxLength = 5 txt_nama.MaxLength = 30 txt_alamat.MaxLength = 30 txt_tlp.MaxLength = 15 txt_limit.MaxLength = 10 End Sub
Private Sub Form_Load() form_utama.Enabled = False conn.Open sConnString
Set rs = conn.Execute("SELECT * FROM dealer WHERE (ID_dealer ='" & grid_kunci_id_dealer & "')", , adCmdText) If rs.BOF And rs.EOF Then info_status_bar ("error") Unload Me Else txt_id_dealer.Text = rs!ID_dealer
txt_nama.Text = rs!nama txt_alamat.Text = rs!alamat txt_tlp.Text = rs!tlp txt_limit.Text = rs!limit
rs.Close conn.Close End If End Sub Private Sub Form_Unload(Cancel As Integer) keluar End Sub Private Sub cmd_rubah_Click()
On Error GoTo salah If txt_id_dealer.Text = "" Or txt_nama.Text = "" Or txt_alamat.Text = "" Or txt_tlp.Text = "" Or txt_limit.Text = "" Then info_status_bar ("Ada field kosong !")
txt_id_dealer.SetFocus Else conn.Open sConnString
Set rs = conn.Execute("UPDATE dealer SET ID_dealer='" & txt_id_dealer.Text & "', nama = '" & txt_nama.Text & "', alamat = '" & txt_alamat.Text & "', tlp ='" & txt_tlp.Text & "', limit = '" & txt_limit.Text & "' WHERE ID_dealer='" & grid_kunci_id_dealer & "'", , adCmdText) conn.Close TableToFlexGrid "dealer", form_dealer.grid_dealer, 6 info_status_bar ("Data telah disimpan !") Unload Me
End If salah: If Err.Number = -2147217913 Then
info_status_bar ("Tanggal salah !") txt_id_dealer.SetFocus conn.Close ElseIf Err.Number = -2147217873 Then info_status_bar ("Data " + txt_id_dealer.Text + " Sudah ada !") txt_id_dealer.SetFocus conn.Close End If
End Sub Private Sub cmd_keluar_Click() keluar
Unload Me End Sub
Private Sub txt_alamat_KeyPress(KeyAscii As Integer) kunci_tertentu KeyAscii End Sub Private Sub txt_id_dealer_KeyPress(KeyAscii As Integer)
kunci_tertentu KeyAscii End Sub Private Sub txt_limit_KeyPress(KeyAscii As Integer) kunci_alphabet KeyAscii
End Sub Private Sub txt_nama_KeyPress(KeyAscii As Integer) kunci_tertentu KeyAscii End Sub
• form_dealer_tambah_dealer
Private Sub cmd_simpan_Click() 'On Error GoTo salah If txt_id_dealer.Text = "" Or txt_nama.Text = "" Or txt_alamat.Text = "" Or txt_tlp.Text = "" Or
txt_limit.Text = "" Then info_status_bar ("Ada field kosong !") txt_id_dealer.SetFocus Else
conn.Open sConnString Set rs = conn.Execute("SELECT * FROM dealer WHERE ID_dealer= '" & txt_id_dealer.Text & "'", , adCmdText) With rs
If .BOF And .EOF Then
Set rs = conn.Execute("INSERT INTO dealer (ID_dealer, nama, alamat, tlp, limit) Values('" & txt_id_dealer.Text & "','" & txt_nama.Text & "','" & txt_alamat.Text & "','" & txt_tlp.Text & "','" & txt_limit.Text & "')", , adCmdText) conn.Close info_status_bar ("Data telah disimpan !") form_utama.Enabled = True
TableToFlexGrid "dealer", form_dealer.grid_dealer, 6 TableToCombo "dealer", form_dealer.combo_dealer, 0 Unload Me Else
info_status_bar ("Data sudah ada !") conn.Close End If End With End If 'salah: 'If Err.Number = -2147217913 Then 'info_status_bar ("Tanggal salah !")
'txt_tgl_masuk.SetFocus 'conn.Close 'End If
End Sub Private Sub Form_Activate() txt_id_dealer.MaxLength = 5
txt_nama.MaxLength = 30 txt_alamat.MaxLength = 30 txt_tlp.MaxLength = 15 txt_limit.MaxLength = 10
End Sub Private Sub Form_Load() form_utama.Enabled = False End Sub
Private Sub Form_Unload(Cancel As Integer) keluar End Sub Private Sub cmd_keluar_Click()
keluar