Upload
phamthuy
View
232
Download
0
Embed Size (px)
Citation preview
PENGEMBANGAN SISTEM INFORMASI PENJUALAN BERORIENTASI OBJEK
PADA PT.DISTRIVERSA BUANAMAS
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh
Gelar Sarjana Komputer
Oleh:
Agus Laswantianto
NIM: 104093002954
PROGRAM STUDI SISTEM INFORMASI FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA 2010 M / 1431 H
PENGEMBANGAN SISTEM INFORMASI PENJUALAN
BERORIENTASI OBJEK
PADA PT.DISTRIVERSA BUANAMAS
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh
Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
Agus Laswantianto
NIM: 104093002954
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
JAKARTA
2010 M / 1431 H
ii
PENGEMBANGAN SISTEM INFORMASI PENJUALAN
BERORIENTASI OBJEK
PADA PT.DISTRIVERSA BUANAMAS
Skripsi
Diajukan kepada Fakultas Sains dan Teknologi
Untuk Memenuhi Persyaratan Memperoleh
Gelar Sarjana Komputer (S.Kom)
Oleh:
Agus Laswantianto
NIM: 104093002954
Menyetujui,
Pembimbing I,
Ditdit N.Utama, MMSI, M.Com NIP. 19741129 200801 1 006
Pembimbing II,
Imam M.Shofi, MT NIP. 19720205 200801 1 010
Mengetahui,
Ketua Program Studi Sistem Informasi
A’ang Subiyakto, M.Kom NIP. 150 411 252
iii
PENGESAHAN UJIAN
Skripsi berjudul ”Pengembangan Sistem Informasi Penjualan Berorientasi
Objek Pada PT.Distriversa Buanamas” telah diujikan dan dinyatakan lulus
dalam sidang munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri
(UIN) Syarif Hidayatullah Jakarta pada hari Senin, 6 September 2010. Skripsi ini
telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata
Satu (S1) Program Studi Sistem Informasi.
Menyetujui, Penguji I
A’ang Subiyakto, M.Kom NIP. 150 411 252
Penguji II
Bayu Waspodo, MM NIP. 19740812 200801 1 001
Pembimbing I
Ditdit N.Utama, MMSI, M.Com NIP. 19741129 200801 1 006
Pembimbing II
Imam M.Shofi, MT NIP. 19720205 200801 1 010
Mengetahui,
Dekan Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta
Dr. Syopiansyah Jaya Putra, M.Sis NIP. 19680117 200112 1 001
Ketua Program Studi Sistem Informasi
A’ang Subiyakto, M.Kom NIP. 150 411 252
iv
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta, 6 September 2010
Agus Laswantianto
104093002954
v
ABSTRAK
AGUS LASWANTIANTO (104093002954). Pengembangan Sistem Informasi Penjualan Berorientasi Objek Pada PT.Distriversa Buanamas. Dibawah bimbingan Ditdit N Utama dan Imam M Shofi Sistem Informasi Penjualan adalah subsistem informasi bisnis yang mencakup kumpulan prosedur yang melaksanakan, mencatat, mengkalkulasi, membuat dokumen dan informasi penjualan untuk keperluan manajemen dan bagian lain yang berkepentingan, mulai dari diterimanya order penjualan sampai mencatat timbulnya tagihan/piutang dagang. PT. Distriversa Buanamas berdiri sejak tahun 1993, merupakan perusahaan yang bergerak dibidang farmasi, perusahaan ini menjual dan mendistribusikan berbagai jenis obat ke sejumlah rumah sakit, dokter praktik, dan apotek. Sistem Informasi Penjualan pada PT. Distriversa Buanamas sudah menggunakan komputer, namun dari analisis sistem berjalan didapatkan permasalahan dalam hal pengolahan data dan proses pencatatan transaksi penjualan yang masih dilakukan secara manual, yaitu pencatatan data pelanggan, data obat, data batch, data supir dan data kendaraan, pembuatan surat pesanan, faktur, surat jalan, retur, pembuatan laporan pesanan, laporan penjualan dan laporan retur. Permasalahan tersebut menyebabkan pegawai membutuhkan waktu yang lebih lama dalam menjalankan kegiatan penjualan, pendokumentasian transaksi-transaksi penjualan, penyelesaian laporan penjualan dan juga pihak-pihak terkait dalam memperoleh informasi yang dibutuhkan. Untuk memperbaiki sistem berjalan dibuatlah suatu sistem komputerisasi berbentuk windows application yang mengintegrasikan pencatatan transaksi dengan pengolahan data penjualan sehingga memudahkan pegawai dalam menjalankan kegiatan penjualan, pendokumentasian transaksi-transaksi penjualan dan penyelesaian laporan penjualan. Selain itu, sistem ini juga dirancang untuk mempermudah dan mempercepat pencarian data atau dokumen, yaitu dengan menggunakan kolom search (cari) untuk data pelanggan, obat, batch, supir, kendaraan dan surat pesanan. Pengembangan sistem ini menggunakan metode Rapid Application Diagram (RAD) dalam metode pengembangan sistem. Untuk analisis dan perancangan sistem digunakan pendekatan model-driven dengan menggunakan metode analisis dan desain berorientasi objek/Object-oriented analysis and design (OOAD) dan dimodelkan dengan UML (Unified Modelling Language) sebagai tools dalam analisis maupun perancangannya. Aplikasi yang dihasilkan adalah sebuah Sistem Informasi Penjualan PT.Distriversa Buanamas. Kata Kunci : Sistem Informasi Penjualan, PT.Distriversa Buanamas, Windows
Application, RAD, OOA, OOD, UML. Pustaka Acuan : (38, 1993-2008)
vi
KATA PENGANTAR
Bissmillahirrahmanirrahim
Alhamdulillah, penulis panjatkan kepada Allah SWT atas seluruh rahmat
dan karunia-Nya yang diberikan kepada penulis sehingga penulis dapat
melaksanakan penelitian skripsi ini dan menyelesaikan penulisannya dengan
lancar. Shalawat serta salam selalu tersampaikan kepada Rasulullah SAW yang
telah menyampaikan ajaran Islam sehingga dapat menyejukkan hati ini dalam
menyelesaikan laporan ini.
Skripsi ini berjudul “Pengembangan Sistem Informasi Penjualan
Berorientasi Objek Pada PT.Distriversa Buanamas”, yang disusun untuk
memenuhi salah satu syarat dalam menyelesaikan program S1 pada Program Studi
Sistem Informasi di Universitas Islam Negeri Syarif Hidayatullah Jakarta.
Pada kesempatan ini, penulis ingin menyampaikan ucapan terima kasih
kepada pihak-pihak yang telah mendukung terselesaikannya skripsi ini. Karena
tanpa dukungan dari mereka, penulis tidak akan mampu menyelesaikan laporan
ini dengan baik. Mereka yang telah mendukung penulis adalah:
1. Bapak DR. Syopiansyah Jaya Putra, M.SIS, selaku Dekan Fakultas Sains
dan Teknologi, UIN Syarif Hidayatullah Jakarta.
2. Bapak Aang Subiyakto, M.Kom, selaku Ketua Program Studi Sistem
Informasi dan Ibu Nur Aeni Hidayah, MMSI, selaku Sekretaris Program
Studi Sistem Informasi Fakultas Sains dan Teknologi, UIN Syarif
Hidayatullah Jakarta, yang telah banyak memberikan informasi mengenai
hal-hal yang berhubungan dengan proses penyelesaian skripsi ini
vii
3. Bapak Ditdit Nugraha Utama, MMSI, M.Com selaku dosen pembimbing I
dan Bapak Imam M Shofi, MT selaku dosen pembimbing II, yang selalu
memberikan bimbingan, semangat dan kesabaran kepada Penulis dalam
proses menyelesaikan skripsi ini dan selalu meluangkan waktunya untuk
direpotkan oleh Penulis.
4. Seluruh jajaran Dewan Direksi PT. Distriversa Buanamas yang telah
mengizinkan kepada Penulis untuk melakukan penelitian di kantor.
5. Ibu dan Bapak serta kakak-kakakku tersayang dan para keponakanku yang
telah memberi dukungan dan motivasi baik moril maupun materil.
6. Kekasih tercinta, Regina Sari, yang selalu memberikan solusi dan motivasi
dalam menyelesaikan penulisan Skripsi ini.
7. Sahabat-sahabatku, saudaraku di SI B 2004 ”Mantabbun”, Achmad
Taufik, Hadi Nugroho, Nandhika, Fahri, Asqo, Abdullah, Apiet, Didit,
Esa, Ryan Pohan, Ulfah, Indri, Rika, Sandra, Kosmara, Isro, Angga,
Syahril, Murni, Nelly, Dika Rizky, Ichsan, Aris, Daus, terima kasih kawan
atas bantuannya, semangatnya, saran dan kritiknya, dukungan dan
motivasinya yang diberikan kepada penulis.
Akhir kata, semoga skripsi ini bermanfaat khususnya kepada penulis
sendiri dan bagi yang membacanya.
Jakarta, 6 September 2010 / 27 Ramadhan 1431 H
Agus Laswantianto
104093002954
viii
DAFTAR ISI
Halaman Judul .............................................................................................. ii
Halaman Persetujuan Pembimbing ............................................................ iii
Halaman Pengesahan Ujian .......................................................................... iv
Halaman Pernyataan .................................................................................... v
Abstrak ........................................................................................................... vi
Kata Pengantar .............................................................................................. vii
Daftar Isi ........................................................................................................ ix
Daftar Gambar .............................................................................................. xiii
Daftar Tabel ................................................................................................... xvii
Daftar Simbol ................................................................................................ xviii
Daftar Lampiran ........................................................................................... xxiv
BAB I PENDAHULUAN
1.1 Latar Belakang .................................................................................... 1
1.2 Rumusan Masalah ............................................................................... 5
1.3 Batasan Masalah ................................................................................. 5
1.4 Ruang Lingkup .................................................................................... 6
1.5 Tujuan Penelitian ................................................................................ 7
1.6 Manfaat Penelitian .............................................................................. 7
1.7 Metodologi Penulisan ......................................................................... 8
1.7.1 Metode Pegumpulan Data .......................................................... 8
1.7.2 Metodologi Pengembangan Sistem ............................................ 8
1.8 Sistematika Penulisan ......................................................................... 10
BAB II LANDASAN TEORI
2.1 Konsep Dasar Sistem .......................................................................... 11
2.1.1 Konsep Sistem ............................................................................ 11
2.1.2 Karakteristik Sistem ................................................................... 12
2.1.3 Klasifikasi Sistem ...................................................................... 14
ix
2.2 Konsep Dasar Informasi ...................................................................... 15
2.2.1 Data dan Informasi ..................................................................... 15
2.2.2 Siklus Informasi ......................................................................... 15
2.2.3 Kualitas Informasi ...................................................................... 17
2.2.4 Nilai Informasi ........................................................................... 19
2.3 Konsep Dasar Sistem Informasi .......................................................... 19
2.3.1 Definisi Sistem Informasi .......................................................... 19
2.3.2 Komponen Sistem Informasi ..................................................... 20
2.4 Konsep Dasar Sistem Informasi Penjualan ......................................... 23
2.4.1 Definisi Penjualan ....................................................................... 23
2.4.2 Sistem Informasi Penjualan ........................................................ 24
2.4.3 Contoh Sistem Informasi Penjualan ........................................... 25
2.5 Metodologi Berorientasi Objek............................................................ 30
2.5.1 Definisi Metodologi .................................................................... 30
2.5.2 Konsep Dasar Objek dan Kelas................................................... 30
2.5.3 Definisi Berorientasi Objek ........................................................ 32
2.5.3.1 Istilah berorientasi Objek ............................................... 32
2.5.4 Definisi Metodologi Berorientasi Objek..................................... 35
2.5.5 Keunggulan Metodologi Berorientasi Objek .............................. 35
2.6 Metodologi Pengembangan Sistem ..................................................... 37
2.6.1 Definisi Pengembangan Sistem................................................... 37
2.6.2 Konsep Dasar Object Oriented Analysis and Design (OOAD) . 38
2.6.2.1 Definisi Object Oriented Analysis (OOA) ...................... 38
2.6.2.2 Definisi Object Oriented Design (OOD) ........................ 38
2.7 Alur Pengembangan Sistem ................................................................. 39
2.7.1 Konsep Dasar Rapid Application Development (RAD) ............. 39
2.7.2 Konsep Dasar Pendekatan Analisis Model-Driven ..................... 42
2.7.2.1 Definisi Pendekatan Model-Driven................................. 42
2.7.2.2 Teknik Pengembangan Model-Driven ............................ 43
2.8 Unified Modelling Language (UML)................................................... 44
2.8.1 Sejarah UML............................................................................... 44
2.8.2 Definisi UML.............................................................................. 45
x
2.8.3 Pengenalan Diagram-Diagram dalam UML ............................... 45
2.9 Rich Picture.......................................................................................... 51
2.10 Navigation Diagram .......................................................................... 51
2.11 System Choice .................................................................................... 52
2.11.1 System Definition ...................................................................... 52
2.11.2 FACTOR Criterion ................................................................... 53
2.12 Basis Data dan Database Management System (DBMS) .................. 53
2.12.1 Basis Data (Database)............................................................... 53
2.12.2 Database Management System (DBMS) .................................. 56
2.12.2.1 Keunggulan dan Kelemahan DBMS............................. 57
2.12.2.1.1 Keunggulan DBMS........................................ 57
2.12.2.1.2 Kelemahan DBMS ......................................... 58
2.12.3 SQL (Structured Query Language)........................................... 59
2.12.4 Komponen Bahasa Basis Data .................................................. 59
2.13 MySQL............................................................................................... 61
2.13.1 Mengenal MySQL..................................................................... 61
2.13.2 Kelebihan MySQL .................................................................... 62
2.14 Visual Basic .NET (VB .NET)........................................................... 64
2.14.1 Pengenalan VB .NET................................................................ 64
2.14.2 VB .NET Integrated Development Environment (IDE)............ 65
BAB III METODOLOGI PENELITIAN
3.1 Metodologi Penelitian .......................................................................... 69
3.2 Metodologi Pengumpulan Data ........................................................... 69
3.3 Metodologi Pengembangan Sistem...................................................... 71
3.4 Kerangka Pemikiran............................................................................. 79
BAB IV HASIL DAN PEMBAHASAN
4.1 Gambaran Umum Perusahaan.............................................................. 84
4.2 Mendefinisikan Lingkup (Scope Definition)........................................ 87
4.3 Analisis Sistem (System Analysis) ...................................................... 89
4.3.1 Analisis Masalah (Problem Analysis) ......................................... 90
xi
4.3.1.1 Rich Picture..................................................................... 91
4.3.1.2 Activity Diagram ............................................................. 94
4.3.2 Analisis Persyaratan (Requirement Analysis) ............................. 101
4.3.2.1 Functional Requirement.................................................. 101
4.3.2.2 Nonfunctional Requirement ............................................ 102
4.3.3 Analisis Keputusan (Decision Analysis) ..................................... 103
4.4 Perancangan Sistem (Design) .............................................................. 105
4.4.1 Use Case Diagram ...................................................................... 105
4.4.2 Activity Diagram ......................................................................... 112
4.4.3 Class Diagram dan Spesifikasi Database................................... 132
4.4.3.1 Class Diagram ................................................................ 132
4.4.3.2 Spesifikasi Database ....................................................... 133
4.4.4 Statechart Diagram ..................................................................... 141
4.4.5 Sequence Diagram ...................................................................... 150
4.4.6 Rancangan Antarmuka ................................................................ 173
4.4.7 Navigation Diagram ................................................................... 184
4.5 Implementasi Sistem (Construction & Testing)................................... 192
4.5.1 Pemrograman .............................................................................. 193
4.5.2 Pengujian..................................................................................... 193
4.5.3 Instalasi Perangkat ...................................................................... 201
BAB V PENUTUP
5.1 Simpulan .............................................................................................. 203
5.2 Saran..................................................................................................... 205
Daftar Pustaka ............................................................................................... 206
Lampiran ....................................................................................................... 210
xii
DAFTAR GAMBAR
Gambar 2.1 Siklus Informasi Menurut Jogiyanto ................................................. 16
Gambar 2.2 Siklus informasi menurut Ladjamudin............................................... 16
Gambar 2.3 Pilar kualitas informasi....................................................................... 17
Gambar 2.4 Blok sistem informasi yang berinteraksi............................................ 21
Gambar 2.5 Form Input Obat................................................................................. 25
Gambar 2.6 Form Input Pemasok .......................................................................... 26
Gambar 2.7 Form Input Pembeli ........................................................................... 26
Gambar 2.8 Form Input Transaksi Penjualan ........................................................ 27
Gambar 2.9 Form Input Retur Penjualan............................................................... 27
Gambar 2.10 Laporan Stok Obat ........................................................................... 28
Gambar 2.11 Laporan Penjualan............................................................................ 28
Gambar 2.12 Laporan Retur Penjualan.................................................................. 29
Gambar 2.13 Strategi Rapid Application Development (RAD) ............................. 40
Gambar 2.14 Sejarah perkembangan UML ........................................................... 44
Gambar 2.15 Contoh diagram model use case....................................................... 46
Gambar 2.16 Contoh aliran kerja dengan activity diagram ................................... 48
Gambar 2.17 Bentuk umum class diagram ........................................................... 50
Gambar 2.18 Sub aktifitas dalam memilih sistem ................................................. 52
Gambar 2.19 Jenjang dari data............................................................................... 54
Gambar 2.20 Logo MySQL ................................................................................... 62
Gambar 2.21 IDE untuk project berbasis Windows .............................................. 66
Gambar 3.1 Strategi Rapid Application Development (RAD) ............................... 72
Gambar 3.2 Alur Kerangka Pemikiran................................................................... 80
Gambar 4.1 Logo Perusahaan ............................................................................... 84
Gambar 4.2 Struktur Organisasi PT. Distriversa Buanamas................................. 85
Gambar 4.3 Rich Picture proses bisnis sistem berjalan ........................................ 92
Gambar 4.4 Activity Diagram keseluruhan aktifitas sistem berjalan.................... 95
Gambar 4.5 Activity Diagram proses penerimaan pesanan obat........................... 96
Gambar 4.6 Activity Diagram proses pembayaran obat........................................ 97
Gambar 4.7 Activity Diagram proses pengiriman obat......................................... 98
xiii
Gambar 4.8 Activity Diagram proses retur obat.................................................... 99
Gambar 4.9 Activity Diagram proses pembuatan laporan .................................... 100
Gambar 4.10 Use case diagram perancangan sistem............................................ 105
Gambar 4.11 Use case diagram update file master .............................................. 106
Gambar 4.12 Use case diagram entry file transaksi .............................................. 108
Gambar 4.13 Use case diagram cetak laporan....................................................... 111
Gambar 4.14 Activity diagram keseluruhan use case ............................................ 113
Gambar 4.15 Activity diagram dari use case update data pelanggan .................... 114
Gambar 4.16 Activity diagram dari use case update data obat .............................. 115
Gambar 4.17 Activity diagram dari use case update data batch ............................ 117
Gambar 4.18 Activity diagram dari use case update data supir............................. 119
Gambar 4.19 Activity Diagram dari use case update data kendaraan.................... 121
Gambar 4.20 Activity diagram dari use case entry surat pesanan.......................... 122
Gambar 4.21 Activity diagram dari use case entry faktur...................................... 124
Gambar 4.22 Activity diagram dari use case entry surat jalan............................... 125
Gambar 4.23 Activity diagram dari use case entry retur ....................................... 127
Gambar 4.24 Activity diagram dari use case cetak laporan penjualan .................. 128
Gambar 4.25 Activity diagram dari use case cetak laporan pesanan ..................... 129
Gambar 4.26 Activity diagram dari use case cetak laporan retur .......................... 130
Gambar 4.27 Class Diagram ................................................................................. 132
Gambar 4.28 Statechart Diagram Update Data Pelanggan................................... 141
Gambar 4.29 Statechart DiagramUpdate Data Obat............................................. 141
Gambar 4.30 Statechart Diagram Update Data Batch .......................................... 142
Gambar 4.31 Statechart Diagram Update Data Supir .......................................... 143
Gambar 4.32 Statechart Diagram Update Data Kendaraan .................................. 144
Gambar 4.33 Statechart Diagram Entry Surat Pesanan......................................... 144
Gambar 4.34 Statechart Diagram Entry Faktur..................................................... 145
Gambar 4.35 Statechart Diagram Entry Surat Jalan ............................................. 146
Gambar 4.36 Statechart Diagram Entry Retur ...................................................... 146
Gambar 4.37 Statechart Diagram Cetak Laporan Penjualan................................. 147
Gambar 4.38 Statechart Diagram Cetak Laporan Pesanan ................................... 148
Gambar 4.39 Statechart Diagram Cetak Laporan Retur ....................................... 148
xiv
Gambar 4.40 SequenceDiagram Update Data Pelanggan ..................................... 150
Gambar 4.41 SequenceDiagram Update Data Obat .............................................. 151
Gambar 4.42 SequenceDiagram Update Data Batch............................................. 152
Gambar 4.43 SequenceDiagram Update Data supir .............................................. 154
Gambar 4.44 SequenceDiagram Update Data Kendaraan..................................... 155
Gambar 4.45 SequenceDiagram Entry Surat Pesanan........................................... 157
Gambar 4.46 SequenceDiagram Entry Faktur ....................................................... 159
Gambar 4.47 SequenceDiagram Entry Surat Jalan................................................ 161
Gambar 4.48 SequenceDiagram Entry Retur......................................................... 164
Gambar 4.49 SequenceDiagram Cetak Laporan Penjualan................................... 167
Gambar 4.50 SequenceDiagram Cetak Laporan Pesanan...................................... 169
Gambar 4.51 SequenceDiagram Cetak Laporan Retur.......................................... 171
Gambar 4.52 Rancangan Halaman Menu Utama................................................... 173
Gambar 4.53 Rancangan Halaman Form Pelanggan ............................................. 173
Gambar 4.54 Rancangan Halaman Form Obat ...................................................... 174
Gambar 4.55 Rancangan Halaman Form Batch .................................................... 174
Gambar 4.56 Rancangan Halaman Form Supir ..................................................... 175
Gambar 4.57 Rancangan Halaman Form Kendaraan ............................................ 175
Gambar 4.58 Rancangan Halaman Form Surat Pesanan ....................................... 176
Gambar 4.59 Rancangan Halaman Form Faktur ................................................... 176
Gambar 4.60 Rancangan Halaman Form Surat Jalan ............................................ 177
Gambar 4.61 Rancangan Halaman Retur............................................................... 177
Gambar 4.62 Rancangan Halaman Laporan Penjualan.......................................... 178
Gambar 4.63 Rancangan Halaman laporan Pesanan.............................................. 178
Gambar 4.64 Rancangan Halaman Laporan Retur ................................................ 179
Gambar 4.65 Rancangan Halaman Keluaran Surat Pesanan ................................. 179
Gambar 4.66 Rancangan Halaman Keluaran Faktur.............................................. 180
Gambar 4.67 Rancangan Halaman Keluaran Surat Jalan ...................................... 181
Gambar 4.68 Rancangan Halaman Keluaran Retur ............................................... 182
Gambar 4.69 Rancangan Halaman Keluaran Laporan Penjualan.......................... 182
Gambar 4.70 Rancangan Halaman Keluaran Laporan Pesanan............................. 183
Gambar 4.71 Rancangan Halaman Keluaran Laporan Retur................................. 183
xv
Gambar 4.72 Navigation Diagram Update Data Pelanggan.................................. 184
Gambar 4.73 Navigation Diagram Update Data Obat........................................... 185
Gambar 4.74 Navigation Diagram Update Data Batch ......................................... 186
Gambar 4.75 Navigation Diagram Update Data Supir.......................................... 187
Gambar 4.76 Navigation Diagram Update Data Kendaraan ................................ 188
Gambar 4.77 Navigation Diagram Entry Surat Pesanan ....................................... 189
Gambar 4.78 Navigation Diagram Entry Faktur ................................................... 190
Gambar 4.79 Navigation Diagram Entry Surat Jalan ............................................ 190
Gambar 4.80 Navigation Diagram Entry Retur..................................................... 191
Gambar 4.81 Navigation Diagram Cetak Laporan Penjualan ............................... 191
Gambar 4.82 Navigation Diagram Cetak Laporan Pesanan.................................. 192
Gambar 4.83 Navigation Diagram Cetak Laporan Retur ...................................... 192
xvi
DAFTAR TABEL
Tabel 4.1 Nonfunctional Requirements.................................................................. 102
Tabel 4.2 Pelanggan............................................................................................... 133
Tabel 4.3 Obat........................................................................................................ 134
Tabel 4.4 Batch ...................................................................................................... 134
Tabel 4.5 Supir ....................................................................................................... 135
Tabel 4.6 Kendaraan .............................................................................................. 136
Tabel 4.7 Surat Pesanan ......................................................................................... 136
Tabel 4.8 Isi............................................................................................................ 137
Tabel 4.9 Faktur ..................................................................................................... 138
Tabel 4.10 Surat Jalan ............................................................................................ 138
Tabel 4.11 DetilSJ.................................................................................................. 139
Tabel 4.12 Retur..................................................................................................... 140
Tabel 4.13 Kembali................................................................................................ 140
Tabel 4.14 Tabel Uji Coba Sistem Informasi Penjualan........................................ 193
xvii
DAFTAR SIMBOL
SIMBOL USECASE MODEL DIAGRAM
Notasi Keterangan
Use case
Actor
Alternative
symbol for
actor
Participation
Group of Use
case
Sumber : Mathiassen et al, 2000
xviii
SIMBOL ACTIVITY DIAGRAM
Notasi Keterangan
Activity
Initiate Activities
Start of the Process
Termination of the Process
Synchronization Bar
Decision Activity
Sumber: Whitten et al, 2004
xix
SIMBOL SEQUENCE DIAGRAM
Notasi Keterangan
Lifeline for an object
Recursive call and return
Message in the form of an event
Procedure call
Return
Destruction of an object
Sumber : Mathiassen et al, 2000
xx
SIMBOL CLASS DIAGRAM
Notasi Keterangan
Class
Abstract Class
Cluster With description
of content
Cluster Without
description of content
Generalization
Aggregation
Association
Sumber : Mathiassen et al, 2000
xxi
SIMBOL STATECHART DIAGRAM
Notasi Keterangan
State
State
Initial State
Final State
Transition with event and
condition
State with (disjoin) substate
Sumber : Mathiassen et al, 2000
xxii
SIMBOL NAVIGATION DIAGRAM
Notasi Keterangan
Window
State with icon for window
State transition between
windows with triggering
actions
Sumber : Mathiassen et al, 2000
xxiii
xxiv
DAFTAR LAMPIRAN
Lampiran 1 Surat Keterangan Penelitian ............................................................... 210
Lampiran 2 Daftar Pertanyaan dan Hasil Wawancara ........................................... 212
Lampiran 3 Tampilan Aplikasi .............................................................................. 217
Lampiran 4 Form Bukti Transaksi Sistem Berjalan............................................... 228
Lampiran 5 Source Code........................................................................................ 231
BAB I
PENDAHULUAN
1.1 Latar Belakang
Teknologi Informasi adalah suatu teknologi yang digunakan untuk
mengolah data (memproses, mendapatkan, menyusun, menyimpan, memanipulasi
data) dalam berbagai cara untuk menghasilkan informasi yang berkualitas, yaitu
informasi yang relevan, akurat dan tepat waktu, yang digunakan untuk keperluan
pribadi, bisnis, dan pemerintahan dan merupakan informasi yang strategis untuk
pengambilan keputusan. Teknologi ini menggunakan seperangkat komputer untuk
mengolah data, sistem jaringan untuk menghubungkan satu komputer dengan
komputer yang lainnya sesuai dengan kebutuhan, dan teknologi telekomunikasi
digunakan agar data dapat disebar dan diakses secara global (Wardiana, 2002).
Dengan berkembangnya teknologi yang sangat pesat dewasa ini dimana
hampir semua sektor kehidupan memanfaatkan dan tergantung kepada kemajuan
teknologi khususnya teknologi komputer, para pengembang sistem informasi
dituntut untuk menyajikan software aplikasi sistem informasi yang lebih kompleks
dan berkualitas tinggi untuk mendukung perkembangan dunia usaha yang terus
berkembang saat ini. Untuk merancang aplikasi sistem informasi, perlu adanya
analisis sebelum sistem informasi tersebut dirancang. Salah satunya adalah
analisis berorientasi objek. Analisis berorientasi objek adalah pendekatan yang
digunakan untuk mempelajari objek yang sudah ada untuk mengetahui apakah
mereka dapat digunakan kembali atau diadaptasi untuk pemakaian baru. Analisis
berorientasi objek juga dapat digunakan untuk menentukan satu objek baru atau
1
yang dimodifikasi yang akan digabung dengan objek yang sudah ada ke dalam
satu aplikasi komputasi bisnis yang sangat berharga (Whitten et al, 2004).
Industri farmasi nasional semakin menggeliat. Akhir-akhir ini tercatat ada
beberapa perusahaan farmasi melakukan manuver bisnisnya untuk dapat eksis dan
bersaing di pasar nasional. Ke depan, tantangan dan tingkat persaingan obat bagi
industri farmasi lokal cukup berat mengingat begitu besarnya ketergantungan
industri farmasi dalam negeri terhadap sumber-sumber bahan baku dari luar
negeri (Andra, 2007).
Tantangan berat yang dialami industri farmasi, pada saat yang sama juga
berimbas pada perusahaan-perusahaan distributor farmasi atau distributor obat,
terutama seperti yang dihadapi kalangan distributor lokal yang memiliki daya
saing rendah. Pasalnya, ketimpangan yang tajam antara jumlah perusahaan besar
farmasi dengan jumlah distributor obat, apotek dan toko obat semakin kurang
kondusif bagi perkembangan usaha (Insa, 2003). Menurut data Gabungan
Perusahaan (GP) Farmasi tahun 2006, distributor farmasi sudah mencapai 2.243.
Sedangkan jumlah retailer-nya sekitar 5.695 apotek dan 5.513 toko obat besar dan
kecil (Saputra, 2006).
Peningkatan jumlah Perusahaan Besar Farmasi (PBF) yang sangat
dramatis, selain karena rata-rata pabrik obat mendirikan PBF sendiri, juga lebih
dikarenakan regulasi pemerintah yang memungkinkan perusahaan-perusahaan
yang tidak berbasis industri farmasi untuk mendirikan PBF. Jadi, meski jumlah
pabrik obat tidak bertambah, sebaliknya malah berkurang, namun jumlah PBF
terus meningkat (Insa, 2003).
2
Dalam kondisi seperti itu, kalangan distributor semakin dituntut untuk
meningkatkan daya saingnya, khususnya melalui pengelolaan yang baik serta
didukung oleh penerapan sistem teknologi informasi (TI) yang tepat dan strategis.
Meskipun hal itu juga tidak mudah, baik tidak melakukannya maupun setelah
diterapkan, tantangan skala ekonomis yang wajar pun belum mampu terpenuhi
dengan baik. Artinya, ketimpangan yang dialami sekarang ini harus ada solusinya,
sehingga persaingan dapat berjalan dengan lebih baik.
Tantangan ke depan, khususnya untuk kalangan distributor obat adalah
kemampuan dalam meningkatkan daya saing, salah satunya melalui kegiatan
pendistribusian yang baik, yang didukung oleh penerapan teknologi informasi.
Penerapan TI akan berdampak pada meningkatnya kemampuan manajemen dalam
mengambil berbagai keputusan strategis karena berdasarkan data dan informasi
yang akurat dan riil, yang dapat tersaji secara lebih lengkap, bervariasi dan lebih
cepat. Begitu juga kalangan distributor, untuk juga membangun sistem
pendistribusian yang efisien, administrasi yang baik dan didukung data dan
informasi yang akurat, serta proses pengambilan keputusan yang tepat dan cepat.
PT. Distriversa Buanamas berdiri sejak tahun 1993. Merupakan
perusahaan yang bergerak dibidang farmasi. Perusahaan ini menjual dan
mendistribusikan berbagai jenis obat ke sejumlah rumah sakit, dokter praktik, dan
apotek. Jenis obat yang dijual dan didistribusikan adalah jenis Obat Keras. Obat
Keras ditandai dengan bundaran merah pada kemasannya, yang berarti bahwa
obat tesebut harus dikonsumsi menggunakan resep dokter (Sirait, 2001).
Sistem Informasi Penjualan adalah subsistem informasi bisnis yang
mencakup kumpulan prosedur yang melaksanakan, mencatat, mengkalkulasi,
3
membuat dokumen dan informasi penjualan untuk keperluan manajemen dan
bagian lain yang berkepentingan, mulai dari diterimanya order penjualan sampai
mencatat timbulnya tagihan/piutang dagang (Achun, 2007).
Prosedur penjualan melibatkan beberapa bagian dalam perusahaan dengan
maksud agar transaksi penjualan yang terjadi dapat diawasi dengan baik. Dalam
sistem berjalan sesungguhnya terdapat unit-unit fungsional namun belum
mendukung arus informasi dapat berjalan dengan baik. Hal ini merupakan salah
satu hambatan yang menyebabkan proses pencatatan transaksi tidak berjalan
sebagaimana mestinya.
Sistem Informasi Penjualan pada PT. Distriversa Buanamas sudah
menggunakan komputer, namun masih memiliki banyak kekurangan, yaitu dalam
hal pengolahan data maupun proses pencatatan transaksi penjualan. Hal tersebut
menyulitkan pegawai dalam menjalankan kegiatan penjualan dan juga pihak-
pihak terkait dalam memperoleh informasi yang dibutuhkan .
Berdasarkan uraian di atas, penting untuk dilakukan analisis terhadap
kekurangan dari sistem berjalan dan kemudian akan dirancang sebuah sistem baru
berorientasi objek. Sesuai dengan permasalahan dan kebutuhan pengolahan data
tersebut, perlu diberikan suatu usulan mengenai rancangan Sistem Informasi
Penjualan dengan judul “ Pengembangan Sistem Informasi Penjualan
Berorientasi Objek Pada PT. Distriversa Buanamas “.
4
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan di atas, terdapat beberapa
permasalahan yang sering terjadi pada sistem berjalan, antara lain:
1. Bagaimana mendapatkan informasi data obat, data pelanggan, dan data
penjualan yang dibutuhkan pegawai maupun pihak terkait lainnya secara
cepat dan mudah?
2. Bagaimana mengelola data jumlah obat yang terjual untuk membantu dalam
perencanaan persediaan obat selanjutnya?
3. Sering terjadinya kesalahan dalam perhitungan penjualan.
4. Pembuatan bukti transaksi penjualan dengan proses pencatatan yang
berulang-ulang.
5. Bagaimana merancang database untuk memudahkan kegiatan pengelolaan
data penjualan?
6. Belum tersedianya suatu aplikasi yang dapat membantu pegawai dalam
pembuatan dan penyajian laporan pesanan, laporan penjualan dan laporan
retur.
1.3 Batasan Masalah
Untuk lebih memfokuskan penelitian ini, khususnya pada PT. Distriversa
Buanamas, permasalahan dibatasi sebagai berikut:
1. Pencarian data pelanggan, data obat, data batch, data supir, data kendaraan
dan surat pesanan.
2. Pengelolaan data jumlah obat.
3. Perhitungan penjualan obat.
5
4. Pembuatan bukti transaksi penjualan.
5. Pengelolaan database penjualan.
6. Pembuatan dan penyajian laporan penjualan, laporan pemesanan dan laporan
retur.
Sistem ini terkait dengan bagian pembelian dan bagian gudang, namun
tidak membahas permasalahan bagian pembelian untuk memenuhi persediaan di
bagian gudang. Selain itu, sistem ini juga tidak membahas komunikasi serta
keamanan data yang terkait dengan sistem ini secara terinci.
1.4 Ruang lingkup
Penelitian ini dilakukan dengan ruang lingkup seputar sistem penjualan.
Dilaksanakan pada tanggal 15 September 2008 s.d 15 Desember 2008, bertempat
di PT. Distriversa Buanamas Jl. Darmawangsa Raya V No. 22 Jakarta Selatan.
Untuk mendukung perancangan aplikasi tersebut, digunakan Microsoft Visual
Basic .Net sebagai software pemrograman karena mempertahankan kemudahan
dan kesederhanaan dari VB versi sebelumnya ditambah dengan kemampuan
berorientasi objek diantaranya mendukung abstraksi, enkapsulasi, inheritance,
constructors, polymorphism dan overloading (Hermawan, 2004). MySQL sebagai
database karena didukung oleh driver ODBC, artinya database MySQL dapat
diakses menggunakan aplikasi apa saja termasuk berupa visual seperti Delphi
maupun Visual Basic (Nugroho, 2005).
6
1.5 Tujuan Penelitian
Tujuan dari diadakannya penelitian dan perancangan sistem informasi
penjualan ini adalah:
1. Menganalisis kebutuhan informasi yang diperlukan PT. Distriversa
Buanamas agar kelemahan-kelemahan yang ada pada sistem berjalan dapat
diketahui.
2. Merancang sistem penjualan berorientasi objek yang dapat mencakup
seluruh kegiatan penjualan PT. Distriversa Buanamas.
3. Mengembangkan sistem penjualan berorientasi objek yang terintegrasi.
4. Mengimplementasikan sistem penjualan berorientasi objek yang dapat
menunjang kegiatan penjualan PT. Distriversa Buanamas.
1.6 Manfaat Penelitian
Adapun manfaat yang didapat dari penelitian skripsi ini adalah sebagai
berikut:
1. Penulisan skripsi ini dapat bermanfaat bagi pihak lain atau pembaca sebagai
media informasi atau referensi penelitian berikutnya.
2. Dapat memahami konsep Sistem Informasi Penjualan dengan metode
analisis dan desain berorientasi objek.
3. Dapat memahami rancang bangun Sistem Informasi Penjualan dengan
metode analisis dan desain berorientasi objek.
7
1.7 Metode Penelitian
1.7.1 Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penulisan skripsi ini
adalah sebagai berikut:
a. Metode Studi Pustaka
Pengumpulan data secara teoritis yang diperoleh dari berbagai sumber media
cetak maupun elektronik sebagai bahan perbandingan yang dapat dijadikan
acuan pembahasan masalah.
b. Metode Observasi
Pengumpulan data dan infomasi dengan cara meninjau dan mengamati
secara langsung terhadap hal-hal yang berkaitan dengan penjualan.
c. Metode Wawancara
Pengumpulan data yang dilakukan dengan cara mengadakan tanya jawab
dengan bagian penjualan untuk mengetahui hal-hal yang berkaitan dengan
kegiatan penjualan.
1.7.2 Metode Pengembangan Sistem
Metode pengembangan sistem yang digunakan adalah metode Rapid
Application Development (RAD)/ Pengembangan Aplikasi (Whitten et al, 2004):
a. Scope Definition (Definisi Lingkup)
Menggambarkan masalah, menentukan ukuran dan batas-batas proyek.
b. Analysis (Analisis Sistem)
Membuat analisis dan memahami sistem penjualan yang sedang berjalan
dan analisis sistem yang diusulkan. Menggunakan pendekatan analisis
8
model-driven (penggunaan gambar, diagram, atau grafis dalam
mengkomunikasikan suatu masalah, memecahkan masalah, persyaratan-
persyaratan bisnis, dan solusi-solusi bisnis), metode yang digunakan adalah
analisis berorientasi objek / object oriented analysis (OOA) dan dimodelkan
dengan menggunakan Unified Modelling Language (UML) sebagai tools-
nya yaitu Activity Diagram.
c. Design (Perancangan Sistem)
Mengidentifikasi solusi, kemudian membuat desain proses bisnis dan desain
pemrograman untuk data-data yang telah didapatkan menggunakan
pendekatan model-driven, metode yang digunakan adalah desain berorientasi
objek / Object Oriented Design (OOD) dan UML sebagai tools pemodelan
sistem.
1) Use Case Diagram
2) Activity Diagram
3) Class Diagram
4) Spesifikasi database
5) Statechart Diagram
6) Sequence Diagram
d. Construction & Testing (Implementasi Sistem)
Membuat sistem informasi dengan software pendukung kemudian
mengujinya.
9
10
1.8 Sistematika Penulisan
Penulisan skripsi ini terdiri dari lima bab, dimana tiap-tiap bab
menjelaskan secara garis besar penulisan sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisikan latar belakang, rumusan masalah, batasan masalah, ruang
lingkup, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika
penulisan.
BAB II LANDASAN TEORI
Bab ini menjelaskan teori-teori yang relevan dalam menganalisis dan
merancang sistem yang diperoleh dari berbagai sumber seperti buku referensi
maupun internet yang menjadi landasan dalam penulisan skripsi ini.
BAB III METODE PENELITIAN
Bab ini membahas metode pengumpulan data dan tahapan pengembangan
sistem yang digunakan. Pengembangan sistem pada penelitian ini menggunakan
alur pengembangan sistem Rapid Application Diagram (RAD).
BAB IV HASIL DAN PEMBAHASAN
Bab ini membahas analisis, perancangan, implementasi serta pengujian
sistem yang dibuat. Analisis dan perancangan dibantu dengan menggunakan
Unified Modelling Language (UML).
BAB V PENUTUP
Bab ini berisi tentang simpulan berdasarkan uraian dan pembahasan pada
bab-bab sebelumnya dan saran yang dapat digunakan untuk pengembangan
penelitian selanjutnya.
BAB II
LANDASAN TEORI
2.1 Konsep Dasar Sistem
2.1.1 Konsep Sistem
Dalam berbagai literatur, sistem mempunyai definisi yang beragam.
Menurut Jogiyanto, terdapat dua kelompok pendekatan di dalam mendefinisikan
sistem, yaitu:
a. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan
sistem sebagai berikut (Jogiyanto, 2005):
Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan
atau untuk menyelesaikan suatu sasaran yang tertentu.
b. Pendekatan sistem yang lebih menekankan pada elemen atau komponennya
mendefinisikan sistem sebagai berikut:
Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk
mencapai suatu tujuan tertentu (Jogiyanto, 2005).
Sedangkan menurut Henry C.Lucas, sebuah sistem adalah suatu himpunan
komponen atau variabel yang terorganisasi, saling berinteraksi, saling bergantung
satu sama lain dan terpadu (Lucas, 1993).
James A.O’Brien juga mengemukakan bahwa sistem adalah sekumpulan
komponen yang saling berhubungan yang bekerja menuju pencapaian tujuan
11
bersama dengan menerima input dan menghasilkan output dalam proses
transformasi yang teratur (O’Brien, 2005).
2.1.2 Karakteristik Sistem
Suatu sistem mempunyai karakteristik atau sifat-sifat yang tertentu,
berikut adalah karakteristik sistem menurut Jogiyanto (Jogiyanto, 2005):
a. Komponen Sistem
Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang
artinya saling bekerja sama membentuk satu kesatuan. Komponen-
komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem
atau bagian-bagian dari sistem. Setiap subsistem mempunyai sifat-sifat dari
sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses
sistem secara keseluruhan.
b. Batas Sistem
Batas sistem (boundary) merupakan daerah yang membatasi antara suatu
sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas
sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan.
Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut.
c. Lingkungan Luar Sistem
Lingkungan luar (environment) dari suatu sistem adalah apapun diluar batas
dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem
dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem
tersebut. Lingkungan luar yang menguntungkan merupakan energi dari
sistem dan dengan demikian harus tetap dijaga dan dipelihara. Sedang
12
lingkungan luar yang merugikan harus ditahan dan dikendalikan, kalau tidak
maka akan mengganggu kelangsungan hidup dari sistem.
d. Penghubung Sistem
Penghubung (interface) merupakan media penghubung antara satu subsistem
dengan subsistem yang lainnya. Melalui penghubung ini memungkinkan
sumber-sumber daya mengalir dari satu subsistem ke subsistem yang
lainnya.
e. Masukan Sistem
Masukan (input) adalah energi yang dimasukkan ke dalam sistem. Masukan
dapat berupa masukan perawatan (maintenance input) dan masukan sinyal
(signal input). Maintenance input adalah energi yang dimasukkan supaya
sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses
untuk didapatkan keluaran.
f. Keluaran Sistem
Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan
menjadi keluaran yang berguna. Keluaran dapat merupakan masukan untuk
subsistem yang lain.
g. Pengolah Sistem
Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah
masukan menjadi keluaran.
h. Sasaran Sistem
Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Kalau
suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada
13
gunanya. Suatu sistem dikatakan berhasil bila mengenai sasaran atau
tujuannya.
2.1.3 Klasifikasi Sistem
Sistem dapat diklasifikasikan dari beberapa sudut pandang, diantaranya
sebagai berikut (Jogiyanto, 2005):
a. Sistem Abstrak dan Sistem Fisik
Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak
tampak fisik, dan sistem fisik merupakan sistem yang ada secara fisik.
b. Sistem Alamiah dan Sistem Buatan Manusia
Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat
manusia. Sistem buatan manusia adalah sistem yang dirancang oleh
manusia.
c. Sistem Tertentu dan Sistem Tak Tentu
Sistem tertentu beroperasi dengan tingkah laku yang sudah dapat diprediksi.
Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat
diprediksi karena mengandung unsur probabilitas.
d. Sistem Tertutup dan Sistem Terbuka
Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak
terpengaruh dengan lingkungan luarnya. Sistem ini bekerja secara otomatis
tanpa adanya turut campur tangan dari pihak diluarnya. Sistem terbuka
adalah sistem yang berhubungan dan terpengaruh dengan lingkungan
luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk
lingkungan luar atau subsistem lainnya.
14
2.2 Konsep Dasar Informasi
2.2.1 Data dan Informasi
Definisi data perlu dibedakan dengan informasi. James A.O’Brien
mendefinisikan data adalah fakta atau observasi mentah, yang biasanya mengenai
informasi fisik atau transaksi bisnis. Sedangkan informasi adalah data yang telah
diubah menjadi konteks yang berarti dan berguna bagi para pemakai akhir tertentu
(O’Brien, 2005).
Menurut Jogiyanto, data adalah kenyataan yang menggambarkan suatu
kejadian-kejadian dan kesatuan nyata. Sedangkan informasi adalah data yang
diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang
menerimanya (Jogiyanto, 2005).
Sedangkan menurut Abdul Kadir, data adalah fakta mengenai objek, orang
dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter atau simbol).
Informasi adalah hasil analisis sintesis terhadap data. Dengan kata lain, informasi
dapat dikatakan sebagai data yang telah diorganisasikan ke dalam bentuk yang
sesuai dengan kebutuhan seseorang, entah itu manajer, staf, ataupun orang lain di
dalam suatu organisasi atau perusahaan (Kadir, 1999).
2.2.2 Siklus Informasi
Data merupakan bentuk yang masih mentah yang masih belum dapat
bercerita banyak, sehingga perlu diolah lebih lanjut. Data diolah melalui suatu
model untuk dihasilkan informasi, penerima kemudian menerima informasi
tersebut, membuat suatu keputusan dan melakukan tindakan, yang berarti
menghasilkan suatu tindakan yang lain yang akan membuat sejumlah data
15
kembali. Data tersebut akan ditangkap sebagai input, diproses kembali lewat suatu
model dan seterusnya membentuk suatu siklus. Siklus ini oleh John Burch disebut
dengan siklus informasi (Jogiyanto, 2005).
Sumber: Jogiyanto, 2005.
Gambar 2.1 Siklus informasi menurut Jogiyanto.
Sedangkan menurut Ladjamudin, siklus informasi atau siklus pengolahan
data digambarkan sebagai berikut (Ladjamudin, 2005):
Sumber: Ladjamudin, 2005
Gambar 2.2 Siklus informasi menurut Ladjamudin.
16
2.2.3 Kualitas Informasi
Informasi yang baik adalah informasi yang berkualitas. Kualitas dari suatu
informasi tergantung dari tiga hal, yaitu informasi harus akurat, tepat pada
waktunya dan relevan (Jogiyanto, 2005). John Burch dan Gary Grudnitski
menggambarkan kualitas dari informasi dengan bentuk bangunan yang ditunjang
oleh tiga buah pilar sebagai berikut (Jogiyanto, 2005): A
kura
t
Tepa
tW
aktu
Rel
evan
Kualitas Informasi
Sumber: Jogiyanto, 2005.
Gambar 2.3 Pilar kualitas informasi.
Keterangan gambar di atas yaitu: akurat berarti informasi harus bebas dari
kesalahan-kesalahan dan tidak bias atau menyesatkan. Tepat pada waktunya
berarti informasi yang datang pada penerimanya tidak boleh terlambat. Relevan
berarti informasi tersebut mempunyai manfaat untuk pemakaiannya (Jogiyanto,
2005).
Abdul Kadir juga berpendapat informasi yang berkualitas ditentukan oleh
hal-hal sebagai berikut (Kadir, 2003):
a. Akurat (accurate), informasi harus bebas dari kesalahan-kesalahan dan tidak
menyesatkan, informasi harus jelas mencerminkan maksudnya.
17
b. Tepat waktu (timelines), informasi yang dihasilkan atau dibutuhkan tidak
boleh terlambat, karena nantinya tidak mempunyai nilai yang baik, sehingga
apabila dijadikan dasar dalam pengambilan keputusan akan berakibat fatal
atau kesalahan pengambilan keputusan dan tindakan.
c. Relevan (relevance), informasi harus memberikan manfaat yang baik untuk
pemakai informasi tersebut.
Sedangkan menurut Turban, dalam buku Introduction to Information
Technology, ada beberapa sebab yang menjadikan sebuah informasi berguna
untuk pemakainya, yaitu di antaranya adalah (Turban, 2003):
a. Accurate
Informasi harus akurat, bebas dari kesalahan-kesalahan.
b. Complete
Informasi harus lengkap, mencakupi semua hal yang dibutuhkan.
c. Flexible
Informasi harus fleksibel, dapat diterima/dilihat dalam berbagai sudut
pandang.
d. Reliable
Informasi harus dapat dipercaya, hasilnya selalu konsisten (tidak berubah-
ubah).
e. Relevant
Informasi harus relevan, berisikan masalah atau isu yang telah ditelaah.
f. Timely
Informasi harus tepat waktu, tersedia pada saat dibutuhkan.
18
g. Verifiable
Informasi harus dapat diverifikasi, dasar dari informasi dapat diperiksa atau
dicari kebenarannya.
h. Accessible
Informasi harus mudah didapatkan, jadi siapapun yang membutuhkan
informasi bisa segera mendapatkannya.
i. Secure
Informasi harus aman atau bersih, bebas dari suatu pencemaran (baik itu
disengaja atau kebetulan saja).
2.2.4 Nilai Informasi
Nilai dari informasi ditentukan oleh dua hal, yaitu manfaat dan biaya
mendapatkannya. Suatu informasi dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya dan sebagian besar informasi tidak
dapat tepat ditaksir keuntungannya dengan satuan nilai uang, tetapi dapat ditaksir
nilai efektifitasnya. Pengukuran nilai informasi biasanya dihubungkan dengan
analisis cost effectiveness atau cost benefit (Jogiyanto, 2005).
2.3 Konsep Dasar Sistem Informasi
2.3.1 Definisi Sistem Informasi
Informasi merupakan hal yang sangat penting dalam pengambilan
keputusan. Informasi tersebut bisa didapat dari sistem informasi. Definisi sistem
informasi menurut Robert A.Leitch dan K.Roscoe Davis adalah suatu sistem di
dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi
19
harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu
organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang
diperlukan (Jogiyanto, 2005).
Menurut Jeffery L.Whitten, sistem informasi adalah pengaturan orang,
data, proses dan teknologi informasi yang berinteraksi untuk mengumpulkan,
memproses, menyimpan dan menyediakan sebagai output informasi yang
diperlukan untuk mendukung sebuah organisasi (Whitten et al, 2004).
Sedangkan Ladjamudin menyimpulkan beberapa definisi sistem informasi,
diantaranya adalah sebagai berikut (Ladjamudin, 2005):
a. Suatu sistem yang dibuat oleh manusia yang terdiri dari komponen-
komponen dalam organisasi untuk mencapai suatu tujuan yaitu menyajikan
informasi.
b. Sekumpulan prosedur organisasi yang pada saat dilaksanakan akan
memberikan informasi bagi pengambil keputusan dan atau untuk
mengendalikan organisasi.
c. Suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan
pengolahan transaksi, mendukung operasi, bersifat manajerial, dan kegiatan
strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan
laporan-laporan yang diperlukan.
2.3.2 Komponen Sistem Informasi
John Burch dan Gary Grudnitski mengemukakan bahwa sistem informasi
terdiri dari komponen-komponen yang disebutnya dengan istilah blok bangunan
(building block), yaitu blok masukan (input block), blok model (model block),
20
blok keluaran (output block), blok teknologi (technology block), blok basis data
(database block) dan blok kendali (controls block). Sebagai suatu sistem, keenam
blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya
membentuk satu kesatuan untuk mencapai sasarannya (Jogiyanto, 2005).
teknologi
model
dasar data
output
kendali
input
pemakaipemakai
pemakai pemakai
pemakaipemakai
Sumber: Jogiyanto, 2005.
Gambar 2.4 Blok sistem informasi yang berinteraksi.
Keterangan blok sistem informasi di atas dapat dijelaskan sebagai berikut
(Jogiyanto, 2005):
a. Blok Masukan
Input mewakili data yang masuk ke dalam sistem informasi. Input disini
termasuk metode-metode dan media untuk menangkap data yang akan
dimasukkan, yang dapat berupa dokumen-dokumen dasar.
b. Blok Model
Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang
akan memanipulasi data input dan data yang tersimpan di basis data dengan
cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan.
21
c. Blok Keluaran
Produk dari sistem informasi adalah keluaran yang merupakan informasi
yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan
manajemen serta senua pemakai sistem.
d. Blok Teknologi
Teknologi merupakan ”kotak alat” (tool-box) dalam sistem informasi.
Teknologi digunakan untuk menerima input, menjalankan model,
menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran
dan membantu pengendalian dari sistem secara keseluruhan.
e. Blok Basis Data
Basis data (database) merupakan kumpulan dari data yang saling
berhubungan satu dengan yang lainnya, tersimpan di perangkat keras
komputer dan digunakan perangkat lunak untuk memanipulasinya.
f. Blok Kendali
Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan
bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila
terlanjur terjadi kesalahan-kesalahan dapat langsung cepat diatasi.
Sedangkan menurut Abdul Kadir, dalam suatu sistem informasi terdapat
komponen-komponen sebagai berikut (Kadir, 2003):
a. Perangkat keras (hardware), mencakup peranti-peranti fisik seperti
komputer dan printer.
b. Perangkat lunak (software) atau program, sekumpulan instruksi yang
memungkinkan perangkat keras untuk memproses data.
22
c. Prosedur, sekumpulan aturan yang dipakai untuk mewujudkan pemrosesan
data dan pembangkitan keluaran yang dikehendaki.
d. Orang, semua pihak yang bertanggung jawab dalam pengembangan sistem
informasi, pemrosesan dan penggunaan keluaran sistem informasi.
e. Basis data (database), sekumpulan tabel, hubungan, dan lain-lain yang
berkaitan dengan penyimpanan data.
f. Jaringan komputer dan komunikasi data, sistem penghubung yang
memungkinkan sumber (resources) dipakai secara bersama atau diakses
oleh sejumlah pemakai.
2.4 Konsep Dasar Sistem Informasi Penjualan
2.4.1 Definisi Penjualan
Kegiatan penjualan merupakan kegiatan pelengkap atau suplemen dari
pembelian, untuk memungkinkan terjadinya transaksi. Dalam kamus Besar
Bahasa Indonesia, penjualan adalah proses, cara, perbuatan menjual (memberikan
sesuatu kepada orang lain untuk memperoleh uang pembayaran atau menerima
uang) (Depdikbud Pusat Pengembangan dan Pembinaan Bahasa, 2002).
Sedangkan menurut Assauri, kegiatan pembelian dan penjualan
merupakan satu kesatuan untuk dapat terlaksananya transfer hak atau transaksi.
Oleh karena itu, kegiatan penjualan terdiri dari serangkaian kegiatan yang
meliputi penciptaan permintaan (demand), menemukan pembeli, negosiasi harga,
dan syarat-syarat pembayaran (Assauri, 2004).
Dalam kaitannya dengan Islam, terdapat berbagai dalil Al-Quran tentang
penjualan. Salah satunya Allah SWT dalam kitab suci Al-Quran menerangkan
23
bahwa jual-beli atau perdagangan berlaku atas dasar suka sama suka dan tidak
dilakukan dengan cara yang batil (tidak merugikan sala satu pihak, baik pihak
penjual maupun pihak pembeli), hal ini tercantum dalam Q.S An-Nisa [4]:29 yang
memiliki makna: ”Wahai orang-orang yang beriman! Janganlah kamu saling
memakan harta sesamamu dengan jalan yang batil (tidak benar), kecuali dalam
perdagangan yang berlaku atas dasar suka sama suka di antara kamu...”. Bahkan
Islam sangat menganjurkan untuk melakukan proses jual beli dan tidak melakukan
riba, seperti yang tersurat di dalam Q.S Al-Baqarah [2]:275, "...padahal Allah
telah menghalalkan jual beli dan mengharamkan riba..."
2.4.2 Sistem Informasi Penjualan
Sistem Informasi Penjualan adalah subsistem informasi bisnis yang
mencakup kumpulan prosedur yang melaksanakan, mencatat, mengkalkulasi,
membuat dokumen dan informasi penjualan untuk keperluan manajemen dan
bagian lain yang berkepentingan, mulai dari diterimanya order penjualan sampai
mencatat timbulnya tagihan/piutang dagang (Achun, 2007). Sedangkan sumber
lain mengatakan bahwa, Sistem Informasi Penjualan adalah suatu sistem
informasi yang mengorganisasikan serangkaian prosedur dan metode yang
dirancang untuk menghasilkan, menganalisa, menyebarkan dan memperoleh
informasi guna mendukung pengambilan keputusan mengenai penjualan (Nabil,
2008).
24
2.4.3 Contoh Sistem Informasi Penjualan
Contoh Sistem Informasi Penjualan yang dipergunakan di dalam penulisan
skripsi ini adalah hasil studi literatur dari penelitian atau hasil penulisan karya
ilmiah yang telah ada. Berikut adalah beberapa contoh tampilan aplikasi
(screenshot) Sistem Informasi Penjualan (Baharuddin et al, 2006):
Sumber: Baharuddin et al, 2006.
Gambar 2.5 Form Input Obat.
25
Sumber: Baharuddin et al, 2006.
Gambar 2.6 Form Input Pemasok.
Sumber: Baharuddin et al, 2006.
Gambar 2.7 Form Input Pembeli.
26
Sumber: Baharuddin et al, 2006.
Gambar 2.8 Form Input Transaksi Penjualan.
Sumber: Baharuddin et al, 2006.
Gambar 2.9 Form Input Retur Penjualan.
27
Sumber: Baharuddin et al, 2006.
Gambar 2.10 Laporan Stok Obat.
Sumber: Baharuddin et al, 2006.
Gambar 2.11 Laporan Penjualan.
28
Sumber: Baharuddin et al, 2006.
Gambar 2.12 Laporan Retur Penjualan.
Dari contoh aplikasi Sistem Informasi Penjualan di atas masih terdapat
beberapa kekurangan. Diantaranya adalah:
a. Pada semua form input, terdapat kerancuan pada fungsi tombol ”Tambah”
dan ”Simpan”. Hal ini dapat membuat user bingung.
b. Pada semua form input, tidak terdapat tombol ”Edit”. Karena dengan adanya
tombol ”Edit”, user dapat mengantisipasi apabila terjadi kesalahan dalam
penginputan data.
c. Tidak terdapat No.Batch pada data obat. Karena dari No.Batch dapat
diketahui tanggal produksi dan kadaluarsanya obat.
d. Tidak adanya layanan Pesan-Antar. Hal ini dilihat dari tidak adanya form
input surat pesanan, surat jalan dan data kendaraan.
e. Pada form retur penjualan, tidak terdapat kolom untuk ”keterangan” yang
dapat berfungsi sebagai alasan kenapa barang tersebut dikembalikan.
29
f. Pada laporan penjualan dan laporan retur penjualan, penempatan kolom
tidak teratur sehingga terlihat menumpuk.
g. Discount adalah sebuah item yang dimasukkan di master barang, padahal
sebaiknya discount dilakukan / diinput di form / interface penjualan
(cashier).
h. Pemilihan warna biru dan hitam pada interface terlihat kurang menarik.
Seharusnya menggunakan warna yang kontras dan sesuai agar terlihat jelas
dan menarik.
2.5 Metodologi Berorientasi Objek
2.5.1 Definisi Metodologi
Metode adalah prosedur untuk melakukan sesuatu, sedang metodologi
adalah studi mengenai metode (Hariyanto, 2004). Menurut Toto Suharto,
metodologi adalah cara kerja yang sistematis untuk memudahkan pelaksanaan
pembuatan perangkat lunak guna mencapai tujuan tertentu (Suharto, 2004).
Suharto juga menambahkan metodologi adalah proses untuk menghasilkan
perangkat lunak yang terorganisir dengan menggunakan sejumlah teknik dan
konvensi notasi yang terdefinisi (Suharto, 2004).
2.5.2 Konsep Dasar Objek dan Kelas
Banyak sumber yang mempunyai definisi tersendiri mengenai objek dan
kelas. Menurut Sholiq, objek adalah segala sesuatu yang ada disekitar kita,
dimana objek-objeklah yang menyusun dunia ini. Contoh objek kendaraan adalah
mobil, bis, truk, motor, becak, sepeda, dll. Setiap objek mempunyai informasi-
30
informasi atau atribut-atribut dan perilaku sebagai suatu operasi pengaturnya.
Atribut-atribut objek di atas yaitu jumlah roda, warna, berat, dst. Sedangkan
operasi-operasi pengatur objek di atas adalah berjalan, belok kanan, belok kiri,
naikkan kecepatan, dst (Sholiq, 2006).
Objek-objek yang mempunyai atribut dan operasi yang sama dapat
dikelompokkan dalam sebuah kategori. Sebuah kategori untuk beberapa objek
disebut kelas. Misalkan objek mobil, bis, truk, motor, becak dan sepeda dapat
dikelompokkan ke dalam sebuah kategori yaitu ”kendaraan”. Kategori kelas yang
dikehendaki adalah ”kendaraan bermotor” maka objek-objek yang menjadi
anggotanya adalah mobil, bis, truk dan motor. Sedangkan objek becak dan sepeda
di luar ruang lingkup ”kendaraan bermotor” sehingga tidak menjadi anggota kelas
(Sholiq, 2006).
Menurut Sutopo, Identitas berarti bahwa data diukur mempunyai nilai
tertentu yang membedakan entitas dan disebut objek. Suatu paragraf dari
dokumen, suatu windows dari workstation, dan raja putih dari buah catur adalah
contoh dari objek. Klasifikasi berarti bahwa suatu kegiatan mengumpulkan data
(atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu
grup disebut kelas. Paragraf, windows, buah catur adalah contoh dari kelas
(Sutopo, 2002).
Menurut Suharto, objek adalah abstraksi dari sesuatu yang mewakili dunia
nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur, status
atau hal-hal lain yang bersifat abstrak. Kelas adalah kumpulan dari objek-objek
dengan karakteristik yang sama. Sebuah kelas akan mempunyai sifat (atribut),
kelakuan (operasi), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan
31
dari kelas yang lain, dimana atribut dari kelas semula dapat diwariskan ke kelas
yang baru (Suharto, 2004).
2.5.3 Definisi Berorientasi Objek
Berorientasi objek atau object oriented merupakan paradigma baru dalam
rekayasa perangkat lunak. Menurut Sholiq, yang dimaksud berorientasi objek
adalah mengorganisasikan perangkat lunak sebagai kumpulan objek-objek diskrit
yang bekerja sama antara informasi atau struktur data dan perilaku (behavior)
yang mengaturnya (Sholiq, 2006). Bambang Hariyanto mengemukakan bahwa
berorientasi objek adalah cara memandang persoalan menggunakan model-model
yang diorganisasikan seputar konsep objek yang mengkombinasikan struktur data
dan perilaku suatu entitas (Hariyanto, 2004). Ariesto Hadi Sutopo secara spesifik
menambahkan, pengertian berorientasi objek berarti bahwa kita mengorganisasi
perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data
dan perilakunya (Sutopo, 2002).
2.5.3.1 Istilah berorientasi Objek
Ada beberapa istilah berorientasi objek yang dikemukan oleh Sholiq
antara lain sebagai berikut (Sholiq, 2006):
a. Abstraction
Abstraksi atau abstraction secara sederhana dikatakan sebagai proses
memilah beberapa atribut dan beberapa operasi suatu objek hanya sampai
pada yang benar-benar diperlukan saja dan membuang atribut dan operasi
yang tidak diperlukan untuk persoalan yang dihadapi (Sholiq, 2006).
32
Menurut Suharto, abstraksi adalah prinsip untuk mereprensentasikan dunia
nyata yang kompleks menjadi satu bentuk model yang sederhana dengan
mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan
(Suharto, 2004).
b. Inheritance
Objek adalah anggota atau instan suatu kelas, sebaliknya kelas adalah
sebuah kategori dari beberapa objek yang mempunyai atribut dan operasi
yang sama, maka objek mempunyai semua karakteristik dari suatu kelas.
Atribut dan operasi yang ditentukan dalam kelas dapat diwariskan ke
masing-masing objek dalam kelas tersebut (Sholiq, 2006). Suharto
mengemukakan bahwa pewarisan atau inheritance adalah mekanisme yang
memungkinkan satu objek mewarisi sebagian atau seluruh definisi dari
objek lain sebagai bagian dari dirinya (Suharto, 2004).
c. Polymorphism
Banyak bentuk atau polymorphism adalah suatu operasi dengan nama yang
sama, tetapi jika diberikan pada objek yang berbeda akan mengakibatkan
operasi yang berbeda (Sholiq, 2006). Suharto menambahkan, polymorphism
adalah kemampuan suatu objek untuk digunakan dibanyak tujuan yang
berbeda dengan nama yang sama sehingga menghemat baris program
(Suharto, 2004).
d. Encapsulation
Pembungkusan atau encapsulation adalah menyembunyikan kompleksitas
dari luar dan hanya membuka operasi-operasi yang diperlukan saja terhadap
objek-objek lain (Sholiq, 2006). Menurut Suharto, encapsulation adalah
33
pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai
objek, untuk menyembunyikan implementasi dari objek sehingga objek lain
tidak mengetahui cara kerjanya (Suharto, 2004).
e. Message sending
Suatu objek mengirimkan pesan ke objek lain untuk melakukan sebuah
operasi dan juga dapat menerima pesan dari objek lain untuk melakukan
operasi lainnya (Sholiq, 2006). Suharto menambahkan, message sending
adalah komunikasi antar objek dilakukan lewat pesan (message) yang
dikirim dari satu objek ke objek lainnya (Suharto, 2004).
f. Assosiation
Seseorang melakukan turn-on pada sebuah televisi maka menurut
terminologi berorientasi objek, seseorang tersebut sedang berassosiasi
dengan televisi. Sebuah kelas dapat diassosiasikan pada beberapa kelas
sekaligus (Sholiq, 2006).
g. Aggregation
Aggregasi atau aggregation adalah bentuk khusus dari assosiasi yang lebih
kuat dimana assosiasi yang terjadi adalah ”part-of” antara objek yang satu
dengan beberapa objek lainnya atau assosiasi antara ”keseluruhan” dengan
”sebagian” (Sholiq, 2006).
34
2.5.4 Definisi Metodologi Berorientasi Objek
Suharto menyimpulkan beberapa definisi metodologi berorientasi objek
sebagai berikut (Suharto, 2004):
a. Suatu strategi pembangunan perangkat lunak yang mengorganisasikan
perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang
diberlakukan terhadapnya.
b. Suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan
objek secara sistematis.
c. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi
objek, perancangan berorientasi objek, pemrograman berorientasi objek dan
pengujian berorientasi objek.
2.5.5 Keunggulan Metodologi Berorientasi Objek
Pengembangan sistem dengan metodologi berorientasi objek memiliki
keunggulan-keunggulan sebagai berikut:
a. Keunggulan metodologi berorientasi objek menurut Bambang Hariyanto
adalah sebagai berikut (Hariyanto, 2004):
1) Bekerja yang mendekati kognisi manusia.
2) Menghasilkan sistem yang dibangun di atas bentuk-bentuk antara yang
stabil, dan dengan demikian lebih mempu untuk mengikuti perubahan.
3) Dapat digunakan tidak hanya pada perancangan perangkat lunak tapi
juga seluruh proses pengembangan perangkat lunak.
35
4) Mereduksi resiko pengembangan sistem-sistem kompleks terutama
karena pemaduan terjadi menyebar pada siklus kehidupan tidak terjadi
dalam sekejab sebagaimana kejadian ledakan besar (big bang).
5) Membantu mengeksploitasi keampuhan bahasa pemrograman berbasis
objek atau berorientas objek.
b. Keunggulan metodologi berorientasi objek menurut Toto Suharto adalah
sebagai berikut (Suharto, 2004):
1) Meningkatkan produktivitas, karena kelas dan objek yang ditemukan
dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya
yang melibatkan objek tersebut (reuseble).
2) Kecepatan pengembangan, karena sistem yang dibangun dengan baik
dan benar pada saat analisis dan perancangan akan menyebabkan
berkurangnya kesalahan pada saat pengkodean.
3) Kemudahan pemeliharaan, karena dengan model objek, pola-pola yang
cenderung tetap dan stabil dapat dipisahkan dari pola-pola yang
mungkin sering berubah-ubah.
4) Adanya konsistensi, karena sifat pewarisan dan penggunaan notasi
yang sama pada saat analisis, perancangan maupun pengkodean.
5) Meningkatkan kualitas perangkat lunak, karena pendekatan
pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi
pada saat pengembangannya, perangkat lunak yang dihasilkan akan
mampu memenuhi kebutuhan pemakai serta mempunyai sedikit
kesalahan.
36
2.6 Metodologi Pengembangan Sistem
2.6.1 Definisi Pengembangan Sistem
Pengembangan sistem dilakukan untuk meningkatkan kinerja sistem lama.
Pengembangan sistem (system development) dapat berarti menyusun suatu sistem
yang baru untuk menggantikan sistem yang lama secara keseluruhan atau
memperbaiki sistem yang telah ada (Jogiyanto, 2005).
Dengan telah dikembangkannya sistem yang baru, maka diharapkan akan
terjadi peningkatan-peningkatan di sistem yang baru. Peningkatan-peningkatan ini
berhubungan dengan sebagai berikut (Jogiyanto, 2005):
a. Performance (kinerja), yaitu peningkatan terhadap kinerja (hasil kerja)
sistem yang baru sehingga menjadi lebih efektif.
b. Information (informasi), yaitu peningkatan terhadap kualitas informasi yang
disajikan.
c. Economy (ekonomis), yaitu peningkatan terhadap berbagai manfaat atau
keuntungan atau penurunan biaya yang terjadi.
d. Control (pengendalian), yaitu peningkatan terhadap pengendalian untuk
mendeteksi dan memperbaiki kesalahan serta kecurangan yang dan akan
terjadi.
e. Efficiency (efisiensi), yaitu peningkatan terhadap efisiensi operasi. Efisiensi
berhubungan dengan bagaimana sumber daya digunakan dengan
pemborosan yang paling minimum.
f. Services (pelayanan), yaitu peningkatan terhadap pelayanan yang diberikan
oleh sistem.
37
2.6.2 Konsep Dasar Object Oriented Analysis and Design (OOAD)
2.6.2.1 Definisi Object Oriented Analysis (OOA)
Untuk merancang aplikasi sistem informasi, perlu adanya analisis sebelum
sistem informasi tersebut dirancang. Salah satunya adalah Object Oriented
Analysis (OOA)/Analisis Berorientasi Objek. OOA adalah pendekatan yang
digunakan untuk mempelajari objek yang sudah ada untuk mengetahui apakah
mereka dapat digunakan kembali atau diadaptasi untuk pemakaian baru. OOA
juga dapat digunakan untuk menentukan satu objek baru atau yang dimodifikasi
yang akan digabung dengan objek yang sudah ada ke dalam satu aplikasi
komputasi bisnis yang sangat berharga (Whitten et al, 2004).
Booch menyatakan analisis berorientasi objek adalah metode analisis yang
memeriksa kebutuhan-kebutuhan dari perspektif kelas-kelas dan objek-objek yang
ditemukan di kosa kata domain (Hariyanto, 2004).
Sedangkan menurut Suharto, analisis berorientasi objek adalah investigasi
masalah untuk menemukan (mengidentifikasi) dan mendefinisikan objek-objek
atau konsep-konsep yang ada di ruang masalah (Suharto, 2004).
2.6.2.2 Definisi Object Oriented Design (OOD)
Menurut Pressman, desain berorientasi objek mengubah bentuk model
analisis yang dibuat menggunakan analisis berorientasi objek menjadi sebuah
model desain yang merupakan sebuah blueprint untuk membangun perangkat
lunak (Pressman, 2001). Sedangkan Whitten mengemukakan bahwa, Object
Oriented Design (OOD)/Perancangan Berorientasi Objek adalah sebuah
pendekatan yang digunakan untuk menentukan solusi perangkat lunak khususnya
38
pada objek yang berkolaborasi, atribut mereka dan metode mereka (Whitten et al,
2004).
2.7 Alur Pengembangan Sistem
2.7.1 Konsep Dasar Rapid Application Development (RAD)
Salah satu alternatif dari System Development Life Cycle adalah Rapid
Application Development (RAD). RAD adalah sebuah strategi pengembangan
sistem yang menekankan kecepatan pengembangan melalui keterlibatan pengguna
yang ekstensif dalam konstruksi, cepat, berulang dan bertambah serangkaian
prototype/prototipe bekerja sebuah sistem yang pada akhirnya berkembang
kedalam sistem final (atau sebuah versi). Berikut diagram yang menerangkan rute
dalam RAD (Whitten et al, 2004):
39
Sumber: Whitten et al, 2004.
Gambar 2.13 Strategi Rapid Application Development (RAD).
Adapun penjabaran dari tahapan tersebut ialah sebagai berikut:
a. Definisi Lingkup (Scope Definition)
Fase pertama pengembangan sistem ini adalah mendefinisikan lingkup
sistem, yang artinya menentukan tingkat atau ukuran dan batas-batas
pengembangan sistem. Tahap ini juga menggambarkan dengan jelas dan
singkat tentang masalah, kesempatan dan perintah yang memicu proyek.
Dengan diberikan pemahaman dasar tentang masalah, kesempatan, batasan,
40
perintah dan visi dari sistem yang akan dikembangkan, maka hal ini dapat
mendefinisikan seberapa besar proyek ini (Whitten et al, 2004).
b. Analisis Sistem (Analysis)
Ada tiga fase dalam tahapan analisis sistem pada alur pengembangan sistem
RAD, yaitu (Whitten et al, 2004):
1) Analisis Masalah, mempelajari sistem yang ada atau sistem berjalan
dengan pemahaman mendalam akan masalah-masalah yang memicu
proyek.
2) Analisis Persyaratan, mendefinisikan dan memprioritaskan
persyaratan-persyaratan bisnis.
3) Analisis Keputusan, setelah mengetahui permasalahan dan
persyaratan sistem yang diinginkan maka fase selanjutnya adalah
analisis keputusan yang akan menghasilkan arsitektur aplikasi untuk
solusi yang disetujui.
c. Perancangan Sistem (Design)
Pada tahap ini adalah melakukan proses desain dan melakukan perbaikan-
perbaikan apabila masih terdapat ketidaksesuaian desain antara user dan
analyst. Untuk tahap ini maka keaktifan user yang terlibat sangat
menentukan untuk mencapai tujuan, karena user bisa langsung memberikan
komentar apabila terdapat ketidaksesuaian pada desain.
41
d. Implementasi Sistem (Construction & Testing)
Setelah melakukan analisis sistem dan perancangan sistem secara rinci, maka tiba
saatnya sistem untuk diimplementasikan.
Sebagai respon pada kemajuan ekonomi pada umumnya, Rapid
Application Development (RAD)/pengembangan aplikasi cepat telah menjadi rute
yang populer untuk mengakselerasi pengembangan sistem. Gagasan-gagasan
RAD adalah sebagai berikut(Whitten et al, 2004):
a. Lebih aktif melibatkan para pengguna sistem dalam aktifitas analisis, desain,
konstruksi.
b. Mengorganisasikan pengembangan sistem ke dalam rangkaian seminar yang
intensif dan berfokus dengan para pemilik, pengguna, analis, desainer,
pembangun sistem.
c. Mengakselerasi fase-fase analisis dan desain persyaratan melalui pendekatan
konstruksi berulang.
d. Memperpendek waktu yang diperlukan sebelum para pengguna mulai
melihat sebuah sistem yang bekerja.
2.7.2 Konsep Dasar Pendekatan Analisis Model-Driven
2.7.2.1 Definisi Pendekatan Model-Driven
Dalam system analysis and design, pengembangan sistem memiliki
berbagai pendekatan, salah satunya adalah pendekatan model-driven. Pendekatan
model-driven analysis/analisis model-driven yaitu penggunaan gambar, diagram,
42
atau grafis dalam mengkomunikasikan suatu masalah, memecahkan masalah,
persyaratan-persyaratan bisnis, dan solusi-solusi bisnis (Whitten et al, 2004).
2.7.2.2 Teknik Pengembangan Model-Driven
Pendekatan model-driven memiliki beberapa teknik pengembangan model-
driven, diantaranya (Whitten et al, 2004):
a. Pemodelan Proses
Pemodelan proses yaitu teknik berorientasi proses yang menggunakan
model dari proses bisnis guna memperoleh desain software yang efektif
untuk sebuah sistem. System analysis dalam pemodelan ini memperkenalkan
tool pemodelan yang disebut Data Flow Diagram (DFD) untuk
mengilustrasikan aliran data dari proses bisnis. System design dalam
pemodelan ini mengkonversi Data Flow Diagram ke dalam model proses
yang disebut Stucture Chart untuk mengilustrasikan struktur software untuk
memenuhi kebutuhan bisnis.
b. Pemodelan Data
Pemodelan data yaitu teknik berorientasi data yang menggunakan data
requirement dari model bisnis dan desain database system untuk memenuhi
kebutuhan bisnis. Pemodelan data yang paling banyak ditemui adalah Entity
Relationship Diagram (ERD).
c. Pemodelan Objek
Pemodelan objek yaitu teknik yang berusaha menyatukan data dan proses ke
dalam bentuk tunggal yang disebut objek. Pemodelan objek adalah diagram
yang mendokumentasikan sistem dalam konteks objek dan interaksinya.
43
2.8 Unified Modelling Language (UML)
2.8.1 Sejarah UML
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang
merupakan tiga tokoh yang dapat dikatakan metodologinya banyak digunakan
mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek.
Pada tahun 1995 dirilis draft pertama dari UML (versi 0.8). Sejak tahun 1996
pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG –
http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan versi terbaru
adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson
menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML
telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi
objek (Dharwiyanti dan Wahono, 2003).
Sumber: Dharwiyanti dan Wahono, 2003.
Gambar 2.14 Sejarah perkembangan UML
44
2.8.2 Definisi UML
Dengan menggunakan UML kita dapat membuat model untuk semua jenis
aplikasi piranti lunak. Sebelumnya kita harus mengetahui terlebih dahulu apa itu
UML. Menurut Bambang Hariyanto, UML adalah bahasa grafis untuk
mendokumentasi, menspesifikasikan dan membangun sistem perangkat lunak
(Hariyanto, 2004). Hermawan mengemukakan bahwa, UML adalah bahasa
standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari
proses analisis dan desain berorientasi objek (Hermawan, 2004). Menurut Sri
Dharwiyanti dan Romi Satria Wahono, UML adalah sebuah "bahasa" yg telah
menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem piranti lunak (Dharwiyanti dan Wahono, 2003).
2.8.3 Pengenalan Diagram-Diagram dalam UML
UML menyediakan beberapa diagram visual yang menunjukkan berbagai
aspek dalam sistem. Menurut Bambang Hariyanto, diagram adalah representasi
grafis elemen-elemen tertentu beserta hubungan-hubungannya (Hariyanto, 2004).
Beberapa diagram yang disediakan dalam UML antara lain:
a. Use Case Diagram
Use case diagram menunjukkan hubungan antara actor dan use cases. Actor
dan use case adalah dua elemen utama didalam penjelasan mengenai use
case diagram. Mereka dapat terhubung satu sama lain, dengan demikian
indikasi bahwa pemberian actor dalam sebuah diagram dapat berpartisipasi
dalam pemberian use case. Actor dan use case juga saling terkait melalui
penggunaan struktur class diagram (Mathiassen et al, 2000). Menurut
45
Sholiq, diagram use case atau use case diagram menyajikan interaksi antara
use case dan aktor. Dimana aktor dapat berupa orang , peralatan atau sistem
lain yang berinteraksi dengan sistem yang sedang dibangun. Use case
menggambarkan fungsionalitas sistem atau persyaratan-persyaratan yang
harus dipenuhi sistem dari pandangan pemakai (Sholiq, 2006). Dharwiyanti
dan Wahono mengemukakan bahwa, Use case diagram menggambarkan
fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah
“apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case
merepresentasikan sebuah interaksi antara aktor dengan sistem (Dharwiyanti
dan Wahono, 2003). Menurut Whitten, use case diagram adalah diagram
yang menggambarkan interaksi antara sistem dengan sistem eksternal dan
pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan
menggunakan sistem dan dengan cara pengguna mengharapkan untuk
berinteraksi dengan sistem (Whitten et al, 2004).
UseCase1
UseCase2
UseCase3
Actor1
Actor2
Actor3
System
Sumber: Whitten et al, 2004.
Gambar 2.15 Contoh diagram model use case
46
Simbol-simbol yang digunakan dalam use case model diagram dapat dilihat
pada halaman daftar simbol.
b. Activity Diagram
Menurut Sholiq, diagram aktivitas atau activity diagram menggambarkan
aliran fungsionalitas sistem. Aktivitas dalam diagram dipresentasikan
dengan bentuk bujur sangkar bersudut tidak lancip yang di dalamnya berisi
langkah-langkah apa saja yang terjadi dalam aliran kerja, sebuah keadaan
mulai (start state) yang menunjukkan dimulainya aliran kerja, sebuah
keadaan selesai (end state) yang menunjukan akhir diagram, dan titik
keputusan dipresentasikan dengan diamond (Sholiq, 2006). Menurut
Dharwiyanti dan Wahono, activity diagram menggambarkan berbagai alir
aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing
alir berawal, decision yang mungkin terjadi, dan bagaimana mereka
berakhir. Activity diagram juga dapat menggambarkan proses paralel yang
mungkin terjadi pada beberapa eksekusi (Dharwiyanti dan Wahono, 2003).
Sedangkan Whitten mengemukakan bahwa, activity diagram secara grafis
digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses
bisnis atau use case. Diagram ini juga dapat digunakan untuk memodelkan
action yang akan dilakukan saat sebuah operasi dieksekusi, dan
memodelkan hasil dari action tersebut (Whitten et al, 2004).
47
Sumber: Dharwiyanti dan Wahono, 2003.
Gambar 2.16 Contoh aliran kerja dengan activity diagram.
Simbol-simbol yang digunakan dalam activity diagram dapat dilihat pada
halaman daftar simbol.
c. Sequence Diagram
Sequence Diagram menjelaskan interaksi diantara beberapa objek dari
waktu ke waktu. Ini merupakan tambahan dari class diagram, yang
menjelaskan secara umum. Sequence diagram dapat menahan detail tentang
kompleksitas, situasi yang dinamis yang menyertakan beberapa dari banyak
objek yang dihasilkan dari class-class yang ada di class diagram
(Mathiassen et al, 2000). Menurut Sholiq, diagram sekuensial atau sequence
diagram digunakan untuk menunjukkan aliran fungsionalitas dalam use case
(Sholiq, 2006). Menurut Dharwiyanti dan Wahono, sequence diagram
menggambarkan interaksi antar objek di dalam dan di sekitar sistem
(termasuk pengguna, display, dan sebagainya) berupa message yang
48
digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait) (Dharwiyanti dan
Wahono, 2003). Whitten mengemukakan bahwa, sequence diagram secara
grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain
melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini
mengilustrasikan bagaimana pesan terkirim dan diterima diantara objek
(Whitten et al, 2004). Simbol-simbol yang digunakan dalam sequence
diagram dapat dilihat pada halaman daftar simbol.
d. Class Diagram
UML memiliki class diagram, mereka merupakan penjelasan yang penting
didalam analisa dan design berorientasi objek. Class Diagram
menggambarkan kumpulan dari class-class dan hubungan struktural mereka
(Mathiassen et al, 2000). Menurut Sholiq, diagram kelas atau class diagram
menunjukkan interaksi antar kelas dalam sistem. Kelas mengandung
informasi dan tingkah laku (behavior) yang berkaitan dengan informasi
tersebut. Sebuah kelas pada diagram kelas dibuat untuk setiap tipe objek
pada diagram sekuensial (Sholiq, 2006). Menurut Whitten, diagram ini
menunjukkan kelas objek yang menyusun sistem juga hubungan antara kelas
tersebut. Class diagram mendeskripsikan jenis-jenis objek dalam sistem dan
berbagai macam hubungan dan interaksi diantara mereka (Whitten et al,
2004). Dharwiyanti dan Wahono mengemukakan bahwa, class adalah
sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek
dan merupakan inti dari pengembangan dan desain berorientasi objek. Class
49
menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan
objek beserta hubungan satu sama lain seperti containment, pewarisan,
asosiasi, dan lain-lain (Dharwiyanti dan Wahono, 2003).
Class memiliki tiga area pokok yaitu nama (dan stereotype), atribut dan
metoda. Atribut dan metoda dapat memiliki salah satu sifat sebagai berikut
(Dharwiyanti dan Wahono, 2003):
1) Private, tidak dapat dipanggil dari luar class yang bersangkutan.
2) Protected, hanya dapat dipanggil oleh class yang bersangkutan dan
anak-anak yang mewarisinya.
3) Public, dapat dipanggil oleh siapa saja.
Sumber: Hermawan, 2004.
Gambar 2.17 Bentuk umum class diagram.
Simbol-simbol yang digunakan dalam sequence diagram dapat dilihat pada
halaman daftar simbol.
e. Statechart Diagram
Statechart Diagram menjelaskan mengenai prilaku secara umum dari semua
objek didalam class tertentu dan contain state dan transisi diantara mereka
50
(Mathiassen et al, 2000). Whitten mengemukan bahwa Statechart Diagram
digunakan untuk memodelkan behaviour objek khusus yang dinamis.
Diagram ini mengilustrasikan siklus hidup objek, berbagai keadaan yang
dapat diasumsikan oleh objek, dan event-event yang menyebabkan objek
beralih dari satu state ke state lain (Whitten et al, 2004). Sedangkan menurut
Dharwiyanti dan Wahono, statechart diagram menggambarkan transisi dan
perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem
sebagai akibat dari stimuli yang diterima. Pada umumnya statechart
diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari
satu statechart diagram) (Dharwiyanti dan Wahono, 2003).
2.9 Rich Picture
Menurut Howard dan Monk, Rich Picture adalah sebuah gambaran
menggunakan semacam kartun yang melukiskan seluruh kepentingan stakeholder,
dan beberapa dari struktur utama konteks kerja. Rich picture adalah sebuah alat
untuk mencatat dan mengeluarkan pendapat tentang aspek-aspek dari konteks
kerja, secara teliti, bagaimana mereka akan mempengaruhi desainnya (Howard
dan Monk, 1998).
2.10 Navigation Diagram
Navigation Diagram merupakan sejenis dari statechart diagram yang berfokus
pada keseluruhan yang dinamis dari user interface. Diagram menunjukkan
partisipasi windows dan transisinya. Satu window mewakili state, setiap bagian
mempunyai nama dan berisi sebuah icon (miniatur window) (Mathiassen et al,
51
2000). Simbol-simbol yang digunakan dalam navigation diagram dapat dilihat
pada halaman daftar simbol.
2.11 System Choice
Mathiassen et al mengutarakan, pemilihan sistem dilakukan untuk
menghasilkan system definition yang memenuhi kriteria FACTOR (Mathiassen et
al, 2000).
2.11.1 System Definition
System definition adalah sebuah deskripsi teratur dari sistem yang
terkomputerisasi yang dijelaskan dalam bahasa natural.
Sumber: Mathiassen et al, 2000.
Gambar 2.18 Sub aktifitas dalam memilih sistem.
52
2.11.2 FACTOR Criterion
Kriteria FACTOR terdiri dari enam elemen (Mathiassen et al, 2000):
1. Functionality : fungsi sistem yang mendukung tugas-tugas
application-domain
2. Application domain : bagian organisasi yang mengadministrasi,
memonitor, dan mengontrol problem domain.
3. Conditions : kondisi dimana sistem akan dikembangkan dan
digunakan.
4. Technology : mencakup teknologi yang digunakan untuk
mengembangkan sistem dan teknologi dimana
sistem akan dijalankan.
5. Objects : objek utama dari problem domain.
6. Responsibility : tanggung jawab keseluruhan dari sistem dalam
hubungannya dengan konteks.
2.12 Basis Data dan Database Management System (DBMS)
2.12.1 Basis Data (Database)
Definisi basis data pada sejumlah literatur sangatlah bervariasi. Menurut
Hariyanto, basis data adalah kumpulan data (elementer) yang secara logik
berkaitan dalam merepresentasikan fenomena atau fakta secara terstruktur dalam
domain tertentu untuk mendukung aplikasi pada sistem tertentu (Hariyanto,
2004). Menurut Date, sistem basis data pada dasarnya adalah sistem
terkomputerisasi yang tujuan utamanya adalah memelihara informasi dan
membuat informasi tersebut tersedia saat dibutuhkan (Kadir, 1999). Jogiyanto
53
mengemukakan bahwa, basis data (database) merupakan kumpulan dari data yang
saling berhubungan satu dengan lainnya, tersimpan di perangkat keras komputer
dan digunakan perangkat lunak untuk memanipulasinya (Jogiyanto, 2005).
Sampai dengan membentuk suatu database, data mempunyai jenjang yang dapat
digambarkan sebagai berikut (Jogiyanto, 2005):
Sumber: Jogiyanto, 2005.
Gambar 2.19 Jenjang dari data.
Berikut adalah penjelasan gambar jenjang data sampai menjadi suatu database:
a. Characters, merupakan bagian data yang terkecil, dapat berupa karakter
numerik, huruf ataupun karakter-karakter khusus (special characters) yang
membentuk suatu item data atau field.
b. Field, menggambarkan suatu atribut dari record yang menunjukkan suatu
item dari data, seperti misalnya nama, alamat dan lain sebagainya.
Kumpulan dari field membentuk suatu record. Ada empat tipe field yang
dapat disimpan, yaitu (Whitten et al, 2004):
54
1) Primary key adalah field yang merupakan identitas unik sebuah record
di dalam sebuah file.
2) Secondary/alternate key adalah sebuah field yang mengidentifikasikan
record tunggal atau sebuah subset dari record-record yang terkait.
3) Foreign key adalah field yang menunjuk pada record di dalam file
yang berbeda di dalam sebuah database.
4) Descriptive field adalah field yang bukan kunci.
c. Record/tuple, merupakan kumpulan dari field yang membentuk suatu
record. Record menggambarkan suatu unit data individu tertentu. Kumpulan
dari record membentuk suatu file. Misalnya file mahasiswa, tiap-tiap record
dapat mewakili data tiap-tiap mahasiswa.
d. File, terdiri dari record-record yang menggambarkan satu kesatuan data
yang sejenis. Misalnya file mata kuliah berisi data tentang semua mata
kuliah yang ada. Adapun tipe file dan tabel konvensional antara lain
(Whitten et al, 2004):
1) Master files adalah tabel yang record-nya relatif tetap. Sekali record
ditambah ke master file, record akan tersimpan di dalam sistem.
Meskipun values of fields pada sebuah record diubah, tetapi individual
record-nya tetap tersimpan. Contoh master files yaitu customers,
products dan suppliers.
2) Transaction files adalah tabel yang record-nya menggambarkan
business events. Dalam sistem informasi, transaction record biasanya
tersimpan dalam jangka waktu tertentu. Contoh transaction files yaitu
orders, invoices dan registrations.
55
3) Document files adalah tabel yang berisi data historis. Document files
digunakan untuk memudahkan untuk retrieval dan review tanpa
regenerating dokumen.
4) Archival files adalah tabel yang berisi record file master dan transaksi
yang sudah dihapus dari online storage.
5) Table look-up files adalah tabel yang berisi data yang relatif statis dan
dapat di-share oleh aplikasi untuk menjaga konsistensi dan
meningkatkan performa. Contoh table look-up files yaitu sales tax
tables dan income tax tables.
6) Audit files adalah tabel yang record-nya di-update untuk file lain,
khususnya master files dan transaction files.
e. Database, merupakan kumpulan dari file membentuk suatu database.
2.12.2 Database Management System (DBMS)
Definisi DBMS dari berbagai sumber sangat bervariasi. Abdul Kadir
secara umum mengemukakan bahwa, DBMS diartikan sebagai suatu program
komputer yang digunakan untuk memasukkan, mengubah, menghapus,
memanipulasi dan memperoleh data/informasi dengan praktis dan efisien (Kadir,
1999). Ramakrishnan dan Gehrke (2003) menyatakan sistem manajemen basis
data (DBMS) adalah perangkat lunak yang didesain untuk membantu memelihara
dan memanfaatkan kumpulan data yang besar (Simarmata dan Paryudi, 2006).
Menurut Bambang Hariyanto, sistem manajemen basis data atau DBMS adalah
perangkat untuk mendefinisikan, menciptakan, mengelola dan mengendalikan
pengaksesan basis data (Hariyanto, 2004).
56
2.12.2.1 Keunggulan dan Kelemahan DBMS
2.12.2.1.1 Keunggulan DBMS
a. Keunggulan DBMS menurut Hariyanto (Hariyanto, 2004):
1) Pengendalian terhadap redudansi data.
2) Konsistensi data.
3) Informasi yang lebih banyak yang dapat dibentuk dari data tersimpan
yang sama.
4) Pemakaian bersama data.
5) Peningkatan integritas data.
6) Pemaksaan terhadap standar
7) Skala ekonomi
8) Penyeimbangan kebutuhan-kebutuhan sumber daya yang terbatas.
9) Peningkatan pengaksesan dan daya tanggap data.
10) Peningkatan produktivitas.
11) Peningkatan pemeliharaan lewat ketidakbergantungan data.
12) Peningkatan konkruensi.
13) Peningkatan layanan backup dan pemulihan data.
b. Keunggulan DBMS menurut Simarmata dan Paryudi (Simarmata dan
Paryudi, 2006):
DBMS memungkinkan perusahaan maupun pengguna individu untuk:
1) Mengurangi pengulangan data.
2) Mencapai independensi data.
3) Mengintegrasikan data beberapa file.
4) Mengambil data dan infromasi dengan cepat.
57
5) Meningkatkan keamanan.
c. Keunggulan DBMS menurut Kadir (Kadir, 1999):
1) Kepraktisan, sistem yang berbasis kertas akan menggunakan kertas
yang sangat banyak untuk menyimpan informasi, sedangkan DBMS
menggunakan media penyimpan sekunder yang berukuran kecil tetapi
padat informasi.
2) Kecepatan, mesin dapat mengambil atau mengubah data jauh lebih
cepat daripada manusia.
3) Mengurangi kejemuan, orang cenderung menjadi bosan kalau
melakukan tindakan-tindakan berulang-ulang yang menggunakan
tangan (misalnya harus mengganti suatu informasi).
4) Kekinian, informasi yang tersedia pada DBMS akan bersifat mutakhir
dan akurat setiap saat.
2.12.2.1.2 Kelemahan DBMS
a. Kelemahan DBMS menurut Hariyanto (Hariyanto, 2004):
1) Kompleksitas yang tinggi.
2) Ukuran perangkat lunak yang besar.
3) Ongkos sistem menejemen basis data untuk pengadaan, operasi dan
perawatan.
4) Penambahan ongkos-ongkos perangkat keras untuk menjalankan
DBMS.
5) Ongkos konversi dari sistem lama ke sistem baru.
6) Kinerja yang rendah bila tidak mampu menggunakan dengan bagus.
7) Dampak yang tinggi bila terdapat kegagalan.
58
b. Kelemahan DBMS menurut Simarmata dan Paryudi (Simarmata dan
Paryudi, 2006):
Keputusan menggunakan DBMS mengikat perusahaan atau pengguna untuk:
1) Memperoleh perangkat lunak yang mahal.
2) Memperoleh konfigurasi perangkat keras.
3) Memperkerjakan dan mempertahankan staf DBA.
2.12.3 SQL (Structured Query Language)
SQL (dibaca "es-que-el" atau “sequel”) singkatan dari Structured Query
Language. SQL adalah bahasa yang digunakan untuk berkomunikasi dengan
database. Menurut American National Standards Institute (ANSI), bahasa ini
merupakan standar untuk Relational Database Management System (RDBMS)
(Sidik, 2005). Menurut Nugroho, SQL adalah sebuah bahasa permintaan database
yang terstruktur. Bahasa SQL dibuat sebagai bahasa yang dapat merelasikan
beberapa tabel dalam database maupun merelasikan antar database (Nugroho,
2005). Hariyanto mengemukakan bahwa, SQL adalah bahasa khusus yang
digunakan untuk mengakses dan mengelola RDBMS (Hariyanto, 2004).
2.12.4 Komponen Bahasa Basis Data
Query adalah pernyataan yang meminta pengguna mengambil informasi.
SQL dibagi menjadi dua bentuk query, yaitu (Nugroho, 2005):
a. Data Definition Language (DDL)
Menurut Simarmata dan Paryudi, skema basis data ditentukan sekumpulan
definisi yang dinyatakan dengan bahasa tertentu yang disebut Data
59
Definiton Language (Simarmata dan Paryudi, 2006). Hariyanto
mengemukakan bahwa, DDL berfungsi untuk menspesifikasi skema atau
struktur basis data (Hariyanto, 2004). Nugroho berpendapat, DDL adalah
sebuah metode Query SQL yang berguna untuk mendefinisikan data pada
sebuah database, adapun Query yang dimiliki adalah (Nugroho, 2005):
1) CREATE, digunakan untuk melakukan pembuatan tabel dan database.
2) DROP, digunakan untuk melakukan penghapusan tabel maupun
database.
3) ALTER, digunakan untuk melakukan pengubahan struktur tabel yang
telah dibuat, baik menambah Field (add), mengganti nama Field
(change) ataupun menamakannya kembali (rename), serta menghapus
(drop).
b. Data Manipulation Language (DML)
Bahasa manipulasi data (DML) adalah bahasa yang memungkinkan
pengguna mengakses atau memanipulasi data seperti yang diatur oleh model
data (Simarmata dan Paryudi, 2006). Menurut Nugroho, DML adalah
sebuah metode query yang dapat digunakan apabila DDL telah terjadi,
sehingga fungsi dari query ini adalah untuk melakukan pemanipulasian
databse yang telah ada atau telah dibuat sebelumnya. Adapun query yang
termasuk di dalamnya adalah (Nugroho, 2005):
1) INSERT, digunakan untuk melakukan penginputan / pemasukan data
pada tabel database.
60
2) UPDATE, digunakan untuk melakukan pengubahan atau peremajaan
terhadap data yang ada pada tabel.
3) DELETE, digunakan untuk melakukan penghapusan data pada tabel.
Penghapusan ini dapat dilakukan secara sekaligus (seluruh isi tabel)
maupun hanya beberapa Recordset.
Ada dua tipe DML, yaitu (Simarmata dan Paryudi, 2006):
1) DML Prosedural, mengharuskan pengguna untuk menentukan data
yang dibutuhkan dan bagaimana mendapatkannya (Simarmata dan
Paryudi, 2006). Hariyanto juga berpendapat bahwa pada DML
prosedural pemakai menspesifikasi data apa dan bagaimana
memperolehnya (Hariyanto, 2004).
2) DML Deklaratif (disebut pula DML nonprosedural), mengharuskan
pengguna menentukan data yang dibutuhkan tanpa menentukan
bagaimana mendapatkannya. Hariyanto juga mengemukakan bahwa
pada DML nonprosedural pemakai menspesifikasi data apa tanpa
membuat spesifikasi bagaimana cara memperolehnya (Hariyanto,
2004).
2.13 MySQL
2.13.1 Mengenal MySQL
MySQL adalah sebuah program database server yang mampu menerima
dan mengirmkan datanya dengan sangat cepat, multiuser serta menggunakan
perintah standar SQL (Structured Query Language) (Nugroho, 2005). MySQL
merupakan software sistem manajemen basis data (DBMS) yang opensource
61
(gratis) yang sangat populer di kalangan pemrogram web, sehingga dapat
digunakan untuk membangun aplikasi web yang menggunakan database sebagai
sumber dan pengelola datanya. Hal ini dikarenakan MySQL dapat digunakan
cepat secara kinerja query, dan mencukupi untuk kebutuhan database perusahaan
skala menengah kecil (Sidik, 2005).
MySQL memiliki dua bentuk lisensi, yaitu FreeSoftware dan Shareware.
MySQL yang biasa kita gunakan adalah MySQL FreeSoftware yang berada
dibawah lisensi GNU/GPL (General Public License). MySQL menggunakan logo
standar berbentuk ikan lumba-lumba, seperti berikut ini (Nugroho, 2005):
Sumber: Nugroho, 2005.
Gambar 2.20 Logo MySQL.
2.13.2 Kelebihan MySQL
MySQL adalah sebuah database server, dapat juga berperan sebagai
client/server, yang opensource dengan kemampuan dapat berjalan baik di OS
(Operating System) manapun, dengan Platform Windows maupun Linux. Selain
itu database ini memiliki beberapa kelebihan dibanding database lain,
diantaranya adalah (Nugroho, 2005):
a. MySQL sebagai Database Management System (DBMS).
b. MySQL sebagai Relation Database Management System (RDBMS).
62
c. MySQL adalah sebuah Software database yang opensource, artinya program
ini bersifat free atau bebas digunakan oleh siapa saja tanpa harus membeli
dan membayar lisensi kepada pembuatnya.
d. MySQL merupakan sebuah database server, jadi dengan menggunakan
database ini anda dapat menghubungkannya ke media internet sehingga
dapat diakses dari jauh.
e. MySQL merupakan sebuah database client. Selain menjadi server yang
melayani permintaan, MySQL juga dapat melakukan query yang mengakses
database pada server. Jadi MySQL dapat juga berperan sebagai client.
f. MySQL mampu menerima query yang bertumpuk dalam satu permintaan
atau yang disebut Multi-Threading.
g. MySQL merupakan sebuah database yang mampu menyimpan data
berkapasitas sangat besar hingga berukuran Gigabyte sekalipun.
h. MySQL didukung oleh driver ODBC, artinya database MySQL dapat
diakses menggunakan aplikasi apa saja termasuk berupa visual seperti
Delphi maupun Visual Basic.
i. MySQL adalah database yang menggunakan enkripsi password. Jadi
database ini cukup aman karena memiliki password untuk mengaksesnya.
j. MySQL merupakan Server database yang multi user, artinya database ini
tidak hanya digunakan oleh sepihak orang akan tetapi merupakan database
yang dapat digunakan oleh banyak pengguna.
k. MySQL dapat menciptakan lebih dari 16 kunci per tabel, dan dalam satu
kunci memungkinkan berisi belasan Field (Kolom).
63
l. MySQL mendukung field yang dijadikan sebagai kunci primer dan kunci
uniq (unique).
m. MySQL didukung oleh sebuah komponen C dan perl API, sehingga
database MySQL dapat diakses melalui sebuah program aplikasi yang
berada dibawah protokol internet berupa web. Biasanya aplikasi yang sering
digunakan adalah PHP dan Perl.
n. MySQL memiliki kecepatan dalam pembuatan tabel maupun peng-update-
an table.
o. MySQL menggunakan suatu bahasa permintaan standar yang bernama SQL
(Structured Query Language) yaitu sebuah bahasa permintaan yang
distandarkan pada beberapa database server seperti oracle, PostGreSQL dll.
2.14 Visual Basic .NET (VB .NET)
2.14.1 Pengenalan VB .NET
Perkembangan IT yang begitu pesat akhir-akhir ini dihampir seluruh
aktifitas tidak terlepas dengan sistem komputer khususnya internet, inilah yang
membuat Microsoft mengubah sudut pandangannya untuk mengembangkan
kumpulan teknologi baru yang disebut Microsoft .NET. Adapun salah satu bagian
dari perkembangan aplikasi .NET itu sendiri adalah Microsoft Visual Studio .NET
(Sukarno, 2006).
Visual Studio .NET merupakan gabungan dari beberapa aplikasi program
yang saling terkait satu dengan yang lainnya, yang terdiri dari ASP .NET (Active
Server Page) yang berorientasi terhadap perkembangan web, XML, Aplikasi
Dekstop, Aplikasi Mobile (khususnya komputer Palm dan Pocket PC). Termasuk
64
juga didalamnya Visual Basic .NET, Visual C++ .NET dan Visual C# .NET.
Visual Studio .NET adalah pengembangan dari Visual Studio 6 yang diluncurkan
oleh Microsoft sekitar tahun 1998 (Sukarno, 2006).
Dalam beberapa hal, Visual Basic .NET merupakan sebuah representasi
perkembangan dari Visual Basic sebelumnya. Dengan suatu lingkungan
pengembangan yang baru, bahasa programming yang terkini, dan paket-paket
form yang baru. Visual Basic .NET tetap mempertahankan sebagian apa yang
telah terdapat pada Visual Basic dan juga membuat pengembangan baru yang
lebih mudah dari Visual Basic. Begitu banyak dokumentasi yang disajikan untuk
membantu anda dalam bertransisi dan membuat pemetaan pengetahuan anda dari
Visual Basic menuju Visual Basic .NET (Sukarno, 2006).
Hermawan mengemukakan bahwa, VB.NET mempertahankan kemudahan
dan kesederhanaan dari VB versi sebelumnya ditambah dengan kemampuan
berorientasi objek diantaranya mendukung abstraksi, enkapsulasi, inheritance,
constructors, polymorphism dan overloading (Hermawan, 2004). Dari namanya
VB.NET, Visual Basic versi ini berjalan di atas .NET Framework yang
memanfaatkan Common Language Runtime (CLR). Dengan CLR ini maka
VB.NET tidak lagi menggunakan interpreter seperti VB versi sebelumnya tetapi
sudah menggunakan kompiler seperti bahasa pemrograman berorientasi objek
lainnya (Hermawan, 2004).
2.14.2 VB .NET Integrated Development Environment (IDE)
IDE memberi kemudahan bagi programmer karena adanya fitur otomasi
terhadap proses penulisan program. Salah satunya adalah pengecekan sintaks dari
65
keyword yang digunakan. Di dalam IDE terdapat enam komponen yang perlu kita
ketahui kegunaannya, yaitu Tabbed Mode, Menu Toolbar, Solution Explorer,
Properties Window, Toolbox, Output Window, dan Dynamic Help (Hermawan,
2004). Berikut adalah antarmuka IDE untuk project berbasis Windows:
Sumber: Hermawan, 2004.
Gambar 2.21 IDE untuk project berbasis Windows.
a. Tabbed Mode
Tabbed Mode memberikan informasi mengenai form-form yang ada dalam
suatu project. Melalui Tabbed Mode ini kita bisa berpindah dengan cepat
dari form yang satu ke form yang lain. Untuk objek form ditampilkan dua
jenis form, yaitu satu form untuk kode dari objek form dan satu lagi untuk
66
desain layout dari objek form. Sementara untuk class dan module hanya
terdapat form kode saja.
b. Menu Toolbar
Menu Toolbar menampilkan ikon shortcut untuk berbagai fungsi yang bisa
digunakan untuk melakukan beberapa proses hanya dengan satu klik pada
ikon tersebut. Sebagai shortcut maka fungsi menu toolbar ini adalah
mempermudah dan mempercepat kerja programmer.
c. Solution Explorer
Solution Explorer digunakan untuk mengelola file dalam projecti VB.NET,
baik untuk menambah file baru, menyalin file, mengeluarkan file dari
project, dan menentukan mana file yang digunakan sebagai pembuka dari
project. Di bagian atas dari Solution Explorer terdapat lima simbol ikon
yaitu View Code untuk melihat editor kode, View Designer untuk melihat
editor desain, Refresh untuk memperbaharui data file yang ada, Show All
Files untuk menampilkan semua file yang terdapat dan terlibat dalam project
dan biasanya dengan tambahan folder ‘obj’ dan folder ‘bin’, dan Properties
untuk menampilkan Properties Window bila belum ada atau berpindah ke
Properties Window bila sudah terbuka.
d. Properties Window
Properties Window digunakan untuk melakukan editing dan perubahan nlai
dari property control dan objek yang ada pada form pada saat desain.
e. Toolbox
Toolbox berisi control yang siap digunakan untuk membangun aplikasi.
Toolbox akan terkostumisasi sesuai dengan jenis project yang dibuka, yaitu
67
68
berbasis Windows atau berbasis Web. Untuk project berbasis Windows,
toolbox terdiri dari empat kategori yaitu Data, Components, Windows Form
dan General. Untuk project berbasis Web, toolbox terdiri dari enam kategori
yaitu Data, Web Forms, Components, HTML, Clipboard Ring dan General.
f. Output Window
Output window menampilkan pesan status dari berbagai fitur yang ada di
dalam IDE seperti error yang terjadi saat project dikompilasi, dan proses
yang dilewati saat melakukan debug.
g. Dynamic Help
Dynamic Help digunakan untuk membantu kita selama menulis program.
Dynamic Help sangat membantu pada saat kita memerlukan informasi
tambahan tentang sesuatu hal dan untuk mendapatkan informasi tersebut kita
tidak perlu meninggalkan halaman penulisan program.
BAB III
METODOLOGI PENELITIAN
3.1 Metodologi Penelitian
Metodologi penelitian mempunyai peranan yang penting di dalam suatu
penelitian. Suatu penelitian dianggap ilmiah, bila menggunakan metode yang
berlaku dalam ilmu pengetahuan. Seperti yang telah dijelaskan di bab 2,
metodologi penelitian dapat diartikan sebagai studi mengenai prosedur untuk
melakukan penelitian (Hariyanto, 2004).
3.2 Metodologi Pengumpulan Data
Pengumpulan data dilakukan untuk memperoleh informasi yang
dibutuhkan dalam rangka mencapai tujuan penelitian. Untuk mengumpulkan data
dari sampel penelitian, dilakukan dengan metode tertentu sesuai dengan tujuannya
(Gulo, 2005). Metode pengumpulan data yang digunakan adalah sebagai berikut:
a. Studi Pustaka
Melakukan pengumpulan data secara teoritis dengan cara membaca dan
mempelajari buku-buku yang berhubungan dengan analisa dan perancangan
sistem, pemrograman berorientasi objek serta buku-buku pendukung
lainnya. Pencarian melalui media elektronik seperti internet juga dilakukan
dalam memperoleh data-data tambahan untuk melengkapi kekurangan yang
tidak didapat dari buku. Daftar buku dan website yang menjadi referensi
dalam penyusunan skripsi ini dapat dilihat pada daftar pustaka.
69
b. Observasi
Observasi atau pengamatan merupakan salah satu metode pengumpulan data
yang cukup baik untuk mempelajari suatu sistem. Observasi adalah metode
pengumpulan data dimana peneliti atau kolaboratornya mencatat informasi
sebagaimana yang disaksikan (melihat, mendengarkan, merasakan) selama
penelitian yang kemudian dicatat seobjektif mungkin (Gulo, 2005).
Proses observasi dilakukan agar dapat mengetahui secara langsung kegiatan
penjualan PT. Distriversa Buanamas yang dilakukan oleh pegawai Bagian
Penjualan. Bagaimana proses pencatatan surat pesanan pelanggan sampai
dengan pencatatan surat jalan pengiriman barang, bagaimana membuat
laporan keuangan, dan juga melihat contoh faktur dan form surat pesanan,
retur penjualan dan surat jalan yang digunakan oleh perusahaan seperti
terlampir dalam lampiran.
Observasi ini dilakukan selama menjalani penelitian pada tanggal 15
September 2008 s.d 15 Desember 2008, bertempat di PT. Distriversa
Buanamas Jl. Darmawangsa Raya V No. 22 Jakarta Selatan.
c. Wawancara
Teknik wawancara merupakan salah satu teknik pengumpulan data yang
dilakukan dengan cara mengadakan tanya jawab, baik secara langsung
maupun tidak langsung secara bertatap muka (personal face to face
interview) dengan sumber data (responden) (Muhidin dan Abdurahman,
2007). Dalam penelitian ini wawancara dilakukan dengan kepala bagian
penjualan PT.Distriversa Buanamas untuk mengetahui hal-hal yang
70
berkaitan dengan kegiatan penjualan seperti proses kegiatan penjualan,
karyawan yang bertanggung jawab terhadap kegiatan penjualan, alat-alat
yang mendukung proses kegiatan penjualan, dan lain-lain. Hasil wawancara
selengkapnya dapat dilihat pada lampiran.
3.3 Metodologi Pengembangan Sistem
Pengembangan sistem dilakukan untuk meningkatkan kinerja sistem lama.
Pengembangan sistem (system development) dapat berarti menyusun suatu sistem
yang baru untuk menggantikan sistem yang lama secara keseluruhan atau
memperbaiki sistem yang telah ada (Jogiyanto, 2005).
Alur Pengembangan sistem yang digunakan pada pembahasan ini adalah
Rapid Application Development (RAD)/Pengembangan Aplikasi Cepat. RAD
dinilai cocok dalam pengembangan aplikasi penjualan ini karena mempunyai
ruang lingkup yang kecil, dapat dikembangkan dengan mudah, dan lebih
menekankan pada pembuatan aplikasi/prototipe dengan melakukan pendekatan
kepada user atau pengguna sistem ini dalam pencapaian solusi dari permasalahan
yang ada.
Definisi RAD menurut Whitten et al adalah sebuah strategi pengembangan
sistem yang menekankan kecepatan pengembangan melalui keterlibatan pengguna
yang ekstensif dalam konstruksi, cepat, berulang dan bertambah serangkaian
prototype/prototipe bekerja sebuah sistem yang pada akhirnya berkembang
kedalam sistem final (atau sebuah versi). Berikut diagram yang menerangkan rute
dalam RAD (Whitten et al, 2004):
71
Sumber: Whitten et al, 2004.
Gambar 3.1 Strategi Rapid Application Development (RAD).
Pada diagram alur RAD di atas, pembahasan dalam skripsi ini dibatasi
dengan hanya melalui beberapa tahapan, yaitu mulai dari Scope Definition sampai
dengan tahapan Construction & Testing, selebihnya diserahkan pada pihak
perusahaan dalam mengelola aplikasi ini. Adapun penjabaran dari tahapan
tersebut ialah sebagai berikut:
72
a. Definisi Lingkup (Scope Definition)
Fase pertama pengembangan sistem ini adalah mendefinisikan lingkup
sistem, yang artinya menentukan tingkat atau ukuran dan batas-batas
pengembangan sistem. Tahap ini juga menggambarkan dengan jelas dan
singkat tentang masalah, kesempatan dan perintah yang memicu proyek.
Dengan diberikan pemahaman dasar tentang masalah, kesempatan, batasan,
perintah dan visi dari sistem yang akan dikembangkan, maka hal ini dapat
mendefinisikan seberapa besar proyek ini (Whitten et al, 2004). Sistem yang
akan dikembangkan dirangkum dalam system definition menggunakan
kriteria FACTOR yang terdiri dari enam elemen yaitu Functionality,
Application domain, Condition, Technology, Objects, Responsibility. System
definition adalah sebuah deskripsi teratur dari sistem yang terkomputerisasi
yang dijelaskan dalam bahasa natural (Mathiassen et al, 2000).
b. Analisis Sistem (Analysis)
Tahapan analisis sistem dimulai karena adanya permintaan terhadap sistem
baru. Bisa juga karena diinginkannya pengembangan dari sistem yang
sedang berjalan. Permintaan dapat datang dari seorang manajer di luar
departemen sistem informasi atau dari pihak eksekutif yang melihat adanya
masalah atau menemukan adanya peluang baru (Kadir, 2003).
Tujuan utama dari analisis berorientasi objek adalah memodelkan sistem
yang nyata dengan penekanan pada apa yang harus dilakukan bukannya
bagaimana melakukannya. Hasil utama dari analisis sistem adalah
73
pemahaman sistem seutuhnya sebagai persiapan menuju ke tahap
perancangan (Nugroho, 2002).
Ada tiga fase dalam tahapan analisis sistem pada alur pengembangan sistem
RAD, yaitu:
1) Analisis Masalah, mempelajari sistem yang ada atau sistem berjalan
dengan pemahaman mendalam akan masalah-masalah yang memicu
proyek.
2) Analisis Persyaratan, mendefinisikan dan memprioritaskan
persyaratan-persyaratan bisnis.
3) Analisis Keputusan, setelah mengetahui permasalahan dan
persyaratan sistem yang diinginkan maka fase selanjutnya adalah
analisis keputusan yang akan menghasilkan arsitektur aplikasi untuk
solusi yang disetujui.
Dalam analisis sistem, digunakan pendekatan analisis model-driven yaitu
penggunaan gambar, diagram, atau grafis dalam mengkomunikasikan suatu
masalah, memecahkan masalah, persyaratan-persyaratan bisnis, dan solusi-
solusi bisnis (Whitten et al, 2004). Alasan menggunakan pendekatan model-
driven karena memiliki beberapa kelebihan, diantaranya:
1) Spesifikasi kebutuhan lebih terakomodasi dan terdokumentasi dengan
baik.
2) Kebutuhan bisnis dan desain sistem lebih mudah untuk dimengerti
dengan gambar dari pada dengan kata-kata.
74
3) Pendekatan model-driven lebih mudah untuk mengidentifikasi,
mengkonsep dan menganalisa solusi alternatif.
4) Sistem dapat dibangun dengan tepat sesuai kebutuhan user.
Pada pendekatan model-driven dikenal beberapa teknik pemodelan.
Pemodelan yang digunakan dalam pengembangan sistem ini adalah
pemodelan berorientasi objek. Pemodelan objek yaitu teknik yang berusaha
menyatukan data dan proses ke dalam bentuk tunggal yang disebut objek.
Pemodelan objek adalah diagram yang mendokumentasikan sistem dalam
konteks objek dan interaksinya (Whitten et al, 2004). Alasan menggunakan
pemodelan berorientasi objek karena memiliki beberapa kelebihan,
diantaranya (Nugroho, 2002):
1) Jika terjadi perubahan pada sistem informasi, maka hanya perlu
mengubah objek dan fungsinya yang dikehendaki tanpa akan
mempengaruhi objek lain yang tidak dikehendaki terjadinya
perubahan. Hal ini dikarenakan setiap objek berdiri secara mandiri.
2) Jika terjadi perubahan pada sistem informasi, maka akan lebih mudah
mengubahnya, meskipun pada sistem informasi yang besar sekalipun.
Adapun metode yang digunakan adalah Analisis berorientasi objek/Object-
oriented analysis (OOA) dan dimodelkan dengan UML (Unified Modelling
Language) sebagai tools-nya karena dapat mempermudah dalam
memvisualisasi gambar dan model objeknya. Diagram UML yang
digunakan adalah Activity Diagram. Selain activity diagram, juga digunakan
75
diagram lain diluar diagram yang disediakan UML namun peranannya
cukup penting dalam mendukung tahapan analisis sistem berorientasi objek,
yaitu Rich Picture. Menurut Howard dan Monk, Rich Picture adalah sebuah
gambaran menggunakan semacam kartun yang melukiskan seluruh
kepentingan stakeholder, dan beberapa dari struktur utama konteks kerja.
Rich picture adalah sebuah alat untuk mencatat dan mengeluarkan pendapat
tentang aspek-aspek dari konteks kerja, secara teliti, bagaimana mereka akan
mempengaruhi desainnya (Howard dan Monk, 1998).
c. Perancangan Sistem (Design)
Pada tahap ini adalah melakukan proses desain dan melakukan perbaikan-
perbaikan apabila masih terdapat ketidaksesuaian desain antara user dan
analyst. Untuk tahap ini maka keaktifan user yang terlibat sangat
menentukan untuk mencapai tujuan, karena user bisa langsung memberikan
komentar apabila terdapat ketidaksesuaian pada desain.
Perancangan sistem ini juga menggunakan pendekatan model-driven dengan
pemodelan objek, sama seperti pendekatan yang digunakan pada tahap
analisis sistem. Adapun metode yang digunakan adalah Desain berorientasi
objek/Object-oriented design (OOD). Dengan UML (Unified Modelling
Language) sebagai tools untuk perancangan dan pengembangan aplikasinya.
Diagram UML yang digunakan adalah sebagai berikut:
1) Use Case Diagram
2) Activity Diagram
3) Class Diagram
76
4) Statechart Diagram
5) Sequence Diagram
Selain diagram diatas, digunakan juga diagram lain yang tentunya diluar dari
diagram yang disediakan oleh UML, namun peranannya yang cukup penting
dalam mendukung tahapan perancangan sistem ini, yaitu:
1) Spesifikasi Database
2) Perancangan Antarmuka
3) Navigation Diagram
d. Implementasi Sistem (Construction & Testing)
Setelah melakukan analisis sistem dan perancangan sistem secara rinci,
maka tiba saatnya sistem untuk diimplementasikan. Pada tahap ini terdapat
banyak aktivitas yang dilakukan. Aktivitas-aktivitas yang dimaksud berupa:
1) Pemrograman
Pemrograman adalah aktivitas pembuatan program atau sederetan
intruksi yang digunakan untuk mengatur komputer agar bekerja sesuai
dengan maksud masing-masing intruksi (Kadir, 2003).
Pada Tahap ini, mempresentasikan atau menerapkan hasil perancangan
ke dalam bahasa pemrograman. Yaitu mengimplementasikan
rancangan basis data ke dalam bahasa komputer menggunakan
MySQL dan membuat coding program menggunakan VB.NET.
77
2) Pengujian
Pengujian pada dasarnya adalah menemukan serta menghilangkan
bugs (kesalahan-kesalahan) yang ada pada sistem atau perangkat lunak
(Nugroho, 2002). Pengujian yang digunakan dalam skripsi ini adalah
pengujian dengan pendekatan Black-Box Testing. Menurut Tripathy
dan Naik, Black-Box Testing disebut juga pengujian fungsi, yaitu suatu
teknik pengujian yang yang mengabaikan detil internal dari sistem dan
hanya fokus pada input yang diterima, output yang dihasilkan, dan
kondisi-kondisi pelaksanaan (Tripathy dan Naik, 2008). Sedangkan
Hutcheson mengemukakan bahwa, pengujian fungsi secara umum
adalah berkaitan dengan pembuktian bahwa fungsi sistem secara benar
berasal dari perspektif pemakai. Pengujian fungsi pada umumnya tidak
bisa melakukan verifikasi dari proses sistem, hanya hasil yang keluar
atau hasil yang nyata terlihat oleh pemakai yang normal. Pengujian
jenis ini disebut Black-Box Testing (Hutcheson, 2003).
Pada pengujian Black-Box Testing, tidak perlu diketahui apa yang
sesungguhnya terjadi dalam sistem/perangkat lunak. Karena yang diuji
adalah masukan serta keluarannya. Dalam pengujian ini kita dapat
menggunakan Use Case Diagram yang kita kembangkan saat analisis
sebagai panduan, apakah keluaran sesuai dengan harapan serta
kebutuhan pengguna.
78
3) Instalasi Perangkat
Beberapa tahapan dalam penerapan aplikasi ini dibutuhkan beberapa
pengaturan agar aplikasi dapat berjalan dengan benar dan sesuai
dengan apa yang diharapkan. Tahapan tersebut antara lain:
i. Pemasangan hardware yang dibutuhkan seperti CPU, monitor,
keyboard, mouse dan printer dengan spesifikasi tertentu.
ii. Instalasi software (driver) perlu sekali dilakukan agar dapat
dengan mudah terintegrasi antara program aplikasi dengan
hardware yang digunakan.
3.4 Kerangka Pemikiran
Pengembangan Sistem Informasi Penjualan ini disusun melalui beberapa
tahapan yang harus dilakukan dengan tujuan memudahkan dalam penulisan
penelitian. Adapun alur penelitian yang dilakukan sebagai berikut:
79
Sistem Informasi Penjualan PT.Distriversa
Buanamas
Metode Pengumpulan Data
Metode Pengembangan
Sistem
Studi Pustaka
Observasi
Wawancara
Scope Definition
Analisis Sistem
Perancangan Sistem
Implementasi Sistem
System Definition FACTOR
Functionality
Application Domain
Condition
Technology
Objects
Responsibility
Analisis Masalah
Analisis Persyaratan
Analisis Keputusan
Rich Picture
Activity Diagram
Functional Requirement
Nonfunctional Requirement
Use Case Diagram
Activity Diagram
Class Diagram
Spesifikasi Database
Statechart Diagram
Sequence Diagram
Rancangan Antarmuka
Navigation Diagram
Pemrograman
Pengujian
Instalasi Perangkat
UML
MySQL
VB.NET
Black Box Testing
Gambar 3.2 Alur Kerangka Pemikiran.
Gambar 3.2 memperlihatkan alur kerangka pemikiran dalam penelitian ini.
Dimana penelitian ini bertujuan untuk mengembangkan sistem informasi
penjualan yang berjalan pada PT.Distriversa Buanamas. Penelitian ini dimulai
80
dengan pengumpulan data perusahaan yang berkaitan dengan kegiatan penjualan.
Pengumpulan data dalam penelitian ini menggunakan 3 metode, yaitu metode
studi pustaka, observasi, dan wawancara. Studi pustaka dilakukan untuk
mendapatkan informasi mengenai perancangan dan pengembangan sistem, studi
pustaka juga dilakukan untuk mengetahui perkembangan sistem penjualan secara
luas. Observasi dilakukan dengan pengamatan langsung terkait proses kegiatan
penjulan PT.Distriversa Buanamas. Wawancara dengan Kepala Bagian Penjualan
PT.Distriversa Buanamas dilakukan untuk mencari informasi mengenai kegiatan
penjualan dan menggali permasalahan-permasalahan yang terdapat dalam sistem
berjalan. Dari hasil pengumpulan data tersebut diperoleh permasalahan-
permasalahan yang terdapat dalam sistem berjalan.
Setelah mendapatkan data dan informasi mengenai permasalahan yang
terdapat dalam sistem berjalan, maka digunakan metode pengembangan sistem
yang terdiri dari Scope Definition, Analisis Sistem, Perancangan Sistem, dan
Implementasi Sistem untuk mengembangkan sistem berjalan menjadi sistem baru
yang menjadi solusi dari permasalahan-permasalahan pada bagian penjualan
PT.Distriversa Buanamas. Tahapan pertama pengembangan sistem yaitu
mendefinisikan lingkup sistem, yang artinya menentukan tingkat atau ukuran dan
batas-batas pengembangan sistem. Sistem yang akan dikembangkan dirangkum
dalam system definition menggunakan kriteria FACTOR yang terdiri dari enam
elemen yaitu Functionality, Application domain, Condition, Technology, Objects,
Responsibility.
Tahapan selanjutnya adalah analisis sistem. Hasil utama dari analisis
sistem adalah pemahaman sistem seutuhnya sebagai persiapan menuju ke tahap
81
selanjutnya (tahap perancangan). Ada tiga tahapan dalam melakukan analisis
sistem, yaitu analisis masalah, analisis persyaratan (requirement analysis), dan
analisis keputusan. Analisis masalah mempelajari sistem berjalan dengan
pemahaman mendalam akan masalah-masalah yang memicu proyek. Analisis
masalah menggunakan diagram UML, yaitu Activity Diagram. Selain activity
diagram, juga digunakan Rich Picture untuk mendukung analisis sistem
berorientasi objek. Analisis persyaratan (requirement analysis) mendefinisikan
dan memprioritaskan persyaratan-persyaratan bisnis. Requirements yang ada akan
dibagi menjadi 2 bagian. Pertama adalah Functional Requirement yaitu aktivitas
dan servis yang harus disediakan oleh sistem yang akan dikembangkan. Kedua
adalah Nonfunctional Requirement yaitu fitur-fitur lain yang diperlukan oleh
sistem agar sistem dapat lebih memuaskan. Analisis keputusan yang akan
menghasilkan arsitektur aplikasi untuk solusi yang disetujui. Analisis keputusan
menentukan komponen-komponen dari sistem usulan yang akan dirancang,
dibangun dan diimplementasikan.
Setelah analisis sistem, tahap selanjutnya adalah perancangan sistem.
Perancangan sistem ini menggunakan pendekatan model-driven dengan
pemodelan objek. Untuk perancangan dan pengembangan aplikasi digunakan
tools UML. Diagram UML yang digunakan adalah Use Diagram, Activity
Diagram, Class Diagram, Spesifikasi Database, Statechart Diagram, Sequence
Diagram, Rancangan Antarmuka, Navigation Diagram.
Tahapan terakhir dalam pengembangan sistem ini adalah implementasi
sistem. Dalam implementasi sistem terdapat beberapa aktivitas, yaitu
pemograman, pengujian dan instalasi perangkat. Aktivitas pemograman
82
83
mempresentasikan atau menerapkan hasil perancangan ke dalam bahasa
pemrograman menggunakan MySQL untuk perancangan database dan membuat
coding program menggunakan VB.NET. Pengujian yang digunakan dalam skripsi
ini adalah pengujian dengan pendekatan Black-Box Testing, yaitu suatu teknik
pengujian yang mengabaikan detail internal dari sistem dan hanya fokus pada
input yang diterima, output yang dihasilkan, dan kondisi2 pelaksanaan. Instalasi
perangkat diatur agar aplikasi dapat berjalan dengan benar dan sesuai dengan yang
diharapkan.
BAB IV
HASIL DAN PEMBAHASAN
4.1 Gambaran Umum Perusahaan
Sebelum membahas analisis sistem, terlebih dahulu akan dijelaskan
mengenai gambaran umum PT. Distriversa Buanamas. PT. Distriversa Buanamas
pertama kali didirikan pada bulan Januari tahun 1993 dan membuat surat izin
usaha dengan No. SIUP 834-0499/10-25/PM/II/1994 di Bandung pada tanggal 09
Nopember 1994 yang ditandatangani oleh Kepala Perdagangan Bandung Herman
Hamdan.
Gambar 4.1 Logo Perusahaan
PT. Distriversa Buanamas merupakan salah satu perusahaan dagang yang
bergerak dibidang farmasi yang beralamat di Jl. Darmawangsa Raya V No.22
Kebayoran Baru – Jakarta Selatan dengan lokasi gudang di Pulo Gadung Jakarta
Timur. Seiring dengan perkembangannya, PT. Distriversa Buanamas didalam
menjalankan kegiatan usahanya tetap memegang teguh misi utamanya yaitu
menjaga kepercayaan dan hubungan baik dengan pelanggan dengan menerapkan
84
semboyan “Pembeli Adalah Raja”. Berikut adalah struktur organisasi pada PT.
Distriversa Buanamas:
Pimpinan
HRD BagianPenjualan
BagianPembelian
BagianKeuangan
BagianGudang
BagianPengiriman
Gambar 4.2 Struktur Organisasi PT. Distriversa Buanamas.
Semua bagian yang ada di dalam struktur organisasi PT. Distriversa
Buanamas memiliki tugas dan wewenang yang berbeda. Berikut adalah tugas dan
wewenang dari masing-masing bagian:
a. Pimpinan
1) Menyusun perencanaan dan pengarahan guna pencapaian tujuan dan
sasarannya.
2) Mengawasi kegiatan operasional dan pengambilan keputusan yang
penting.
3) Bertanggung jawab atas jalannya perusahaan secara keseluruhan
dengan mengarahkan dengan mengarahkan sesuai dengan tujuan dan
kebijaksanaan yang telah ditentukan.
b. HRD
1) Menyusun/merencanakan program pelatihan tenaga kerja.
2) Bertanggung jawab dalam menentukan kebijakan pengembangan
sumber daya manusia perusahaan.
85
3) Memberikan laporan summary mengenai karyawan kepada bagian
keuangan dan pimpinan.
c. Bagian Penjualan
1) Melayani pemesanan dari pelanggan secara langsung.
2) Membuat dan memberikan laporan penjualan kepada pimpinan.
3) Bertanggung jawab atas kegiatan penjualan produk.
4) Bertanggung jawab mengenai tingkat penjualan yang tercapai kepada
pimpinan.
d. Bagian Pembelian
1) Menerima laporan persediaan obat dan obat yang telah kadaluarsa dari
bagian gudang.
2) Melakukan order pembelian obat sesuai dengan permintaan bagian
gudang.
3) Membuat laporan pembelian.
4) Bertanggung jawab atas pembelian obat dari supplier.
e. Bagian Keuangan
1) Mengatur keuangan perusahaan.
2) Membuat laporan keuangan kepada pimpinan.
f. Bagian Gudang
1) Mengeluarkan obat sesuai permintaan bagian penjualan.
2) Membuat permintaan pembelian obat kepada bagian pembelian.
3) Menangani, mengatur dan menjaga penyimpanan obat di gudang.
86
4) Mencatat persediaan obat setelah dilakukan pembelian maupun
penjualan obat, serta membuat pencatatan obat yang telah
kadaluarsa/rusak.
5) Bertanggung jawab dalam menangani, mengatur dan menjaga
penyimpanan obat di gudang.
g. Bagian Pengiriman
1) Menerima surat jalan dari bagian penjualan.
2) Bertanggung jawab terhadap pengiriman obat dan memastikan obat
sampai pada tujuan.
4.2 Mendefinisikan Lingkup (Scope Definition)
Penelitian pengembangan sistem yang dilakukan difokuskan pada batasan
masalah dan ruang lingkup kegiatan di Bagian Penjualan PT.Distriversa
Buanamas dengan pengembangan sistem informasi penjualan yang
terkomputerisasi. Pengembangan sistem ini mengatur pengolahan data penjualan
dari mulai proses penginputan file master (data pelanggan¸ data obat, data batch,
data supir, data kendaraan), penginputan file transaksi, hingga mencetak laporan
pesanan, laporan penjualan dan laporan retur. Pengembangan sistem ini terkait
dengan bagian gudang, namun tidak membahas permasalahan bagian pembelian
untuk memenuhi persediaan di bagian gudang. Selain itu, sistem ini juga tidak
membahas komunikasi serta keamanan data yang terkait dengan sistem ini secara
terinci.
87
Sistem informasi penjualan ini diterapkan dalam bentuk windows
application. Semua kegiatan pada sistem informasi penjualan ini hanya diakses
oleh karyawan bagian penjualan PT.Distriversa Buanamas.
Sistem informasi yang akan dikembangkan ini dirangkum dalam system
definition. Berikut adalah system definition untuk sistem informasi penjualan pada
PT.Distriversa Buanamas dengan menggunakan FACTOR Criterion:
Sistem ini digunakan untuk memenuhi kebutuhan bagian penjualan akan
teknologi pendukung yang dapat mempermudah, mempercepat dan meminimalisir
kesalahan dari seluruh kegiatan pencatatan, yaitu pencatatan data pelanggan, data
obat, data batch, data supir dan data kendaraan,serta mencatat dan mencetak surat
pesanan, faktur, surat jalan, surat retur dan mencetak laporan penjualan, laporan
pemesanan dan laporan retur. Sistem ini digunakan oleh pegawai bagian penjualan
yang membutuhkan fasilitas komputerisasi yang cepat dan mudah
penggunaannya. Sistem ini menggunakan Personal Computer (PC) yang
terhubung dengan jaringan LAN dan dilengkapi fasilitas printer dan fax. Sistem
ini bertanggung jawab terhadap seluruh kegiatan pencatatan bagian penjualan.
Functionality : Mendukung kegiatan penjualan sehingga dapat
menghasilkan informasi penjualan yang dapat
dipercaya. Informasi yang dihasilkan antara lain
pencatatan data pelanggan, data obat, data batch, data
supir dan data kendaraan, mencetak surat pesanan,
mencetak faktur, mencetak surat jalan, mencetak surat
retur, membuat laporan penjualan per periode, laporan
pemesanan per periode dan laporan retur per periode.
88
Application Domain : Bagian penjualan PT.Distriversa Buanamas.
Condition : Sistem informasi penjualan ini digunakan dengan
kondisi dimana sistem ini berfungsi sebagai suatu
sarana yang mendukung efektivitas dan efisiensi kinerja
dari sumber daya manusia yang telah memahami
konsep penjualan, retur dan penagihan dalam
pelaksanaan atas tugas dan tanggung jawabnya.
Technology : Personal Computer (PC) yang terhubung ke LAN dan
dilengkapi dengan printer dan fax.
Object : Bag.Penjualan, Gudang, Pelanggan, Obat, Kendaraan,
Surat Pemesanan, Faktur, Surat Jalan, Surat Retur.
Responsibility : Kebutuhan administrasi penjualan sebagai sarana media
komunikasi yang baik dengan pelanggan maupun antar
bagian organisasi.
4.3 Analisis Sistem (System Analysis)
Analisis sistem mempelajari suatu masalah dan mempunyai tujuan utama
untuk melakukan tindakan. Terdapat tiga tahapan analisis sistem dalam
metodologi RAD yang akan digunakan dalam menganalisis sistem informasi
penjualan yang akan dirancang. Diantaranya adalah Analisis Masalah (Problem
Analysis), Analisis Persyaratan (Requirement Analysis), dan Analisis Keputusan
(Decision Analysis).
89
4.3.1 Analisis Masalah (Problem Analysis)
Sistem manajemen data penjualan pada PT. Distriversa Buanamas sudah
menggunakan komputer, yaitu pada kegiatan pencatatan transaksi penjualan.
Sistem tersebut memiliki banyak kekurangan, antara lain pencatatan transaksi
penjualan harus dilakukan dua kali, yaitu pencatatan secara manual dan
pencatatan dengan komputer menggunakan Microsoft Excel. Aplikasi tersebut
hanya dapat menyimpan data penjualan, pengelolaan datanya tidak terhubung
dengan database. Kekurangan lainnya dari sistem berjalan, yaitu surat pesanan
untuk diserahkan ke bagian gudang masih menggunakan form surat pesanan
manual (kertas). Di bagian gudang, obat yang dipesan disiapkan untuk
didistribusikan kepada pelanggan, kemudian bagian penjualan membuatkan surat
jalan dan faktur penjualan. Pembuatan surat jalan dan faktur penjualan sebagai
bukti transaksi juga masih menggunakan form manual (kertas).
Pada sistem berjalan, pencarian dokumen atau arsip transaksi penjualan
harus dilakukan dengan cara membuka satu persatu folder penjualan sampai
mendapatkan file yang diinginkan. Hal tersebut masih menyulitkan pengguna
untuk mencari atau mendapatkan informasi mengenai data/dokumen yang
dibutuhkan, mengingat pada sistem tersebut tidak dilengkapi fasilitas mesin
pencari (kolom search) yang secara akurat mengakses langsung ke dalam
database penjualan.
Dalam pembuatan laporan penjualan, penghitungan total penjualan yang
diterapkan masih secara manual, yaitu data penjualan yang telah dicatat selama
satu periode harus dicari satu persatu (menggunakan Windows Explorer) lalu
dikumpulkan, data yang telah terkumpul kemudian dikalkulasikan menggunakan
90
Microsoft Excel. Perencanaan jumlah dan nama obat yang akan disediakan bagian
gudang menjadi sangat penting, namun pada sistem berjalan yang pengelolaan
datanya hanya menggunakan Microsoft Excel dan tidak terhubung dengan
database, usaha untuk memprediksi mengenai apa dan berapa banyak obat yang
akan disediakan menjadi lamban, mengingat semua kegiatan yang merupakan
pengolahan data penjualan harus kembali dilakukan dengan cara membuka folder-
folder dan mencari file data penjualan satu persatu.
Analisis terhadap sistem berjalan dapat lebih jelas digambarkan menggunakan
Rich Picture dan Activity Diagram. Berikut adalah analisis terhadap sistem
berjalan dengan menggunakan Rich Picture dan Activity Diagram:
4.3.1.1 Rich Picture
Berbagai macam tools dapat digunakan untuk menggambarkan suatu
proses bisnis terhadap sistem berjalan, salah satunya adalah Rich Picture. Rich
Picture adalah sebuah gambaran menggunakan semacam kartun yang melukiskan
seluruh kepentingan stakeholder, dan beberapa dari struktur utama konteks kerja.
Rich picture adalah sebuah alat untuk mencatat dan mengeluarkan pendapat
tentang aspek-aspek dari konteks kerja, secara teliti, bagaimana mereka akan
mempengaruhi desainnya (Howard dan Monk, 1998).
Berikut adalah penjelasan proses bisnis yang dilakukan bagian penjualan dari
mulai pemesanan obat oleh pelanggan sampai dengan penyerahan laporan
penjualan kepada pimpinan:
91
Gambar 4.3 Rich Picture proses bisnis sistem berjalan.
Dari Gambar 4.3 dapat dijelaskan bahwa pelaksanaan proses bisnis
dimulai dari pelanggan yang memesan obat kepada bagian penjualan melalui
telepon atau faksimili, kemudian bagian penjualan mencatat pesanan secara
manual menulisnya ke dalam kertas/form surat pesanan. Lalu bagian penjualan
mengecek pesanan dengan mencari arsip/file data obat satu persatu untuk melihat
persediaan obat yang ada pada gudang. Hal ini cukup memakan waktu lama
dikarenakan pencarian data-data dilakukan secara manual. Selanjutnya surat
pesanan diserahkan kepada bagian gudang.
92
Bagian gudang menerima surat pesanan kemudian melakukan pengecekan
terhadap stok obat yang ada pada gudang. Jika stok obat tidak mencukupi atau
tidak memenuhi kebutuhan minimum stok yang disediakan gudang, maka bagian
gudang akan memberikan informasi kepada bagian pembelian untuk memenuhi
kebutuhan stok obat pada gudang (tidak akan dibahas lebih lanjut karena diluar
lingkup penelitian). Apabila stok obat mencukupi dan memenuhi kebutuhan
minimum stok yang disediakan gudang, bagian gudang akan menyiapkan obat-
obat yang sudah dipesan kemudian obat pesanan tersebut segera diserahkan
kepada bagian penjualan.
Bagian penjualan menerima obat pesanan dari bagian gudang, kemudian
bagian penjualan membuatkan faktur untuk pelanggan dan surat jalan untuk
bagian pengiriman. Kedua dokumen tersebut masih dikerjakan manual yaitu
ditulis pada lembar/form faktur dan surat jalan. Setelah faktur dan surat jalan
dibuat, kedua dokumen tersebut beserta obat pesanan diserahkan kepada bagian
pengiriman untuk diantarkan kepada pelanggan.
Bagian pengiriman menerima obat pesanan, faktur dan surat jalan,
kemudian langsung mengirimkannya kepada pelanggan yang bersangkutan
menggunakan kendaraan yang disediakan perusahaan. Setelah tiba ditempat
tujuan(pelanggan), bagian pengiriman menyerahkan obat pesanan dan faktur
kepada pelanggan, kemudian pelanggan mengecek obat pesanannya apakah sesuai
atau tidak dengan yang dipesan. Pelanggan juga mengecek kondisi fisik obat
apakah terdapat cacat/rusak, kemudian dilakukan pula pengecekan terhadap
tanggal kadaluarsa yang tertera pada kemasan obat. Apabila ada obat yang tidak
sesuai dengan pesanan atau obat yang dikirim cacat/rusak, pelanggan berhak
93
meminta retur kepada bagian penjualan. Pelanggan mengembalikan obat pesanan
yang cacat/rusak kepada bagian pengiriman, selanjutnya bagian pengiriman
menyerahkannya ke bagian penjualan. Kemudian bagian penjualan akan
membuatkan surat retur, dan urutan selanjutnya sama dengan proses di atas.
Tetapi apabila obat pesanan yang diterima pelanggan sesuai dengan
pesanan dan tidak terdapat cacat/kerusakan, pelanggan langsung menandatangani
surat jalan yang dibawa oleh bagian pengiriman. Setelah itu pelanggan membayar
semua tagihan sesuai dengan faktur dan menyerahkan uang pembayaran kepada
bagian pengiriman. Selanjutnya bagian pengiriman kembali dan menyerahkan
rangkap faktur, surat jalan dan uang pembayaran kepada bagian penjualan.
Bagian penjualan menerima uang pembayaran dan dokumen-dokumen tersebut.
Proses terakhir yang dilakukan oleh bagian penjualan adalah melakukan laporan
penjualan. Bagian penjualan membutuhkan waktu yang agak lama dalam
pembuatan laporan penjualan, karena harus mencari dan mengumpulkan data-data
penjualan satu persatu secara manual, kemudian baru bisa dilakukan penghitungan
penjualan. Laporan yang sudah dibuat oleh bagian penjualan, selanjutnya
diserahkan kepada pimpinan perusahaan. Laporan penjualan ditujukan untuk
mengetahui tingkat penjualan yang telah tercapai.
4.3.1.2 Activity Diagram
Salah satu tools UML yang digunakan dalam menganalisis sistem berjalan
adalah Activity Diagram. Berikut adalah analisis terhadap sistem berjalan
menggunakan Activity Diagram untuk keseluruhan aktifitas.
94
PimpinanBag.PengirimanBag.GudangBag.Penj ualanPelanggan
memesan obat
menerima faktur
melakukan pembayaran
menerima obat & surat jalan
mengecek obat & surat jalan
menandatangani surat jalan
menerima obat & surat retur
mengembalikan rangkap surat retur
start
stop
sesuai
tidak_sesuai
mencatat pesanan
menyerahkan ke Bag.Gudang
menerima obat pesanan
membuat faktur
menerima pembayaran
membuat surat jalan
menerima obat & surat jalan
membuat surat retur
menyerahkan surat retur
menerima rangkap surat retur
membuat laporan
menerima pesanan
menyiapkan obat
menyerahkan obat ke Bag.Penjualan
menerima
faktur menyerahkan
faktur
menerima pembayaran
menyerahkan pembayaran
menerima obat
& surat jalan
mengirimkan obat & surat jalan
menerima obat & surat jalan
menyerahkan obat & surat jalan
menerima obat & surat retur
menyerahkan obat & surat retur
menerima rangkap surat retur
menyerahkan rangkap surat retur
menerima laporan
stop
Gambar 4.4 Activity Diagram keseluruhan aktifitas sistem berjalan.
95
Berikut adalah analisis terhadap sistem berjalan menggunakan Activity Diagram
berdasarkan proses bisnis masing-masing aktivitas:
a. Proses Penerimaan Pesanan Obat
memesan obat
Start
mencatat pesanan
menyerahkan ke Bag.Gudang
menerima pesanan
menyiapkan obat
Stop
Bag.GudangBag.PenjualanPelanggan
Gambar 4.5 Activity Diagram proses penerimaan pesanan obat.
Pada activity diagram proses penerimaan pesanan obat, terdapat tiga actor
yang terlibat yaitu pelanggan, bagian penjualan dan bagian gudang. Proses
bisnis dimulai ketika pelanggan memesan obat kepada bagian penjualan
melalui telepon atau faksimili, kemudian bagian penjualan mencatat pesanan
tersebut. Setelah pesanan dicatat, bagian penjualan melakukan pengecekan
terhadap surat pesanan. Pengecekan dilakukan untuk memastikan semua
pesanan sudah tercatat. Kemudian surat pesanan diserahkan kepada bagian
gudang. Setelah surat pesanan diterima, bagian gudang melakukan
pengecekan terhadap daftar dan stok obat terlebih dahulu. Setelah
96
pengecekan selesai, bagian gudang menyiapkan obat-obat berdasarkan surat
pesanan. Dan aktivitas proses penerimaan pesanan obat berakhir
b. Proses Pembayaran Obat
membuat faktur
menerima pembayaran
Start
Stop
menyerahkan pembayaran
menyerahkan faktur
menerima faktur
menerima pembayaran
menerima faktur
melakukan pembayaran
PelangganBag.PengirimanBag.Penj ualan
Gambar 4.6 Activity Diagram proses pembayaran obat.
Pada activity diagram proses pembayaran obat, terdapat tiga actor yang
terlibat yaitu bagian penjualan, bagian pengiriman dan pelanggan. Proses
bisnis dimulai dari bagian penjualan membuat faktur lalu menyerahkan
faktur tersebut kepada bagian pengiriman untuk diantar kepada pelanggan.
Setelah pelanggan menerima faktur dari bagian pengiriman, pelanggan
mengecek terlebih dahulu faktur tersebut sebelum melakukan pembayaran.
Setelah faktur dicek dan tidak ada masalah, pelanggan melakukan
97
pembayaran dengan menyerahkan kepada bagian pengiriman. Kemudian
bagian pengiriman menyerahkan uang pembayaran tersebut kepada bagian
penjualan. Aktivitas proses pembayaran obat berakhir setelah bagian
penjualan menerima uang pembayaran dari pelanggan melalui bagian
pengiriman.
c. Proses Pengiriman Obat
membuat surat jalan
memproses retur
Stop
Start
mengirimkan obat dan surat jalan
tidak_sesuai
mengecek obat
menandatangani surat jalan
menerima obat dan surat jalan
Stop
sesuai
PelangganBag.PengirimanBag.Penj ualan
Gambar 4.7 Activity Diagram proses pengiriman obat.
Pada activity diagram proses pengiriman obat, terdapat tiga actor yang
terlibat yaitu bagian penjualan, bagian pengiriman dan pelanggan. Proses
bisnis dimulai ketika bagian penjualan menyiapkan obat yang telah
diserahkan oleh bagian gudang, kemudian bagian penjualan membuatkan
surat jalan untuk memberitahukan obat apa saja yang dikirim oleh bagian
98
pengiriman. Setelah itu bagian pengiriman mengantarkan obat dan surat
jalan kepada pelanggan. Kemudian pelanggan menerima obat pesanannya
dan segera melakukan pengecekan terhadap obat pesanannya. Setelah
dilakukan pengecekan, pelanggan dihadapkan dengan decision. Apabila obat
pesanan tidak sesuai dengan pesanannya, maka pelanggan dapat melakukan
proses retur kepada bagian penjualan. Jika sebaliknya, obat pesanan sesuai
dengan pesanan, maka selanjutnya pelanggan menandatangi surat jalan dan
aktivitas proses pengiriman obat berakhir.
d. Proses Retur Obat
mengembalikan obat
menerima obat dan surat jalan
start
stop
menerima obat dan surat jalan
menyerahkan obat dan surat jalan
menerima obat & surat retur
menyerahkan obat & surat retur
menerima obat dan surat jalan
membuat surat retur
menyerahkan obat & surat retur
Bag.PenjualanBag.PengirimanPelanggan
Gambar 4.8 Activity Diagram proses retur obat.
99
Pada activity diagram proses retur obat, terdapat tiga actor yang terlibat
yaitu pelanggan, bagian pengiriman dan bagian penjualan. Proses bisnis
dimulai ketika pelanggan mengembalikan surat jalan dan obat yang akan
diretur kepada bagian pengiriman, kemudian bagian pengiriman menerima
surat jalan dan obat tersebut lalu menyerahkannya ke bagian penjualan.
Bagian Penjualan menerima obat dan surat jalan, kemudian membuat surat
retur. Selanjutnya obat dan surat retur diserahkan ke bagian pengiriman.
Bagian pengiriman menerima obat dan surat retur, lalu menyerahkan obat
dan surat retur tersebut kepada pelanggan. Pelanggan menerima obat dan
surat retur. Aktifitas proses retur obat berakhir.
e. Proses Pembuatan Laporan
membuat laporan
Start
menerima laporan
Bag.Penj ualan Pimpinan
Stop
Gambar 4.9 Activity Diagram proses pembuatan laporan.
Pada activity diagram proses pembuatan laporan, terdapat dua actor yang
terlibat yaitu bagian penjualan dan pimpinan. Proses bisnis dimulai ketika
bagian penjualan membuat laporan penjualan yang kemudian diserahkan
kepada pimpinan. Setelah menerima laporan penjualan dari bagian
100
penjualan, pimpinan melakukan pengecekan terhadap laporan penjualan dan
aktivitas proses pembuatan laporan berakhir.
4.3.2 Analisis Persyaratan (Requirement Analysis)
Fase ini adalah fase yang sangat penting dalam pengembangan sebuah
sistem informasi. Fase ini mendefinisikan dan menganalisis persyaratan-
persyaratan sistem informasi penjualan yang mendukung aktifitas penjualan obat
PT.Distriversa Buanamas.
Requirements yang ada akan dibagi menjadi 2 (dua) bagian. Bagian
pertama adalah Functional Requirement yaitu aktivitas dan servis yang harus
disediakan oleh sistem yang akan dikembangkan. Bagian kedua adalah
Nonfunctional Requirement yaitu fitur-fitur lain yang diperlukan oleh sistem agar
sistem dapat lebih memuaskan. Berikut adalah requirements dari Sistem Informasi
Penjualan PT.Distriversa Buanamas:
4.3.2.1 Functional Requirement
Sistem yang dikembangkan harus mempunyai functional requirements
sebagai berikut :
1. Pencatatan transaksi dan pencetakan bukti transaksi penjualan
terkomputerisasi.
2. Pengaturan penyimpanan data file master, yang terdiri dari data pelanggan,
data obat, data batch, data kendaraan dan data supir.
3. Mengintegrasikan data-data tersebut sehingga terletak pada database yang
sama.
101
4. Pembuatan laporan penjualan, laporan pesanan dan laporan retur yang
terintegrasi dengan database.
4.3.2.2 Nonfunctional Requirement
Nonfunctional Requirements dari sistem yang dikembangkan adalah
sebagai berikut :
Tabel 4.1 Nonfunctional Requirements
Jenis Kebutuhan Penjelasan
Model Tampilan (Performance) a) Mengefisienkan waktu proses pengolahan data dibagian penjualan
b) Mengurangi tingkat kesalahan dan ketidaklengkapan data
c) Tampilan interface yang menarik dan lebih user friendly sehingga lebih mudah dimengerti dan digunakan oleh user.
Model Penyimpanan Data (Information)
a) Melakukan penyimpanan data penjualan berupa data pelanggan, data obat, data batch, data kendaraan,data supir, dan data-data transaksi penjualan obat yang terintegrasi dengan database.
b) Mencegah terjadinya penyimpanan data yang redundant.
c) Mencegah hilangnya data yang selama ini disebabkan karena penyimpanan data dilakukan manual dengan menggunakan form kertas.
d) Memudahkan penyajian laporan dengan pembuatan fitur cetak laporan.
e) Meminimalisasi terjadinya kesalahan penginputan data dan informasi.
f) Data terdokumentasi dan terstruktur.
102
Model Segi Ekonomi (Economic) a) Mengurangi biaya yang disebabkan oleh kesalahan pencatatan data penjualan, penginputan transaksi dan pencatatan laporan.
b) Meningkatkan pelayanan penjualan sehingga tercapai kepuasan pelanggan yang berdampak pada peningkatan hasil penjualan.
Model Pengontrolan Sistem (Control)
a) Meningkatkan keamanan terhadap pelaksanaan proses penyimpanan data.
b) Adanya operator data entry yang bertangungjawab terhadap pelaksanan pemasukan data dan jalannya aktifitas pada aplikasi.
Model Efisiensi Sistem (Eficiency) a) Mengefisienkan waktu untuk pelaksanaan proses penginputan data.
b) Meminimalisasi biaya dan sumber daya yang dibutuhkan untuk pelaksanaan proses pelaporan.
Model Pelayanan Sistem (Service) a) Menghasilkan informasi yang akurat untuk bahan pertimbangan dan evaluasi.
b) Memberi kemudahan dalam penggunaan operasional sistem.
4.3.3 Analisis Keputusan (Decision Analysis)
Dari tahapan analisis sebelumnya telah diketahui permasalahan dari sistem
berjalan dan persyaratan akan kebutuhan sistem yang diinginkan, maka fase
selanjutnya adalah analisis keputusan yaitu menentukan komponen-komponen
dari sistem usulan yang akan dirancang, dibangun dan diimplementasikan. Berikut
merupakan komponen-komponen yang dibutuhkan:
1. Data Penjualan
Proses perekaman pengolahan seluruh data penjualan yang ada ke dalam satu
database, yaitu data pelanggan, data obat, data batch, data supir, data
kendaraan, data faktur, data surat pesanan, data surat jalan dan data retur.
103
2. Pencetakan
Sebagian data master dapat digunakan sebagai bahan untuk mencetak bukti
transaksi penjualan seperti surat pesanan, faktur, surat jalan dan surat retur.
3. Pelaporan
Dalam sistem informasi ini data-data dimanfaatkan sebagai bahan laporan
penjualan, laporan pemesanan dan laporan retur per jangka waktu yang
diinginkan, misal laporan per hari, laporan per bulan, laporan per tahun, dsb.
4. User
Dalam penggunaannya fungsi-fungsi dalam sistem informasi ini dioperasikan
oleh karyawan bagian penjualan.
Setelah mengetahui komponen-komponen sistem yang diusulkan
selanjutnya adalah menentukan jenis perangkat sistem yaitu berupa tools atau alat
untuk merancang dan mengimplementasikan sistem usulan sehingga
menghasilkan arsitektur sistem yang diinginkan. Dalam menentukan arsitektur
sistem usulan yang terpenting adalah pemahaman terhadap jenis tools yang akan
digunakan karena harus sesuai dengan kebutuhan pengguna dan fungsi-fungsi
sistem yang terdapat didalamnya.
Di dalam sistem lama, proses pengolahan datanya dilakukan secara
manual, sedangkan pada sistem informasi yang akan dikembangkan adalah sistem
informasi terkomputerisasi berbentuk windows application, dan konsep
pengembangan aplikasi ini menggunakan pemrograman berorientasi objek. Sistem
usulan dirancang dengan menggunakan UML (Unified Modeling Language), dan
pemrograman berorientasi objek yang digunakan dalam mengimplementasikan
104
sistem ini adalah Visual Basic.NET. Sehingga konsep tentang UML dan VB.NET
harus benar-benar dikuasai.
4.4 Perancangan Sistem (Design)
4.4.1 Use Case Diagram
Tahap pertama dalam perancangan sistem yaitu mendesain use case
diagram. Berikut adalah desain use case diagram untuk sistem usulan:
Cetak Laporan
Entry File Transaksi
Update File Master
update data pelanggan
update data obat
update data batch
update data supir
update data kendaraan
cetak laporan penjualan
cetak laporan pesanan
cetak laporan retur
Bag.Penjualan
entry faktur
entry surat jalan
entry retur
entry surat pesanan
Gambar 4.10 Use case diagram perancangan sistem.
105
Seperti yang terlihat pada Gambar 4.10, actor yang terlibat di dalam use
case diagram perancangan sistem adalah bagian penjualan. Pada use case
diagram tersebut, terdapat dua belas use case, diantaranya terdapat lima use case
pada package update file master yaitu update data pelanggan, update data obat,
update data batch, update data supir dan update data kendaraan. Pada package
entry file transaksi terdapat empat use case yaitu entry surat pesanan, entry faktur,
entry surat jalan dan entry retur. Pada package cetak laporan terdapat tiga use case
yaitu cetak laporan penjualan, cetak laporam pesanan, cetak laporan retur.
Selanjutnya akan dibahas lebih detil mengenai use case diagram sistem usulan
tersebut dan dibagi berdasarkan use case diagram update file master, use case
diagram entry file transaksi dan use case diagram cetak laporan.
a. Use Case Diagram Update File Master
update data obat
update data batch
update data supir
update data kendaraan
update data pelanggan
Bag.Penjualan
Update File Master
Gambar 4.11 Use case diagram update file master.
106
Keterangan dari Gambar 4.11, bagian penjualan sebagai actor melakukan
lima aktivitas (use case) pada update file master yaitu update data
pelanggan, update data obat, update data batch, update data supir dan
update data kendaraan.
Pada use case update data pelanggan, menampilkan form yang berisi data-
data pelanggan. Atribut-atribut yang berada di dalam form update data
pelanggan yaitu kode pelanggan, nama pelanggan, alamat, telepon dan
email. Pada form tersebut, bagian penjualan dapat mengakses data-data
pelanggan, menambah, mengedit dan menghapus data pelanggan.
Pada use case update data obat, menampilkan form yang berisi data-data
obat. Atribut-atribut yang berada di dalam form update data obat yaitu kode
obat, nama obat, jenis, satuan dan harga. Pada form tersebut, bagian
penjualan dapat mengakses data-data obat, menambah, mengedit dan
menghapus data obat.
Pada use case update data batch, menampilkan form yang berisi data-data
batch. Atribut-atribut yang berada di dalam form update data batch yaitu
no.batch, stock dan expired date. Pada form tersebut, bagian penjualan dapat
mengakses data-data batch, menambah, mengedit dan menghapus data batch
dengan memanggil kode obat/nama obat terlebih dahulu untuk menampilkan
data obat.
Pada use case update data supir, menampilkan form yang berisi data-data
supir. Atribut-atribut yang berada di dalam form update data supir yaitu
kode supir, nama supir, alamat dan telepon. Pada form tersebut, bagian
107
penjualan dapat mengakses data-data supir, menambah, mengedit dan
menghapus data supir.
Pada use case update data kendaraan, menampilkan form yang berisi data-
data kendaraan. Atribut-atribut yang berada di dalam form update data
kendaraan yaitu no.polisi dan nama kendaraan. Pada form tersebut, bagian
penjualan dapat mengakses data-data kendaraan, menambah, mengedit dan
menghapus data kendaraan.
b. Use Case Diagram Entry File Transaksi
Entry File Transaksi
entry surat pesanan
entry faktur
entry surat jalanBag.Penjualan
entry retur
Gambar 4.12 Use case diagram entry file transaksi.
Keterangan dari Gambar 4.12, actor pada use case diagram entry file
transaksi yaitu bagian penjualan. Sebagai actor yang mempunyai hak akses
penuh, bagian penjualan melakukan empat aktivitas (use case) pada entry
108
file transaksi yaitu entry surat pesanan, entry faktur, entry surat jalan dan
entry retur.
Pada use case entry surat pesanan, form ditujukan untuk membuat/mencetak
surat pesanan. Form tersebut berisi data-data obat yang dipesan oleh
pelanggan. Atribut-atribut yang berada di dalam form entry surat pesanan
yaitu no.SP, tanggal SP. Pada form tersebut, bagian penjualan dapat
mengakses data-data surat pesanan, membuat surat pesanan baru, menambah
obat pesanan, membatalkan surat pesanan dan mencetak surat pesanan
dengan memanggil kode pelanggan terlebih dahulu untuk menampilkan data
pelanggan kemudian memanggil nomor batch yang dipesan untuk
menampilkan data obat dan mengisi jumlah pesanan yang diinginkan. Surat
pesanan yang sudah dicetak diberikan kepada bagian gudang.
Pada use case entry faktur, form ditujukan untuk membuat/mencetak faktur.
Form tersebut berisi jumlah tagihan dari pesanan obat yang dipesan oleh
pelanggan. Atribut-atribut yang berada di dalam form entry faktur yaitu
no.faktur, tanggal faktur, tanggal tagih dan tanggal jatuh tempo. Pada form
tersebut bagian penjualan dapat mengakses data-data faktur, membatalkan
faktur dan mencetak faktur dengan memanggil nomor surat pesanan terlebih
dahulu untuk menampilkan data surat pesanan dan total tagihan akan
terhitung secara otomatis. Faktur yang sudah dicetak diberikan kepada
pelanggan.
Pada use case entry surat jalan, form ditujukan untuk membuat/mencetak
surat jalan. Form tersebut berisi data faktur dan informasi kendaraan dan
supir yang mengantar. Atribut-atribut yang berada di dalam form entry surat
109
jalan yaitu nomor surat jalan dan tanggal surat jalan. Pada form tersebut
bagian penjualan dapat mengakses data-data surat jalan, membatalkan surat
jalan, menyimpan dan mencetak surat jalan dengan memanggil nomor faktur
terlebih dahulu untuk menampilkan data faktur dan memanggil no.polisi dan
supir untuk menampilkan data kendaraan dan supir. Surat jalan yang sudah
dicetak diberikan kepada pelanggan sebagai bukti bahwa barang telah
dikirm kepada pelanggan dan menambahkan keterangan lainnya.
Pada use case entry retur, form ditujukan untuk membuat/mencetak retur.
Form tersebut berisi data surat jalan dan informasi obat yang akan diretur.
Atribut-atribut yang berada di dalam form entry retur yaitu nomor retur dan
tanggal retur. Pada form tersebut bagian penjualan dapat mengakses data-
data retur, membatalkan retur, menyimpan dan mencetak retur dengan
memanggil nomor surat jalan terlebih dahulu untuk menampilkan informasi
yang ada pada surat jalan dan memanggil kode obat untuk memproses retur
obat-obat yang sudah dipesan dengan memberikan keterangan. Retur yang
sudah dicetak diberikan kepada pelanggan.
110
c. Use Case Diagram Cetak Laporan
Cetak Laporan
Bag.Penjualan
cetak laporan penjualan
cetak laporan pesanan
cetak laporan retur
Gambar 4.13 Use case diagram cetak laporan.
Keterangan dari Gambar 4.13, actor pada use case diagram cetak laporan
yaitu bagian penjualan. Bagian penjualan sebagai actor yang mempunyai
hak akses penuh, melakukan tiga aktivitas (use case) pada cetak laporan
yaitu cetak laporan penjualan, cetak laporan pesanan dan cetak laporan retur.
Semua form pada masing-masing use case ditujukan untuk
membuat/mencetak laporan-laporan dari seluruh kegiatan penjualan per
periode tertentu. Form-form tersebut berisi pilihan periode tanggal yang
diinginkan untuk membuat laporan dari masing-masing form. Bagian
penjualan dapat mencetak laporan penjualan, laporan pesanan dan laporan
retur (pada masing-masing form) dengan menentukan periode tanggal yang
diinginkan terlebih dahulu kemudian diakhiri dengan menekan tombol print
dan laporan akan tercetak. Laporan-laporan yang telah dicetak diberikan
kepada pimpinan.
111
112
4.4.2 Activity Diagram
Dari use case diagram yang sebelumnya sudah dibahas, dapat dijelaskan
urutan aktivitas yang dilakukan oleh bagian penjualan terhadap masing-masing
use case dengan menggunakan activity diagram. Gambar 4.14 menjabarkan
seluruh aktivitas yang dilakukan oleh bagian penjualan (user) terhadap use case.
Terdapat dua belas activity diagram berdasarkan use case yang terlibat dengan
bagian penjualan. Activity diagram tersebut yaitu activity diagram dari use case
update data pelanggan, activity diagram dari use case update data obat, activity
diagram dari use case update data batch, activity diagram dari use case update
data supir, activity diagram dari use case update data kendaraan, activity diagram
dari use case entry surat pesanan, activity diagram dari use case entry faktur,
activity diagram dari use case entry surat jalan, activity diagram dari use case
cetak laporan penjualan, activity diagram dari use case cetak laporan pesanan dan
activity diagram dari use case cetak laporan retur.
Selanjutnya akan dibahas mengenai activity diagram tersebut berdasarkan
masing-masing use case. Berikut adalah activity diagram dari keseluruhan use
case yang dilakukan oleh bagian penjualan:
Gambar 4.14 Activity diagram keseluruhan use case.
113
a. Activity Diagram Use Case Update Data Pelanggan
pilih update data pelanggan
ubah/hapus data pelanggan
tambah data pelanggan
batal
record data pelanggan
menyimpan data pelanggan
menampilkan kotak dialog data pelanggan sudah tersimpan
menampilkan informasi data pelanggan
Start
End
End
invalid
valid
invalid
Gambar 4.15 Activity diagram dari use case update data pelanggan.
Dari activity diagram pada Gambar 4.15, bagian penjualan sebagai user
memulai aktivitas terhadap use case update data pelanggan dengan memilih
update data pelanggan dari form update file master pada menu utama,
kemudian akan tampil form update data pelanggan. Di dalam form tersebut,
user dapat melakukan ubah/hapus data pelanggan, tambah data pelanggan
dan batal. Jika user memilih batal, maka aktivitas berakhir. Tetapi jika user
melakukan ubah/hapus atau tambah data pelanggan, maka akan terjadi
record terhadap data pelanggan. Setelah terjadi proses record, terdapat dua
114
kemungkinan yaitu data yang dimasukan invalid atau valid. Jika invalid,
berarti ada satu atau beberapa atribut yang belum diisi oleh user. Maka
sistem akan merespon dan mengembalikan ke proses tambah data pelanggan
atau kembali ke proses ubah/hapus data pelanggan apabila user sebelumnya
melakukan ubah/hapus data pelanggan. Tetapi jika record sukses dan data
yang dimasukkan valid, maka sistem akan menyimpan data pelanggan dan
menampilkan kotak dialog yang memberi informasi bahwa data pelanggan
sudah tersimpan. Kemudian data tersebut ditampilkan didalam list view yang
ada pada form dan aktivitas update data pelanggan berakhir.
b. Activity Diagram Use Case Update Data Obat
pilih update data obat
ubah/hapus data obat
tambah data obat
menyimpan data obat
menampilkan kotak dialog data obat sudah tersimpan
menampilkan informasi data obat
Start
End
End
valid
invalid
batal
record data obat
invalid
Gambar 4.16 Activity diagram dari use case update data obat.
115
Dari activity diagram pada Gambar 4.16, bagian penjualan sebagai user
memulai aktivitas terhadap use case update data obat dengan memilih
update data obat dari form update file master pada menu utama, kemudian
akan tampil form update data obat. Di dalam form tersebut, user dapat
melakukan ubah/hapus data obat, tambah data obat dan batal. Jika user
memilih batal, maka aktivitas berakhir. Tetapi jika user melakukan
ubah/hapus atau tambah data obat, maka akan terjadi record terhadap data
obat. Setelah terjadi proses record, terdapat dua kemungkinan yaitu data
yang dimasukan invalid atau valid. Jika invalid, berarti ada satu atau
beberapa atribut yang belum diisi oleh user. Maka sistem akan merespon
dan mengembalikan ke proses tambah data obat atau kembali ke proses
ubah/hapus data obat apabila user sebelumnya melakukan ubah/hapus data
obat. Tetapi jika record sukses dan data yang dimasukkan valid, maka
sistem akan menyimpan data obat dan menampilkan kotak dialog yang
memberi informasi bahwa data obat sudah tersimpan. Kemudian data
tersebut ditampilkan didalam list view yang ada pada form dan aktivitas
update data obat berakhir.
116
c. Activity Diagram Use Case Update Data Batch
pilih update data batch
input data obat
menampilkan data obat
ubah/hapus data Batch
tambah data Batch
record data obat
batal
record data batch
menyimpan data batch
menampilkan kotak dialog data batch sudah tersimpan
menampilkan informasi data batch
Start
invalid
valid
invalid
valid
End
End
invalid
Gambar 4.17 Activity diagram dari use case update data batch.
117
Dari activity diagram pada Gambar 4.17, bagian penjualan sebagai user
memulai aktivitas terhadap use case update data batch dengan memilih
update data batch dari form update file master pada menu utama, kemudian
akan tampil form update data batch. Di dalam form tersebut, user dapat
melakukan ubah/hapus data batch, tambah data batch dan batal. Tetapi
sebelum user dapat mengupdate data batch, terlebih dahulu user harus
menginput data obat yang sudah tersimpan sebelumnya yang kemudian akan
menampilkan data obat yang dimaksud. Lalu terjadi proses record data obat.
Setelah terjadi proses record, terdapat dua kemungkinan yaitu data yang
dimasukan invalid atau valid. Jika invalid, berarti data obat yang
dimasukkan salah atau belum ada pada data obat. Maka sistem akan
merespon dan mengembalikan ke proses input data obat seperti semula.
Tetapi jika record sukses dan data yang dimasukan valid, maka selanjutnya
user sudah dapat mengupdate data batch dengan melakukan ubah/hapus data
batch, tambah data batch dan batal. Jika user memilih batal, maka aktivitas
berakhir. Tetapi jika user melakukan ubah/hapus atau tambah data batch
maka akan terjadi record terhadap data batch. Setelah terjadi proses record,
terdapat dua kemungkinan yaitu data yang dimasukan invalid atau valid.
Jika invalid, berarti ada satu atau beberapa atribut yang belum diisi oleh
user. Maka sistem akan merespon dan mengembalikan ke proses tambah
data batch atau kembali ke proses ubah/hapus data batch apabila user
sebelumnya melakukan ubah/hapus data batch. Tetapi jika record sukses dan
data yang dimasukkan valid, maka sistem akan menyimpan data batch dan
menampilkan kotak dialog yang memberi informasi bahwa data batch sudah
118
tersimpan. Kemudian data tersebut ditampilkan didalam list view yang ada
pada form dan aktivitas update data batch berakhir.
d. Activity Diagram Use Case Update Data Supir
pilih update data supir
tambah data supir
ubah/hapus data supir
record data supir
batal
menyimpan data supir
menampilkan kotak dialog data supir sudah tersimpan
menampilkan informasi data supir
Start
End
End
invalid
valid
invalid
Gambar 4.18 Activity diagram dari use case update data supir.
Dari activity diagram pada Gambar 4.18, bagian penjualan sebagai user
memulai aktivitas terhadap use case update data supir dengan memilih
update data supir dari form update file master pada menu utama, kemudian
akan tampil form update data supir. Di dalam form tersebut, user dapat
melakukan ubah/hapus data supir, tambah data supir dan batal. Jika user
119
memilih batal, maka aktivitas berakhir. Tetapi jika user melakukan
ubah/hapus atau tambah data supir, maka akan terjadi record terhadap data
supir. Setelah terjadi proses record, terdapat dua kemungkinan yaitu data
yang dimasukan invalid atau valid. Jika invalid, berarti ada satu atau
beberapa atribut yang belum diisi oleh user. Maka sistem akan merespon
dan mengembalikan ke proses tambah data supir atau kembali ke proses
ubah/hapus data supir apabila user sebelumnya melakukan ubah/hapus data
supir. Tetapi jika record sukses dan data yang dimasukkan valid, maka
sistem akan menyimpan data supir dan menampilkan kotak dialog yang
memberi informasi bahwa data supir sudah tersimpan. Kemudian data
tersebut ditampilkan didalam list view yang ada pada form dan aktivitas
update data supir berakhir.
120
e. Activity Diagram Use Case Update Data Kendaraan
pilih update data kendaraan
ubah/hapus data kendaraan
tambah data kendaraan
batal
record data kendaraan
menyimpan data kendaraan
menampilkan kotak dialog data kendaraan sudah tersimpan
menampilkan informasi data kendaraan
Start
invalid
valid
End
invalid
End
Gambar 4.19 Activity Diagram dari use case update data kendaraan.
Dari activity diagram pada Gambar 4.19, bagian penjualan sebagai user
memulai aktivitas terhadap use case update data kendaraan dengan memilih
update data kendaraan dari form update file master pada menu utama,
kemudian akan tampil form update data kendaraan. Di dalam form tersebut,
user dapat melakukan ubah/hapus data kendaraan, tambah data kendaraan
dan batal. Jika user memilih batal, maka aktivitas berakhir. Tetapi jika user
melakukan ubah/hapus atau tambah data kendaraan, maka akan terjadi
record terhadap data kendaraan. Setelah terjadi proses record, terdapat dua
121
kemungkinan yaitu data yang dimasukan invalid atau valid. Jika invalid,
berarti ada satu atau beberapa atribut yang belum diisi oleh user. Maka
sistem akan merespon dan mengembalikan ke proses tambah data kendaraan
atau kembali ke proses ubah/hapus data kendaraan apabila user sebelumnya
melakukan ubah/hapus data kendaraan. Tetapi jika record sukses dan data
yang dimasukkan valid, maka sistem akan menyimpan data kendaraan dan
menampilkan kotak dialog yang memberi informasi bahwa data kendaraan
sudah tersimpan. Kemudian data tersebut ditampilkan didalam list view yang
ada pada form dan aktivitas update data kendaraan berakhir.
f. Activity Diagram Use Case Entry Surat Pesanan (SP)
pilih entry Surat Pesanan (SP)
tambah data SP
input data SP
batal
menampilkan informasi data SP
menyimpan data SP
cetak
record data SP
Start
End
End
invalid
valid
Gambar 4.20 Activity diagram dari use case entry surat pesanan.
122
Dari activity diagram pada Gambar 4.20, bagian penjualan sebagai user
memulai aktivitas terhadap use case entry surat pesanan dengan memilih
(select) entry surat pesanan (SP) dari form entry file transaksi pada menu
utama, kemudian akan tampil form entry SP. Di dalam form tersebut, user
dapat melakukan add data SP serta mencetak SP dan cancel SP. Jika user
memilih cancel, maka aktivitas berakhir. Tetapi jika user memilih add data
SP, selanjutnya user menginput data SP yang akan dibuat. Setelah terjadi
proses input, terdapat dua kemungkinan yaitu data yang dimasukan invalid
atau valid. Jika invalid, berarti ada satu atau beberapa atribut yang belum
diisi oleh user. Maka sistem akan merespon dan mengembalikan ke proses
input data SP semula. Tetapi jika input sukses dan data yang dimasukkan
valid, maka sistem akan merespon dan menampilkan data SP tersebut.
Kemudian user dapat menyimpan data SP tersebut lalu mencetaknya.
Setelah terjadi proses menyimpan data SP/cetak, maka terjadi proses record
terhadap data SP dan aktivitas entry surat pesanan (SP) berakhir.
123
g. Activity Diagram Use Case Entry Faktur
pilih entry faktur
tambah data faktur
input data faktur
batal
menampilkan informasi data faktur
menyimpan data faktur
record data faktur
cetak
Start
End
End
invalid
valid
Gambar 4.21 Activity diagram dari use case entry faktur.
Dari activity diagram pada Gambar 4.21, bagian penjualan sebagai user
memulai aktivitas terhadap use case entry faktur dengan memilih (select)
entry faktur dari form entry file transaksi pada menu utama, kemudian akan
tampil form entry faktur. Di dalam form tersebut, user dapat melakukan add
data faktur serta mencetak faktur dan cancel faktur. Jika user memilih
124
cancel, maka aktivitas berakhir. Tetapi jika user memilih add data faktur,
selanjutnya user menginput data faktur yang akan dibuat. Setelah terjadi
proses input, terdapat dua kemungkinan yaitu data yang dimasukan invalid
atau valid. Jika invalid, berarti ada satu atau beberapa atribut yang belum
diisi oleh user. Maka sistem akan merespon dan mengembalikan ke proses
input data faktur semula. Tetapi jika input sukses dan data yang dimasukkan
valid, maka sistem akan merespon dan menampilkan data faktur tersebut.
Kemudian user dapat menyimpan data faktur tersebut lalu mencetaknya.
Setelah terjadi proses menyimpan data faktur/cetak, maka terjadi proses
record terhadap data faktur dan aktivitas entry faktur berakhir.
h. Activity Diagram Use Case Entry Surat Jalan
pilih entry surat jalan
tambah data surat jalan
input data surat jalan
batal
menampilkan informasi data surat jalan
menyimpan data surat jalan
cetak
record data surat jalan
End
End
invalid
valid
Gambar 4.22 Activity diagram dari use case entry surat jalan.
125
Dari activity diagram pada Gambar 4.22, bagian penjualan sebagai user
memulai aktivitas terhadap use case entry surat jalan dengan memilih
(select) entry surat jalan dari form entry file transaksi pada menu utama,
kemudian akan tampil form entry surat jalan. Di dalam form tersebut, user
dapat melakukan add data surat jalan serta mencetak surat jalan dan cancel
surat jalan. Jika user memilih cancel, maka aktivitas berakhir. Tetapi jika
user memilih add data surat jalan, selanjutnya user menginput data surat
jalan yang akan dibuat. Setelah terjadi proses input, terdapat dua
kemungkinan yaitu data yang dimasukan invalid atau valid. Jika invalid,
berarti ada satu atau beberapa atribut yang belum diisi oleh user. Maka
sistem akan merespon dan mengembalikan ke proses input data surat jalan
semula. Tetapi jika input sukses dan data yang dimasukkan valid, maka
sistem akan merespon dan menampilkan data surat jalan tersebut. Kemudian
user dapat menyimpan data surat jalan tersebut lalu mencetaknya. Setelah
terjadi proses menyimpan data surat jalan /cetak, maka terjadi proses record
terhadap data surat jalan dan aktivitas entry surat jalan berakhir.
126
i. Activity Diagram Use Case Entry Retur
pilih entry retur
tambah data retur
input data retur
batal
menampilkan informasi data retur
menyimpan data retur
record data retur
cetak
Start
End
End
invalid
valid
Gambar 4.23 Activity diagram dari use case entry retur.
Dari activity diagram pada Gambar 4.23, bagian penjualan sebagai user
memulai aktivitas terhadap use case entry retur dengan memilih (select)
entry retur dari form entry file transaksi pada menu utama, kemudian akan
tampil form entry retur. Di dalam form tersebut, user dapat melakukan add
data retur serta mencetak retur dan cancel retur. Jika user memilih cancel,
maka aktivitas berakhir. Tetapi jika user memilih add data retur, selanjutnya
127
user menginput data retur yang akan dibuat. Setelah terjadi proses input,
terdapat dua kemungkinan yaitu data yang dimasukan invalid atau valid.
Jika invalid, berarti ada satu atau beberapa atribut yang belum diisi oleh
user. Maka sistem akan merespon dan mengembalikan ke proses input data
retur semula. Tetapi jika input sukses dan data yang dimasukkan valid, maka
sistem akan merespon dan menampilkan data retur tersebut. Kemudian user
dapat menyimpan data retur tersebut lalu mencetaknya. Setelah terjadi
proses menyimpan data retur/cetak, maka terjadi proses record terhadap data
retur dan aktivitas entry retur berakhir.
j. Activity Diagram Use Case Cetak Laporan Penjualan
pilih cetak laporan penjualan
pilih tanggal awal
pilih tanggal akhir
menampilkan laporan penjualan berdasarkan periode (tanggal awal/tanggal akhir
Start
End
Gambar 4.24 Activity diagram dari use case cetak laporan penjualan.
128
Dari activity diagram pada Gambar 4.24, bagian penjualan sebagai user
memulai aktivitas terhadap use case cetak laporan penjualan dengan
memilih (select) cetak laporan penjualan dari form cetak laporan pada menu
utama, kemudian akan tampil form cetak laporan penjualan. Di dalam form
tersebut, user dapat membuat/mencetak laporan penjualan per periode. User
hanya memilih tanggal awal dan tanggal akhir yang diinginkan selanjutnya
menekan tombol print. Kemudian sistem akan menampilkan laporan
penjualan per periode dan mencetaknya. Aktivitas cetak laporan penjualan
berakhir.
k. Activity Diagram Use Case Cetak Laporan Pesanan
pilih cetak laporan pesanan
menampilkan laporan pesanan berdasarkan periode (tanggal awal /tanggal akhir)
pilih tanggal awal
pilih tanggal akhir
Start
End
Gambar 4.25 Activity diagram dari use case cetak laporan pesanan.
129
Dari activity diagram pada Gambar 4.25, bagian penjualan sebagai user
memulai aktivitas terhadap use case cetak laporan pesanan dengan memilih
(select) cetak laporan pesanan dari form cetak laporan pada menu utama,
kemudian akan tampil form cetak laporan pesanan. Di dalam form tersebut,
user dapat membuat/mencetak laporan pesanan per periode. User hanya
memilih tanggal awal dan tanggal akhir yang diinginkan selanjutnya
menekan tombol print. Kemudian sistem akan menampilkan laporan
pesanan per periode dan mencetaknya. Aktivitas cetak laporan pesanan
berakhir.
l. Activity Diagram Use Case Cetak Laporan Retur
pilih cetak laporan retur
pilih tanggal awal
pilih tanggal akhir
menampilkan laporan retur berdasarkan periode (tanggal awal/tanggal akhir)
Start
End
Gambar 4.26 Activity diagram dari use case cetak laporan retur.
130
Dari activity diagram pada Gambar 4.26, bagian penjualan sebagai user
memulai aktivitas terhadap use case cetak laporan retur dengan memilih
(select) cetak laporan retur dari form cetak laporan pada menu utama,
kemudian akan tampil form cetak laporan retur. Di dalam form tersebut, user
dapat membuat/mencetak laporan retur per periode. User hanya memilih
tanggal awal dan tanggal akhir yang diinginkan selanjutnya menekan tombol
print. Kemudian sistem akan menampilkan laporan retur per periode dan
mencetaknya. Aktivitas cetak laporan retur berakhir.
131
4.4.3 Class Diagram dan Spesifikasi Database
4.4.3.1 Class Diagram
Fakturno_faktur : Stringtgl_faktur : Datetgl_tagih : Datetgl_jth_tempo : Date
autocodeFaktur()getTanggalFaktur()getSP()setFaktur()isiTabelFaktur()insertFaktur()jumlahFaktur()cetakFaktur()dbConnection()
Kendaraanno_pol : Stringnm_kendaraan : String
setKendaraan()getKendaraan()isiKendaraan()fillListKendaraan()cariKendaraan()insertKendaraan()updateKendaraan()deleteKendaraan()dbConnection()
Supirkd_supir : Stringnm_supir : Stringalamat : Stringtelp : String
autocodeSupir()setSupir()getSupir()isiSupir()fillListSupir()cariSupir()insertSupir()updateSupir()deleteSupir()dbConnection()
Batchno_batch : Stringstock : StringED : date
getObat()setBatch()getBatch()isiBatch()fillListBatch()cariBatch()insertBatch()updateBatch()deleteBatch()dbconnection()
Pelanggankd_pelanggan : Stringnm_pelanggan : Stringalamat : Stringtelp : Stringemail : String
autocodePelanggan()setPelanggan()getPelanggan()isiPelanggan()fillListPelanggan()cariPelanggan()insertPelanggan()updatePelanggan()deletePelanggan()dbConnection()
SuratJalanno_sj : Stringtgl_sj : Dateno_faktur : Stringno_pol : String
autocodeSJ()getTanggalSJ()getFaktur()getBatch()getKendaraan()getSupir()setSJ()isiTabelSJ()insertSJ()cetakSJ()dbConnection()
1
1..*
1
1..*
1 11 1
1
1..*
1
1..*
1..*
DetilSJno_sj : Stringno_batch : Stringkd_obat : Stringjml_kirim : Stringketerangan : String
insertDetilSJ()dbConnection()
1..*1..*
Isino_sp : Stringno_batch : Stringkd_obat : Stringjmlh_pesan : Stringhrg_jual : String
insertIsi()dbConnection()
SuratPesananno_sp : Stringtgl_sp : String
autocodeSP()getTanggalSP()getPelanggan()getBatch()setSP()jmlhTotal()isiTabelSP()insertSP()cetakSP()dbConnection()
1
1
1
1
1..*11
Obatkd_obat : Stringnm_obat : Stringjenis : Stringsatuan : Stirngharga : String
autocodeObat()setObat()getObat()isiObat()fillListObat()cariObat()insertObat()updateObat()deleteObat()dbConnection()
1..*1..*
1..*1..*
Kembalino_retur : Stringno_batch : Stringkd_obat : Stringjmlh : Stringhrg_jual : Stringket_kembali : String
insertKembali()dbConnection()
Returno_retur : Stringtgl_retur : Dateno_faktur : String
autocodeRetur()getTanggalRetur()getSJ()getBatch()setRetur()isiTabelRetur()jumlahRetur()insertRetur()cetakRetur()dbConnection()
1 0..*1 0..*
1..*
1..*
Gambar 4.27 Class Diagram.
132
4.4.3.2 Spesifikasi Database
1) Nama File : pelanggan
Alias : Tabel Pelanggan
Media : Harddisk
Isi : Data Pelanggan
Primary key : kd_pelanggan
Fungsi : tabel master yang digunakan untuk menjelaskan data
pelanggan secara keseluruhan.
Tabel 4.2 – Pelanggan
No Nama Field Jenis Lebar Desimal Null Keterangan
1. kd_pelanggan Char 6 - No Kode Pelanggan
2. nm_pelanggan Varchar 35 - No Nama Pelanggan
3. alamat Text - - No Alamat Pelanggan
4. telp varchar 12 - No Telepon Pelanggan
5. email varchar 35 - Yes Email Pelanggan
2) Nama File : obat
Alias : Tabel Obat
Media : Harddisk
Isi : Data Obat
Primary key : kd_obat
Fungsi : tabel master yang digunakan untuk menjelaskan data obat
secara keseluruhan.
133
Tabel 4.3 - Obat
No Nama Field Jenis Lebar Desimal Null Keterangan
1. kd_obat Char 4 - No Kode Obat
2. nm_obat Varchar 50 - No Nama Obat
3. jenis Varchar 20 - No Jenis Obat
4. satuan Varchar 10 - No Satuan Obat
5. harga Mediumint Unsigned
8 - No Harga Satuan Obat
3) Nama File : batch
Alias : Tabel Batch
Media : Harddisk
Isi : Data Batch
Primary key : kd_obat
Fungsi : tabel yang digunakan untuk menjelaskan detail batch
yang terdapat pada obat.
Tabel 4.4 - Batch
No Nama Field Jenis Lebar Desimal Null Keterangan
1. kd_obat Char 4 - No Kode Obat
2. no_batch Varchar 8 - No No.Batch pada Obat
3. stock Int 8 - No Stok Obat
4. ED Date 8 - No Expired Date
134
4) Nama File : Supir
Alias : Tabel Supir
Media : Harddisk
Isi : Data Supir
Primary key : kd_supir
Fungsi : tabel master yang digunakan untuk menjelaskan data
supir secara keseluruhan.
Tabel 4.5 - Supir
No Nama Field Jenis Lebar Desimal Null Keterangan
1. kd_supir Char 4 - No Kode Supir
2. nm_supir Varchar 35 - No Nama Supir
3. alamat Varchar 45 - No Alamat Supir
4. telp Varchar 12 - No Telepon Supir
5) Nama File : kendaraan
Alias : Tabel Kendaraan
Media : Harddisk
Isi : Data Kendaraan
Primary key : no_pol
Fungsi : tabel master yang digunakan untuk menjelaskan data
supir secara keseluruhan.
135
Tabel 4.6 - Kendaraan
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_pol Varchar 8 - No Nomor Polisi
2. nm_kendaraan Varchar 35 - No Nama Kendaraan
6) Nama File : SP
Alias : Tabel Surat Pesanan
Media : Harddisk
Isi : Data Pesanan untuk pelanggan
Primary key : no_sp
Fungsi : tabel yang digunakan untuk mencatat data pesanan
pelanggan.
Tabel 4.7 – Surat Pesanan
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_sp Char 6 - No No. Surat Pesanan
2. tgl_sp Date 8 - No Tanggal Surat Pesanan
3. kd_pelanggan Char 4 - No Kode Pelanggan
136
7) Nama File : isi
Alias : Tabel Isi
Media : Harddisk
Isi : Data Obat yang dipesan
Primary key : no_sp + no_batch + kd_obat
Fungsi : tabel yang digunakan untuk mencatat data obat yang
dipesan.
Tabel 4.8 - Isi
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_sp Char 6 - No No.Surat Pesanan
2. no_batch Varchar 8 - No No.Batch pada Obat
3. kd_obat Char 4 - No Kode Obat
4. jmlh_pesan Int 8 - No Jumlah Obat yang dipesan
5. hrg_jual Mediumint Unsigned
8 - No Harga Satuan Obat yang dipesan
8) Nama File : faktur
Alias : Tabel Faktur
Media : Harddisk
Isi : Data faktur
Primary key : no_faktur
Fungsi : tabel yang digunakan untuk mencatat data faktur
penjualan obat.
137
Tabel 4.9 - Faktur
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_faktur Char 6 - No Nomor Faktur
2. tgl_faktur Date 8 - No Tanggal Faktur
3. tgl_tagih Date 8 - No Tanggal Tagih
4. tgl_jth_tempo Date 8 - No Tanggal Jatuh Tempo
9) Nama File : surat_jalan
Alias : Tabel Surat Jalan
Media : Harddisk
Isi : Data surat_jalan
Primary key : no_sj
Fungsi : tabel yang digunakan untuk mencatat surat jalan.
Tabel 4.10 – Surat Jalan
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_sj Char 6 - No Nomor Surat Jalan
2. tgl_sj Date 8 - No Tanggal Surat Jalan
3. no_faktur Char 6 - No Nomor Faktur
4. no_pol Varchar 8 - No Nomor Polisi
138
10) Nama File : detilsj
Alias : Tabel DetilSJ
Media : Harddisk
Isi : Data detilsj
Primary key : no_sj + kd_obat
Fungsi : tabel yang digunakan untuk mencatat obat dan jumlah
pesanan obat yang dikirim.
Tabel 4.11 - DetilSJ
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_sj Char 6 - No Nomor Surat Jalan
2. no_batch Varchar 8 - No No.Batch pada Obat
3. kd_obat Char 4 - No Kode Obat
4. jml_kirim Int 8 - No Jumlah Obat yang dikirim
5. keterangan Text - - Yes Keterangan
11) Nama File : retur
Alias : Tabel Retur
Media : Harddisk
Isi : Data Retur
Primary key : no_retur
Fungsi : tabel yang digunakan untuk mencatat data retur.
139
Tabel 4.12 - Retur
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_retur Char 6 - No Nomor Retur
2. tgl_retur Date 8 - No Tanggal Retur
3. no_faktur Char 6 - No Nomor Faktur
12) Nama File : kembali
Alias : Tabel Kembali
Media : Harddisk
Isi : Data kembali
Primary key : no_retur + kd_obat
Fungsi : tabel yang digunakan untuk mencatat detail pesanan obat
yang diretur.
Tabel 4.13 - Kembali
No Nama Field Jenis Lebar Desimal Null Keterangan
1. no_retur Char 6 - No Nomor Retur
2. no_batch Varchar 8 - No No.Batch pada Obat
3. kd_obat Char 4 - No Kode Obat
4. jmlh Int 8 - No Jumlah Obat yang diretur
5. hrg_jual Mediumint Unsigned
8 - No Harga Obat yang dijual
6. ket_kembali Text - - Yes Keterangan obat yang diretur
140
4.4.4 Statechart Diagram
a. Statechart Diagram Update Data Pelanggan
Active[create] [save]
meng-inputmeng-akses
meng-update
Gambar 4.28 Statechart Diagram Update Data Pelanggan
Gambar 4.28 menjelaskan sebuah proses update data pelanggan yang
digambarkan dalam sebuah Statechart Diagram Update Data Pelanggan yang
diawali oleh sebuah initial state yang dilakukan oleh actor yaitu Bagian Penjualan
yang menjelaskan bagaimana actor tersebut akan meng-create sebuah state yang
active yaitu update data pelanggan. Actor akan mempunyai hak akses didalam
state tersebut untuk menjalankan aktivitas yang terjadi yaitu hak untuk meng-
input, mengakses ataupun hak untuk meng-update data pelanggan. Apabila actor
sudah melakukan aktivitas tersebut secara otomatis data akan ter-update maka
proses pada statechart tersebut selesai dengan diakhiri oleh sebuah final state.
b. Statechart Diagram Update Data Obat
Gambar 4.29 Statechart DiagramUpdate Data Obat
141
Gambar 4.29 digambarkan menjelaskan sebuah proses update data obat yang
dalam sebuah Statechart Diagram Update Data Obat yang diawali oleh sebuah
initial state yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan
bagaimana actor tersebut akan meng-create sebuah state yang active yaitu update
data obat. Actor akan mempunyai hak akses didalam state tersebut untuk
menjalankan aktivitas yang terjadi yaitu hak untuk meng-input, mengakses
ataupun hak untuk meng-update data obat. Apabila actor sudah melakukan
aktivitas tersebut secara otomatis data akan ter-update maka proses pada
statechart tersebut selesai dengan diakhiri oleh sebuah final state.
c. Statechart Diagram Update Data Batch
Active[create] [save]
meng-inputmeng-akses
meng-update
Gambar 4.30 Statechart Diagram Update Data tch
ambar 4.30 menjelaskan sebuah proses update data batch yang digambarkan
Ba
G
dalam sebuah Statechart Diagram Update Data Batch yang diawali oleh sebuah
initial state yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan
bagaimana actor tersebut akan meng-create sebuah state yang active yaitu update
data batch. Actor akan mempunyai hak akses didalam state tersebut untuk
menjalankan aktivitas yang terjadi yaitu hak untuk meng-input, mengakses
ataupun hak untuk meng-update data batch. Apabila actor sudah melakukan
142
aktivitas tersebut secara otomatis data akan ter-update maka proses pada
statechart tersebut selesai dengan diakhiri oleh sebuah final state.
d. Statechart Diagram Update Data Supir
Active[create] [save]
meng-inputmeng-akses
meng-update
Gambar 4.31 Statechart Diagram Update Data Supir
ambar 4.31 menjelaskan sebuah proses update data supir yang digambarkan G
dalam sebuah Statechart Diagram Update Data Supir yang diawali oleh sebuah
initial state yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan
bagaimana actor tersebut akan meng-create sebuah state yang active yaitu update
data supir. Actor akan mempunyai hak akses didalam state tersebut untuk
menjalankan aktivitas yang terjadi yaitu hak untuk meng-input, mengakses
ataupun hak untuk meng-update data supir. Apabila actor sudah melakukan
aktivitas tersebut secara otomatis data akan ter-update maka proses pada
statechart tersebut selesai dengan diakhiri oleh sebuah final state.
143
e. Statechart Diagram Update Data Kendaraan
Active[create] [save]
meng-inputmeng-akses
meng-update
Gambar 4.32 Statechart Diagram Update Data K
ambar 4.32 menjelaskan sebuah proses update data kendaraan yang
endaraan
G
digambarkan dalam sebuah Statechart Diagram Update Data Kendaraan yang
diawali oleh sebuah initial state yang dilakukan oleh actor yaitu Bagian Penjualan
yang menjelaskan bagaimana actor tersebut akan meng-create sebuah state yang
active yaitu update data kendaraan. Actor akan mempunyai hak akses didalam
state tersebut untuk menjalankan aktivitas yang terjadi yaitu hak untuk meng-
input, mengakses ataupun hak untuk meng-update data kendaraan. Apabila actor
sudah melakukan aktivitas tersebut secara otomatis data akan ter-update maka
proses pada statechart tersebut selesai dengan diakhiri oleh sebuah final state.
f. Statechart Diagram Entry Surat Pesanan
Gambar 4.33 Statechart Diagram Entry Surat Pesanan
144
Gambar 4.3 igambarkan 3 menjelaskan sebuah proses entry surat pesanan yang d
dalam sebuah Statechart Diagram Entry Surat Pesanan yang diawali oleh sebuah
initial state yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan
bagaimana actor tersebut akan meng-create sebuah state yang active yaitu entry
surat pesanan. Actor akan mempunyai hak akses didalam state tersebut untuk
menjalankan aktivitas yang terjadi yaitu hak untuk mengakses ataupun hak untuk
meng-input surat pesanan. Apabila actor sudah melakukan aktivitas tersebut
secara otomatis data akan ter-update maka proses pada statechart tersebut selesai
dengan diakhiri oleh sebuah final state.
g. Statechart Diagram Entry Faktur
Gambar 4.34 Statechart Diagram Entry Faktur
Gambar 4.34 m mbarkan dalam
final state.
enjelaskan sebuah proses entry faktur yang diga
sebuah Statechart Diagram Entry Faktur yang diawali oleh sebuah initial state
yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan bagaimana
actor tersebut akan meng-create sebuah state yang active yaitu entry faktur. Actor
akan mempunyai hak akses didalam state tersebut untuk menjalankan aktivitas
yang terjadi yaitu hak untuk mengakses ataupun hak untuk meng-input faktur.
Apabila actor sudah melakukan aktivitas tersebut secara otomatis data akan ter-
update maka proses pada statechart tersebut selesai dengan diakhiri oleh sebuah
145
h. Statechart Diagram Entry Surat Jalan
Gambar 4.35 Statechart Diagram Entry Surat Jalan
Gambar 4.35 digambarkan
alam sebuah Statechart Diagram Entry Surat Jalan yang diawali oleh sebuah
menjelaskan sebuah proses entry surat jalan yang
d
initial state yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan
bagaimana actor tersebut akan meng-create sebuah state yang active yaitu entry
surat jalan. Actor akan mempunyai hak akses didalam state tersebut untuk
menjalankan aktivitas yang terjadi yaitu hak untuk mengakses ataupun hak untuk
meng-input surat jalan. Apabila actor sudah melakukan aktivitas tersebut secara
otomatis data akan ter-update maka proses pada statechart tersebut selesai dengan
diakhiri oleh sebuah final state.
i. Statechart Diagram Entry Retur
Gambar 4.36 Statechart Diagram Entry Retur
146
Gambar 4.36 m mbarkan dalam
ebuah Statechart Diagram Entry Retur yang diawali oleh sebuah initial state
enjelaskan sebuah proses entry retur yang diga
s
yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan bagaimana
actor tersebut akan meng-create sebuah state yang active yaitu entry surat retur.
Actor akan mempunyai hak akses didalam state tersebut untuk menjalankan
aktivitas yang terjadi yaitu hak untuk mengakses ataupun hak untuk meng-input
retur. Apabila actor sudah melakukan aktivitas tersebut secara otomatis data akan
ter-update maka proses pada statechart tersebut selesai dengan diakhiri oleh
sebuah final state.
j. Statechart Diagram Cetak Laporan Penjualan
Active[create] [cetak]
meng-akses
meng-input
Gambar 4.37 Statechart Diagram Cetak Laporan Penjualan
Gambar lan yang
igambarkan dalam sebuah Statechart Diagram Cetak Laporan Penjualan yang
4.37 menjelaskan sebuah proses cetak laporan penjua
d
diawali oleh sebuah initial state yang dilakukan oleh actor yaitu Bagian Penjualan
yang menjelaskan bagaimana actor tersebut akan meng-create sebuah state yang
active yaitu cetak laporan penjualan. Actor akan mempunyai hak akses didalam
state tersebut untuk menjalankan aktivitas yang terjadi yaitu hak untuk mengakses
ataupun hak untuk meng-input cetak laporan penjualan. Apabila actor sudah
147
melakukan aktivitas tersebut maka actor dapat mencetak laporan penjualan.
Proses pada statechart selesai dengan diakhiri oleh sebuah final state.
k. Statechart Diagram Cetak Laporan Pesanan
meng-akses
Active[create] [cetak]
meng-input
Gambar 4.38 Statechart Diagram Cetak Laporan Pesanan
Gambar nan yang 4.38 menjelaskan sebuah proses cetak laporan pesa
digambarkan dalam sebuah Statechart Diagram Cetak Laporan Pesanan yang
diawali oleh sebuah initial state yang dilakukan oleh actor yaitu Bagian Penjualan
yang menjelaskan bagaimana actor tersebut akan meng-create sebuah state yang
active yaitu cetak laporan pesanan. Actor akan mempunyai hak akses didalam
state tersebut untuk menjalankan aktivitas yang terjadi yaitu hak untuk mengakses
ataupun hak untuk meng-input cetak laporan pesanan. Apabila actor sudah
melakukan aktivitas tersebut maka actor dapat mencetak laporan pesanan. Proses
pada statechart selesai dengan diakhiri oleh sebuah final state.
l. Statechart Diagram Cetak Laporan Retur
meng-akses
Active[create] [cetak]
meng-input
Gambar 4.39 Statechart Diagram Cetak Laporan Retur
148
Gambar 4.39 menjelaskan sebuah proses cetak laporan retur yang digambarkan
dalam sebuah Statechart Diagram Cetak Laporan Retur yang diawali oleh sebuah
initial state yang dilakukan oleh actor yaitu Bagian Penjualan yang menjelaskan
bagaimana actor tersebut akan meng-create sebuah state yang active yaitu cetak
laporan retur. Actor akan mempunyai hak akses didalam state tersebut untuk
menjalankan aktivitas yang terjadi yaitu hak untuk mengakses ataupun hak untuk
meng-input cetak laporan retur. Apabila actor sudah melakukan aktivitas tersebut
maka actor dapat mencetak laporan retur. Proses pada statechart selesai dengan
diakhiri oleh sebuah final state.
149
4.4.5 Sequence Diagram
ate Data Pelanggan a. Sequence Diagram Upd
Gambar 4.40 SequenceDiagram Update Data Pelanggan
Sequence D date Data iagram Gambar 4.40 adalah Sequence Diagram Up
Pelanggan yang menjelaskan alur proses kegiatan yang ada diobjek data
pelanggan. Sequence Diagram ini diawali dengan Seorang actor yaitu Bagian
Penjualan. Actor berinteraksi dengan timeline-nya sendiri dengan cara klik update
file master diobjek windows menu utama, pada objek tersebut sistem akan
menampilkan pilihan objek lain di timeline yaitu klik update data pelanggan.
Kemudian akan menampilkan Form Update Data Pelanggan yang dihubungkan
langsung kepada class Pelanggan di-database. Pada Objek form update data
pelanggan, actor akan berinteraksi langsung dengan database untuk proses add
pelanggan dan get pelanggan lalu database akan langsung menampilkan hasil
yang diminta didalam timeline objek form update data pelanggan. Setelah itu
150
actor bisa langsung meng-update data dan secara otomatis akan ter-update di-
database. Proses sequence diagram ini selesai dengan mengakhiri timeline di
objek form update data pelanggan.
b. Sequence Diagram Update Data Obat
Bag.Penjualan
window Menu Utamaklik_update_file_master
show (Update Data Obat)
klik_update_data_obat
show form Update Data Obatform Update Data Obat obat
save
close
add obat
get obat
result obat
save ()
Gambar 4.41 SequenceDiagram Update Data Obat
Sequence Diagram Gambar 4.41 adalah Sequence Diagram Update Data Obat
yang menjelaskan alur proses kegiatan yang ada diobjek data obat. Sequence
Diagram ini diawali dengan Seorang actor yaitu Bagian Penjualan. Actor
berinteraksi dengan timeline-nya sendiri dengan cara klik update file master
diobjek windows menu utama, pada objek tersebut sistem akan menampilkan
pilihan objek lain di timeline yaitu klik update data obat. Kemudian akan
151
menampilkan Form Update Data Obat yang dihubungkan langsung kepada class
obat di-database. Pada Objek form update data obat, actor akan berinteraksi
langsung dengan database untuk proses add obat dan get obat lalu database akan
langsung menampilkan hasil yang diminta didalam timeline objek form update
data obat. Setelah itu actor bisa langsung meng-update data dan secara otomatis
akan ter-update di-database. Proses sequence diagram ini selesai dengan
mengakhiri timeline di objek form update data pelanggan.
c. Sequence Diagram Update Data Batch
Bag.Penjualan
window Menu Utamaklik_update_file_master
show (Update Data Batch)
klik update data batch
show form Update Data Batchform Update Data Batch obat
add obat
save
close
batch
input batch
get obat
result obat
save ()
save ()
Gambar 4.42 SequenceDiagram Update Data Batch
equence Diagram Gambar 4.42 adalah Sequence Diagram Update Data Batch
yang menjelaskan alur proses kegiatan yang ada diobjek data batch. Sequence
S
152
Diagram ini diawali dengan Seorang actor yaitu Bagian Penjualan. Actor
berinteraksi dengan timeline-nya sendiri dengan cara klik update file master
diobjek windows menu utama, pada objek tersebut sistem akan menampilkan
pilihan objek lain di timeline yaitu klik update data batch. Kemudian akan
menampilkan Form Update Data Batch yang dihubungkan langsung kepada class
obat dan batch di-database. Pada Objek form update data batch, actor akan
berinteraksi langsung dengan database untuk proses add obat dan get obat lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form update data batch. Setelah itu actor bisa langsung meng-update data dan
secara otomatis akan ter-update di-database. Selanjutnya pada Objek form update
data batch, actor akan berinteraksi langsung dengan database untuk proses input
batch lalu actor bisa langsung meng-update data dan secara otomatis akan ter-
update di-database. Proses sequence diagram ini selesai dengan mengakhiri
timeline di objek form update data batch.
153
. Sequence Diagram Update Data Supir d
Bag.Penjualan
window Menu Utamaklik_update_file_master
show (Update Data Supir)
klik_update_data_supir
show form Update Data Supirform Update Data Supir supir
save
close
add data supir
get data supir
result data supir
save ()
Gambar 4.43 SequenceDiagram Update Data supir
Sequence Diag te Data Supir
ang menjelaskan alur proses kegiatan yang ada diobjek data supir. Sequence
ram Gambar 4.43 adalah Sequence Diagram Upda
y
Diagram ini diawali dengan Seorang actor yaitu Bagian Penjualan. Actor
berinteraksi dengan timeline-nya sendiri dengan cara klik update file master
diobjek windows menu utama, pada objek tersebut sistem akan menampilkan
pilihan objek lain di timeline yaitu klik update data supir. Kemudian akan
menampilkan Form Update Data Supir yang dihubungkan langsung kepada class
supir di-database. Pada Objek form update data supir, actor akan berinteraksi
langsung dengan database untuk proses add supir dan get supir lalu database
154
akan langsung menampilkan hasil yang diminta didalam timeline objek form
update data supir. Setelah itu actor bisa langsung meng-update data dan secara
otomatis akan ter-update di-database. Proses sequence diagram ini selesai dengan
mengakhiri timeline di objek form update data pelanggan.
e. Sequence Diagram Update Data Kendaraan
Bag.Penjualan
window Menu Utamaklik_update_file_master
show (Update Data Kendaraan)
klik_update_data_kendaraan
show form Update Data Kendaraanform Update Data Kendaraan kendaraan
add kendaraan
save
close
get kendaraan
result kendaraan
save ()
Gambar 4.44 SequenceDiagram Update Data Kendaraan
Sequence D date Data
endaraan yang menjelaskan alur proses kegiatan yang ada diobjek data
iagram Gambar 4.44 adalah Sequence Diagram Up
K
kendaraan. Sequence Diagram ini diawali dengan Seorang actor yaitu Bagian
Penjualan. Actor berinteraksi dengan timeline-nya sendiri dengan cara klik update
file master diobjek windows menu utama, pada objek tersebut sistem akan
155
menampilkan pilihan objek lain di timeline yaitu klik update data kendaraan.
Kemudian akan menampilkan Form Update Data Kendaraan yang dihubungkan
langsung kepada class kendaraan di-database. Pada Objek form update data
kendaraan, actor akan berinteraksi langsung dengan database untuk proses add
kendaraan dan get kendaraan lalu database akan langsung menampilkan hasil
yang diminta didalam timeline objek form update data kendaraan. Setelah itu
actor bisa langsung meng-update data dan secara otomatis akan ter-update di-
database. Proses sequence diagram ini selesai dengan mengakhiri timeline di
objek form update data kendaraan.
156
f. Sequence Diagram Entry Surat Pesanan
menu utama
Bag.Penjualan
klik entry file transaksi
show entry surat pesanan (SP)
klik entry SP
form SPshow form entry SP
sp
get data SP
result data SP
pelanggan
get data pelanggan
result data pelanggan
batch
get data batch
result data batch
add data SP
add data pelanggan
add data batch
obat
add data obat
get data obat
result data obat
isi
add data isi
get data isi
result data isi
save()
save
close
Gambar 4.45 SequenceDiagram Entry Surat Pesanan
Sequence Dia urat Pesanan
ang menjelaskan alur proses kegiatan yang ada diobjek surat pesanan. Sequence
gram Gambar 4.45 adalah Sequence Diagram Entry S
y
157
Diagram ini diawali dengan Seorang actor yaitu Bagian Penjualan. Actor
berinteraksi dengan timeline-nya sendiri dengan cara klik entry file transaksi
diobjek windows menu utama, pada objek tersebut sistem akan menampilkan
pilihan objek lain di timeline yaitu klik entry surat pesanan. Kemudian akan
menampilkan Form Surat Pesanan (SP) yang dihubungkan langsung kepada class
sp di-database. Pada Objek form SP, actor akan berinteraksi langsung dengan
database untuk proses add sp dan get sp lalu database akan langsung
menampilkan hasil yang diminta didalam timeline objek form SP. Selanjutnya
dihubungkan langsung kepada class pelanggan di-database dan berinteraksi
langsung dengan database untuk proses add pelanggan dan get pelanggan lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form SP. Selanjutnya dihubungkan langsung kepada class batch di-database dan
berinteraksi langsung dengan database untuk proses add batch dan get batch lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form SP. Selanjutnya dihubungkan langsung kepada class obat di-database dan
berinteraksi langsung dengan database untuk proses add obat dan get obat lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form SP. Selanjutnya dihubungkan langsung kepada class isi di-database dan
berinteraksi langsung dengan database untuk proses add isi dan get isi lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form SP. Setelah itu actor bisa langsung meng-update data dan secara otomatis
akan ter-update di-database. Proses sequence diagram ini selesai dengan
mengakhiri timeline di objek form entry surat pesanan.
158
g. Sequence Diagram Entry Faktur
menu utama
Bag.Penjualan
klik entry file transaksi
show entry faktur
klik entry faktur
form fakturshow form entry faktur
faktur
get data faktur
result data faktur
sp
get data sp
result data sp
pelanggan
get data pelanggan
result data pelanggan
add data faktur
add data sp
obat
get data obat
result data obat
isi
get data isi
result data isi
save
save()
close
Gambar 4.46 SequenceDiagram Entry Faktur
Sequence Diagram Gambar 4.46 adalah Sequence Diagram Entry Faktur yang
menjelaskan alur proses kegiatan yang ada diobjek faktur. Sequence Diagram ini
diawali dengan Seorang actor yaitu Bagian Penjualan. Actor berinteraksi dengan
timeline-nya sendiri dengan cara klik entry file transaksi diobjek windows menu
159
utama, pada objek tersebut sistem akan menampilkan pilihan objek lain di
timeline yaitu klik entry faktur. Kemudian akan menampilkan Form Faktur yang
dihubungkan langsung kepada class faktur di-database. Pada Objek form Faktur,
actor akan berinteraksi langsung dengan database untuk proses add faktur dan get
faktur lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form Faktur. Selanjutnya dihubungkan langsung kepada class sp
di-database dan berinteraksi langsung dengan database untuk proses add sp dan
get sp lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form Faktur. Selanjutnya dihubungkan langsung kepada class
pelanggan di-database dan berinteraksi langsung dengan database untuk proses
get pelanggan lalu database akan langsung menampilkan hasil yang diminta
didalam timeline objek form Faktur. Selanjutnya dihubungkan langsung kepada
class obat di-database dan berinteraksi langsung dengan database untuk proses
get obat lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form Faktur. Selanjutnya dihubungkan langsung kepada class isi
di-database dan berinteraksi langsung dengan database untuk proses get isi lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form Faktur. Setelah itu actor bisa langsung meng-update data dan secara
otomatis akan ter-update di-database. Proses sequence diagram ini selesai dengan
mengakhiri timeline di objek form entry faktur.
160
. Sequence Diagram Entry Surat Jalan h
menu utama
Bag.Penjualan
klik entry file transaksi
show entry surat jalan
klik entry surat jalan
form SJshow form entry SJ
surat_jalan
get data SJ
result data SJ
sp
get data sp
result data sp
pelanggan
get data pelanggan
result data pelanggan
add data SJ
add data sp
kendaraan
add data kendaraan
get data kendaraan
result data kendaraan
supir
add data supir
get data supir
result data supir
save
batch obat isi
add data batch
get data batch
result data batch
result data obat
get data batch
get data isi
result data isi
save()
close
Gambar 4.47 SequenceDiagram Entry Surat Jalan
Sequence Diagram Gambar 4.47 adalah Sequence Diagram Entry Surat Jalan
yang menjelaskan alur proses kegiatan yang ada diobjek surat jalan. Sequence
Diagram ini d jualan. Actor
iawali dengan Seorang actor yaitu Bagian Pen
161
berinteraksi dengan timeline-nya sendi dengan cara klik entry file transaksi ri
diobjek windows menu utama, pada objek tersebut sistem akan menampilkan
pilihan objek lain di timeline yaitu klik entry surat jalan. Kemudian akan
menampilkan Form Surat Jalan (SJ) yang dihubungkan langsung kepada class
surat_jalan di-database. Pada Objek form SJ, actor akan berinteraksi langsung
dengan database untuk proses add surat_jalan dan get surat_jalan lalu database
akan langsung menampilkan hasil yang diminta didalam timeline objek form SJ.
Selanjutnya dihubungkan langsung kepada class sp di-database dan berinteraksi
langsung dengan database untuk proses add sp dan get sp lalu database akan
langsung menampilkan hasil yang diminta didalam timeline objek form SJ.
Selanjutnya dihubungkan langsung kepada class pelanggan di-database dan
berinteraksi langsung dengan database untuk proses get pelanggan lalu database
akan langsung menampilkan hasil yang diminta didalam timeline objek form SJ.
Selanjutnya dihubungkan langsung kepada class kendaraan di-database dan
berinteraksi langsung dengan database untuk proses add kendaraan dan get
kendaraan lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form SJ. Selanjutnya dihubungkan langsung kepada class supir di-
database dan berinteraksi langsung dengan database untuk proses add supir dan
get supir lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form SJ. Selanjutnya dihubungkan langsung kepada class batch di-
database dan berinteraksi langsung dengan database untuk proses add batch dan
get batch lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form SJ. Selanjutnya dihubungkan langsung kepada class obat di-
database dan berinteraksi langsung dengan database untuk proses get obat lalu
162
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form SJ. Selanjutnya dihubungkan langsung kepada class isi di-database dan
berinteraksi langsung dengan database untuk proses get isi lalu database akan
langsung menampilkan hasil yang diminta didalam timeline objek form SJ.
Setelah itu actor bisa langsung meng-update data dan secara otomatis akan ter-
update di-database. Proses sequence diagram ini selesai dengan mengakhiri
timeline di objek form entry surat jalan.
163
i. Sequence Diagram Entry Retur
menu utama
Bag.Penjualan
klik entry file transaksi
show entry retur
klik entry retur
form returshow form retur
retur
get data retur
result data retur
kembali
get data kembali
result data kembali
surat_jalan
get data surat_jalan
result data surat_jalan
add data retur
add data kembali
kendaraan
get data kendaraan
result data kendaraan
faktur
get data faktur
result data faktur
save
detilsj batch
get jml_kirim
result jml_kirim
result data obat
get data batch
obat
get data batch
result data obat
save()
close
Gambar 4.48 SequenceDiagram Entry Retur
Sequence Diagram Gambar 4.48 adalah Sequence Diagram Entry Retur yang
menjelaskan alur proses kegiatan yang ada diobjek retur. Sequence Diagram in
diawali dengan Se rinteraksi dengan
i
orang actor yaitu Bagian Penjualan. Actor be
164
timeline-nya sendiri dengan cara klik entry file transaksi diobjek windows menu
utama, pada objek tersebut sistem akan menampilkan pilihan objek lain di
timeline yaitu klik entry retur. Kemudian akan menampilkan Form Retur yang
dihubungkan langsung kepada class retur di-database. Pada Objek form Retur,
actor akan berinteraksi langsung dengan database untuk proses add retur dan get
retur lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form Retur. Selanjutnya dihubungkan langsung kepada class
kembali di-database dan berinteraksi langsung dengan database untuk proses add
kembali dan get kembali lalu database akan langsung menampilkan hasil yang
diminta didalam timeline objek form Retur. Selanjutnya dihubungkan langsung
kepada class surat_jalan di-database dan berinteraksi langsung dengan database
untuk proses get surat_jalan lalu database akan langsung menampilkan hasil yang
diminta didalam timeline objek form Retur. Selanjutnya dihubungkan langsung
kepada class kendaraan di-database dan berinteraksi langsung dengan database
untuk proses get kendaraan lalu database akan langsung menampilkan hasil yang
diminta didalam timeline objek form Retur. Selanjutnya dihubungkan langsung
kepada class faktur di-database dan berinteraksi langsung dengan database untuk
proses get faktur lalu database akan langsung menampilkan hasil yang diminta
didalam timeline objek form Retur. Selanjutnya dihubungkan langsung kepada
class detilsj di-database dan berinteraksi langsung dengan database untuk proses
get detilsj lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form Retur. Selanjutnya dihubungkan langsung kepada class batch
di-database dan berinteraksi langsung dengan database untuk proses get batch
lalu database akan langsung menampilkan hasil yang diminta didalam timeline
165
objek form Retur. Selanjutnya dihubungkan langsung kepada class obat di-
database dan berinteraksi langsung dengan database untuk proses get obat lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form Retur. Setelah itu actor bisa langsung meng-update data dan secara otomatis
akan ter-update di-database. Proses sequence diagram ini selesai dengan
mengakhiri timeline di objek form entry retur.
166
j. Sequence Diagram Cetak Laporan Penjualan
menu utama
Bag.Penjualan
klik cetak laporan
show cetak laporan penjualan
klik cetak laporan penjualan
form lap.penjualanshow cetak lap.penjualan
faktur
get data faktur
result data faktur
sp
get data sp
result data sp
pelanggan
get data pelanggan
result data pelanggan
batch
get data batch
result data batch
obat
get data obat
result data obat
isi
get jml_kirim & harga_jual
result jml_kirim & harga_jual
pilih periode
close
print out
print out()
Gambar 4.49 SequenceDiagram Cetak Laporan Penjualan
Sequence Diagram Gambar 4.49 adalah Sequence Diagram Cetak Laporan
Penjualan yang menjelaskan alur proses kegiatan yang ada diobjek cetak laporan
penjualan. tu Bagian
Penjualan. Actor berinteraksi dengan timeline-nya sendiri dengan cara klik cetak
Sequence Diagram ini diawali dengan Seorang actor yai
167
laporan diobjek windows menu utama, pada objek tersebut sistem akan
menampilkan pilihan objek lain di timeline yaitu klik cetak laporan penjualan.
Kemudian akan menampilkan Form Laporan Penjualan yang dihubungkan
langsung kepada class faktur di-database. Pada Objek form Laporan Penjualan,
actor akan berinteraksi langsung dengan database untuk proses get faktur lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form Laporan Penjualan. Selanjutnya dihubungkan langsung kepada class sp di-
database dan berinteraksi langsung dengan database untuk proses get sp lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form Laporan Penjualan. Selanjutnya dihubungkan langsung kepada class
pelanggan di-database dan berinteraksi langsung dengan database untuk proses
get pelanggan lalu database akan langsung menampilkan hasil yang diminta
didalam timeline objek form Laporan Penjualan. Selanjutnya dihubungkan
langsung kepada class batch di-database dan berinteraksi langsung dengan
database untuk proses get batch lalu database akan langsung menampilkan hasil
yang diminta didalam timeline objek form Laporan Penjualan. Selanjutnya
dihubungkan langsung kepada class obat di-database dan berinteraksi langsung
dengan database untuk proses get obat lalu database akan langsung menampilkan
hasil yang diminta didalam timeline objek form Laporan Penjualan. Selanjutnya
dihubungkan langsung kepada class isi di-database dan berinteraksi langsung
dengan database untuk proses get isi lalu database akan langsung menampilkan
hasil yang diminta didalam timeline objek form Laporan Penjualan. Setelah itu
actor bisa langsung mencetak laporan penjualan. Proses sequence diagram ini
selesai dengan mengakhiri timeline di objek form laporan penjualan.
168
k. Sequence Diagram Cetak Laporan Pesanan
menu utama
Bag.Penjualan
klik cetak laporan
show cetak laporan pesanan
klik cetak laporan pesanan
form lap.pesananshow cetak lap.pesanan
sp
get data sp
result data sp
pelanggan
get data pelanggan
result data pelanggan
batch
get data batch
result data batch'
obat
get data obat
result data obat
isi
get data isi
pilih periode
result data isi
print out
close
print out()
Gambar 4.50 SequenceDiagram Cetak Laporan Pesanan
Sequence Diagram Gambar 4.50 adalah Sequence Diagram Cetak Laporan
Pesanan yang menjelaskan alur proses kegiatan yang ada diobjek cetak laporan
pesanan. Se itu Bagian
Penjualan. Actor berinteraksi dengan timeline-nya sendiri dengan cara klik cetak
quence Diagram ini diawali dengan Seorang actor ya
169
laporan diobjek windows menu utama, pada objek tersebut sistem akan
menampilkan pilihan objek lain di timeline yaitu klik cetak laporan pesanan.
Kemudian akan menampilkan Form Laporan Pesanan yang dihubungkan
langsung kepada class sp di-database. Pada Objek form Laporan Pesanan, actor
akan berinteraksi langsung dengan database untuk proses get sp lalu database
akan langsung menampilkan hasil yang diminta didalam timeline objek form
Laporan Pesanan. Selanjutnya dihubungkan langsung kepada class pelanggan di-
database dan berinteraksi langsung dengan database untuk proses get pelanggan
lalu database akan langsung menampilkan hasil yang diminta didalam timeline
objek form Laporan Pesanan. Selanjutnya dihubungkan langsung kepada class
batch di-database dan berinteraksi langsung dengan database untuk proses get
batch lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form Laporan Pesanan. Selanjutnya dihubungkan langsung kepada
class obat di-database dan berinteraksi langsung dengan database untuk proses
get obat lalu database akan langsung menampilkan hasil yang diminta didalam
timeline objek form Laporan Pesanan. Selanjutnya dihubungkan langsung kepada
class isi di-database dan berinteraksi langsung dengan database untuk proses get
isi lalu database akan langsung menampilkan hasil yang diminta didalam timeline
objek form Laporan Pesanan. Setelah itu actor bisa langsung mencetak laporan
pesanan. Proses sequence diagram ini selesai dengan mengakhiri timeline di objek
form laporan pesanan.
170
l. Sequence Diagram Cetak Laporan Retur
menu utama
Bag.Penjualan
klik cetak laporan
show cetak laporan retur
klik cetak laporan retur
form lap.returshow cetak lap.retur
retur
get data retur
result data retur
surat_jalan
get data surat_jalan
result data surat_jalan
pelanggan
get data pelanggan
result data pelanggan
kembali
get data kembali
result data kembali
batch
get data batch
result data batch
obat
pilih periode
get data obat
result data obat
print out
close
print out()
Gambar 4.51 SequenceDiagram Cetak Laporan Retur
Sequence Diagram Gambar 4.51 adalah Sequence Diagram Cetak Laporan Retur
yang menjelaskan alur proses kegiatan yang ada diobjek cetak laporan retur.
Sequence Diagram ini diawali dengan Seorang actor yaitu Bagian Penjualan.
Actor berinte etak laporan raksi dengan timeline-nya sendiri dengan cara klik c
171
diobjek windows menu utama, pada objek tersebut sistem akan menampilkan
pilihan objek lain di timeline yaitu klik cetak laporan retur. Kemudian akan
menampilkan Form Laporan Retur yang dihubungkan langsung kepada class retur
di-database. Pada Objek form Laporan Retur, actor akan berinteraksi langsung
dengan database untuk proses get retur lalu database akan langsung menampilkan
hasil yang diminta didalam timeline objek form Laporan Retur. Selanjutnya
dihubungkan langsung kepada class surat_jalan di-database dan berinteraksi
langsung dengan database untuk proses get surat_jalan lalu database akan
langsung menampilkan hasil yang diminta didalam timeline objek form Laporan
Retur. Selanjutnya dihubungkan langsung kepada class pelanggan di-database
dan berinteraksi langsung dengan database untuk proses get pelanggan lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form Laporan Retur. Selanjutnya dihubungkan langsung kepada class kembali di-
database dan berinteraksi langsung dengan database untuk proses get kembali
lalu database akan langsung menampilkan hasil yang diminta didalam timeline
objek form Laporan Retur. Selanjutnya dihubungkan langsung kepada class batch
di-database dan berinteraksi langsung dengan database untuk proses get batch
lalu database akan langsung menampilkan hasil yang diminta didalam timeline
objek form Laporan Retur. Selanjutnya dihubungkan langsung kepada class obat
di-database dan berinteraksi langsung dengan database untuk proses get obat lalu
database akan langsung menampilkan hasil yang diminta didalam timeline objek
form Laporan Retur. Setelah itu actor bisa langsung mencetak laporan retur.
Proses sequence diagram ini selesai dengan mengakhiri timeline di objek form
laporan retur.
172
4.4.6 Rancangan Antarmuka
Menggambarkan halaman antarmuka yang akan dirancang.
a. Rancangan Halaman Menu Utama
Gambar 4.52 Rancangan Halaman Menu Utama
b. Rancangan Halaman Form Pelanggan
Gambar 4.53 Rancangan Halaman Form Pelanggan
173
c. Rancangan Halaman Form Obat
gan Halaman Form Obat
d. Rancangan Halaman Form Batch
Gambar 4.54 Rancan
FORM BATCHFORM BATCH
Kode Obat
Nama Obat
Satuan
No.Batch
Cari
No.Batch Stock Expired Date
Tambah Ubah Hapus Keluar
DATA BATCH
Stock
Expired Date
Gambar 4.55 Rancangan Halaman Form Batch
174
e. Rancangan Halaman Form Supir
FORM SUPIRFORM SUPIR
Kode Supir
Nama Supir
Alamat
Telepon
Cari
Kode Supir Nama Supir TeleponAlamat
Tambah Ubah Hapus Keluar
DATA SUPIR
Gambar 4.56 Rancangan Halaman Form Supir
f. Rancangan Halaman Form Kendaraan
FORM KENDARAANFORM KENDARAAN
No.Polisi
Jenis Kendaraan
Cari
No.Polisi Jenis Kendaraan
Tambah Ubah Hapus Keluar
DATA KENDARAAN
G n ambar 4.57 Rancangan Halaman Form Kendaraa
175
g. Rancangan Halaman Form Surat Pesanan
Gambar 4.58 Rancangan Halaman Form Surat Pesanan
h. Rancangan Halaman Form Faktur
Gambar 4.59 Rancangan Halaman Form Faktur
176
i. Rancangan Halaman Form Surat Jalan
Gambar 4.60 Rancangan Halaman Form Surat Jalan
j. Rancangan Halaman Form Retur
Gambar 4.61 Rancangan Halaman Retur
177
k. Rancangan Halaman Laporan Penjualan
Gambar 4.62 Rancangan Halaman Laporan Penjualan
l. Rancangan Halaman Laporan Pesanan
Gambar 4.63 Rancangan Halaman laporan Pesanan
178
m. Rancangan Halaman Laporan Retur
Gambar 4.64 Rancangan Halaman Laporan Retur
n. Rancangan Halaman Keluaran Surat Pesanan
SURAT PESANAN
LOGO PERUSAHAAN
No.SP : Tanggal SP :
ma Pelanggan :
amat Pelanggan :
Kode Pelanggan : Na
Al
Kode Obat Nama Obat Jenis Obat Satuan Obat Jumlah Pesan Harga
Bagian Penjualan Bagian Gudang
( ) ( )
Gambar 4.65 Rancangan Halaman Keluaran Surat Pesanan
179
o. Rancangan Halaman Keluaran Faktur
FAKTUR
LOGO PERUSAHAAN
Tanggal Tagihan :
No. SP :
Tanggal Faktur :
Nama Pelanggan :
Alamat Pelanggan :
Bagian PenjualanPenerima
( )( )
No. Faktur :
Tanggal Jatuh Tempo :
Kode Obat Nama Obat No.Batch Expired Date Qty Harga Satuan
TOTAL
Jumlah
Terbilang
Gambar 4.66 Rancangan Halaman Keluaran Faktur
180
p. Rancangan Halaman Keluaran Surat Jalan
Gambar 4.67 Rancangan Halaman Keluaran Surat Jalan
181
q. Rancangan Halaman Keluaran Retur
Gambar 4.68 Rancangan Halaman Keluaran Retur
r. Rancangan Halaman Keluaran Laporan Penjualan
Gambar 4.69 Rancangan Halam n Keluaran Laporan Penjualan a
182
s. Rancangan Halaman Keluaran Laporan Pesanan
Gambar 4.70 Rancangan Halaman Keluaran Laporan Pesanan
t. Rancangan Halaman Keluaran Laporan Retur
Gambar 4.71 Rancangan Halaman Keluaran Laporan Retur
183
4.4.7 Navigation Diagram
a. Navigation Diagram Update Data Pelanggan
Gambar 4.72 Navigation Diagram Update Data Pelanggan
184
b. Navigation Diagram Update Data Obat
Gambar 4.73 Navigation Diagram Update Data Obat
185
c. Navigation Diagram Update Data Batch
Gambar 4.74 Navigation Diagram Update Data Batch
186
d. Navigation Diagram Update Data Supir
Gambar 4.75 Navigation Diagram Update Data Supir
187
e. Navigation Diagram Update Data Kendaraan
Gambar 4.76 Navigation Diagram Update Data Kendaraan
188
f. Navigation Diagram Entry Surat Pesanan
Menu Utama Entry Surat Pesanan
Hasil cetak surat pesanan
Form cari Surat Pesanan
Form Surat pesanan baru
Pilih kode pelanggan
Form surat pesanan lama
Data pesanan
Masukan jumlah pesanan
Pilih no.Batch
Klik menu Update File Master > Entry Surat Pesanan
Klik tombol CARI
KlikKeluar
Isi kolomcari Klik
Cetak
Klik Cetak
KlikKeluar
KlikBaru SP
PilihKode Pelanggan
PilihNo.Batch
MasukanJumlah
Pesanan
Gambar 4.77 Navigation Diagram Entry Surat Pesanan
189
g. Navigation Diagran Entry Faktur
Gambar 4.78 Navigation Diagram Entry Faktur
h. Navigation Diagram Entry Surat Jalan
Gambar 4.79 Navigation Diagram Entry Surat Jalan
190
i. Navigation Diagram Entry Retur
Gambar 4.80 Navigation Diagram Entry Retur
j. Navigation Diagram Cetak Laporan Penjualan
Gambar 4.81 Navigation Diagram Cetak Laporan Penjualan
191
k. Navigation Diagram Cetak Laporan Pesanan
Gambar 4.82 Navigation Diagram Cetak Laporan Pesanan
l. Navigation Diagram Cetak Laporan Retur
Menu Utama Cetak Lap. Retur
Hasil Cetak
Tanggal Awal
Tanggal Akhir
Klik menu Update File Master > Cetak Laporan Retur
Isi tanggal awal
periode
Klik Cetak
KlikKeluar
Isi tanggal akhir
periode
KlikKeluar
Gambar 4.83 Navigation Diagram Cetak Laporan Retur
4.5 Implementasi Sistem (Construction & Testing)
Langkah terakhir pada tahap implementasi sistem adalah menjelaskan
pemrogram asi yang
ap yang disebutkan diatas:
an, pengujian, dan instalasi perangkat pada sistem inform
diusulkan. Berikut adalah pembahasan dari tahap-tah
192
4.5.1 Pemrograman
Untuk mendukung perancangan aplikasi yang diusulkan, digunakan
Microsoft Visual Basic .Net 2003 sebagai software pemrograman. Serta
menggunakan perangkat lunak XAMPP versi 1.6.8 yang mencakup MySQL versi
5.0.67 untuk mendukung database-nya.
4.5.2 Pengujian
Sebelum sistem informasi dapat digunakan, harus dilakukan pengujian
terlebih d r sendiri.
ilakukan dengan mengunakan
pendekatan blackbox testing. Berikut ini tabel-tabel hasil pengujian Sistem
Informasi Penjualan PT.Distriversa Buanamas:
Tabel 4.14 - Tabel Uji Coba Sistem Informasi Penjualan
ahulu. Beberapa pengujian dilakukan oleh programme
Pengujian Sistem Informasi Penjualan ini d
No. Rancangan Proses Hasil Yang Diharapkan Hasil Keterangan 1 Pilih Menu Bar
“Update File Master” lalu pilih “Update Data Pelanggan”
Masuk halaman Form Update Data Pelanggan
Sesuai
2 Pada form Update Data Pelanggan, klik tombol “Cari”, kemudiisi
Menampilkan hasil pencarian data pelanggan
sesuai
dian kolom cari
3 Pada Form Update Data Pelanggan, pilih
Menamp kan form kosong data pelanggan
sesuai il
tombol Tambah 4 Isi Form Data Menampilkan form input sesuai
Pelanggan yang akan diinput 5 Klik Tombol Menampilkan Halaman sesuai Form tidak
“Simpan” Kesalahan diisi 6 Klik tombol “OK” Menampilkan halaman
pelanggan
sesuai form Update Data
7 Klik tombol ”Batal” Menampilkan halaman sesuai
193
form update Data Pelanggan
8 Klik tombol ”Ubah” Mengaktifkan form Sesuai database Pelanggan
9 Pilih data Pelanggan Menampilkan data di form Sesuai di form database Pelanggan
10 Ubah Data di form Mengubapelanggan
h data di form pelanggan
sesuai
11 bol “Simpan” Menampilkan Window Konfirmasi Penyimpanan
sesuai Klik tom
12 Klik tombol “OK” Menampilkan halaman sesuai form Update Data Pelanggan
13 Pilih data Pelanggan di form database, kemudian klik Tombol ”Hapus”
Menampilkan Window konfirmasi
sesuai Pilih ”Yes” untuk Hapus. Pilih ”No” untuk membatalkan
14 Klik tombol ”Keluar” untuk keluar dari Form Update data
Keluar dari form data pelanggan dan kHalaman Menu
sesuai
Pelan
embali ke Utama
ggan 15 Pilih
”Update File Master” la
”Update Data Obat” Menu Bar Masuk halaman form Sesuai
lu pilih ”Update Data Obat”
16
ri
pencarian data Obat Sesuai Pada form ”Update
Data Obat” klik tombol ”Cari”, kemudian kolom cadiisi
Menampilkan hasil
17 ate
l ”Tambah”
Menampilkan form kosong data Obat
Sesuai Pada form ”UpdData Obat”, klik tombo
18 nput Isi form Data Obat Menampilkan form iyang akan diinput
Sesuai
19 pan” Menampilkan Halaman Sesuai Form tidak iisi
Klik tombol ”SimKesalahan d
20 l ”OK” an sesuai Klik tombo Menampilkan halamform Update Data Obat
21 l ”Batal” an halaman sesuai Klik tombo Menampilkform update Data Obat
22 Klik tombol ”Ubah” at
sesuai Mengaktifkan formdatabase Ob
23 Pilih data Obat di form database
m Menampilkan data di forObat
Sesuai
24 Ubah Data di form data di form Sesuai Mengubah
194
Obat Obat 25 Klik tombol “Simpan” Menampilkan Window
Konfirmasi Penyimpanan Sesuai
26 an halaman Sesuai Klik tombol “OK” Menampilkform Update Data Pelanggan
27 Pilih data Obat di form database,
Tombol ”Hapus”
ilih ”Yes” untuk Hapus.
ilih ”No” utk membatalkan
kemudian klik
Menampilkan Window konfirmasi
Sesuai P
P
28 Klik tombol ”Keluar” form data e
enu Utama
Sesuai untuk keluar dari Form Update data Obat
Keluar daripelanggan dan kembali kHalaman M
29 ”Update File Master”
Masuk halaman form ”Update Data Batch”
Sesuai Pilih Menu Bar
lalu pilih ”Update Data Batch”
30 klik pencarian data Batch
Sesuai Pada form Update Data Batch,tombol “Cari”, kemudian kolom cari diisi
Menampilkan hasil
31 pdate
”
Menampilkan form Sesuai Pada form ”UData Batch”, klik tombol ”Tambah
kosong data batch
32
ang terdapat
Menampilkan nama obat dan satuan obat pada kolomnya masing-masing
Sesuai Klik Combo Box kemudian Pilih kode obat ypada combo box
33 input yang akan diinput
Sesuai Isi form data Batch Menampilkan form
34 Isi Expired Date Menampilkan pilihan kalender
Sesuai
35 Klik tombol ”Simpan” Menampilkan Halaman Kesalahan
Sesuai Form tidak diisi
36 Klik tombol ”OK” Menampilkan halaman form Update Data Batch
Sesuai
37 Klik tombol ”Batal” Menampilkan halaman form Update Data Batch
Sesuai
38 Klik tombol ”Ubah” Mengaktifkan form database Batch
Sesuai
39 Pilih data Batch diform database
Menampilkan data di form Batch
Sesuai
40 Ubah Data di form batch
Mengubah data di form Batch
Sesuai
195
41 Klik tombol “Simpan”n
Sesuai Menampilkan Window Konfirmasi Penyimpana
42 Klik tombol “OK” Menampilkan halaman form Update Data Batch
Sesuai
43 Pilih data batch di form database, kemudian klik Tombol ”Hapus”
Menampilkan Window konfirmasi
Sesuai Pilih ”Yes” untuk Hapus. Pilih ”No” untuk membatalkan
44 r”
Sesuai Pilih Menu Bar “Update File Mastelalu pilih “Update Data Supir”
Masuk halaman Form Update Data Supir
45
ri
pencarian data supir Sesuai Pada form Update
Data Supir, klik tombol “Cari”, kemudian kolom cadiisi
Menampilkan hasil
46 ate Menampilkan form kosong data supir
Sesuai Pada Form UpdData Supir, pilih tombol “Tambah”
47 Isi Form Data Supir Menampilkan form iyang akan diinput
nput Sesuai
48 Menampilkan Halaman Sesuai Form tidak iisi
Klik Tombol “Simpan” Kesalahan d
49 Sesuai Klik tombol “OK” Menampilkan halaman form Update Data Supir
50 l” Menampilkan halaman Sesuai Klik tombol ”Bataform update Data Supir
51 Klik tombol ”Ubah” Sesuai Mengaktifkan formdatabase Supir
52 Pilih data Supir di kan data di form Sesuai form database
MenampilSupir
53 Ubah Data di form data di form Sesuai Supir
Mengubah Supir
54 Klik tombol “Simpan”n
Sesuai Menampilkan Window Konfirmasi Penyimpana
55 Klik tombol “OK” pir
Sesuai Menampilkan halaman form Update Data Su
56 Pilih data Supir di indow Sesuai Pilih ”Yes” ntuk Hapus.
Pilih ”No” ntuk
membatalkan
form database, kemudian klik Tombol ”Hapus”
Menampilkan Wkonfirmasi u
u
57 Klik tombol ”Keluar” untuk keluar dari Form Update data
Keluar dari form UpdateData Supir dan kembali keHalaman Menu Utama
Sesuai
196
Supir 58 Pilih Menu Bar
“Update File Mastelalu pilih “UpdaData Kendaraan”
r” te
Masuk halaman Form Update Data Kendaraan
Sesuai
59 Menampilkan hasil Sesuai Pada form UpdateData Kendaraan, klik tombol “Cari”, kemudian kolom cari diisi
pencarian data kendaraan
60 Pada Form UpdateData Kendaraan, pitombol “Tambah
lih
” n
Menampilkan form kosong data kendaraa
Sesuai
61 Menampilkan form input yang akan diinput
Sesuai Isi Form Data Kendaraan
62 Klik Tombol “Simpan”
Menampilkan HalamKesalahan
an tidak iisi
Sesuai Formd
63 man Sesuai Klik tombol “OK” Menampilkan halaform Update Data Kendaraan
64 Klik tombol ”Batal” Menampilkan halaman form update Data Kendaraan
Sesuai
65 Klik tombol ”Ubah” Mengaktifkan form database Kendaraan
Sesuai
66 Pilih data Kendaraan di form database
Menampilkan data di forKendaraan
m Sesuai
67 Ubah Data di form Kendaraan
rm Mengubah data di foKendaraan
Sesuai
68 Klik tombol “Simpan”n
Menampilkan Window Konfirmasi Penyimpana
Sesuai
69 Klik tombol “OK” Menampilkan halaman form Update Data Kendaraan
Sesuai
70 Pilih data Kendaraan di form database, kemudian klik
”Yes” ntuk Hapus.
Pilih ”No” Tombol ”Hapus”
Menampilkan Window konfirmasi
Sesuai Pilih u
untuk membatalkan
71 ar”
Form Update data
Keluar dari form Update Data Kendaraan dan kembali ke Halaman
Sesuai Klik tombol ”Keluuntuk keluar dari
Kendaraan Menu Utama
72 ntry
ntry Surat
Sesuai Pilih Menu Bar ”EFile Transaksi” lalupilih ”EPesanan”
Masuk halaman form Entry Surat Pesanan
197
73 database Surat Pesanan
Sesuai Klik icon ”Cari” pada Form Entry Surat Pesanan.
Menampilkan windows
74 Isi kolom cari Menampilkan hasil pencarian data Surat Pesanan
Sesuai
75 an yang dicari
Data Surat Pesanan masuk ke Form Entry Surat
Sesuai Pilih data Surat Pesan
Pesanan 76 k
surat Pesanan Sesuai Setelah hasil
cetak keluar, rm entry
surat pesanan
si awal
Klik tombol “Cetak” Menampilkan hasil ceta
fo
kembali ke kondi
77 Klik tombol “Baru SP”
Menampilkan form kosong Entry SuratPesanan
Sesuai
78 Isi Form Entry Surat Pesanan
t Menampilkan form inpuyang akan diinput
Sesuai
79 Klik tombol ”Simpan” n Halaman Sesuai Form tidak iisi
MenampilkaKesalahan d
80 Klik tombol ”OK” n Sesuai Menampilkan halamaform Entry Surat Pesanan
81 l” n halaman n
Sesuai Klik tombol ”Bata Menampilkaform Entry Surat Pesana
82 anggan n data t
Sesuai Isi Kode Pel Menampilkapelanggan di Form SuraPesanan
83 Isi No.Batch Menampilkan data Batchdi form Surat Pesan
an
Sesuai
84 Isi Jumlah Pesanan n Jumlah Sesuai MenampilkaTotal Harga
85 ah n data Obat Pesanan pada database Surat Pesanan
Sesuai Klik Tombol Tamb Menampilka
86 Klik Tombol Simpan Menyimpan data di Sesuai database Surat Pesanan
87 k tak Sesuai Setelah hasil cetak keluar, form entry urat pesanan
kembali ke kondisi awal
Klik Tombol Ceta Menampilkan hasil cesurat Pesanan
s
88 ol Keluar Keluar dari form Entry Sesuai Klik TombSurat Pesanan dan kembali ke Halaman
198
Menu Utama 89 Pilih Menu Bar ”Entry
File Transaksi” lalu pilih ”Entry Faktur”
Masuk halaman formEntry Faktur
Sesuai
90 Pilih ”No.SP” Menampilkan nama pelanggan dan detail pesanan
Sesuai
91 Klik tombol ”Simpan” Menampilkan window notifikasi ”Data Berhasil di Simpan”
Sesuai
92 Klik Tombol “Cetak” Menampilkan hasil cetak faktur
Sesuai ,
ktur kembali ke kondisi awal
Setelah hasil cetak keluarform entry fa
93 Klik Tombol Keluar Keluar dari form Entry Faktur dan kembali ke Halaman Menu Utama
Sesuai
94 Pilih Menu Bar ”Entry
pilih ”Entry Surat
man form Sesuai File Transaksi” lalu
Jalan”
Masuk halaEntry Surat Jalan
95 Klik tombol “Baru Jalan
Sesuai SJ”
Menampilkan form kosong Entry Surat
96 Pilih No.Faktur pada combo box nggan pada
m
Sesuai Menampilkan nomor SP, nama pelaform dan menampilkan data obat pesanan di fordatabase
97 Klik 2 kali pada data data obat Sesuai obat pesanan di form database
Menampilkanyang akan dikirim
98 Mengisi jumlah obat
pada kolom “Jumlah k
orm Sesuai Jumlah obat ang dikirim
melebihi yang akan dikirim
Kirim” kemudian klitombol “Tambah”
Menampilkan Fkesalahan y
jumlah obat yang dipesan
99 Klik tombol ”OK” Menampilkan kembali form Entry Surat Jalan
Sesuai
100 Mengisi jumlah obat yang akan dikirim
Kirim” kemudian klik tombol “Tambah”
Menampilkan detail obat yang akan dikirim pada
n
Sesuai
pada kolom “Jumlah form database Surat Jala
101 Klik tombol ”Simpan” window notifikasi ”Data Berhasil
Sesuai Menampilkan
199
di Simpan” 102 hasil cetak
Surat Jalan Sesuai Setelah hasil
cetak keluar, rm entry
Surat Jalan kembali ke ondisi awal
Klik Tombol “Cetak” Menampilkan
fo
k103 Pilih Menu Bar ”Entry
File Transaksi” lalu
Retur”
Sesuai
pilih ”Entry Surat
Masuk halaman form Entry Retur
104 Klik tombol “Baru Retur”
Menampilkan form kosong Entry Retur
Sesuai
105 Pilih No.Surat Jalan Menampilkan nomor
i
Sesuai pada combo box Polisi, nomor faktur pada
form dan menampilkan data obat yang dikirim dform database
106 Klik 2 kali pada data data obat yang dikirimdi form database
t Menampilkan data oba
yang akan diretur Sesuai
107 Mengisi
kolom “Jumlah
bah”
lah obat ang diretur
melebihi mlah obat
yang dikirim
jumlah obat yang akan diretur padaRetur” kemudian klik tombol “Tam
Menampilkan Formkesalahan
Sesuai Jumy
ju
108 Klik tombol ”OK” Sesuai Menampilkan kembali form Entry Retur
109 Mengisi jumlah obat
mudian klik
kan detail obat
r
Sesuai yang akan diretur pada kolom “Jumlah Retur” ketombol “Tambah”
Menampilyang akan diretur pada form database Retu
110 an” an window notifikasi ”Data Berhasil di Simpan”
Sesuai Klik tombol ”Simp Menampilk
111 k” etak keluar,
form entry etur kembali
ke kondisi awal
Klik Tombol “Ceta Menampilkan hasil cetak Retur
Sesuai Setelah hasil c
R
112 lu
Penjualan”
Masuk halaman form Cetak Laporan Penjualan
Sesuai Pilih Menu Bar ”Cetak Laporan” lapilih ”Cetak Laporan
113 Pilih Tanggal Awal n Kalender Sesuai Menampilka
200
114 Pilih Tanggal Akhir Menampilkan Kalender Sesuai 115 Klik tombol Cetak n hasil cetak
Laporan Penjualan Sesuai Menampilka
116 Klik tombol Keluar Keluar dari form Cetak Laporan Penjualan dan
kembali ke Halaman Menu Utama
117 lu n
an form Cetak Laporan Pesanan
Sesuai Pilih Menu Bar ”Cetak Laporan” lapilih ”Cetak LaporaPesanan”
Masuk halam
118 Pilih Tanggal Awal Menampilkan Kalender Sesuai 119 Pilih Tanggal Akhir Menampilkan Kalender Sesuai 120 Klik tombol Cetak Sesuai Menampilkan hasil cetak
Laporan Pesanan 121 Klik tombol Keluar Cetak
n Menu Utama
Sesuai Keluar dari formLaporan Pesanan dan kembali ke Halama
122 Pilih Menu Bar ”Cetak Laporan” lapilih ”Cetak Laporan Retur”
lu
ran Pesanan Masuk halaman formCetak Lapo
Sesuai
123 Menampilkan Kalender Sesuai Pilih Tanggal Awal 124 Pilih Tanggal Akhir Menampilkan Kalender Sesuai 125 Klik tombol Cetak Menampilkan hasil cetak
Laporan Retur Sesuai
126
kembali ke Halaman
Sesuai Klik tombol Keluar Keluar dari form Cetak Laporan Retur dan
Menu Utama
4.5.3
Pada tahap instalasi perangkat Sistem Informasi Penjualan
kebutuhan yang minimal untuk perangkat keras (hardware) dan pera
(software) agar m input-
output ka al agar sistem dapat
berjalan sesuai yang diharapkan:
Instalasi Perangkat
, diperlukan
ngkat lunak
endapatkan kinerj
data. Berikut spesifi
a sistem yang baik dalam m
si kebutuhan yang minim
emproses
201
202
a rdwa
si k kat ras:
a. Processor Intel Pentium
12 MB
c. r 1024 x 768 pixel
B
f. Keyboard dan Mouse
b. Perangkat Lunak (Softwar
Be k kat keras:
a. oft Windows XP Home Edition / Professional SP2
sic
. Perangkat Keras (Ha re)
Berikut adalah spesifika ebutuhan minimal perang
4 1.6 GHz
ke
b. RAM Memory 5
Resolusi layar monito
d. VGA Memory 64 M
e. Printer
e)
rikut adalah spesifikasi
Micros
ebutuhan minimal perang
b. Microsoft Visual Ba .Net 2003
c. Crystal Report 8.5
d. MySQL 5.0.67
BAB V
PENUTUP
5.1 Simpulan
Berdasarkan uraian dan pembahasan pada bab-bab sebelumnya, maka
dapat ditarik simpulan bahwa:
1. Dari analisis sistem berjalan didapatkan permasalahan dalam hal pengolahan
data dan proses pencatatan transaksi penjualan yang masih dilakukan secara
manual, yaitu pencatatan data pelanggan, data obat, data batch, data supir dan
data kendaraan, pembuatan surat pesanan, faktur, surat jalan, retur, pembuatan
laporan pesanan, laporan penjualan dan laporan retur. Hal tersebut
menyebabkan pegawai membutuhkan waktu yang lebih lama dalam
menjalankan kegiatan penjualan, pendokumentasian transaksi-transaksi
penjualan dan penyelesaian laporan penjualan.
2. Untuk memperbaiki sistem berjalan dibuatlah suatu sistem komputerisasi
berbentuk windows application yang mengintegrasikan pencatatan transaksi
dengan pengolahan data penjualan sehingga memudahkan pegawai dalam
menjalankan kegiatan penjualan, pendokumentasian transaksi-transaksi
penjualan dan penyelesaian laporan penjualan. Selain itu, sistem ini juga
dirancang untuk mempermudah dan mempercepat pencarian data atau
dokumen, yaitu dengan menggunakan kolom search (cari) untuk data
pelanggan, obat, batch, supir, kendaraan dan surat pesanan.
3. Untuk merancang sistem ini digunakan metode analisis dan desain berorientasi
objek/Object-oriented analysis and design (OOAD) dan dimodelkan dengan
203
UML (Unified Modelling Language) sebagai tools-nya. Diagram UML yang
digunakan yaitu Activity Diagram, Use Case Diagram, Class Diagram,
Statechart Diagram dan Sequence Diagram. Selain itu juga digunakan diagram
diluar UML yaitu Rich Pictures dan Navigation Diagram untuk mendukung
analisis dan desain perancangan sistem.
4. Dalam perancangan Sistem Informasi ini dirancang suatu database yang terdiri
dari 12 tabel yaitu tabel pelanggan, obat, batch, supir, kendaraan,
SuratPesanan, isi, faktur, SuratJalan, DetilSJ, retur, kembali.
5. Mengembangkan aplikasi Sistem Penjualan yang ada pada PT.Distriversa
Buanamas menjadi aplikasi yang dapat menunjang bagi kegiatan administrasi
Bagian Penjualan.
6. Sistem Penjualan yang terdapat pada PT.Distriversa Buanamas masih
menggunakan Microsoft Excel untuk pencatatan data-data penjualan dan
pencatatan transaksi penjualan serta laporan pesanan, penjualan dan retur
secara manual. Dalam pengembangannya dibuatkan suatu Sistem Informasi
Penjualan yang dapat menunjang semua kegiatan administrasi Bagian
Penjualan berbentuk Windows Application.
7. Melakukan pengembangan Sistem Informasi Penjualan dengan menggunakan
bahasa pemograman Microsoft Visual Basic .NET 2003 dan MYSQL sebagai
databasenya.
8. Telah dilakukan pengujian guna mendapati Sistem Informasi Penjualan
tersebut terhindar dari kesalahan dan berjalan sebagaimana mestinya.
204
205
5.2 Saran
Berdasarkan simpulan-simpulan yang telah dikemukakan, dapat diajukan
beberapa saran untuk pengembangan lebih lanjut antara lain:
1. Mengembangkan Sistem Informasi Penjualan yang dilengkapi dengan sistem
keamanan data untuk meminimalisir resiko pencurian data.
2. Mengembangkan Sistem Informasi Penjualan yang dapat mendukung sistem
penunjang keputusan (DSS) untuk dapat menunjang keputusan bagi para
pemberi keputusan.
3. Untuk penelitian selanjutnya Sistem Informasi Penjualan dapat diintegrasikan
dengan Sistem Informasi Pembelian dan Sistem Informasi Gudang agar
tercipta kesatuan sistem operasional perusahaan.
DAFTAR PUSTAKA
Al-Quran
Achun. 2007. Sistem Akuntansi Penjualan.
http://zulidamel.wordpress.com/2007/11/21/system-informasi-penjualan/. [2
Nop 2008]
Andra. 2007. PMDN Farmasi:Diferensiasi Raih Prestasi. Farmacia 7(1).
http://www.majalah-farmacia.com/rubrik/one_news.asp?IDNews=548. [15
Nop 2008]
Assauri, Sofjan. 2004. Manajemen Pemasaran: Dasar, Konsep dan Strategi.
Jakarta: PT. Raja Grafindo Persada.
Baharuddin et al. 2006. Sistem Informasi Penjualan Obat Pada Apotek Sejahtera
Farma Makasar Berbasis Client Server [skripsi]. Makassar: Sistem
Informasi, Sekolah Tinggi Manajemen Informatika dan Komputer
Dipanegara Makasar.
[Depdikbud] Departemen Pendidikan dan Kebudayaan, Pusat Pembinaan dan
Pengembangan Bahasa. 2002. Kamus Besar Bahasa Indonesia. Ed ke-3.
Jakarta: Balai Pustaka.
Dharwiyanti, Sri dan Wahono, Romi Satria. 2003. Pengantar Unified Modeling
Language (UML). Jakarta: IlmuKomputer.com.
Gulo, W. 2005. Metodologi Penelitian. Jakarta: PT.Grasindo.
Hariyanto, Bambang. 2004. Sistem Manajemen Basisdata: Pemodelan,
Perancangan dan Terapannya. Bandung: Informatika.
Hermawan, Julius. 2004. Analisa Desain dan Pemrograman Berorientasi Objek
dengan UML dan Visual Basic .NET. Yogyakarta: Penerbit ANDI..
206
Howard, S dan Monk, A. 1998. The Rich Picture: A Tool For Reasoning About
Work Context. Interactions, March/April 1998. New York: ACM.
Hutcheson, Marnie L. 2003. Software Testing Fundamentals: Methods and
Metrics. Indiana: John Wiley & Sons.
Insa, Tharsikin. 2003. 2004:Tantangan Berat Distributor Farmasi. eBizzAsia
2(13). http://www.ebizzasia.com/0213-2003/focus,0213,02.html. [15 Nop
2008].
Jogiyanto, HM. 2005. Analisis & Desain SIstem Informasi : Pendekatan
Terstruktur Teori dan Praktek Aplikasi Bisnis. Yogyakarta: Penerbit ANDI
Kadir, Abdul. 1999. Konsep dan Tuntunan Praktis dalam Basis Data.
Yogyakarta: Penerbit ANDI.
Kadir, Abdul. 2003. Pengenalan Sistem Informasi, Yogyakarta: Penerbit ANDI.
Ladjamudin, Al-Bahra bin. 2005. Analisis dan Desain Sistem Informasi.
Yogyakarta: Graha Ilmu.
Lucas, Henry.C, Jr. 1993. Analisis, Disain dan Implementasi Sistem Informasi. Ed
ke-3. Jakarta: Penerbit Erlangga.
Mathiassen, Lars et al. 2000. Object Oriented Analysis and Design, Denmark:
Marko Publishing. APS.
Muhidin, Sambas Ali dan Abdurahman, Maman. 2007. Analisis Korelasi, Regresi,
dan Jalur Dalam Penelitian. Bandung: Pusaka Setia.
Nabil. 2008. Perbedaan SI dengan Jurusan Komputer Lain.
http://globalitynews.blogspot.com/. [15 Nop 2008].
Nugroho, Adi. 2002. Analisis dan Perancangan Sistem Informasi dengan
Metodologi Berorientasi Objek. Bandung: Informatika.
207
Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta:
Penerbit ANDI.
O’Brien, James A. 2005. Pengantar Sistem Informasi. Ed ke-12. Jakarta: Penerbit
Salemba Empat.
Pressman, Roger S. 2001. Software Engineering: a Practitioner’s Approach. Ed
ke-5. Newyork: McGraw-Hill Higher Education.
Saputra, Suyono. 2006. Distributor farmasi asing agresif akuisisi PBF lokal.
http://els.bappenas.go.id/upload/other/Distributor%20farmasi%20asing-
BI.htm. [15 Nop 2008].
Sholiq. 2006. Pemodelan Sistem Informasi Berorientasi Obyek Dengan UML.
Yogyakarta: Graha Ilmu.
Sidik, Betha,Ir. 2005. MySQL untuk Pengguna, Administrator, dan Pengembang
Aplikasi Web. Bandung: Informatika.
Simarmata, Janner dan Paryudi, Iman. 2006. Basis Data. Yogyakarta: Penerbit
ANDI.
Sirait, Midian, Prof.Dr. 2001. Tiga Dimensi Farmasi. Jakarta: Institut Darma
Medika.
Suharto, Toto. 2004. Analisis Perangkat Lunak II. http://www.smpn1-
cileunyi.sch.id/download/11.pdf. [16 Nop 2008]
Sukarno, Mohamad. 2006. Sistem Mudah & Cepat Menguasai Visual Basic .NET.
Jakarta: Eska Media Press.
Sutopo, Ariesto Hadi. 2002. Analisis dan Desain Berorientasi Objek. Yogyakarta:
J&J Learning.
208
209
Tripathy, Priyadarshi dan Naik, Kshirasagar. 2008. Software Testing and Quality
Assurance: Theory and Practice. New Jersey: John Wiley & Sons.
Turban. 2003. Introduction to Information Technology. Ed ke-2. New York: John
Wiley & Sons, Inc.
Wardiana, Wawan. 2002. Perkembangan Teknologi Informasi di Indonesia.
http://www.informatika.lipi.go.id/perkembangan-teknologi-informasi-di-
indonesia/. [18 Okt 2008].
Whitten, Jeffrey L et al. 2004. Metode Desain dan Analisis Sistem. Ed ke-6.
Yogyakarta: terjemahan tim Penerbit ANDI.
BRANCH OFFICE: JAKARTA • BANDUNG • CIREBON • SEMARANG • JOGJAKARTA • SOLO • SURABAYA • BALI • MALANG • MEDAN • PALEMBANG • PONTIANAK
REPRESENTATIVE OFFICE:
PADANG • PURWOKERTO • TEGAL • LAMPUNG • BALIKPAPAN • UJUNG PANDANG • BANJARMASIN • MANADO
UNTUK YANG BERKEPENTINGAN No. DBM. SDM. 08. 091
Yang Bertanda tangan dibawah ini menerangkan bahwa :
Nama : AGUS LASWANTIANTO
NIM : 104093002954
Jurusan : Sistem Informasi Fakultas Sains dan Teknologi UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
Telah melaksanakan penelitian pada bagian penjualan
PT.DISTRIVERSA BUANAMAS selama 3 (tiga) bulan sejak tanggal
15 September 2008 sampai dengan 15 Desember 2008.
Demikian surat keterangan penelitian ini dibuat untuk dapat
dipergunakan sebagaimana mestinya.
Jakarta, 19 Desember 2008
Mustofa Amin Supervisor Pharma
Hasil wawancara dengan Bapak Abdullah Syafi’ih selaku Kepala Bagian
Penjualan pada tanggal 22 September 2008 yang beralamat di PT.Distriversa
Buanamas Jl. Darmawangsa Raya V No. 22 Jakarta Selatan.
1. Bagaimana struktur organisasi yang terdapat pada PT.Distriversa
Buanamas?
Jawab:
(struktur organisasi PT.Distriversa Buanamas pada Gambar 4.2)
2. Bagaimana kegiatan penjualan yang dilakukan PT.Distriversa
Buanamas?
Jawab:
Kegiatan penjualan yang dilakukan PT.Distriversa Buanamas terdiri dari:
1) Penerimaan Pesanan
Proses pemesanan dilakukan pelanggan kepada bagian penjualan melalui
telepon atau faksimili kemudian bagian penjualan mencatat pesanan secara
manual menulisnya ke dalam kertas/form surat pesanan.
2) Pengecekan Stok Obat
Selanjutnya surat pesanan diserahkan kepada bagian gudang. Bagian
gudang kemudian melakukan pengecekan terhadap stok obat yang ada.
Bagian gudang akan menyiapkan obat-obat yang dipesan menyerahkannya
kepada bagian penjualan.
1
3) Pembuatan Faktur
Setelah menerima obat pesanan dari bagian gudang, kemudian bagian
penjualan membuatkan faktur untuk pelanggan dan surat jalan untuk
bagian pengiriman. Kedua dokumen tersebut beserta obat pesanan
diserahkan kepada bagian pengiriman untuk diantarkan kepada pelanggan.
4) Pengiriman Obat
Bagian pengiriman menerima obat pesanan, faktur dan surat jalan,
kemudian mengirimkan pesanan tersebut dan menyerahkan obat pesanan
dan faktur kepada pelanggan. Pelanggan berhak meminta retur apabila
obat yang diterima cacat/rusak. Pelanggan mengembalikan obat pesanan
yang cacat/rusak kepada bagian pengiriman, selanjutnya bagian
pengiriman menyerahkannya ke bagian penjualan. Apabila obat pesanan
yang diterima pelanggan sudah sesuai, pelanggan menandatangani surat
jalan yang dibawa oleh bagian pengiriman dan membayar tagihan sesuai
dengan faktur kepada bagian pengiriman.
5) Penerimaan hasil penjualan
Selanjutnya bagian pengiriman menyerahkan rangkap faktur, surat jalan
dan uang pembayaran kepada bagian penjualan. Bagian penjualan
menerima uang pembayaran dan dokumen-dokumen tersebut.
6) Penulisan laporan penjualan
Proses terakhir yang dilakukan oleh bagian penjualan adalah melakukan
laporan penjualan. Laporan yang sudah dibuat oleh bagian penjualan,
selanjutnya diserahkan kepada pimpinan perusahaan. Laporan penjualan
ditujukan untuk mengetahui tingkat penjualan yang telah tercapai
2
3. Siapa saja yang terlibat dalam kegiatan penjualan?
Jawab:
Kegiatan penjualan melibatkan karyawan pada bagian penjualan yang
bertanggung jawab atas jalannya proses penjualan mulai dari pemesanan obat
oleh pelanggan sampai penulisan laporan penjualan. Pada pelaksanaannya
proses penjualan juga melibatkan karyawan bagian gudang yang bertugas
menyiapkan pesanan dan bagian pengiriman yang bertugas mengirimkan
pesanan sampai ke pelanggan.
4. Alat-alat apa saja yang digunakan untuk mendukung pelaksanaan
kegiatan penjualan?
Jawab:
Kegiatan penjualan didukung oleh sarana komunikasi berupa telepon dan
faksimili. Pencatatan pesanan, faktur, retur, dan surat jalan dilakukan secara
manual, sedangkan penyimpanan data pelanggan dan obat serta penyusunan
laporan penjualan dilakukan dengan bantuan komputer menggunakan
program Excel.
5. Bagaimana sistem pengelolaan data penjualan yang digunakan oleh
PT.Distriversa Buanamas?
Jawab:
Sistem pengelolaan data penjualan yang digunakan pada saat ini masih
sederhana. Pencatatan dan penyimpanan data pelanggan maupun data
penjualan hanya dilakukan dengan menggunakan komputer dengan program
3
4
Excel. Pengelolaan data terpisah masing-masing, belum ada sistem yang
terintegrasi dengan baik.
6. Dari sistem yang berjalan, apakah masih ditemukan kekurangan? Jika
ada, pada bagian mana?
Jawab:
Ya, masih. Seperti pada pengelolaan data, pembuatan bukti transaksi yang
berulang-ulang, sering terjadinya kesalahan dalam penghitungan penjualan
dikarenakan tidak ada sistem yang terintegrasi.
7. Bagaimana harapan anda untuk sistem penjualan kedepannya bagi
PT.Distriversa Buanamas?
Jawab:
Saya berharap ada suatu sistem yang dapat meng-cover seluruh data penjualan
dari mulai pemesanan obat sampai pembuatan laporan penjualan yang mudah
digunakan dan dengan cost yang terjangkau. Sehingga seluruh data yang ada
didalam proses penjualan dapat saling terintegrasi dan selanjutnya dapat
memudahkan Kami dalam pengelolaan data dan pembuatan laporan penjualan.
Sehingga proses penjualan dapat berjalan lebih efisien.
a. Form Menu Utama
b. Form Update Data Pelanggan
c. Form Update Data Obat
d. Form Update Data Batch
e. Form Update Data Supir
f. Form Update Data Kendaraan
g. Form Entry Surat Pesanan
h. Form Entry Faktur
i. Form Entry Surat Jalan
j. Form Entry Retur
k. Form Cetak Laporan Penjualan
l. Form Cetak Laporan Pesanan
m. Form Cetak Laporan Retur
n. Hasil Cetak Surat Pesanan
o. Hasil Cetak Faktur
p. Hasil Cetak Surat Jalan
q. Hasil Cetak Retur
r. Hasil Cetak Laporan Penjualan
s. Hasil Cetak Laporan Pesanan
t. Hasil Cetak Laporan Retur
A. Form Faktur
B. Form Surat Jalan
C. Form Surat Pesanan
D. Form Retur
Menu Utama Public Class MenuUTama Inherits System.Windows.Forms.Form Dim fpelanggan As frmPelanggan Dim fobat As FrmObat Dim fbatch As FrmBatch Dim fsupir As FrmSupir Dim fkendaraan As FrmKendaraan 'Dim fLapPesanan As FrmLapPesanan 'Dim fLapPenjualan As FrmLapPenjualan 'Dim fLapRetur As FrmLapRetur 'Dim fsp As FrmSP 'Dim fFaktur As FrmFaktur 'Dim fSJ As FrmSJ 'Dim fRetur As FrmRetur #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem7 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem11 As System.Windows.Forms.MenuItem Friend WithEvents mnupelanggan As System.Windows.Forms.MenuItem Friend WithEvents mnuobat As System.Windows.Forms.MenuItem Friend WithEvents mnubatch As System.Windows.Forms.MenuItem Friend WithEvents mnusupir As System.Windows.Forms.MenuItem Friend WithEvents mnuKendaraan As System.Windows.Forms.MenuItem Friend WithEvents mnuSP As System.Windows.Forms.MenuItem Friend WithEvents mnuSJ As System.Windows.Forms.MenuItem Friend WithEvents mnuFaktur As System.Windows.Forms.MenuItem Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem Friend WithEvents mnuLapPesanan As System.Windows.Forms.MenuItem Friend WithEvents mnuLapPenjualan As System.Windows.Forms.MenuItem Friend WithEvents mnuLapRetur As System.Windows.Forms.MenuItem Friend WithEvents mnuKeluar As System.Windows.Forms.MenuItem <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(MenuUTama)) Me.MainMenu1 = New System.Windows.Forms.MainMenu Me.MenuItem1 = New System.Windows.Forms.MenuItem Me.mnupelanggan = New System.Windows.Forms.MenuItem Me.mnuobat = New System.Windows.Forms.MenuItem Me.mnubatch = New System.Windows.Forms.MenuItem Me.mnusupir = New System.Windows.Forms.MenuItem Me.mnuKendaraan = New System.Windows.Forms.MenuItem Me.MenuItem7 = New System.Windows.Forms.MenuItem Me.mnuSP = New System.Windows.Forms.MenuItem Me.mnuFaktur = New System.Windows.Forms.MenuItem Me.mnuSJ = New System.Windows.Forms.MenuItem Me.MenuItem11 = New System.Windows.Forms.MenuItem Me.MenuItem2 = New System.Windows.Forms.MenuItem Me.mnuLapPenjualan = New System.Windows.Forms.MenuItem Me.mnuLapPesanan = New System.Windows.Forms.MenuItem Me.mnuLapRetur = New System.Windows.Forms.MenuItem Me.mnuKeluar = New System.Windows.Forms.MenuItem ' 'MainMenu1 ' Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem7, Me.MenuItem2, Me.mnuKeluar}) ' 'MenuItem1 ' Me.MenuItem1.Index = 0
Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnupelanggan, Me.mnuobat, Me.mnubatch, Me.mnusupir, Me.mnuKendaraan}) Me.MenuItem1.Text = "Update File Master" ' 'mnupelanggan ' Me.mnupelanggan.Index = 0 Me.mnupelanggan.Text = "Update Data Pelanggan" ' 'mnuobat ' Me.mnuobat.Index = 1 Me.mnuobat.Text = "Update Data Obat" ' 'mnubatch ' Me.mnubatch.Index = 2 Me.mnubatch.Text = "Update Data Batch" ' 'mnusupir ' Me.mnusupir.Index = 3 Me.mnusupir.Text = "Update Data Supir" ' 'mnuKendaraan ' Me.mnuKendaraan.Index = 4 Me.mnuKendaraan.Text = "Update Data Kendaraan" ' 'MenuItem7 ' Me.MenuItem7.Index = 1 Me.MenuItem7.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnuSP, Me.mnuFaktur, Me.mnuSJ, Me.MenuItem11}) Me.MenuItem7.Text = "Entry File Transaksi" ' 'mnuSP ' Me.mnuSP.Index = 0 Me.mnuSP.Text = "Entry Surat Pesanan"
' 'mnuFaktur ' Me.mnuFaktur.Index = 1 Me.mnuFaktur.Text = "Entry Faktur" ' 'mnuSJ ' Me.mnuSJ.Index = 2 Me.mnuSJ.Text = "Entry Surat Jalan" ' 'MenuItem11 ' Me.MenuItem11.Index = 3 Me.MenuItem11.Text = "Entry Retur" ' 'MenuItem2 ' Me.MenuItem2.Index = 2 Me.MenuItem2.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnuLapPenjualan, Me.mnuLapPesanan, Me.mnuLapRetur}) Me.MenuItem2.Text = "Cetak Laporan" ' 'mnuLapPenjualan ' Me.mnuLapPenjualan.Index = 0 Me.mnuLapPenjualan.Text = "Cetak Laporan Penjualan" ' 'mnuLapPesanan ' Me.mnuLapPesanan.Index = 1 Me.mnuLapPesanan.Text = "Cetak Laporan Pesanan" ' 'mnuLapRetur ' Me.mnuLapRetur.Index = 2 Me.mnuLapRetur.Text = "Cetak Laporan Retur" ' 'mnuKeluar ' Me.mnuKeluar.Index = 3 Me.mnuKeluar.Text = "Keluar"
' 'MenuUTama ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.BackColor = System.Drawing.SystemColors.Window Me.BackgroundImage = CType(resources.GetObject("$this.BackgroundImage"), System.Drawing.Image) Me.ClientSize = New System.Drawing.Size(464, 287) Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.IsMdiContainer = True Me.Menu = Me.MainMenu1 Me.Name = "MenuUTama" Me.Text = "DISTRIVERSA BUANA MAS" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized End Sub #End Region Private Sub mnupelanggan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnupelanggan.Click fpelanggan = New frmPelanggan fpelanggan.ShowDialog End Sub Private Sub MenuUTama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub mnuSP_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuSP.Click fsp = New FrmSP fsp.ShowDialog() End Sub
Private Sub mnuSJ_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuSJ.Click fSJ = New FrmSJ fSJ.ShowDialog() End Sub Private Sub mnuFaktur_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFaktur.Click fFaktur = New FrmFaktur fFaktur.ShowDialog() End Sub Private Sub MenuItem11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem11.Click fRetur = New FrmRetur fRetur.ShowDialog() End Sub Private Sub mnuobat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuobat.Click fobat = New FrmObat fobat.ShowDialog() End Sub Private Sub mnubatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnubatch.Click fbatch = New FrmBatch fbatch.ShowDialog() End Sub Private Sub mnusupir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnusupir.Click fsupir = New FrmSupir fsupir.ShowDialog() End Sub
Private Sub mnuKendaraan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuKendaraan.Click fkendaraan = New FrmKendaraan fkendaraan.ShowDialog() End Sub Private Sub mnuLapPesanan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuLapPesanan.Click fLapPesanan = New FrmLapPesanan fLapPesanan.ShowDialog() End Sub Private Sub mnuLapPenjualan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuLapPenjualan.Click fLapPenjualan = New FrmLapPenjualan fLapPenjualan.ShowDialog() End Sub Private Sub mnuLapRetur_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuLapRetur.Click fLapRetur = New FrmLapRetur fLapRetur.ShowDialog() End Sub Private Sub mnuKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuKeluar.Click Me.Dispose() End Sub End Class Update Data Pelanggan Public Class frmPelanggan Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New()
MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader5 As System.Windows.Forms.ColumnHeader
Friend WithEvents btnSave As System.Windows.Forms.Button Friend WithEvents btnEdit As System.Windows.Forms.Button Friend WithEvents btnDelete As System.Windows.Forms.Button Friend WithEvents btnExit As System.Windows.Forms.Button Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox Friend WithEvents txtCari As System.Windows.Forms.TextBox Friend WithEvents btnCari As System.Windows.Forms.Button Friend WithEvents txtemail As System.Windows.Forms.TextBox Friend WithEvents txttelp As System.Windows.Forms.TextBox Friend WithEvents txtalamat As System.Windows.Forms.TextBox Friend WithEvents txtnm_pelanggan As System.Windows.Forms.TextBox Friend WithEvents txtkd_pelanggan As System.Windows.Forms.TextBox Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader
Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader5 = New System.Windows.Forms.ColumnHeader Me.btnSave = New System.Windows.Forms.Button Me.btnEdit = New System.Windows.Forms.Button Me.btnDelete = New System.Windows.Forms.Button Me.btnExit = New System.Windows.Forms.Button Me.GroupBox1 = New System.Windows.Forms.GroupBox Me.txtCari = New System.Windows.Forms.TextBox Me.btnCari = New System.Windows.Forms.Button Me.txtemail = New System.Windows.Forms.TextBox Me.txttelp = New System.Windows.Forms.TextBox Me.txtalamat = New System.Windows.Forms.TextBox Me.txtnm_pelanggan = New System.Windows.Forms.TextBox Me.txtkd_pelanggan = New System.Windows.Forms.TextBox Me.Label6 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.GroupBox1.SuspendLayout() Me.SuspendLayout() ' 'Label1 ' Me.Label1.BackColor = System.Drawing.Color.Transparent Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(144, 24) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(224, 24) Me.Label1.TabIndex = 0 Me.Label1.Text = "DATA PELANGGAN"
' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5}) Me.ListView1.FullRowSelect = True Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(40, 312) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(384, 120) Me.ListView1.TabIndex = 11 Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "Kode Pelanggan" Me.ColumnHeader1.Width = 95 ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Nama Pelanggan" Me.ColumnHeader2.Width = 107 ' 'ColumnHeader3 ' Me.ColumnHeader3.Text = "Alamat" Me.ColumnHeader3.Width = 54 ' 'ColumnHeader4 ' Me.ColumnHeader4.Text = "Telepon" Me.ColumnHeader4.Width = 59 ' 'ColumnHeader5 ' Me.ColumnHeader5.Text = "Email" Me.ColumnHeader5.Width = 73
' 'btnSave ' Me.btnSave.Location = New System.Drawing.Point(40, 432) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(88, 24) Me.btnSave.TabIndex = 14 Me.btnSave.Text = "Tambah" ' 'btnEdit ' Me.btnEdit.Location = New System.Drawing.Point(136, 432) Me.btnEdit.Name = "btnEdit" Me.btnEdit.Size = New System.Drawing.Size(88, 24) Me.btnEdit.TabIndex = 15 Me.btnEdit.Text = "Ubah" ' 'btnDelete ' Me.btnDelete.Location = New System.Drawing.Point(232, 432) Me.btnDelete.Name = "btnDelete" Me.btnDelete.Size = New System.Drawing.Size(88, 24) Me.btnDelete.TabIndex = 16 Me.btnDelete.Text = "Hapus" ' 'btnExit ' Me.btnExit.Location = New System.Drawing.Point(336, 432) Me.btnExit.Name = "btnExit" Me.btnExit.Size = New System.Drawing.Size(88, 24) Me.btnExit.TabIndex = 17 Me.btnExit.Text = "Keluar" ' 'GroupBox1 ' Me.GroupBox1.Controls.Add(Me.txtCari) Me.GroupBox1.Controls.Add(Me.btnCari) Me.GroupBox1.Controls.Add(Me.txtemail) Me.GroupBox1.Controls.Add(Me.txttelp)
Me.GroupBox1.Controls.Add(Me.txtalamat) Me.GroupBox1.Controls.Add(Me.txtnm_pelanggan) Me.GroupBox1.Controls.Add(Me.txtkd_pelanggan) Me.GroupBox1.Controls.Add(Me.Label6) Me.GroupBox1.Controls.Add(Me.Label5) Me.GroupBox1.Controls.Add(Me.Label4) Me.GroupBox1.Controls.Add(Me.Label3) Me.GroupBox1.Controls.Add(Me.Label2) Me.GroupBox1.Location = New System.Drawing.Point(40, 56) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Size = New System.Drawing.Size(384, 248) Me.GroupBox1.TabIndex = 18 Me.GroupBox1.TabStop = False ' 'txtCari ' Me.txtCari.Location = New System.Drawing.Point(144, 216) Me.txtCari.Name = "txtCari" Me.txtCari.Size = New System.Drawing.Size(216, 20) Me.txtCari.TabIndex = 25 Me.txtCari.Text = "" ' 'btnCari ' Me.btnCari.Location = New System.Drawing.Point(80, 216) Me.btnCari.Name = "btnCari" Me.btnCari.Size = New System.Drawing.Size(48, 24) Me.btnCari.TabIndex = 24 Me.btnCari.Text = "&Cari" ' 'txtemail ' Me.txtemail.Location = New System.Drawing.Point(144, 184) Me.txtemail.Name = "txtemail" Me.txtemail.Size = New System.Drawing.Size(216, 20) Me.txtemail.TabIndex = 23 Me.txtemail.Text = "" '
'txttelp ' Me.txttelp.Location = New System.Drawing.Point(144, 144) Me.txttelp.Name = "txttelp" Me.txttelp.Size = New System.Drawing.Size(216, 20) Me.txttelp.TabIndex = 22 Me.txttelp.Text = "" ' 'txtalamat ' Me.txtalamat.Location = New System.Drawing.Point(144, 104) Me.txtalamat.Name = "txtalamat" Me.txtalamat.Size = New System.Drawing.Size(216, 20) Me.txtalamat.TabIndex = 21 Me.txtalamat.Text = "" ' 'txtnm_pelanggan ' Me.txtnm_pelanggan.Location = New System.Drawing.Point(144, 64) Me.txtnm_pelanggan.Name = "txtnm_pelanggan" Me.txtnm_pelanggan.Size = New System.Drawing.Size(216, 20) Me.txtnm_pelanggan.TabIndex = 20 Me.txtnm_pelanggan.Text = "" ' 'txtkd_pelanggan ' Me.txtkd_pelanggan.Location = New System.Drawing.Point(144, 32) Me.txtkd_pelanggan.Name = "txtkd_pelanggan" Me.txtkd_pelanggan.Size = New System.Drawing.Size(216, 20) Me.txtkd_pelanggan.TabIndex = 19 Me.txtkd_pelanggan.Text = "" ' 'Label6 ' Me.Label6.Location = New System.Drawing.Point(24, 184) Me.Label6.Name = "Label6"
Me.Label6.TabIndex = 18 Me.Label6.Text = "Email" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(24, 144) Me.Label5.Name = "Label5" Me.Label5.TabIndex = 17 Me.Label5.Text = "Telepon" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(24, 112) Me.Label4.Name = "Label4" Me.Label4.TabIndex = 16 Me.Label4.Text = "Alamat" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(24, 72) Me.Label3.Name = "Label3" Me.Label3.TabIndex = 15 Me.Label3.Text = "Nama Pelanggan" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(24, 32) Me.Label2.Name = "Label2" Me.Label2.TabIndex = 14 Me.Label2.Text = "Kode Pelanggan" ' 'frmPelanggan ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.BackColor = System.Drawing.SystemColors.Control Me.ClientSize = New System.Drawing.Size(472, 494) Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.btnExit)
Me.Controls.Add(Me.btnDelete) Me.Controls.Add(Me.btnEdit) Me.Controls.Add(Me.btnSave) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.Label1) Me.ForeColor = System.Drawing.SystemColors.ControlText Me.Name = "frmPelanggan" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Pelanggan" Me.GroupBox1.ResumeLayout(False) Me.ResumeLayout(False) End Sub #End Region Private objPelanggan As New AccessDataMaster.clsPelanggan Private flag As String Private Sub frmPelanggan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load disablePelanggan() bersihPelanggan() btnAwalPelanggan() objPelanggan.IsiTabelPelanggan(ListView1) flag = "" End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) txtCari.Enabled = True txtCari.Focus() End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Select Case btnSave.Text Case "&Tambah" objPelanggan.AutoCodePelanggan(txtkd_pelanggan)
flag = "t" enablePelanggan() btnNormalPelanggan() txtnm_pelanggan.Focus() btnSave.Text = "&Simpan" txtkd_pelanggan.Enabled = False Case "&Simpan" If txtnm_pelanggan.Text = "" Then MsgBox("Nama Pelanggan harus di isi!", MsgBoxStyle.Information, "pesan") : txtnm_pelanggan.Focus() ElseIf txtalamat.Text = "" Then MsgBox("Alamat Pelanggan harus di isi!", MsgBoxStyle.Information, "pesan") : txtalamat.Focus() ElseIf txttelp.Text = "" Then MsgBox("Nomor Telepon harus di isi!", MsgBoxStyle.Information, "pesan") : txttelp.Focus() Else objPelanggan.atKdPelanggan = txtkd_pelanggan.Text objPelanggan.atNamaPelanggan = txtnm_pelanggan.Text objPelanggan.atAlamatPelanggan = txtalamat.Text objPelanggan.atNoTelp = txttelp.Text objPelanggan.atEmail = txtemail.Text objPelanggan.SimpanDataPelanggan() objPelanggan.IsiTabelPelanggan(ListView1) bersihPelanggan() disablePelanggan() btnAwalPelanggan() End If End Select End Sub Private Sub txtkd_pelanggan_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) If Asc(e.KeyChar) = 13 Then e.Handled = False objPelanggan.atKdPelanggan = Me.txtkd_pelanggan.Text objPelanggan.TampilDataPelanggan()
txtnm_pelanggan.Text = objPelanggan.atNamaPelanggan txtalamat.Text = objPelanggan.atAlamatPelanggan txttelp.Text = objPelanggan.atNoTelp txtemail.Text = objPelanggan.atEmail End If End Sub Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Select Case btnExit.Text Case "&Keluar" Me.Dispose() Case "&Batal" bersih(Me) textDisabled(Me) btnAwalPelanggan() flag = "" End Select End Sub Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click If ListView1.SelectedItems.Count = 1 Then objPelanggan.atKdPelanggan = ListView1.FocusedItem.SubItems(0).Text() If MsgBox("Apakah Anda Yakin Menghapus Kode Pelanggan " & ListView1.FocusedItem.SubItems(0).Text() & ", Nama Pelanggan " & ListView1.FocusedItem.SubItems(1).Text() & " ? ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Hapus") = MsgBoxResult.Yes Then objPelanggan.DeleteDataPelanggan() objPelanggan.IsiTabelPelanggan(ListView1) End If End If End Sub Private Sub btnAwalPelanggan() btnSave.Text = "&Tambah" btnEdit.Enabled = True
btnDelete.Enabled = True btnExit.Text = "&Keluar" End Sub Private Sub btnNormalPelanggan() btnSave.Text = "&Simpan" btnEdit.Enabled = False btnDelete.Enabled = False btnExit.Text = "&Batal" End Sub Private Sub txtCari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) objPelanggan.strCariPelanggan(txtCari, ListView1) End Sub Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click btnNormalPelanggan() flag = "e" enablePelanggan() txtkd_pelanggan.Focus() End Sub Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick If flag = "e" Then With ListView1.FocusedItem txtkd_pelanggan.Text = .SubItems(0).Text() txtnm_pelanggan.Text = .SubItems(1).Text() txtalamat.Text = .SubItems(2).Text() txttelp.Text = .SubItems(3).Text txtemail.Text = .SubItems(4).Text() End With End If End Sub Private Sub enablePelanggan() 'txtkd_pelanggan.Enabled = True txtnm_pelanggan.Enabled = True txtalamat.Enabled = True txttelp.Enabled = True
txtemail.Enabled = True txtCari.Enabled = True End Sub Private Sub disablePelanggan() txtkd_pelanggan.Enabled = False txtnm_pelanggan.Enabled = False txtalamat.Enabled = False txttelp.Enabled = False txtemail.Enabled = False txtCari.Enabled = False End Sub Private Sub bersihPelanggan() txtkd_pelanggan.Text = "" txtnm_pelanggan.Text = "" txtalamat.Text = "" txttelp.Text = "" txtemail.Text = "" End Sub Private Sub txtCari_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCari.TextChanged objPelanggan.strCariPelanggan(txtCari, ListView1) End Sub Private Sub btnCari_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click txtCari.Enabled = True txtCari.Focus() End Sub Private Sub txttelp_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txttelp.TextChanged End Sub Private Sub txttelp_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txttelp.KeyPress Angka(e)
End Sub End Class Update Data Obat Public Class FrmObat Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader5 As System.Windows.Forms.ColumnHeader Friend WithEvents txtkd_obat As System.Windows.Forms.TextBox Friend WithEvents txtnm_obat As System.Windows.Forms.TextBox Friend WithEvents txtHarga As System.Windows.Forms.TextBox Friend WithEvents btnEdit As System.Windows.Forms.Button Friend WithEvents btnDelete As System.Windows.Forms.Button Friend WithEvents btnExit As System.Windows.Forms.Button Friend WithEvents txtCari As System.Windows.Forms.TextBox Friend WithEvents btnSave As System.Windows.Forms.Button Friend WithEvents btnCari As System.Windows.Forms.Button Friend WithEvents txtJenis As System.Windows.Forms.ComboBox
Friend WithEvents txtSatuan As System.Windows.Forms.ComboBox <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.txtkd_obat = New System.Windows.Forms.TextBox Me.txtnm_obat = New System.Windows.Forms.TextBox Me.txtHarga = New System.Windows.Forms.TextBox Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader5 = New System.Windows.Forms.ColumnHeader Me.btnSave = New System.Windows.Forms.Button Me.btnEdit = New System.Windows.Forms.Button Me.btnDelete = New System.Windows.Forms.Button Me.btnExit = New System.Windows.Forms.Button Me.btnCari = New System.Windows.Forms.Button Me.txtCari = New System.Windows.Forms.TextBox Me.txtJenis = New System.Windows.Forms.ComboBox Me.txtSatuan = New System.Windows.Forms.ComboBox Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(184, 32)
Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(144, 32) Me.Label1.TabIndex = 0 Me.Label1.Text = "DATA OBAT" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(24, 72) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(96, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "Kode Obat" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(24, 112) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(96, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Nama Obat" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(24, 152) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(96, 24) Me.Label4.TabIndex = 3 Me.Label4.Text = "Jenis" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(24, 192) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(96, 24) Me.Label5.TabIndex = 4 Me.Label5.Text = "Satuan" ' 'Label6 '
Me.Label6.Location = New System.Drawing.Point(24, 232) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(96, 24) Me.Label6.TabIndex = 5 Me.Label6.Text = "Harga" ' 'txtkd_obat ' Me.txtkd_obat.Location = New System.Drawing.Point(144, 72) Me.txtkd_obat.Name = "txtkd_obat" Me.txtkd_obat.Size = New System.Drawing.Size(240, 20) Me.txtkd_obat.TabIndex = 6 Me.txtkd_obat.Text = "" ' 'txtnm_obat ' Me.txtnm_obat.Location = New System.Drawing.Point(144, 112) Me.txtnm_obat.Name = "txtnm_obat" Me.txtnm_obat.Size = New System.Drawing.Size(240, 20) Me.txtnm_obat.TabIndex = 7 Me.txtnm_obat.Text = "" ' 'txtHarga ' Me.txtHarga.Location = New System.Drawing.Point(144, 232) Me.txtHarga.Name = "txtHarga" Me.txtHarga.Size = New System.Drawing.Size(240, 20) Me.txtHarga.TabIndex = 10 Me.txtHarga.Text = "" ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5})
Me.ListView1.FullRowSelect = True Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(80, 312) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(344, 104) Me.ListView1.TabIndex = 11 Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "Kode Obat" Me.ColumnHeader1.Width = 74 ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Nama Obat" Me.ColumnHeader2.Width = 80 ' 'ColumnHeader3 ' Me.ColumnHeader3.Text = "Jenis" ' 'ColumnHeader4 ' Me.ColumnHeader4.Text = "Satuan" ' 'ColumnHeader5 ' Me.ColumnHeader5.Text = "Harga" ' 'btnSave ' Me.btnSave.Location = New System.Drawing.Point(72, 440) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(56, 24) Me.btnSave.TabIndex = 12 Me.btnSave.Text = "Tambah" ' 'btnEdit
' Me.btnEdit.Location = New System.Drawing.Point(152, 440) Me.btnEdit.Name = "btnEdit" Me.btnEdit.Size = New System.Drawing.Size(64, 24) Me.btnEdit.TabIndex = 13 Me.btnEdit.Text = "Ubah" ' 'btnDelete ' Me.btnDelete.Location = New System.Drawing.Point(240, 440) Me.btnDelete.Name = "btnDelete" Me.btnDelete.Size = New System.Drawing.Size(64, 24) Me.btnDelete.TabIndex = 14 Me.btnDelete.Text = "Hapus" ' 'btnExit ' Me.btnExit.Location = New System.Drawing.Point(336, 440) Me.btnExit.Name = "btnExit" Me.btnExit.Size = New System.Drawing.Size(64, 24) Me.btnExit.TabIndex = 15 Me.btnExit.Text = "Keluar" ' 'btnCari ' Me.btnCari.Location = New System.Drawing.Point(80, 264) Me.btnCari.Name = "btnCari" Me.btnCari.Size = New System.Drawing.Size(56, 24) Me.btnCari.TabIndex = 16 Me.btnCari.Text = "Cari" ' 'txtCari ' Me.txtCari.Location = New System.Drawing.Point(144, 264) Me.txtCari.Name = "txtCari" Me.txtCari.Size = New System.Drawing.Size(240, 20) Me.txtCari.TabIndex = 17 Me.txtCari.Text = ""
' 'txtJenis ' Me.txtJenis.Items.AddRange(New Object() {"Infusa", "Injeksi", "Kaplet (Kapsul Tablet)", "Kapsul", "Larutan", "Obat Tetes", "Pil", "Pulveres (Puyer)", "Pulvis (Serbuk)", "Salep", "Tablet"}) Me.txtJenis.Location = New System.Drawing.Point(144, 152) Me.txtJenis.Name = "txtJenis" Me.txtJenis.Size = New System.Drawing.Size(240, 21) Me.txtJenis.TabIndex = 18 ' 'txtSatuan ' Me.txtSatuan.Items.AddRange(New Object() {"Karton", "Pak", "Dus", "Hanger"}) Me.txtSatuan.Location = New System.Drawing.Point(144, 192) Me.txtSatuan.Name = "txtSatuan" Me.txtSatuan.Size = New System.Drawing.Size(240, 21) Me.txtSatuan.TabIndex = 19 ' 'FrmObat ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(504, 480) Me.Controls.Add(Me.txtSatuan) Me.Controls.Add(Me.txtJenis) Me.Controls.Add(Me.txtCari) Me.Controls.Add(Me.btnCari) Me.Controls.Add(Me.btnExit) Me.Controls.Add(Me.btnDelete) Me.Controls.Add(Me.btnEdit) Me.Controls.Add(Me.btnSave) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.txtHarga) Me.Controls.Add(Me.txtnm_obat) Me.Controls.Add(Me.txtkd_obat) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmObat" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Obat" Me.ResumeLayout(False) End Sub #End Region Private objObat As New AccessDataMaster.clsObat Private flag As String Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick End Sub Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Select Case btnSave.Text Case "&Tambah" objObat.AutoCodeObat(txtkd_obat) flag = "t" textEnabled(Me) btnNormalObat() txtnm_obat.Focus() btnSave.Text = "&Simpan" txtkd_obat.Enabled = False Case "&Simpan" If txtnm_obat.Text = "" Then MsgBox("Nama Obat harus di isi!", MsgBoxStyle.Information, "pesan") : txtnm_obat.Focus() ElseIf txtJenis.Text = "" Then MsgBox("Jenis Obat harus di isi!", MsgBoxStyle.Information, "pesan") : txtJenis.Focus() ElseIf txtSatuan.Text = "" Then MsgBox("Satuan harus di isi!", MsgBoxStyle.Information, "pesan") : txtSatuan.Focus() ElseIf txtHarga.Text = "" Then
MsgBox("Harga harus di isi!", MsgBoxStyle.Information, "pesan") : txtHarga.Focus() Else objObat.atKdObat = txtkd_obat.Text objObat.atNmObat = txtnm_obat.Text objObat.atJenis = txtJenis.Text objObat.atSatuan = txtSatuan.Text objObat.atHarga = txtHarga.Text objObat.SimpanDataObat() objObat.IsiTabelObat(ListView1) bersih(Me) textDisabled(Me) btnAwalObat() End If End Select End Sub Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click btnNormalObat() flag = "e" textEnabled(Me) txtkd_obat.Focus() End Sub Private Sub btnAwalObat() btnSave.Text = "&Tambah" btnEdit.Enabled = True btnDelete.Enabled = True btnExit.Text = "&Keluar" End Sub Private Sub btnNormalObat() btnSave.Text = "&Simpan" btnEdit.Enabled = False btnDelete.Enabled = False btnExit.Text = "&Batal" End Sub Private Sub txtkd_obat_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtkd_obat.TextChanged End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click If ListView1.SelectedItems.Count = 1 Then objObat.atKdObat = ListView1.FocusedItem.SubItems(0).Text() If MsgBox("Apakah Anda Yakin Menghapus Kode Obat " & ListView1.FocusedItem.SubItems(0).Text() & ", Nama Obat " & ListView1.FocusedItem.SubItems(1).Text() & " ? ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Hapus") = MsgBoxResult.Yes Then objObat.DeleteDataObat() objObat.IsiTabelObat(ListView1) End If End If End Sub Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Select Case btnExit.Text Case "&Keluar" Me.Dispose() Case "&Batal" bersih(Me) textDisabled(Me) btnAwalObat() flag = "" End Select End Sub Private Sub txtHarga_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtHarga.KeyPress Angka(e) End Sub Private Sub txtkd_obat_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtkd_obat.KeyPress If Asc(e.KeyChar) = 13 Then e.Handled = False objObat.atKdObat = Me.txtkd_obat.Text
objObat.TampilDataObat() txtnm_obat.Text = objObat.atNmObat txtJenis.Text = objObat.atJenis txtSatuan.Text = objObat.atSatuan txtHarga.Text = objObat.atHarga End If End Sub Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged If flag = "e" Then With ListView1.FocusedItem txtkd_obat.Text = .SubItems(0).Text() txtnm_obat.Text = .SubItems(1).Text() txtJenis.Text = .SubItems(2).Text() txtSatuan.Text = .SubItems(3).Text txtHarga.Text = .SubItems(4).Text() End With End If End Sub Private Sub txtCari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCari.TextChanged objObat.strCariObat(txtCari, ListView1) End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click txtCari.Enabled = True txtCari.Focus() End Sub Private Sub FrmObat_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load textDisabled(Me) btnAwalObat() objObat.IsiTabelObat(ListView1)
flag = "" End Sub Private Sub txtHarga_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHarga.TextChanged End Sub Private Sub txtJenis_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtJenis.SelectedIndexChanged End Sub End Class Update Data Batch Public Class FrmBatch Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If
End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents Label7 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents txtstock As System.Windows.Forms.TextBox Friend WithEvents txtED As System.Windows.Forms.DateTimePicker Friend WithEvents cmbkd_obat As System.Windows.Forms.ComboBox Friend WithEvents btnDelete As System.Windows.Forms.Button
Friend WithEvents btnEdit As System.Windows.Forms.Button Friend WithEvents btnSave As System.Windows.Forms.Button Friend WithEvents txtnm_obat As System.Windows.Forms.TextBox Friend WithEvents txtsatuan As System.Windows.Forms.TextBox Friend WithEvents btnExit As System.Windows.Forms.Button Friend WithEvents txtno_batch As System.Windows.Forms.TextBox Friend WithEvents txtCari As System.Windows.Forms.TextBox Friend WithEvents btnCari As System.Windows.Forms.Button <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.Label7 = New System.Windows.Forms.Label Me.txtnm_obat = New System.Windows.Forms.TextBox Me.txtsatuan = New System.Windows.Forms.TextBox Me.txtstock = New System.Windows.Forms.TextBox Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.btnExit = New System.Windows.Forms.Button Me.btnDelete = New System.Windows.Forms.Button Me.btnEdit = New System.Windows.Forms.Button Me.btnSave = New System.Windows.Forms.Button Me.cmbkd_obat = New System.Windows.Forms.ComboBox Me.txtED = New System.Windows.Forms.DateTimePicker
Me.txtno_batch = New System.Windows.Forms.TextBox Me.txtCari = New System.Windows.Forms.TextBox Me.btnCari = New System.Windows.Forms.Button Me.SuspendLayout() ' 'Label1 ' Me.Label1.BackColor = System.Drawing.Color.Transparent Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(168, 24) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(152, 32) Me.Label1.TabIndex = 0 Me.Label1.Text = "DATA BATCH" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(16, 72) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(112, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "Kode Obat" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(16, 112) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(112, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Nama Obat" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(16, 152)
Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(112, 24) Me.Label4.TabIndex = 3 Me.Label4.Text = "Satuan Obat" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(16, 200) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(112, 24) Me.Label5.TabIndex = 4 Me.Label5.Text = "No.Batch" ' 'Label6 ' Me.Label6.Location = New System.Drawing.Point(16, 240) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(112, 24) Me.Label6.TabIndex = 5 Me.Label6.Text = "Stock" ' 'Label7 ' Me.Label7.Location = New System.Drawing.Point(16, 280) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(112, 24) Me.Label7.TabIndex = 6 Me.Label7.Text = "Expired Date" ' 'txtnm_obat ' Me.txtnm_obat.Location = New System.Drawing.Point(160, 112) Me.txtnm_obat.Name = "txtnm_obat" Me.txtnm_obat.Size = New System.Drawing.Size(200, 20) Me.txtnm_obat.TabIndex = 8 Me.txtnm_obat.Text = "" ' 'txtsatuan
' Me.txtsatuan.Location = New System.Drawing.Point(160, 144) Me.txtsatuan.Name = "txtsatuan" Me.txtsatuan.Size = New System.Drawing.Size(200, 20) Me.txtsatuan.TabIndex = 9 Me.txtsatuan.Text = "" ' 'txtstock ' Me.txtstock.Location = New System.Drawing.Point(160, 240) Me.txtstock.Name = "txtstock" Me.txtstock.Size = New System.Drawing.Size(200, 20) Me.txtstock.TabIndex = 11 Me.txtstock.Text = "" ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3}) Me.ListView1.FullRowSelect = True Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(152, 336) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(232, 104) Me.ListView1.TabIndex = 13 Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "No.Batch" Me.ColumnHeader1.Width = 81 ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Stock" '
'ColumnHeader3 ' Me.ColumnHeader3.Text = "Expired Date" Me.ColumnHeader3.Width = 80 ' 'btnExit ' Me.btnExit.Location = New System.Drawing.Point(344, 456) Me.btnExit.Name = "btnExit" Me.btnExit.Size = New System.Drawing.Size(56, 24) Me.btnExit.TabIndex = 19 Me.btnExit.Text = "Keluar" ' 'btnDelete ' Me.btnDelete.Location = New System.Drawing.Point(248, 456) Me.btnDelete.Name = "btnDelete" Me.btnDelete.Size = New System.Drawing.Size(64, 24) Me.btnDelete.TabIndex = 18 Me.btnDelete.Text = "Hapus" ' 'btnEdit ' Me.btnEdit.Location = New System.Drawing.Point(160, 456) Me.btnEdit.Name = "btnEdit" Me.btnEdit.Size = New System.Drawing.Size(56, 23) Me.btnEdit.TabIndex = 17 Me.btnEdit.Text = "Ubah" ' 'btnSave ' Me.btnSave.Location = New System.Drawing.Point(80, 456) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(56, 24) Me.btnSave.TabIndex = 16 Me.btnSave.Text = "Tambah" ' 'cmbkd_obat '
Me.cmbkd_obat.Location = New System.Drawing.Point(160, 72) Me.cmbkd_obat.Name = "cmbkd_obat" Me.cmbkd_obat.Size = New System.Drawing.Size(200, 21) Me.cmbkd_obat.TabIndex = 20 ' 'txtED ' Me.txtED.Location = New System.Drawing.Point(160, 280) Me.txtED.Name = "txtED" Me.txtED.Size = New System.Drawing.Size(128, 20) Me.txtED.TabIndex = 21 ' 'txtno_batch ' Me.txtno_batch.Location = New System.Drawing.Point(160, 192) Me.txtno_batch.Name = "txtno_batch" Me.txtno_batch.Size = New System.Drawing.Size(200, 20) Me.txtno_batch.TabIndex = 22 Me.txtno_batch.Text = "" ' 'txtCari ' Me.txtCari.Location = New System.Drawing.Point(152, 312) Me.txtCari.Name = "txtCari" Me.txtCari.Size = New System.Drawing.Size(240, 20) Me.txtCari.TabIndex = 24 Me.txtCari.Text = "" ' 'btnCari ' Me.btnCari.Location = New System.Drawing.Point(24, 312) Me.btnCari.Name = "btnCari" Me.btnCari.Size = New System.Drawing.Size(56, 24) Me.btnCari.TabIndex = 23 Me.btnCari.Text = "Cari" '
'FrmBatch ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(464, 502) Me.Controls.Add(Me.txtCari) Me.Controls.Add(Me.btnCari) Me.Controls.Add(Me.txtno_batch) Me.Controls.Add(Me.txtED) Me.Controls.Add(Me.cmbkd_obat) Me.Controls.Add(Me.btnExit) Me.Controls.Add(Me.btnDelete) Me.Controls.Add(Me.btnEdit) Me.Controls.Add(Me.btnSave) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.txtstock) Me.Controls.Add(Me.txtsatuan) Me.Controls.Add(Me.txtnm_obat) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmBatch" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Batch" Me.ResumeLayout(False) End Sub #End Region Private objBatch As New AccessDataMaster.clsBatch Private objObat As New AccessDataMaster.clsObat Private Sub FrmBatch_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load objBatch.getkdObat(cmbkd_obat) textDisabled(Me) btnAwalBatch() 'objBatch.IsiTabelBatch(ListView1)
flag = "" End Sub Private Sub cmbkd_obat_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbkd_obat.SelectedIndexChanged objObat.atKdObat = Me.cmbkd_obat.Text objObat.TampilDataObat() txtnm_obat.Text = objObat.atNmObat txtsatuan.Text = objObat.atSatuan objBatch.atKdObat = Me.cmbkd_obat.Text objBatch.IsiTabelBatch(ListView1) objObat.atKdObat = cmbkd_obat.Text End Sub Private Sub btnAwalBatch() btnSave.Text = "&Tambah" btnEdit.Enabled = True btnDelete.Enabled = False btnExit.Text = "&Keluar" End Sub Private Sub btnNormalBatch() btnSave.Text = "&Simpan" btnEdit.Enabled = False btnDelete.Enabled = True btnExit.Text = "&Batal" End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Select Case btnSave.Text Case "&Tambah" flag = "t" textEnabled(Me) btnNormalBatch() txtnm_obat.Focus() btnSave.Text = "&Simpan" Case "&Simpan" If cmbkd_obat.Text = "" Then MsgBox("Kode Obat di isi!", MsgBoxStyle.Information, "pesan") : cmbkd_obat.Focus() ElseIf txtNo_Batch.Text = "" Then
MsgBox("No Batch harus di isi!", MsgBoxStyle.Information, "pesan") : txtNo_Batch.Focus() ElseIf txtstock.Text = "" Then MsgBox("Stock Obat harus di isi!", MsgBoxStyle.Information, "pesan") : txtstock.Focus() 'ElseIf txtED.Value = "" Then ' MsgBox("Expired Date harus di isi!", MsgBoxStyle.Information, "pesan") : txtED.Focus() Else 'Obat objObat.atKdObat = cmbkd_obat.Text objObat.atNmObat = txtnm_obat.Text objObat.atSatuan = txtSatuan.Text 'Batch objBatch.atNobatch = txtNo_Batch.Text objBatch.atStock = txtstock.Text objBatch.atED = txtED.Value objBatch.SimpanDataBatch(cmbkd_obat) objBatch.IsiTabelBatch(ListView1) bersih(Me) textDisabled(Me) btnAwalBatch() flag = "" ListView1.Items.Clear() End If End Select End Sub Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click btnNormalBatch() flag = "e" textEnabled(Me) txtno_batch.Focus() End Sub Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged If flag = "e" Then With ListView1.FocusedItem txtno_batch.Text = .SubItems(0).Text()
txtstock.Text = .SubItems(1).Text() txtED.Text = .SubItems(2).Text() End With End If End Sub Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click If ListView1.SelectedItems.Count = 1 Then objBatch.atNobatch = ListView1.FocusedItem.SubItems(0).Text() If MsgBox("Apakah Anda Yakin Menghapus No Batch : " & ListView1.FocusedItem.SubItems(0).Text() & ", Kode Obat : " & cmbkd_obat.Text & " ? ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Hapus") = MsgBoxResult.Yes Then objBatch.DeleteDataBatch() objBatch.IsiTabelBatch(ListView1) bersih(Me) textDisabled(Me) txtCari.Enabled = True btnAwalBatch() flag = "" End If End If End Sub Private Sub txtCari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCari.TextChanged objBatch.strCariBatch(txtCari, ListView1) End Sub Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Select Case btnExit.Text Case "&Keluar" Me.Dispose() Case "&Batal" bersih(Me) textDisabled(Me)
txtCari.Enabled = True btnAwalBatch() flag = "" ListView1.Items.Clear() End Select End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click txtCari.Enabled = True txtCari.Focus() End Sub Private Sub txtstock_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtstock.TextChanged End Sub Private Sub txtstock_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtstock.KeyPress Angka(e) End Sub End Class Update Data Supir Public Class FrmSupir Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub
'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents txtCari As System.Windows.Forms.TextBox Friend WithEvents btnCari As System.Windows.Forms.Button
Friend WithEvents btnExit As System.Windows.Forms.Button Friend WithEvents btnDelete As System.Windows.Forms.Button Friend WithEvents btnEdit As System.Windows.Forms.Button Friend WithEvents btnSave As System.Windows.Forms.Button Friend WithEvents txtKd_Supir As System.Windows.Forms.TextBox Friend WithEvents txtNm_Supir As System.Windows.Forms.TextBox Friend WithEvents txtAlamat As System.Windows.Forms.TextBox Friend WithEvents txtTelp As System.Windows.Forms.TextBox <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.txtKd_Supir = New System.Windows.Forms.TextBox Me.txtNm_Supir = New System.Windows.Forms.TextBox Me.txtAlamat = New System.Windows.Forms.TextBox Me.txtTelp = New System.Windows.Forms.TextBox Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader Me.txtCari = New System.Windows.Forms.TextBox Me.btnCari = New System.Windows.Forms.Button Me.btnExit = New System.Windows.Forms.Button Me.btnDelete = New System.Windows.Forms.Button Me.btnEdit = New System.Windows.Forms.Button
Me.btnSave = New System.Windows.Forms.Button Me.SuspendLayout() ' 'Label1 ' Me.Label1.BackColor = System.Drawing.Color.Transparent Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(168, 24) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(144, 24) Me.Label1.TabIndex = 0 Me.Label1.Text = "DATA SUPIR" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(16, 96) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(104, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "Kode Supir" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(16, 136) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(104, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Nama Supir" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(16, 176) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(104, 24) Me.Label4.TabIndex = 3
Me.Label4.Text = "Alamat" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(16, 216) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(104, 24) Me.Label5.TabIndex = 4 Me.Label5.Text = "Telepon" ' 'txtKd_Supir ' Me.txtKd_Supir.Location = New System.Drawing.Point(144, 96) Me.txtKd_Supir.Name = "txtKd_Supir" Me.txtKd_Supir.Size = New System.Drawing.Size(200, 20) Me.txtKd_Supir.TabIndex = 5 Me.txtKd_Supir.Text = "" ' 'txtNm_Supir ' Me.txtNm_Supir.Location = New System.Drawing.Point(144, 136) Me.txtNm_Supir.Name = "txtNm_Supir" Me.txtNm_Supir.Size = New System.Drawing.Size(200, 20) Me.txtNm_Supir.TabIndex = 6 Me.txtNm_Supir.Text = "" ' 'txtAlamat ' Me.txtAlamat.Location = New System.Drawing.Point(144, 176) Me.txtAlamat.Name = "txtAlamat" Me.txtAlamat.Size = New System.Drawing.Size(200, 20) Me.txtAlamat.TabIndex = 7 Me.txtAlamat.Text = "" ' 'txtTelp '
Me.txtTelp.Location = New System.Drawing.Point(144, 216) Me.txtTelp.Name = "txtTelp" Me.txtTelp.Size = New System.Drawing.Size(200, 20) Me.txtTelp.TabIndex = 8 Me.txtTelp.Text = "" ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4}) Me.ListView1.FullRowSelect = True Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(56, 288) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(360, 112) Me.ListView1.TabIndex = 9 Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "Kode Supir" Me.ColumnHeader1.Width = 79 ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Nama Supir" Me.ColumnHeader2.Width = 93 ' 'ColumnHeader3 ' Me.ColumnHeader3.Text = "Alamat" Me.ColumnHeader3.Width = 112 ' 'ColumnHeader4 ' Me.ColumnHeader4.Text = "Telepon" Me.ColumnHeader4.Width = 71
' 'txtCari ' Me.txtCari.Location = New System.Drawing.Point(140, 256) Me.txtCari.Name = "txtCari" Me.txtCari.Size = New System.Drawing.Size(240, 20) Me.txtCari.TabIndex = 25 Me.txtCari.Text = "" ' 'btnCari ' Me.btnCari.Location = New System.Drawing.Point(76, 256) Me.btnCari.Name = "btnCari" Me.btnCari.Size = New System.Drawing.Size(56, 24) Me.btnCari.TabIndex = 24 Me.btnCari.Text = "Cari" ' 'btnExit ' Me.btnExit.Location = New System.Drawing.Point(328, 424) Me.btnExit.Name = "btnExit" Me.btnExit.Size = New System.Drawing.Size(64, 24) Me.btnExit.TabIndex = 29 Me.btnExit.Text = "Keluar" ' 'btnDelete ' Me.btnDelete.Location = New System.Drawing.Point(232, 424) Me.btnDelete.Name = "btnDelete" Me.btnDelete.Size = New System.Drawing.Size(64, 24) Me.btnDelete.TabIndex = 28 Me.btnDelete.Text = "Hapus" ' 'btnEdit ' Me.btnEdit.Location = New System.Drawing.Point(144, 424) Me.btnEdit.Name = "btnEdit" Me.btnEdit.Size = New System.Drawing.Size(64, 24)
Me.btnEdit.TabIndex = 27 Me.btnEdit.Text = "Ubah" ' 'btnSave ' Me.btnSave.Location = New System.Drawing.Point(64, 424) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(56, 24) Me.btnSave.TabIndex = 26 Me.btnSave.Text = "Tambah" ' 'FrmSupir ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(456, 486) Me.Controls.Add(Me.btnExit) Me.Controls.Add(Me.btnDelete) Me.Controls.Add(Me.btnEdit) Me.Controls.Add(Me.btnSave) Me.Controls.Add(Me.txtCari) Me.Controls.Add(Me.btnCari) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.txtTelp) Me.Controls.Add(Me.txtAlamat) Me.Controls.Add(Me.txtNm_Supir) Me.Controls.Add(Me.txtKd_Supir) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmSupir" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Supir" Me.ResumeLayout(False) End Sub #End Region Private objsupir As New AccessDataMaster.clsSupir
Private Sub FrmSupir_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load textDisabled(Me) btnAwalSupir() objsupir.IsiTabelSupir(ListView1) flag = "" End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Select Case btnSave.Text Case "&Tambah" objsupir.AutoCodeSupir(txtKd_Supir) flag = "t" textEnabled(Me) btnNormalSupir() txtNm_Supir.Focus() btnSave.Text = "&Simpan" txtKd_Supir.Enabled = False Case "&Simpan" If txtNm_Supir.Text = "" Then MsgBox("Nama Supir harus di isi!", MsgBoxStyle.Information, "pesan") : txtNm_Supir.Focus() ElseIf txtAlamat.Text = "" Then MsgBox("Alamat Supir harus di isi!", MsgBoxStyle.Information, "pesan") : txtAlamat.Focus() ElseIf txtTelp.Text = "" Then MsgBox("Nomor Telepon harus di isi!", MsgBoxStyle.Information, "pesan") : txtTelp.Focus() Else objsupir.atKdSupir = txtKd_Supir.Text objsupir.atNmSupir = txtNm_Supir.Text objsupir.atAlamat = txtAlamat.Text objsupir.atTelp = txtTelp.Text objsupir.SimpanDataSupir() objsupir.IsiTabelSupir(ListView1) bersih(Me) textDisabled(Me) btnAwalSupir() End If End Select
End Sub Private Sub txtKd_Supir_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKd_Supir.KeyPress If Asc(e.KeyChar) = 13 Then e.Handled = False objsupir.atKdSupir = Me.txtKd_Supir.Text objsupir.TampilDataSupir() txtNm_Supir.Text = objsupir.atNmSupir txtAlamat.Text = objsupir.atAlamat txtTelp.Text = objsupir.atTelp End If End Sub Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Select Case btnExit.Text Case "&Keluar" Me.Dispose() Case "&Batal" bersih(Me) textDisabled(Me) btnAwalSupir() flag = "" End Select End Sub Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click If ListView1.SelectedItems.Count = 1 Then objsupir.atKdSupir = ListView1.FocusedItem.SubItems(0).Text() If MsgBox("Apakah Anda Yakin Menghapus Kode Supir " & ListView1.FocusedItem.SubItems(0).Text() & ", Nama Supir " & ListView1.FocusedItem.SubItems(1).Text() & " ? ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Hapus") = MsgBoxResult.Yes Then objsupir.DeleteDataSupir() objsupir.IsiTabelSupir(ListView1)
End If End If End Sub Private Sub btnAwalSupir() btnSave.Text = "&Tambah" btnEdit.Enabled = True btnDelete.Enabled = True btnExit.Text = "&Keluar" End Sub Private Sub btnNormalSupir() btnSave.Text = "&Simpan" btnEdit.Enabled = False btnDelete.Enabled = False btnExit.Text = "&Batal" End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click txtCari.Enabled = True txtCari.Focus() End Sub Private Sub txtCari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCari.TextChanged objsupir.strCariSupir(txtCari, ListView1) End Sub Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click btnNormalSupir() flag = "e" textEnabled(Me) txtKd_Supir.Focus() End Sub Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged If flag = "e" Then With ListView1.FocusedItem
txtKd_Supir.Text = .SubItems(0).Text() txtNm_Supir.Text = .SubItems(1).Text() txtAlamat.Text = .SubItems(2).Text() txtTelp.Text = .SubItems(3).Text End With End If End Sub Private Sub txtTelp_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelp.TextChanged End Sub Private Sub txtTelp_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelp.KeyPress Angka(e) End Sub End Class Update Data Kendaraan Public Class FrmKendaraan Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents txtCari As System.Windows.Forms.TextBox Friend WithEvents btnCari As System.Windows.Forms.Button Friend WithEvents btnExit As System.Windows.Forms.Button Friend WithEvents btnDelete As System.Windows.Forms.Button Friend WithEvents btnEdit As System.Windows.Forms.Button Friend WithEvents btnSave As System.Windows.Forms.Button
Friend WithEvents txtNo_Pol As System.Windows.Forms.TextBox Friend WithEvents txtNm_Kendaraan As System.Windows.Forms.ComboBox <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.txtNo_Pol = New System.Windows.Forms.TextBox Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.txtCari = New System.Windows.Forms.TextBox Me.btnCari = New System.Windows.Forms.Button Me.btnExit = New System.Windows.Forms.Button Me.btnDelete = New System.Windows.Forms.Button Me.btnEdit = New System.Windows.Forms.Button Me.btnSave = New System.Windows.Forms.Button Me.txtNm_Kendaraan = New System.Windows.Forms.ComboBox Me.SuspendLayout() ' 'Label1 ' Me.Label1.BackColor = System.Drawing.Color.Transparent Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(128, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(224, 32) Me.Label1.TabIndex = 0 Me.Label1.Text = "DATA KENDARAAN" ' 'Label2 '
Me.Label2.Location = New System.Drawing.Point(16, 64) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(112, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "No.Polisi" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(16, 104) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(112, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Jenis Kendaraan" ' 'txtNo_Pol ' Me.txtNo_Pol.Location = New System.Drawing.Point(152, 64) Me.txtNo_Pol.Name = "txtNo_Pol" Me.txtNo_Pol.Size = New System.Drawing.Size(176, 20) Me.txtNo_Pol.TabIndex = 3 Me.txtNo_Pol.Text = "" ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2}) Me.ListView1.FullRowSelect = True Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(104, 192) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(256, 96) Me.ListView1.TabIndex = 5 Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1
' Me.ColumnHeader1.Text = "No.Polisi" Me.ColumnHeader1.Width = 84 ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Jenis Kendaraan" Me.ColumnHeader2.Width = 165 ' 'txtCari ' Me.txtCari.Location = New System.Drawing.Point(152, 160) Me.txtCari.Name = "txtCari" Me.txtCari.Size = New System.Drawing.Size(176, 20) Me.txtCari.TabIndex = 29 Me.txtCari.Text = "" ' 'btnCari ' Me.btnCari.Location = New System.Drawing.Point(64, 160) Me.btnCari.Name = "btnCari" Me.btnCari.Size = New System.Drawing.Size(56, 24) Me.btnCari.TabIndex = 28 Me.btnCari.Text = "Cari" ' 'btnExit ' Me.btnExit.Location = New System.Drawing.Point(320, 304) Me.btnExit.Name = "btnExit" Me.btnExit.Size = New System.Drawing.Size(64, 24) Me.btnExit.TabIndex = 33 Me.btnExit.Text = "Keluar" ' 'btnDelete ' Me.btnDelete.Location = New System.Drawing.Point(224, 304) Me.btnDelete.Name = "btnDelete" Me.btnDelete.Size = New System.Drawing.Size(64, 24) Me.btnDelete.TabIndex = 32
Me.btnDelete.Text = "Hapus" ' 'btnEdit ' Me.btnEdit.Location = New System.Drawing.Point(136, 304) Me.btnEdit.Name = "btnEdit" Me.btnEdit.Size = New System.Drawing.Size(64, 24) Me.btnEdit.TabIndex = 31 Me.btnEdit.Text = "Ubah" ' 'btnSave ' Me.btnSave.Location = New System.Drawing.Point(56, 304) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(56, 24) Me.btnSave.TabIndex = 30 Me.btnSave.Text = "Tambah" ' 'txtNm_Kendaraan ' Me.txtNm_Kendaraan.Items.AddRange(New Object() {"Mobil", "Motor"}) Me.txtNm_Kendaraan.Location = New System.Drawing.Point(152, 104) Me.txtNm_Kendaraan.Name = "txtNm_Kendaraan" Me.txtNm_Kendaraan.Size = New System.Drawing.Size(176, 21) Me.txtNm_Kendaraan.TabIndex = 34 ' 'FrmKendaraan ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.BackColor = System.Drawing.SystemColors.Control Me.ClientSize = New System.Drawing.Size(456, 352) Me.Controls.Add(Me.txtNm_Kendaraan) Me.Controls.Add(Me.btnExit) Me.Controls.Add(Me.btnDelete) Me.Controls.Add(Me.btnEdit) Me.Controls.Add(Me.btnSave) Me.Controls.Add(Me.txtCari)
Me.Controls.Add(Me.btnCari) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.txtNo_Pol) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmKendaraan" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Kendaraan" Me.ResumeLayout(False) End Sub #End Region Private objKendaraan As New AccessDataMaster.clsKendaraan Private flag As String Private Sub FrmKendaraan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load textDisabled(Me) btnAwalKendaraan() objKendaraan.IsiTabelKendaraan(ListView1) flag = "" End Sub Private Sub txtNo_Pol_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNo_Pol.TextChanged End Sub Private Sub txtNo_Pol_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNo_Pol.KeyPress If Asc(e.KeyChar) = 13 Then e.Handled = False objKendaraan.atNoPol = Me.txtNo_Pol.Text objKendaraan.TampilDataKendaraan() txtNm_Kendaraan.Text = objKendaraan.atNmKendaraan
End If End Sub Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Select Case btnExit.Text Case "&Keluar" Me.Dispose() Case "&Batal" bersih(Me) textDisabled(Me) btnAwalKendaraan() flag = "" End Select End Sub Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click If ListView1.SelectedItems.Count = 1 Then objKendaraan.atNoPol = ListView1.FocusedItem.SubItems(0).Text() If MsgBox("Apakah Anda Yakin Menghapus Kode Kendaraan " & ListView1.FocusedItem.SubItems(0).Text() & ", Nama Kendaraan " & ListView1.FocusedItem.SubItems(1).Text() & " ? ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Hapus") = MsgBoxResult.Yes Then objKendaraan.DeleteDataKendaraan() objKendaraan.IsiTabelKendaraan(ListView1) End If End If End Sub Private Sub btnAwalKendaraan() btnSave.Text = "&Tambah" btnEdit.Enabled = True btnDelete.Enabled = True btnExit.Text = "&Keluar" End Sub Private Sub btnNormalKendaraan() btnSave.Text = "&Simpan" btnEdit.Enabled = False
btnDelete.Enabled = False btnExit.Text = "&Batal" End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click txtCari.Enabled = True txtCari.Focus() End Sub Private Sub txtCari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCari.TextChanged objKendaraan.strCariKendaraan(txtCari, ListView1) End Sub Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click btnNormalKendaraan() flag = "e" textEnabled(Me) txtNo_Pol.Focus() End Sub Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged If flag = "e" Then With ListView1.FocusedItem txtNo_Pol.Text = .SubItems(0).Text() txtNm_Kendaraan.Text = .SubItems(1).Text() End With End If End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Select Case btnSave.Text Case "&Tambah" flag = "t"
textEnabled(Me) btnNormalKendaraan() txtNo_Pol.Focus() btnSave.Text = "&Simpan" 'txtNo_Pol.Enabled = False Case "&Simpan" If txtNo_Pol.Text = "" Then MsgBox("Nama Kendaraan harus di isi!", MsgBoxStyle.Information, "pesan") : txtNo_Pol.Focus() Else objKendaraan.atNoPol = txtNo_Pol.Text objKendaraan.atNmKendaraan = txtNm_Kendaraan.Text objKendaraan.SimpanDataKendaraan() objKendaraan.IsiTabelKendaraan(ListView1) bersih(Me) textDisabled(Me) btnAwalKendaraan() End If End Select End Sub Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click End Sub End Class Entry Surat Pesanan Public Class FrmSP Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent()
'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents Label7 As System.Windows.Forms.Label Friend WithEvents Label8 As System.Windows.Forms.Label Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents Label10 As System.Windows.Forms.Label Friend WithEvents Label11 As System.Windows.Forms.Label Friend WithEvents Label12 As System.Windows.Forms.Label Friend WithEvents Label13 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader5 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader6 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader7 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader8 As System.Windows.Forms.ColumnHeader Friend WithEvents txtNo_Sp As System.Windows.Forms.TextBox Friend WithEvents txtNm_Pelanggan As System.Windows.Forms.TextBox Friend WithEvents txtKd_Obat As System.Windows.Forms.TextBox Friend WithEvents txtNm_Obat As System.Windows.Forms.TextBox Friend WithEvents txtJenis As System.Windows.Forms.TextBox Friend WithEvents txtTgl_Sp As System.Windows.Forms.TextBox Friend WithEvents txtJml_Psn As System.Windows.Forms.TextBox Friend WithEvents txtSatuan As System.Windows.Forms.TextBox
Friend WithEvents txtHarga As System.Windows.Forms.TextBox Friend WithEvents cmbKd_Pelanggan As System.Windows.Forms.ComboBox Friend WithEvents btnSimpan As System.Windows.Forms.Button Friend WithEvents btnCetak As System.Windows.Forms.Button Friend WithEvents btnBaru As System.Windows.Forms.Button Friend WithEvents btnBatal As System.Windows.Forms.Button Friend WithEvents btnKeluar As System.Windows.Forms.Button Friend WithEvents txtStock As System.Windows.Forms.Label Friend WithEvents cmbNo_Batch As System.Windows.Forms.ComboBox Friend WithEvents txtTotal As System.Windows.Forms.TextBox Friend WithEvents btnTambah As System.Windows.Forms.Button Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Label14 As System.Windows.Forms.Label <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(FrmSP)) Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.Label7 = New System.Windows.Forms.Label Me.Label8 = New System.Windows.Forms.Label Me.Label9 = New System.Windows.Forms.Label Me.Label10 = New System.Windows.Forms.Label Me.Label11 = New System.Windows.Forms.Label Me.Label12 = New System.Windows.Forms.Label
Me.Label13 = New System.Windows.Forms.Label Me.txtNo_Sp = New System.Windows.Forms.TextBox Me.txtNm_Pelanggan = New System.Windows.Forms.TextBox Me.txtKd_Obat = New System.Windows.Forms.TextBox Me.txtNm_Obat = New System.Windows.Forms.TextBox Me.txtJenis = New System.Windows.Forms.TextBox Me.txtTgl_Sp = New System.Windows.Forms.TextBox Me.txtJml_Psn = New System.Windows.Forms.TextBox Me.txtSatuan = New System.Windows.Forms.TextBox Me.txtHarga = New System.Windows.Forms.TextBox Me.txtTotal = New System.Windows.Forms.TextBox Me.cmbKd_Pelanggan = New System.Windows.Forms.ComboBox Me.cmbNo_Batch = New System.Windows.Forms.ComboBox Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader5 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader6 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader7 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader8 = New System.Windows.Forms.ColumnHeader Me.btnSimpan = New System.Windows.Forms.Button Me.btnCetak = New System.Windows.Forms.Button Me.btnBaru = New System.Windows.Forms.Button Me.btnBatal = New System.Windows.Forms.Button Me.btnKeluar = New System.Windows.Forms.Button Me.txtStock = New System.Windows.Forms.Label Me.btnTambah = New System.Windows.Forms.Button Me.Button1 = New System.Windows.Forms.Button
Me.Label14 = New System.Windows.Forms.Label Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(200, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(272, 32) Me.Label1.TabIndex = 0 Me.Label1.Text = "FORM SURAT PESANAN" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(24, 72) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(120, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "No.SP" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(24, 112) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(120, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Kode Pelanggan" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(24, 152) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(120, 24) Me.Label4.TabIndex = 3 Me.Label4.Text = "Nama Pelanggan" '
'Label5 ' Me.Label5.Location = New System.Drawing.Point(24, 192) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(120, 24) Me.Label5.TabIndex = 4 Me.Label5.Text = "No.Batch" ' 'Label6 ' Me.Label6.Location = New System.Drawing.Point(24, 232) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(120, 24) Me.Label6.TabIndex = 5 Me.Label6.Text = "Kode Obat" ' 'Label7 ' Me.Label7.Location = New System.Drawing.Point(24, 272) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(120, 24) Me.Label7.TabIndex = 6 Me.Label7.Text = "Nama Obat" ' 'Label8 ' Me.Label8.Location = New System.Drawing.Point(24, 312) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(120, 24) Me.Label8.TabIndex = 7 Me.Label8.Text = "Jenis" ' 'Label9 ' Me.Label9.Location = New System.Drawing.Point(344, 72) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(72, 24) Me.Label9.TabIndex = 8
Me.Label9.Text = "Tanggal SP" ' 'Label10 ' Me.Label10.Location = New System.Drawing.Point(344, 160) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(80, 24) Me.Label10.TabIndex = 9 Me.Label10.Text = "Jumlah Pesan" ' 'Label11 ' Me.Label11.Location = New System.Drawing.Point(344, 200) Me.Label11.Name = "Label11" Me.Label11.Size = New System.Drawing.Size(72, 24) Me.Label11.TabIndex = 10 Me.Label11.Text = "Satuan" ' 'Label12 ' Me.Label12.Location = New System.Drawing.Point(344, 240) Me.Label12.Name = "Label12" Me.Label12.Size = New System.Drawing.Size(72, 24) Me.Label12.TabIndex = 11 Me.Label12.Text = "Harga Obat" ' 'Label13 ' Me.Label13.Location = New System.Drawing.Point(344, 280) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(80, 24) Me.Label13.TabIndex = 12 Me.Label13.Text = "Jumlah Total" ' 'txtNo_Sp ' Me.txtNo_Sp.Location = New System.Drawing.Point(160, 72) Me.txtNo_Sp.Name = "txtNo_Sp"
Me.txtNo_Sp.Size = New System.Drawing.Size(128, 20) Me.txtNo_Sp.TabIndex = 13 Me.txtNo_Sp.Text = "" ' 'txtNm_Pelanggan ' Me.txtNm_Pelanggan.Location = New System.Drawing.Point(160, 152) Me.txtNm_Pelanggan.Name = "txtNm_Pelanggan" Me.txtNm_Pelanggan.Size = New System.Drawing.Size(128, 20) Me.txtNm_Pelanggan.TabIndex = 15 Me.txtNm_Pelanggan.Text = "" ' 'txtKd_Obat ' Me.txtKd_Obat.Location = New System.Drawing.Point(160, 232) Me.txtKd_Obat.Name = "txtKd_Obat" Me.txtKd_Obat.Size = New System.Drawing.Size(128, 20) Me.txtKd_Obat.TabIndex = 17 Me.txtKd_Obat.Text = "" ' 'txtNm_Obat ' Me.txtNm_Obat.Location = New System.Drawing.Point(160, 272) Me.txtNm_Obat.Name = "txtNm_Obat" Me.txtNm_Obat.Size = New System.Drawing.Size(128, 20) Me.txtNm_Obat.TabIndex = 18 Me.txtNm_Obat.Text = "" ' 'txtJenis ' Me.txtJenis.Location = New System.Drawing.Point(160, 312) Me.txtJenis.Name = "txtJenis" Me.txtJenis.Size = New System.Drawing.Size(128, 20) Me.txtJenis.TabIndex = 19 Me.txtJenis.Text = "" '
'txtTgl_Sp ' Me.txtTgl_Sp.Location = New System.Drawing.Point(440, 72) Me.txtTgl_Sp.Name = "txtTgl_Sp" Me.txtTgl_Sp.Size = New System.Drawing.Size(128, 20) Me.txtTgl_Sp.TabIndex = 20 Me.txtTgl_Sp.Text = "" ' 'txtJml_Psn ' Me.txtJml_Psn.Location = New System.Drawing.Point(440, 160) Me.txtJml_Psn.Name = "txtJml_Psn" Me.txtJml_Psn.Size = New System.Drawing.Size(128, 20) Me.txtJml_Psn.TabIndex = 21 Me.txtJml_Psn.Text = "" ' 'txtSatuan ' Me.txtSatuan.Location = New System.Drawing.Point(440, 200) Me.txtSatuan.Name = "txtSatuan" Me.txtSatuan.Size = New System.Drawing.Size(128, 20) Me.txtSatuan.TabIndex = 22 Me.txtSatuan.Text = "" ' 'txtHarga ' Me.txtHarga.Location = New System.Drawing.Point(440, 240) Me.txtHarga.Name = "txtHarga" Me.txtHarga.Size = New System.Drawing.Size(128, 20) Me.txtHarga.TabIndex = 23 Me.txtHarga.Text = "" ' 'txtTotal ' Me.txtTotal.Location = New System.Drawing.Point(440, 280) Me.txtTotal.Name = "txtTotal"
Me.txtTotal.Size = New System.Drawing.Size(72, 20) Me.txtTotal.TabIndex = 24 Me.txtTotal.Text = "" ' 'cmbKd_Pelanggan ' Me.cmbKd_Pelanggan.Location = New System.Drawing.Point(160, 112) Me.cmbKd_Pelanggan.Name = "cmbKd_Pelanggan" Me.cmbKd_Pelanggan.Size = New System.Drawing.Size(128, 21) Me.cmbKd_Pelanggan.TabIndex = 25 ' 'cmbNo_Batch ' Me.cmbNo_Batch.Location = New System.Drawing.Point(160, 192) Me.cmbNo_Batch.Name = "cmbNo_Batch" Me.cmbNo_Batch.Size = New System.Drawing.Size(128, 21) Me.cmbNo_Batch.TabIndex = 26 ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6, Me.ColumnHeader7, Me.ColumnHeader8}) Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(32, 360) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(576, 96) Me.ListView1.TabIndex = 27 Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "No.Batch"
Me.ColumnHeader1.Width = 65 ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Kode Obat" Me.ColumnHeader2.Width = 70 ' 'ColumnHeader3 ' Me.ColumnHeader3.Text = "Nama Obat" Me.ColumnHeader3.Width = 73 ' 'ColumnHeader4 ' Me.ColumnHeader4.Text = "Jenis" ' 'ColumnHeader5 ' Me.ColumnHeader5.Text = "Jumlah Pesan" Me.ColumnHeader5.Width = 90 ' 'ColumnHeader6 ' Me.ColumnHeader6.Text = "Satuan" ' 'ColumnHeader7 ' Me.ColumnHeader7.Text = "Harga Jual" Me.ColumnHeader7.Width = 69 ' 'ColumnHeader8 ' Me.ColumnHeader8.Text = "Jumlah Total" Me.ColumnHeader8.Width = 84 ' 'btnSimpan ' Me.btnSimpan.Location = New System.Drawing.Point(80, 472) Me.btnSimpan.Name = "btnSimpan" Me.btnSimpan.Size = New System.Drawing.Size(80, 24) Me.btnSimpan.TabIndex = 28 Me.btnSimpan.Text = "Simpan"
' 'btnCetak ' Me.btnCetak.Location = New System.Drawing.Point(176, 472) Me.btnCetak.Name = "btnCetak" Me.btnCetak.Size = New System.Drawing.Size(80, 24) Me.btnCetak.TabIndex = 29 Me.btnCetak.Text = "Cetak" ' 'btnBaru ' Me.btnBaru.Location = New System.Drawing.Point(272, 472) Me.btnBaru.Name = "btnBaru" Me.btnBaru.Size = New System.Drawing.Size(80, 24) Me.btnBaru.TabIndex = 30 Me.btnBaru.Text = "Baru SP" ' 'btnBatal ' Me.btnBatal.Location = New System.Drawing.Point(384, 472) Me.btnBatal.Name = "btnBatal" Me.btnBatal.Size = New System.Drawing.Size(80, 24) Me.btnBatal.TabIndex = 31 Me.btnBatal.Text = "Batal SP" ' 'btnKeluar ' Me.btnKeluar.Location = New System.Drawing.Point(488, 472) Me.btnKeluar.Name = "btnKeluar" Me.btnKeluar.Size = New System.Drawing.Size(80, 24) Me.btnKeluar.TabIndex = 32 Me.btnKeluar.Text = "Keluar" ' 'txtStock ' Me.txtStock.Location = New System.Drawing.Point(584, 160) Me.txtStock.Name = "txtStock" Me.txtStock.Size = New System.Drawing.Size(48, 16)
Me.txtStock.TabIndex = 33 ' 'btnTambah ' Me.btnTambah.Location = New System.Drawing.Point(528, 272) Me.btnTambah.Name = "btnTambah" Me.btnTambah.Size = New System.Drawing.Size(56, 24) Me.btnTambah.TabIndex = 34 Me.btnTambah.Text = "Tambah" ' 'Button1 ' Me.Button1.Image = CType(resources.GetObject("Button1.Image"), System.Drawing.Image) Me.Button1.Location = New System.Drawing.Point(288, 72) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(24, 24) Me.Button1.TabIndex = 35 ' 'Label14 ' Me.Label14.Location = New System.Drawing.Point(568, 160) Me.Label14.Name = "Label14" Me.Label14.Size = New System.Drawing.Size(8, 23) Me.Label14.TabIndex = 36 Me.Label14.Text = "/" ' 'FrmSP ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(656, 510) Me.Controls.Add(Me.Label14) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.btnTambah) Me.Controls.Add(Me.txtStock) Me.Controls.Add(Me.btnKeluar) Me.Controls.Add(Me.btnBatal)
Me.Controls.Add(Me.btnBaru) Me.Controls.Add(Me.btnCetak) Me.Controls.Add(Me.btnSimpan) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.cmbNo_Batch) Me.Controls.Add(Me.cmbKd_Pelanggan) Me.Controls.Add(Me.txtTotal) Me.Controls.Add(Me.txtHarga) Me.Controls.Add(Me.txtSatuan) Me.Controls.Add(Me.txtJml_Psn) Me.Controls.Add(Me.txtTgl_Sp) Me.Controls.Add(Me.txtJenis) Me.Controls.Add(Me.txtNm_Obat) Me.Controls.Add(Me.txtKd_Obat) Me.Controls.Add(Me.txtNm_Pelanggan) Me.Controls.Add(Me.txtNo_Sp) Me.Controls.Add(Me.Label13) Me.Controls.Add(Me.Label12) Me.Controls.Add(Me.Label11) Me.Controls.Add(Me.Label10) Me.Controls.Add(Me.Label9) Me.Controls.Add(Me.Label8) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmSP" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Surat Pesanan" Me.ResumeLayout(False) End Sub #End Region Private objPesan As New AccessDataTransaksi.clsSP Private objSP As New AccessDataControl.clsCtrSP Private objObat As New AccessDataMaster.clsObat Private objbatch As New AccessDataMaster.clsBatch
Private objPelanggan As New AccessDataMaster.clsPelanggan Dim fcarisp As frmCariSP Dim fcetaksp As FrmCetakSP Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click End Sub Private Sub FrmSP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load objPelanggan.isiKdPelanggan(cmbKd_Pelanggan) objbatch.isiKdBatch(cmbNo_Batch) ButtonBaruSP() textDisabled(Me) bersih(Me) ListView1.Items.Clear() End Sub Private Sub cmbNo_Batch_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbNo_Batch.SelectedIndexChanged objbatch.atNobatch = Me.cmbNo_Batch.Text objbatch.TampilDataBatch() txtKd_Obat.Text = objbatch.atKdObat txtStock.Text = objbatch.atStock txtJml_Psn.Text = "" txtJml_Psn.Select() End Sub Private Sub txtKd_Obat_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKd_Obat.TextChanged objObat.atKdObat = Me.txtKd_Obat.Text objObat.TampilDataObat() txtNm_Obat.Text = objObat.atNmObat txtSatuan.Text = objObat.atSatuan txtJenis.Text = objObat.atJenis txtHarga.Text = objObat.atHarga objObat.atKdObat = txtKd_Obat.Text End Sub
Private Sub cmbKd_Pelanggan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbKd_Pelanggan.SelectedIndexChanged objPelanggan.atKdPelanggan = Me.cmbKd_Pelanggan.Text objPelanggan.TampilDataPelanggan() txtNm_Pelanggan.Text = objPelanggan.atNamaPelanggan objPelanggan.atKdPelanggan = cmbKd_Pelanggan.Text End Sub Private Sub txtJml_Psn_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtJml_Psn.KeyPress Angka(e) End Sub Private Sub txtJml_Psn_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtJml_Psn.TextChanged If Len(txtJml_Psn.Text) = 0 Then txtTotal.Text = "" : Exit Sub If Val(txtJml_Psn.Text) <= 0 Then txtJml_Psn.Text = "" : Exit Sub If Val(txtJml_Psn.Text) > Val(txtStock.Text) Then txtJml_Psn.Text = "" : MsgBox("Jumlah Pesanan melebihi Stok", MsgBoxStyle.Information, "Info") : Exit Sub Total() End Sub Private Sub Total() txtTotal.Text = Val(txtJml_Psn.Text) * Val(txtHarga.Text) End Sub Private Sub btnBaru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBaru.Click objPesan.AutoCodePesan(txtNo_Sp) txtTgl_Sp.Text = Format(Now, "dd/MM/yyyy") ButtonNormalSP() textEnabled(Me)
End Sub Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click If cmbNo_Batch.Text = "" Then MsgBox("No Batch Harus Di'isi", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "Info") ElseIf txtJml_Psn.Text = "" Then MsgBox("Jumlah Pesan Harus Di'isi", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "Info") Else With objSP .atNoBatch = cmbNo_Batch.Text .atKdObat = txtKd_Obat.Text .atNmObat = txtNm_Obat.Text .atJenis = txtJenis.Text .atJmlPsn = txtJml_Psn.Text .atSatuan = txtSatuan.Text .atHarga = txtHarga.Text .atTotal = txtTotal.Text End With objSP.IsiPsn() Dim item As New ListViewItem item.Text = objSP.atNoBatch item.SubItems.Add(objSP.atKdObat) item.SubItems.Add(objSP.atNmObat) item.SubItems.Add(objSP.atJenis) item.SubItems.Add(objSP.atJmlPsn) item.SubItems.Add(objSP.atSatuan) item.SubItems.Add(objSP.atHarga) item.SubItems.Add(objSP.atTotal) ListView1.Items.AddRange(New ListViewItem() {item}) textBersihIsi() txtStock.Text = "" End If End Sub Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click If ListView1.Items.Count = 0 Then
MsgBox("Detail Barang Harus Di'isi", MsgBoxStyle.Information, "Info") Else objSP.atNoSP = txtNo_Sp.Text objSP.atTglSP = txtTgl_Sp.Text objSP.atKdPlg = cmbKd_Pelanggan.Text objSP.simpanIsi() 'objSP.UpdateStock() 'ButtonBaruSP() btnCetak.Enabled = True 'bersih(Me) 'textDisabled(Me) 'ListView1.Items.Clear() btnSimpan.Enabled = False End If End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click ButtonBaruSP() bersih(Me) ListView1.Items.Clear() textDisabled(Me) End Sub Private Sub ButtonBaruSP() btnTambah.Enabled = False btnCetak.Enabled = False btnSimpan.Enabled = False btnBatal.Enabled = False btnBaru.Enabled = True btnKeluar.Enabled = True End Sub Private Sub ButtonNormalSP() btnTambah.Enabled = True btnCetak.Enabled = True btnSimpan.Enabled = True btnBatal.Enabled = True btnBaru.Enabled = False btnKeluar.Enabled = False End Sub Private Sub textBersihIsi() cmbNo_Batch.Text = ""
txtKd_Obat.Text = "" txtNm_Obat.Text = "" txtSatuan.Text = "" txtJenis.Text = "" txtHarga.Text = "" txtJml_Psn.Text = "" txtTotal.Text = "" End Sub Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click Me.Dispose() End Sub Private Sub txtNm_Pelanggan_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNm_Pelanggan.TextChanged End Sub Private Sub btnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCetak.Click fcetaksp = New FrmCetakSP fcetaksp.ShowDialog() ButtonBaruSP() bersih(Me) ListView1.Items.Clear() textDisabled(Me) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click fcarisp = New frmCariSP fcarisp.ShowDialog() 'ButtonBaruSP() 'bersih(Me) 'ListView1.Items.Clear() 'textDisabled(Me)
End Sub End Class Entry Faktur Public Class FrmFaktur Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents Label7 As System.Windows.Forms.Label Friend WithEvents Label8 As System.Windows.Forms.Label Friend WithEvents Label9 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader5 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader6 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader7 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader8 As System.Windows.Forms.ColumnHeader Friend WithEvents Label10 As System.Windows.Forms.Label Friend WithEvents cmbNo_Sp As System.Windows.Forms.ComboBox Friend WithEvents txtNo_Faktur As System.Windows.Forms.TextBox Friend WithEvents txtTgl_Faktur As System.Windows.Forms.TextBox
Friend WithEvents txtKd_Pelanggan As System.Windows.Forms.TextBox Friend WithEvents txtNm_Pelanggan As System.Windows.Forms.TextBox Friend WithEvents txtTgl_tagih As System.Windows.Forms.TextBox Friend WithEvents txtTgl_Jth_Tempo As System.Windows.Forms.TextBox Friend WithEvents txtTgl_Sp As System.Windows.Forms.TextBox Friend WithEvents btnSimpan As System.Windows.Forms.Button Friend WithEvents btnCetak As System.Windows.Forms.Button Friend WithEvents btnBatal As System.Windows.Forms.Button Friend WithEvents btnKeluar As System.Windows.Forms.Button Friend WithEvents txtJumlah As System.Windows.Forms.TextBox Friend WithEvents lblTerbilang As System.Windows.Forms.Label Friend WithEvents txtTerbilang As System.Windows.Forms.TextBox <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.Label7 = New System.Windows.Forms.Label Me.Label8 = New System.Windows.Forms.Label Me.Label9 = New System.Windows.Forms.Label Me.cmbNo_Sp = New System.Windows.Forms.ComboBox Me.txtNo_Faktur = New System.Windows.Forms.TextBox Me.txtTgl_Faktur = New System.Windows.Forms.TextBox Me.txtKd_Pelanggan = New System.Windows.Forms.TextBox
Me.txtNm_Pelanggan = New System.Windows.Forms.TextBox Me.txtTgl_tagih = New System.Windows.Forms.TextBox Me.txtTgl_Jth_Tempo = New System.Windows.Forms.TextBox Me.txtTgl_Sp = New System.Windows.Forms.TextBox Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader5 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader6 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader7 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader8 = New System.Windows.Forms.ColumnHeader Me.txtJumlah = New System.Windows.Forms.TextBox Me.Label10 = New System.Windows.Forms.Label Me.btnSimpan = New System.Windows.Forms.Button Me.btnCetak = New System.Windows.Forms.Button Me.btnBatal = New System.Windows.Forms.Button Me.btnKeluar = New System.Windows.Forms.Button Me.lblTerbilang = New System.Windows.Forms.Label Me.txtTerbilang = New System.Windows.Forms.TextBox Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(240, 16)
Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(248, 32) Me.Label1.TabIndex = 0 Me.Label1.Text = "FORM CETAK FAKTUR" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(24, 64) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(112, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "No.Faktur" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(24, 104) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(112, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Tanggal Faktur" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(24, 168) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(112, 24) Me.Label4.TabIndex = 3 Me.Label4.Text = "No.SP" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(24, 208) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(112, 24) Me.Label5.TabIndex = 4 Me.Label5.Text = "Kode Pelanggan" ' 'Label6 '
Me.Label6.Location = New System.Drawing.Point(24, 248) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(112, 24) Me.Label6.TabIndex = 5 Me.Label6.Text = "Nama Pelanggan" ' 'Label7 ' Me.Label7.Location = New System.Drawing.Point(352, 64) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(112, 24) Me.Label7.TabIndex = 6 Me.Label7.Text = "Tanggal Tagih" ' 'Label8 ' Me.Label8.Location = New System.Drawing.Point(352, 104) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(120, 24) Me.Label8.TabIndex = 7 Me.Label8.Text = "Tanggal Jatuh Tempo" ' 'Label9 ' Me.Label9.Location = New System.Drawing.Point(352, 168) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(112, 24) Me.Label9.TabIndex = 8 Me.Label9.Text = "Tanggal Surat Pesan" ' 'cmbNo_Sp ' Me.cmbNo_Sp.Location = New System.Drawing.Point(152, 168) Me.cmbNo_Sp.Name = "cmbNo_Sp" Me.cmbNo_Sp.Size = New System.Drawing.Size(128, 21) Me.cmbNo_Sp.TabIndex = 9 '
'txtNo_Faktur ' Me.txtNo_Faktur.Location = New System.Drawing.Point(152, 64) Me.txtNo_Faktur.Name = "txtNo_Faktur" Me.txtNo_Faktur.Size = New System.Drawing.Size(128, 20) Me.txtNo_Faktur.TabIndex = 10 Me.txtNo_Faktur.Text = "" ' 'txtTgl_Faktur ' Me.txtTgl_Faktur.Location = New System.Drawing.Point(152, 104) Me.txtTgl_Faktur.Name = "txtTgl_Faktur" Me.txtTgl_Faktur.Size = New System.Drawing.Size(128, 20) Me.txtTgl_Faktur.TabIndex = 11 Me.txtTgl_Faktur.Text = "" ' 'txtKd_Pelanggan ' Me.txtKd_Pelanggan.Location = New System.Drawing.Point(152, 208) Me.txtKd_Pelanggan.Name = "txtKd_Pelanggan" Me.txtKd_Pelanggan.Size = New System.Drawing.Size(128, 20) Me.txtKd_Pelanggan.TabIndex = 12 Me.txtKd_Pelanggan.Text = "" ' 'txtNm_Pelanggan ' Me.txtNm_Pelanggan.Location = New System.Drawing.Point(152, 248) Me.txtNm_Pelanggan.Name = "txtNm_Pelanggan" Me.txtNm_Pelanggan.Size = New System.Drawing.Size(128, 20) Me.txtNm_Pelanggan.TabIndex = 13 Me.txtNm_Pelanggan.Text = "" ' 'txtTgl_tagih '
Me.txtTgl_tagih.Location = New System.Drawing.Point(488, 64) Me.txtTgl_tagih.Name = "txtTgl_tagih" Me.txtTgl_tagih.Size = New System.Drawing.Size(120, 20) Me.txtTgl_tagih.TabIndex = 14 Me.txtTgl_tagih.Text = "" ' 'txtTgl_Jth_Tempo ' Me.txtTgl_Jth_Tempo.Location = New System.Drawing.Point(488, 104) Me.txtTgl_Jth_Tempo.Name = "txtTgl_Jth_Tempo" Me.txtTgl_Jth_Tempo.Size = New System.Drawing.Size(120, 20) Me.txtTgl_Jth_Tempo.TabIndex = 15 Me.txtTgl_Jth_Tempo.Text = "" ' 'txtTgl_Sp ' Me.txtTgl_Sp.Location = New System.Drawing.Point(488, 168) Me.txtTgl_Sp.Name = "txtTgl_Sp" Me.txtTgl_Sp.Size = New System.Drawing.Size(120, 20) Me.txtTgl_Sp.TabIndex = 16 Me.txtTgl_Sp.Text = "" ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6, Me.ColumnHeader7, Me.ColumnHeader8}) Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(24, 312) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(584, 104) Me.ListView1.TabIndex = 17
Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "No.Batch" Me.ColumnHeader1.Width = 65 ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Kode Obat" Me.ColumnHeader2.Width = 75 ' 'ColumnHeader3 ' Me.ColumnHeader3.Text = "Nama Obat" Me.ColumnHeader3.Width = 84 ' 'ColumnHeader4 ' Me.ColumnHeader4.Text = "Jenis" Me.ColumnHeader4.Width = 52 ' 'ColumnHeader5 ' Me.ColumnHeader5.Text = "Jumlah Pesan" Me.ColumnHeader5.Width = 90 ' 'ColumnHeader6 ' Me.ColumnHeader6.Text = "Satuan" ' 'ColumnHeader7 ' Me.ColumnHeader7.Text = "Harga Jual" Me.ColumnHeader7.Width = 66 ' 'ColumnHeader8 ' Me.ColumnHeader8.Text = "Jumlah" Me.ColumnHeader8.Width = 82 ' 'txtJumlah
' Me.txtJumlah.Location = New System.Drawing.Point(496, 432) Me.txtJumlah.Name = "txtJumlah" Me.txtJumlah.Size = New System.Drawing.Size(96, 20) Me.txtJumlah.TabIndex = 18 Me.txtJumlah.Text = "" ' 'Label10 ' Me.Label10.Location = New System.Drawing.Point(440, 432) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(40, 24) Me.Label10.TabIndex = 19 Me.Label10.Text = "Total" ' 'btnSimpan ' Me.btnSimpan.Location = New System.Drawing.Point(632, 312) Me.btnSimpan.Name = "btnSimpan" Me.btnSimpan.Size = New System.Drawing.Size(64, 24) Me.btnSimpan.TabIndex = 20 Me.btnSimpan.Text = "Simpan" ' 'btnCetak ' Me.btnCetak.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.btnCetak.Location = New System.Drawing.Point(632, 352) Me.btnCetak.Name = "btnCetak" Me.btnCetak.Size = New System.Drawing.Size(64, 24) Me.btnCetak.TabIndex = 21 Me.btnCetak.Text = "Cetak" ' 'btnBatal ' Me.btnBatal.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.btnBatal.Location = New System.Drawing.Point(632, 392)
Me.btnBatal.Name = "btnBatal" Me.btnBatal.Size = New System.Drawing.Size(64, 24) Me.btnBatal.TabIndex = 22 Me.btnBatal.Text = "Batal" ' 'btnKeluar ' Me.btnKeluar.Location = New System.Drawing.Point(632, 432) Me.btnKeluar.Name = "btnKeluar" Me.btnKeluar.Size = New System.Drawing.Size(64, 24) Me.btnKeluar.TabIndex = 23 Me.btnKeluar.Text = "Keluar" ' 'lblTerbilang ' Me.lblTerbilang.Location = New System.Drawing.Point(40, 480) Me.lblTerbilang.Name = "lblTerbilang" Me.lblTerbilang.Size = New System.Drawing.Size(80, 24) Me.lblTerbilang.TabIndex = 24 Me.lblTerbilang.Text = "Terbilang" ' 'txtTerbilang ' Me.txtTerbilang.Font = New System.Drawing.Font("Monotype Corsiva", 14.25!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtTerbilang.Location = New System.Drawing.Point(144, 480) Me.txtTerbilang.Multiline = True Me.txtTerbilang.Name = "txtTerbilang" Me.txtTerbilang.Size = New System.Drawing.Size(448, 72) Me.txtTerbilang.TabIndex = 25 Me.txtTerbilang.Text = "" ' 'FrmFaktur '
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.BackColor = System.Drawing.SystemColors.Control Me.ClientSize = New System.Drawing.Size(712, 615) Me.Controls.Add(Me.txtTerbilang) Me.Controls.Add(Me.lblTerbilang) Me.Controls.Add(Me.btnKeluar) Me.Controls.Add(Me.btnBatal) Me.Controls.Add(Me.btnCetak) Me.Controls.Add(Me.btnSimpan) Me.Controls.Add(Me.Label10) Me.Controls.Add(Me.txtJumlah) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.txtTgl_Sp) Me.Controls.Add(Me.txtTgl_Jth_Tempo) Me.Controls.Add(Me.txtTgl_tagih) Me.Controls.Add(Me.txtNm_Pelanggan) Me.Controls.Add(Me.txtKd_Pelanggan) Me.Controls.Add(Me.txtTgl_Faktur) Me.Controls.Add(Me.txtNo_Faktur) Me.Controls.Add(Me.cmbNo_Sp) Me.Controls.Add(Me.Label9) Me.Controls.Add(Me.Label8) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog Me.Name = "FrmFaktur" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Cetak Faktur" Me.ResumeLayout(False) End Sub #End Region Private objFaktur As New AccessDataTransaksi.clsFaktur Private objSp As New AccessDataTransaksi.clsSP
Private objCtrlfaktur As New AccessDataControl.clsCtrlFaktur Private objpesan As New AccessDataTransaksi.clsSP Private objpelanggan As New AccessDataMaster.clsPelanggan Dim fcetakfaktur As FrmCetakFaktur Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged End Sub Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click End Sub Private Sub cmbNo_Sp_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbNo_Sp.SelectedIndexChanged objpesan.atNoSP = Me.cmbNo_Sp.Text If objpesan.SPAda = True Then MsgBox("Faktur untuk nomor Surat Pesanan : " & cmbNo_Sp.Text & " sudah dicetak sebelumnya. ", MsgBoxStyle.Information, "Info") Else objpesan.TampilDataSP() txtTgl_Sp.Text = objpesan.attglSP txtKd_Pelanggan.Text = objpesan.atKdPelanggan objSp.isiTabelSP(ListView1, cmbNo_Sp) txtJumlah.Text = objSp.atJumlah txtTerbilang.Text = Terbilang(CDbl(txtJumlah.Text)) + "Rupiah" End If 'With objCtrlFaktur ' .atNoBatch = cmbNo_Batch.Text ' .atKdObat = txtKd_Obat.Text ' .atNmObat = txtNm_Obat.Text ' .atJenis = txtJenis.Text ' .atJmlPsn = txtJml_Psn.Text ' .atSatuan = txtSatuan.Text ' .atHarga = txtHarga.Text
' .atTotal = txtTotal.Text 'End With 'objCtrlfaktur.IsiFaktur() 'Dim item As New ListViewItem 'item.Text = objCtrlfaktur.atNoBatch 'item.SubItems.Add(objCtrlfaktur.atKdObat) 'item.SubItems.Add(objCtrlfaktur.atNmObat) 'item.SubItems.Add(objCtrlfaktur.atJenis) 'item.SubItems.Add(objCtrlfaktur.atJmlPsn) 'item.SubItems.Add(objCtrlfaktur.atSatuan) 'item.SubItems.Add(objCtrlfaktur.atHarga) 'item.SubItems.Add(objCtrlfaktur.atTotal) 'ListView1.Items.AddRange(New ListViewItem() {item}) End Sub Private Sub FrmFaktur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load btnCetak.Enabled = False txtNo_Faktur.Enabled = False objpesan.isiNoSP(cmbNo_Sp) objFaktur.AutoCodeFaktur(txtNo_Faktur) txtTgl_Faktur.Text = Format(Now, "dd/MM/yyyy") txtTgl_tagih.Text = Format(Now, "dd/MM/yyyy") txtTgl_Jth_Tempo.Text = Format(Now, "dd/MM/yyyy") End Sub Private Sub txtKd_Pelanggan_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKd_Pelanggan.TextChanged objpelanggan.atKdPelanggan = Me.txtKd_Pelanggan.Text objpelanggan.TampilDataPelanggan() txtNm_Pelanggan.Text = objpelanggan.atNamaPelanggan End Sub Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click If cmbNo_Sp.Text = "" Then
MsgBox("No.SP harus diisi.", MsgBoxStyle.Exclamation, "Info") ElseIf Tanggal(txtTgl_tagih.Text) = False Then : Exit Sub ElseIf Tanggal(txtTgl_Jth_Tempo.Text) = False Then : Exit Sub Else objFaktur.atNoFaktur = txtNo_Faktur.Text objFaktur.attglFaktur = txtTgl_Faktur.Text objFaktur.attglTagih = txtTgl_tagih.Text objFaktur.attglJatuhTempo = txtTgl_Jth_Tempo.Text objFaktur.atNoSP = cmbNo_Sp.Text objFaktur.simpanFaktur() btnCetak.Enabled = True btnSimpan.Enabled = False End If End Sub Private Sub btnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCetak.Click fcetakfaktur = New FrmCetakFaktur fcetakfaktur.ShowDialog() cmbNo_Sp.Text = "" txtKd_Pelanggan.Text = "" txtNm_Pelanggan.Text = "" txtTgl_Sp.Text = "" ListView1.Items.Clear() txtJumlah.Text = "" txtTerbilang.Text = "" objpesan.isiNoSP(cmbNo_Sp) objFaktur.AutoCodeFaktur(txtNo_Faktur) txtTgl_Faktur.Text = Format(Now, "dd/MM/yyyy") txtTgl_tagih.Text = Format(Now, "dd/MM/yyyy") txtTgl_Jth_Tempo.Text = Format(Now, "dd/MM/yyyy") End Sub Function Terbilang(ByVal myNum As Double) As String Dim myString As String() = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", _ "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"} Dim myTmpString As String = "" Select Case myNum
Case Is < 12 myTmpString = myString(myNum) Case Is < 20 myTmpString = Terbilang(myNum - 10) + " " + "belas" Case Is < 100 If Microsoft.VisualBasic.Right(myNum, 1) > 0 Then myTmpString = Terbilang(Int(myNum / 10)) + " " + "puluh" + " " + Terbilang(myNum Mod 10) Else myTmpString = Terbilang(Int(myNum / 10)) + " " + "puluh" End If Case Is < 200 myTmpString = "Seratus" + " " + Terbilang(myNum - 100) Case Is < 1000 myTmpString = Terbilang(Int(myNum / 100)) + " " + "ratus" + " " + Terbilang(myNum Mod 100) Case Is < 2000 myTmpString = "Seribu" + " " + Terbilang(myNum - 1000) Case Is < 1000000 myTmpString = Terbilang(Int(myNum / 1000)) + " " + "Ribu" + " " + Terbilang(myNum Mod 1000) Case Is < 1000000000 myTmpString = Terbilang(Int(myNum / 1000000)) + " " + "Juta" + " " + Terbilang(myNum Mod 1000000) Case Is < 1000000000000 myTmpString = Terbilang(Int(myNum / 1000000000)) + " " + "Milyar" + " " + Terbilang(myNum Mod 1000000000) Case Is < 1000000000000000 myTmpString = Terbilang(Int(myNum / 1000000000000)) + " " + "Trilyun" + " " + Terbilang(myNum Mod 1000000000000) End Select Return myTmpString End Function
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click Me.Dispose() End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click cmbNo_Sp.Text = "" txtKd_Pelanggan.Text = "" txtNm_Pelanggan.Text = "" txtTgl_Sp.Text = "" ListView1.Items.Clear() txtJumlah.Text = "" txtTerbilang.Text = "" objpesan.isiNoSP(cmbNo_Sp) objFaktur.AutoCodeFaktur(txtNo_Faktur) txtTgl_Faktur.Text = Format(Now, "dd/MM/yyyy") txtTgl_tagih.Text = Format(Now, "dd/MM/yyyy") txtTgl_Jth_Tempo.Text = Format(Now, "dd/MM/yyyy") End Sub Private Sub txtTgl_tagih_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTgl_tagih.TextChanged End Sub End Class Entry Surat Jalan Public Class FrmSJ Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New()
'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents Label7 As System.Windows.Forms.Label Friend WithEvents Label8 As System.Windows.Forms.Label Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents Label10 As System.Windows.Forms.Label Friend WithEvents Label11 As System.Windows.Forms.Label Friend WithEvents Label12 As System.Windows.Forms.Label Friend WithEvents Label13 As System.Windows.Forms.Label Friend WithEvents Label14 As System.Windows.Forms.Label Friend WithEvents Label15 As System.Windows.Forms.Label Friend WithEvents Label16 As System.Windows.Forms.Label Friend WithEvents Label17 As System.Windows.Forms.Label Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader5 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader6 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader7 As System.Windows.Forms.ColumnHeader Friend WithEvents label2 As System.Windows.Forms.Label Friend WithEvents txtNo_Sj As System.Windows.Forms.TextBox Friend WithEvents Label18 As System.Windows.Forms.Label Friend WithEvents cmbNo_Faktur As System.Windows.Forms.ComboBox Friend WithEvents txtNo_Sp As System.Windows.Forms.TextBox
Friend WithEvents txtNm_Pelanggan As System.Windows.Forms.TextBox Friend WithEvents txtAlamat As System.Windows.Forms.TextBox Friend WithEvents txtNm_Kendaraan As System.Windows.Forms.TextBox Friend WithEvents txtNm_Supir As System.Windows.Forms.TextBox Friend WithEvents cmbNo_Pol As System.Windows.Forms.ComboBox Friend WithEvents cmbKd_Supir As System.Windows.Forms.ComboBox Friend WithEvents Label19 As System.Windows.Forms.Label Friend WithEvents txtTgl_Sj As System.Windows.Forms.TextBox Friend WithEvents txtTgl_Faktur As System.Windows.Forms.TextBox Friend WithEvents txtNo_Batch As System.Windows.Forms.TextBox Friend WithEvents txtKd_Obat As System.Windows.Forms.TextBox Friend WithEvents txtNm_Obat As System.Windows.Forms.TextBox Friend WithEvents txtJenis As System.Windows.Forms.TextBox Friend WithEvents txtSatuan As System.Windows.Forms.TextBox Friend WithEvents txtKeterangan As System.Windows.Forms.TextBox Friend WithEvents Label20 As System.Windows.Forms.Label Friend WithEvents ListView2 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader8 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader9 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader10 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader11 As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnHeader12 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader13 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader14 As System.Windows.Forms.ColumnHeader Friend WithEvents btnBaru As System.Windows.Forms.Button Friend WithEvents btnSimpan As System.Windows.Forms.Button Friend WithEvents btnBatal As System.Windows.Forms.Button Friend WithEvents btnCetak As System.Windows.Forms.Button Friend WithEvents btnKeluar As System.Windows.Forms.Button Friend WithEvents btnTambah As System.Windows.Forms.Button Friend WithEvents txtJml_Psn As System.Windows.Forms.TextBox Friend WithEvents txtHarga As System.Windows.Forms.TextBox Friend WithEvents ColumnHeader15 As System.Windows.Forms.ColumnHeader <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.Label7 = New System.Windows.Forms.Label Me.Label8 = New System.Windows.Forms.Label Me.Label9 = New System.Windows.Forms.Label Me.Label10 = New System.Windows.Forms.Label Me.Label11 = New System.Windows.Forms.Label Me.Label12 = New System.Windows.Forms.Label Me.Label13 = New System.Windows.Forms.Label Me.Label14 = New System.Windows.Forms.Label Me.Label15 = New System.Windows.Forms.Label Me.Label16 = New System.Windows.Forms.Label Me.Label17 = New System.Windows.Forms.Label
Me.txtNo_Sj = New System.Windows.Forms.TextBox Me.txtNo_Sp = New System.Windows.Forms.TextBox Me.txtNm_Pelanggan = New System.Windows.Forms.TextBox Me.txtAlamat = New System.Windows.Forms.TextBox Me.txtNm_Kendaraan = New System.Windows.Forms.TextBox Me.txtTgl_Sj = New System.Windows.Forms.TextBox Me.txtTgl_Faktur = New System.Windows.Forms.TextBox Me.txtNo_Batch = New System.Windows.Forms.TextBox Me.txtKd_Obat = New System.Windows.Forms.TextBox Me.txtNm_Obat = New System.Windows.Forms.TextBox Me.txtJenis = New System.Windows.Forms.TextBox Me.txtJml_Psn = New System.Windows.Forms.TextBox Me.txtSatuan = New System.Windows.Forms.TextBox Me.ListView1 = New System.Windows.Forms.ListView Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader5 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader6 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader7 = New System.Windows.Forms.ColumnHeader Me.Label18 = New System.Windows.Forms.Label Me.txtNm_Supir = New System.Windows.Forms.TextBox Me.cmbNo_Faktur = New System.Windows.Forms.ComboBox Me.cmbNo_Pol = New System.Windows.Forms.ComboBox Me.cmbKd_Supir = New System.Windows.Forms.ComboBox
Me.Label19 = New System.Windows.Forms.Label Me.txtKeterangan = New System.Windows.Forms.TextBox Me.Label20 = New System.Windows.Forms.Label Me.txtHarga = New System.Windows.Forms.TextBox Me.ListView2 = New System.Windows.Forms.ListView Me.ColumnHeader8 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader9 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader10 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader11 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader12 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader13 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader14 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader15 = New System.Windows.Forms.ColumnHeader Me.btnTambah = New System.Windows.Forms.Button Me.btnBaru = New System.Windows.Forms.Button Me.btnSimpan = New System.Windows.Forms.Button Me.btnBatal = New System.Windows.Forms.Button Me.btnCetak = New System.Windows.Forms.Button Me.btnKeluar = New System.Windows.Forms.Button Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(280, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(240, 40) Me.Label1.TabIndex = 0 Me.Label1.Text = "FORM SURAT JALAN" '
'label2 ' Me.label2.Location = New System.Drawing.Point(16, 80) Me.label2.Name = "label2" Me.label2.Size = New System.Drawing.Size(120, 24) Me.label2.TabIndex = 1 Me.label2.Text = "No. Surat Jalan" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(16, 112) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(120, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "No. Faktur" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(16, 144) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(120, 24) Me.Label4.TabIndex = 3 Me.Label4.Text = "No. SP" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(16, 176) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(120, 24) Me.Label5.TabIndex = 4 Me.Label5.Text = "Nama Pelanggan" ' 'Label6 ' Me.Label6.Location = New System.Drawing.Point(16, 208) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(120, 24) Me.Label6.TabIndex = 5
Me.Label6.Text = "Alamat Pelanggan" ' 'Label7 ' Me.Label7.Location = New System.Drawing.Point(16, 240) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(120, 24) Me.Label7.TabIndex = 6 Me.Label7.Text = "No. Polisi" ' 'Label8 ' Me.Label8.Location = New System.Drawing.Point(16, 272) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(120, 24) Me.Label8.TabIndex = 7 Me.Label8.Text = "Jenis Kendaraan" ' 'Label9 ' Me.Label9.Location = New System.Drawing.Point(16, 304) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(120, 24) Me.Label9.TabIndex = 8 Me.Label9.Text = "Kode Supir" ' 'Label10 ' Me.Label10.Location = New System.Drawing.Point(504, 80) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(120, 24) Me.Label10.TabIndex = 9 Me.Label10.Text = "Tanggal Surat Jalan" ' 'Label11 ' Me.Label11.Location = New System.Drawing.Point(504, 112) Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(120, 24) Me.Label11.TabIndex = 10 Me.Label11.Text = "Tanggal Faktur" ' 'Label12 ' Me.Label12.Location = New System.Drawing.Point(16, 416) Me.Label12.Name = "Label12" Me.Label12.Size = New System.Drawing.Size(80, 24) Me.Label12.TabIndex = 11 Me.Label12.Text = "No. Batch" ' 'Label13 ' Me.Label13.Location = New System.Drawing.Point(112, 416) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(80, 24) Me.Label13.TabIndex = 12 Me.Label13.Text = "Kode Obat" ' 'Label14 ' Me.Label14.Location = New System.Drawing.Point(208, 416) Me.Label14.Name = "Label14" Me.Label14.Size = New System.Drawing.Size(80, 24) Me.Label14.TabIndex = 13 Me.Label14.Text = "Nama Obat" ' 'Label15 ' Me.Label15.Location = New System.Drawing.Point(296, 416) Me.Label15.Name = "Label15" Me.Label15.Size = New System.Drawing.Size(80, 24) Me.Label15.TabIndex = 14 Me.Label15.Text = "Jenis" ' 'Label16 '
Me.Label16.Location = New System.Drawing.Point(384, 416) Me.Label16.Name = "Label16" Me.Label16.Size = New System.Drawing.Size(80, 24) Me.Label16.TabIndex = 15 Me.Label16.Text = "Jumlah Kirim" ' 'Label17 ' Me.Label17.Location = New System.Drawing.Point(480, 416) Me.Label17.Name = "Label17" Me.Label17.Size = New System.Drawing.Size(80, 24) Me.Label17.TabIndex = 16 Me.Label17.Text = "Satuan" ' 'txtNo_Sj ' Me.txtNo_Sj.Location = New System.Drawing.Point(152, 80) Me.txtNo_Sj.Name = "txtNo_Sj" Me.txtNo_Sj.Size = New System.Drawing.Size(144, 20) Me.txtNo_Sj.TabIndex = 17 Me.txtNo_Sj.Text = "" ' 'txtNo_Sp ' Me.txtNo_Sp.Location = New System.Drawing.Point(152, 144) Me.txtNo_Sp.Name = "txtNo_Sp" Me.txtNo_Sp.Size = New System.Drawing.Size(144, 20) Me.txtNo_Sp.TabIndex = 19 Me.txtNo_Sp.Text = "" ' 'txtNm_Pelanggan ' Me.txtNm_Pelanggan.Location = New System.Drawing.Point(152, 176) Me.txtNm_Pelanggan.Name = "txtNm_Pelanggan" Me.txtNm_Pelanggan.Size = New System.Drawing.Size(144, 20) Me.txtNm_Pelanggan.TabIndex = 20 Me.txtNm_Pelanggan.Text = ""
' 'txtAlamat ' Me.txtAlamat.Location = New System.Drawing.Point(152, 208) Me.txtAlamat.Name = "txtAlamat" Me.txtAlamat.Size = New System.Drawing.Size(144, 20) Me.txtAlamat.TabIndex = 21 Me.txtAlamat.Text = "" ' 'txtNm_Kendaraan ' Me.txtNm_Kendaraan.Location = New System.Drawing.Point(152, 272) Me.txtNm_Kendaraan.Name = "txtNm_Kendaraan" Me.txtNm_Kendaraan.Size = New System.Drawing.Size(144, 20) Me.txtNm_Kendaraan.TabIndex = 23 Me.txtNm_Kendaraan.Text = "" ' 'txtTgl_Sj ' Me.txtTgl_Sj.Location = New System.Drawing.Point(640, 80) Me.txtTgl_Sj.Name = "txtTgl_Sj" Me.txtTgl_Sj.Size = New System.Drawing.Size(144, 20) Me.txtTgl_Sj.TabIndex = 25 Me.txtTgl_Sj.Text = "" ' 'txtTgl_Faktur ' Me.txtTgl_Faktur.Location = New System.Drawing.Point(640, 112) Me.txtTgl_Faktur.Name = "txtTgl_Faktur" Me.txtTgl_Faktur.Size = New System.Drawing.Size(144, 20) Me.txtTgl_Faktur.TabIndex = 26 Me.txtTgl_Faktur.Text = "" ' 'txtNo_Batch '
Me.txtNo_Batch.Location = New System.Drawing.Point(16, 448) Me.txtNo_Batch.Name = "txtNo_Batch" Me.txtNo_Batch.Size = New System.Drawing.Size(80, 20) Me.txtNo_Batch.TabIndex = 27 Me.txtNo_Batch.Text = "" ' 'txtKd_Obat ' Me.txtKd_Obat.Location = New System.Drawing.Point(112, 448) Me.txtKd_Obat.Name = "txtKd_Obat" Me.txtKd_Obat.Size = New System.Drawing.Size(80, 20) Me.txtKd_Obat.TabIndex = 28 Me.txtKd_Obat.Text = "" ' 'txtNm_Obat ' Me.txtNm_Obat.Location = New System.Drawing.Point(208, 448) Me.txtNm_Obat.Name = "txtNm_Obat" Me.txtNm_Obat.Size = New System.Drawing.Size(80, 20) Me.txtNm_Obat.TabIndex = 29 Me.txtNm_Obat.Text = "" ' 'txtJenis ' Me.txtJenis.Location = New System.Drawing.Point(296, 448) Me.txtJenis.Name = "txtJenis" Me.txtJenis.Size = New System.Drawing.Size(80, 20) Me.txtJenis.TabIndex = 30 Me.txtJenis.Text = "" ' 'txtJml_Psn ' Me.txtJml_Psn.Location = New System.Drawing.Point(384, 448) Me.txtJml_Psn.Name = "txtJml_Psn"
Me.txtJml_Psn.Size = New System.Drawing.Size(80, 20) Me.txtJml_Psn.TabIndex = 31 Me.txtJml_Psn.Text = "" ' 'txtSatuan ' Me.txtSatuan.Location = New System.Drawing.Point(480, 448) Me.txtSatuan.Name = "txtSatuan" Me.txtSatuan.Size = New System.Drawing.Size(80, 20) Me.txtSatuan.TabIndex = 32 Me.txtSatuan.Text = "" ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6, Me.ColumnHeader7}) Me.ListView1.FullRowSelect = True Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(320, 152) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(472, 96) Me.ListView1.TabIndex = 33 Me.ListView1.View = System.Windows.Forms.View.Details ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "No.Batch" ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Kode Obat" Me.ColumnHeader2.Width = 65 ' 'ColumnHeader3
' Me.ColumnHeader3.Text = "Nama Obat" Me.ColumnHeader3.Width = 66 ' 'ColumnHeader4 ' Me.ColumnHeader4.Text = "Jenis" Me.ColumnHeader4.Width = 80 ' 'ColumnHeader5 ' Me.ColumnHeader5.Text = "Jumlah Pesan" Me.ColumnHeader5.Width = 78 ' 'ColumnHeader6 ' Me.ColumnHeader6.Text = "Satuan" Me.ColumnHeader6.Width = 53 ' 'ColumnHeader7 ' Me.ColumnHeader7.Text = "Harga Jual" Me.ColumnHeader7.Width = 64 ' 'Label18 ' Me.Label18.Location = New System.Drawing.Point(16, 336) Me.Label18.Name = "Label18" Me.Label18.Size = New System.Drawing.Size(120, 24) Me.Label18.TabIndex = 34 Me.Label18.Text = "Nama Supir" ' 'txtNm_Supir ' Me.txtNm_Supir.Location = New System.Drawing.Point(152, 336) Me.txtNm_Supir.Name = "txtNm_Supir" Me.txtNm_Supir.Size = New System.Drawing.Size(144, 20) Me.txtNm_Supir.TabIndex = 35 Me.txtNm_Supir.Text = "" '
'cmbNo_Faktur ' Me.cmbNo_Faktur.Location = New System.Drawing.Point(152, 112) Me.cmbNo_Faktur.Name = "cmbNo_Faktur" Me.cmbNo_Faktur.Size = New System.Drawing.Size(144, 21) Me.cmbNo_Faktur.TabIndex = 36 ' 'cmbNo_Pol ' Me.cmbNo_Pol.Location = New System.Drawing.Point(152, 240) Me.cmbNo_Pol.Name = "cmbNo_Pol" Me.cmbNo_Pol.Size = New System.Drawing.Size(144, 21) Me.cmbNo_Pol.TabIndex = 37 ' 'cmbKd_Supir ' Me.cmbKd_Supir.Location = New System.Drawing.Point(152, 304) Me.cmbKd_Supir.Name = "cmbKd_Supir" Me.cmbKd_Supir.Size = New System.Drawing.Size(144, 21) Me.cmbKd_Supir.TabIndex = 38 ' 'Label19 ' Me.Label19.Location = New System.Drawing.Point(16, 368) Me.Label19.Name = "Label19" Me.Label19.Size = New System.Drawing.Size(120, 24) Me.Label19.TabIndex = 39 Me.Label19.Text = "Keterangan" ' 'txtKeterangan ' Me.txtKeterangan.Location = New System.Drawing.Point(152, 368) Me.txtKeterangan.Name = "txtKeterangan" Me.txtKeterangan.Size = New System.Drawing.Size(144, 20)
Me.txtKeterangan.TabIndex = 40 Me.txtKeterangan.Text = "" ' 'Label20 ' Me.Label20.Location = New System.Drawing.Point(576, 416) Me.Label20.Name = "Label20" Me.Label20.Size = New System.Drawing.Size(88, 24) Me.Label20.TabIndex = 41 Me.Label20.Text = "Harga Jual" ' 'txtHarga ' Me.txtHarga.Location = New System.Drawing.Point(576, 448) Me.txtHarga.Name = "txtHarga" Me.txtHarga.Size = New System.Drawing.Size(80, 20) Me.txtHarga.TabIndex = 42 Me.txtHarga.Text = "" ' 'ListView2 ' Me.ListView2.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader8, Me.ColumnHeader9, Me.ColumnHeader10, Me.ColumnHeader11, Me.ColumnHeader12, Me.ColumnHeader13, Me.ColumnHeader14, Me.ColumnHeader15}) Me.ListView2.FullRowSelect = True Me.ListView2.GridLines = True Me.ListView2.Location = New System.Drawing.Point(16, 488) Me.ListView2.Name = "ListView2" Me.ListView2.Size = New System.Drawing.Size(736, 80) Me.ListView2.TabIndex = 43 Me.ListView2.View = System.Windows.Forms.View.Details ' 'ColumnHeader8 ' Me.ColumnHeader8.Text = "No. Batch"
Me.ColumnHeader8.Width = 97 ' 'ColumnHeader9 ' Me.ColumnHeader9.Text = "Kode Obat" Me.ColumnHeader9.Width = 104 ' 'ColumnHeader10 ' Me.ColumnHeader10.Text = "Nama Obat" Me.ColumnHeader10.Width = 134 ' 'ColumnHeader11 ' Me.ColumnHeader11.Text = "Jenis" ' 'ColumnHeader12 ' Me.ColumnHeader12.Text = "Jumlah Kirim" Me.ColumnHeader12.Width = 77 ' 'ColumnHeader13 ' Me.ColumnHeader13.Text = "Satuan" ' 'ColumnHeader14 ' Me.ColumnHeader14.Text = "Harga Jual" Me.ColumnHeader14.Width = 103 ' 'ColumnHeader15 ' Me.ColumnHeader15.Text = "Keterangan" Me.ColumnHeader15.Width = 93 ' 'btnTambah ' Me.btnTambah.Location = New System.Drawing.Point(680, 432) Me.btnTambah.Name = "btnTambah" Me.btnTambah.Size = New System.Drawing.Size(80, 32) Me.btnTambah.TabIndex = 44
Me.btnTambah.Text = "Tambah" ' 'btnBaru ' Me.btnBaru.Location = New System.Drawing.Point(320, 304) Me.btnBaru.Name = "btnBaru" Me.btnBaru.Size = New System.Drawing.Size(88, 32) Me.btnBaru.TabIndex = 45 Me.btnBaru.Text = "Baru SJ" ' 'btnSimpan ' Me.btnSimpan.Location = New System.Drawing.Point(408, 304) Me.btnSimpan.Name = "btnSimpan" Me.btnSimpan.Size = New System.Drawing.Size(88, 32) Me.btnSimpan.TabIndex = 46 Me.btnSimpan.Text = "Simpan" ' 'btnBatal ' Me.btnBatal.Location = New System.Drawing.Point(496, 304) Me.btnBatal.Name = "btnBatal" Me.btnBatal.Size = New System.Drawing.Size(88, 32) Me.btnBatal.TabIndex = 47 Me.btnBatal.Text = "Batal SJ" ' 'btnCetak ' Me.btnCetak.Location = New System.Drawing.Point(584, 304) Me.btnCetak.Name = "btnCetak" Me.btnCetak.Size = New System.Drawing.Size(88, 32) Me.btnCetak.TabIndex = 48 Me.btnCetak.Text = "Cetak" ' 'btnKeluar ' Me.btnKeluar.Location = New System.Drawing.Point(672, 304) Me.btnKeluar.Name = "btnKeluar"
Me.btnKeluar.Size = New System.Drawing.Size(88, 32) Me.btnKeluar.TabIndex = 49 Me.btnKeluar.Text = "Keluar" ' 'FrmSJ ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(816, 599) Me.Controls.Add(Me.btnKeluar) Me.Controls.Add(Me.btnCetak) Me.Controls.Add(Me.btnBatal) Me.Controls.Add(Me.btnSimpan) Me.Controls.Add(Me.btnBaru) Me.Controls.Add(Me.btnTambah) Me.Controls.Add(Me.ListView2) Me.Controls.Add(Me.txtHarga) Me.Controls.Add(Me.txtKeterangan) Me.Controls.Add(Me.txtNm_Supir) Me.Controls.Add(Me.txtSatuan) Me.Controls.Add(Me.txtJml_Psn) Me.Controls.Add(Me.txtJenis) Me.Controls.Add(Me.txtNm_Obat) Me.Controls.Add(Me.txtKd_Obat) Me.Controls.Add(Me.txtNo_Batch) Me.Controls.Add(Me.txtTgl_Faktur) Me.Controls.Add(Me.txtTgl_Sj) Me.Controls.Add(Me.txtNm_Kendaraan) Me.Controls.Add(Me.txtAlamat) Me.Controls.Add(Me.txtNm_Pelanggan) Me.Controls.Add(Me.txtNo_Sp) Me.Controls.Add(Me.txtNo_Sj) Me.Controls.Add(Me.Label20) Me.Controls.Add(Me.Label19) Me.Controls.Add(Me.cmbKd_Supir) Me.Controls.Add(Me.cmbNo_Pol) Me.Controls.Add(Me.cmbNo_Faktur) Me.Controls.Add(Me.Label18) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.Label17) Me.Controls.Add(Me.Label16) Me.Controls.Add(Me.Label15) Me.Controls.Add(Me.Label14)
Me.Controls.Add(Me.Label13) Me.Controls.Add(Me.Label12) Me.Controls.Add(Me.Label11) Me.Controls.Add(Me.Label10) Me.Controls.Add(Me.Label9) Me.Controls.Add(Me.Label8) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmSJ" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Surat Jalan" Me.ResumeLayout(False) End Sub #End Region Private objFaktur As New AccessDataTransaksi.clsFaktur Private objCtrlSJ As New AccessDataControl.clsCtrlSJ Private objDetilSJ As New AccessDataTransaksi.clsDetilSJ Private objsp As New AccessDataTransaksi.clsSP Private objbatch As New AccessDataMaster.clsBatch Private objSJ As New AccessDataTransaksi.clsSJ Private objpelanggan As New AccessDataMaster.clsPelanggan Private objsupir As New AccessDataMaster.clsSupir Private objkendaraan As New AccessDataMaster.clsKendaraan Dim fcetaksj As FrmCetakSJ Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click End Sub Private Sub ListView2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView2.SelectedIndexChanged
End Sub Private Sub FrmSJ_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load objFaktur.isiNoFaktur(cmbNo_Faktur) objkendaraan.isiKdKendaraan(cmbNo_Pol) objsupir.isiKdSupir(cmbKd_Supir) ButtonBaruSJ() textDisabled(Me) bersih(Me) ListView1.Items.Clear() ListView2.Items.Clear() End Sub Private Sub cmbNo_Faktur_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbNo_Faktur.SelectedIndexChanged objFaktur.atNoFaktur = Me.cmbNo_Faktur.Text objFaktur.TampilDataFaktur() txtTgl_Faktur.Text = objFaktur.attglFaktur txtNo_Sp.Text = objFaktur.atNoSP 'objFaktur.isiTabelFaktur(ListView1) End Sub Private Sub txtNo_Sp_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNo_Sp.TextChanged objsp.atNoSP = Me.txtNo_Sp.Text objsp.TampilDataSP() objFaktur.isiTabelFaktur(ListView1) objpelanggan.atKdPelanggan = objsp.atKdPelanggan objpelanggan.TampilDataPelanggan() txtNm_Pelanggan.Text = objpelanggan.atNamaPelanggan txtAlamat.Text = objpelanggan.atAlamatPelanggan End Sub Private Sub cmbNo_Pol_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbNo_Pol.SelectedIndexChanged objkendaraan.atNoPol = Me.cmbNo_Pol.Text
objkendaraan.TampilDataKendaraan() txtNm_Kendaraan.Text = objkendaraan.atNmKendaraan End Sub Private Sub cmbKd_Supir_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbKd_Supir.SelectedIndexChanged objsupir.atKdSupir = Me.cmbKd_Supir.Text objsupir.TampilDataSupir() txtNm_Supir.Text = objsupir.atNmSupir End Sub Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick txtNo_Batch.Text = ListView1.FocusedItem.SubItems(0).Text txtKd_Obat.Text = ListView1.FocusedItem.SubItems(1).Text txtNm_Obat.Text = ListView1.FocusedItem.SubItems(2).Text txtJenis.Text = ListView1.FocusedItem.SubItems(3).Text txtSatuan.Text = ListView1.FocusedItem.SubItems(5).Text txtHarga.Text = ListView1.FocusedItem.SubItems(6).Text txtJml_Psn.Text = "" txtJml_Psn.Focus() End Sub Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged End Sub Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click objSJ.atNoFaktur = cmbNo_Faktur.Text objSJ.atNoBatch = txtNo_Batch.Text If txtNo_Batch.Text = "" Then
MsgBox("No Batch Harus Di'isi", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "Info") ElseIf txtJml_Psn.Text = "" Then MsgBox("Jumlah Kirim Harus Di'isi", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "Info") Else 'MsgBox("'" & objSJ.adaFakturSJ & "'") If objSJ.adaFakturSJ = False Then objSJ.atNoFaktur = cmbNo_Faktur.Text objSJ.atNoBatch = txtNo_Batch.Text objSJ.getJumlahPesan() If objSJ.atJumlahPesan < Val(txtJml_Psn.Text) Then MsgBox("Jumlah Kirim Lebih Banyak Dari Jumlah Pesan.", MsgBoxStyle.Information, "Info") txtJml_Psn.Focus() Exit Sub End If ElseIf objSJ.adaFakturSJ = True Then objCtrlSJ.atNoFaktur = cmbNo_Faktur.Text objCtrlSJ.atNoBatch = txtNo_Batch.Text objSJ.atNoFaktur = cmbNo_Faktur.Text objSJ.atNoBatch = txtNo_Batch.Text objSJ.getJumlahPesan() objCtrlSJ.getJumlahKirim() Dim SisaKirim As Integer SisaKirim = objSJ.atJumlahPesan - objCtrlSJ.atTotalKirim If SisaKirim < Val(txtJml_Psn.Text) Then MsgBox("Jumlah Kirim Lebih Banyak Dari Sisa Kirim. '" & SisaKirim & "'", MsgBoxStyle.Information, "Info") txtJml_Psn.Focus() Exit Sub End If End If With objCtrlSJ .atNoBatch = txtNo_Batch.Text .atKdObat = txtKd_Obat.Text .atNmObat = txtNm_Obat.Text .atJenis = txtJenis.Text
.atJmlPsn = txtJml_Psn.Text .atSatuan = txtSatuan.Text .atHarga = txtHarga.Text .atKeterangan = txtKeterangan.Text End With objCtrlSJ.IsiSJ() 'objCtrlSJ.getStock() Dim item As New ListViewItem item.Text = objCtrlSJ.atNoBatch item.SubItems.Add(objCtrlSJ.atKdObat) item.SubItems.Add(objCtrlSJ.atNmObat) item.SubItems.Add(objCtrlSJ.atJenis) item.SubItems.Add(objCtrlSJ.atJmlPsn) item.SubItems.Add(objCtrlSJ.atSatuan) item.SubItems.Add(objCtrlSJ.atHarga) item.SubItems.Add(objCtrlSJ.atKeterangan) 'item.SubItems.Add(objsp.atTotal) ListView2.Items.AddRange(New ListViewItem() {item}) textBersihDetilSJ() btnSimpan.Enabled = True End If End Sub Private Sub btnBaru_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBaru.Click objSJ.AutoCodeSJ(txtNo_Sj) txtTgl_Sj.Text = Format(Now, "dd/MM/yyyy") ButtonNormalsj() textEnabled(Me) textDisableSJ() End Sub Private Sub ButtonBaruSJ() btnTambah.Enabled = False btnCetak.Enabled = False btnSimpan.Enabled = False btnBatal.Enabled = False btnBaru.Enabled = True btnKeluar.Enabled = True End Sub Private Sub ButtonNormalSJ() btnTambah.Enabled = True
btnCetak.Enabled = False 'btnSimpan.Enabled = True btnBatal.Enabled = True btnBaru.Enabled = False btnKeluar.Enabled = False End Sub Private Sub textBersihDetilSJ() txtNo_Batch.Text = "" txtKd_Obat.Text = "" txtNm_Obat.Text = "" txtSatuan.Text = "" txtJenis.Text = "" txtHarga.Text = "" txtJml_Psn.Text = "" 'txtTotal.Text = "" End Sub Private Sub textDisableSJ() txtNo_Sj.Enabled = False txtNo_Sp.Enabled = False txtNm_Pelanggan.Enabled = False txtAlamat.Enabled = False txtNm_Kendaraan.Enabled = False txtNm_Supir.Enabled = False txtTgl_Sj.Enabled = False txtTgl_Faktur.Enabled = False txtNo_Batch.Enabled = False txtKd_Obat.Enabled = False txtNm_Obat.Enabled = False txtJenis.Enabled = False txtSatuan.Enabled = False txtHarga.Enabled = False End Sub Private Sub btnSimpan_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSimpan.Click If ListView2.Items.Count = 0 Then MsgBox("Detail Surat Jalan Harus Di'isi", MsgBoxStyle.Information, "Info") Else objCtrlSJ.atNoSJ = txtNo_Sj.Text objCtrlSJ.attglSJ = txtTgl_Sj.Text objCtrlSJ.atKdSupir = cmbKd_Supir.Text objCtrlSJ.atNoPol = cmbNo_Pol.Text
objCtrlSJ.atNoFaktur = cmbNo_Faktur.Text objCtrlSJ.simpanDetilSJ() objSJ.updateStock(ListView2) 'objCtrlSJ.UpdateStock() ButtonBaruSJ() btnCetak.Enabled = True 'bersih(Me) 'textDisabled(Me) ListView1.Items.Clear() ListView2.Items.Clear() End If End Sub Private Sub btnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCetak.Click fcetaksj = New FrmCetakSJ fcetaksj.ShowDialog() btnBatal.Enabled = True btnBatal.PerformClick() btnBatal.Enabled = False End Sub Private Sub txtJml_Psn_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtJml_Psn.TextChanged 'If Len(txtJml_Psn.Text) = 0 Then txtJml_Psn.Text = "" : Exit Sub 'If Val(txtJml_Psn.Text) <= 0 Then txtJml_Psn.Text = "" : Exit Sub 'If Val(txtJml_Psn.Text) > Val(listview1.Items..Text) Then txtJml_Psn.Text = "" : MsgBox("Jumlah Pesanan melebihi Stok", MsgBoxStyle.Information, "Info") : Exit Sub End Sub Private Sub txtSatuan_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSatuan.TextChanged End Sub
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click ButtonBaruSJ() bersih(Me) ListView1.Items.Clear() ListView2.Items.Clear() textDisabled(Me) txtNm_Pelanggan.Text = "" txtAlamat.Text = "" End Sub Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click Me.Dispose() End Sub End Class Entry Retur Public Class frmRetur Inherits System.Windows.Forms.Form Private objRetur As New AccessDataTransaksi.clsRetur Private objCtrlRetur As New AccessDataControl.clsCtrlRetur Private objSJ As New AccessDataTransaksi.clsSJ Private objfaktur As New AccessDataTransaksi.clsFaktur Dim fCetakRetur As FrmCetakRetur #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call
End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents Label7 As System.Windows.Forms.Label Friend WithEvents Label8 As System.Windows.Forms.Label Friend WithEvents Label9 As System.Windows.Forms.Label Friend WithEvents Label10 As System.Windows.Forms.Label
Friend WithEvents Label11 As System.Windows.Forms.Label Friend WithEvents Label12 As System.Windows.Forms.Label Friend WithEvents Label13 As System.Windows.Forms.Label Friend WithEvents Label14 As System.Windows.Forms.Label Friend WithEvents Label15 As System.Windows.Forms.Label Friend WithEvents ListView2 As System.Windows.Forms.ListView Friend WithEvents ColumnHeader7 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader8 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader9 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader10 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader11 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader12 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader13 As System.Windows.Forms.ColumnHeader Friend WithEvents cmbNo_Sj As System.Windows.Forms.ComboBox Friend WithEvents txtNo_Retur As System.Windows.Forms.TextBox Friend WithEvents txtNo_Pol As System.Windows.Forms.TextBox Friend WithEvents txtNo_Faktur As System.Windows.Forms.TextBox Friend WithEvents txtNo_Batch As System.Windows.Forms.TextBox Friend WithEvents txtKd_Obat As System.Windows.Forms.TextBox Friend WithEvents txtNm_Obat As System.Windows.Forms.TextBox Friend WithEvents txtTgl_Retur As System.Windows.Forms.TextBox
Friend WithEvents txtTgl_Sj As System.Windows.Forms.TextBox Friend WithEvents txtSatuan As System.Windows.Forms.TextBox Friend WithEvents txtHarga As System.Windows.Forms.TextBox Friend WithEvents btnBaru As System.Windows.Forms.Button Friend WithEvents btnSimpan As System.Windows.Forms.Button Friend WithEvents btnBatal As System.Windows.Forms.Button Friend WithEvents btnCetak As System.Windows.Forms.Button Friend WithEvents btnKeluar As System.Windows.Forms.Button Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader5 As System.Windows.Forms.ColumnHeader Friend WithEvents ColumnHeader6 As System.Windows.Forms.ColumnHeader Friend WithEvents ListView1 As System.Windows.Forms.ListView Friend WithEvents btnTambah As System.Windows.Forms.Button Friend WithEvents txtKeterangan As System.Windows.Forms.TextBox Friend WithEvents txtTotal As System.Windows.Forms.TextBox Friend WithEvents ColumnHeader14 As System.Windows.Forms.ColumnHeader Friend WithEvents txtJml_kembali As System.Windows.Forms.TextBox <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.Label7 = New System.Windows.Forms.Label Me.Label8 = New System.Windows.Forms.Label Me.Label9 = New System.Windows.Forms.Label Me.Label10 = New System.Windows.Forms.Label Me.Label11 = New System.Windows.Forms.Label Me.Label12 = New System.Windows.Forms.Label Me.Label13 = New System.Windows.Forms.Label Me.Label14 = New System.Windows.Forms.Label Me.Label15 = New System.Windows.Forms.Label Me.cmbNo_Sj = New System.Windows.Forms.ComboBox Me.txtNo_Retur = New System.Windows.Forms.TextBox Me.txtNo_Pol = New System.Windows.Forms.TextBox Me.txtNo_Faktur = New System.Windows.Forms.TextBox Me.txtNo_Batch = New System.Windows.Forms.TextBox Me.txtKd_Obat = New System.Windows.Forms.TextBox Me.txtNm_Obat = New System.Windows.Forms.TextBox Me.txtTgl_Retur = New System.Windows.Forms.TextBox Me.txtTgl_Sj = New System.Windows.Forms.TextBox Me.txtKeterangan = New System.Windows.Forms.TextBox Me.txtJml_kembali = New System.Windows.Forms.TextBox Me.txtSatuan = New System.Windows.Forms.TextBox Me.txtHarga = New System.Windows.Forms.TextBox Me.ListView2 = New System.Windows.Forms.ListView Me.ColumnHeader7 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader8 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader9 = New System.Windows.Forms.ColumnHeader
Me.ColumnHeader10 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader11 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader12 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader13 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader14 = New System.Windows.Forms.ColumnHeader Me.txtTotal = New System.Windows.Forms.TextBox Me.btnBaru = New System.Windows.Forms.Button Me.btnSimpan = New System.Windows.Forms.Button Me.btnBatal = New System.Windows.Forms.Button Me.btnCetak = New System.Windows.Forms.Button Me.btnKeluar = New System.Windows.Forms.Button Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader5 = New System.Windows.Forms.ColumnHeader Me.ColumnHeader6 = New System.Windows.Forms.ColumnHeader Me.ListView1 = New System.Windows.Forms.ListView Me.btnTambah = New System.Windows.Forms.Button Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(240, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(176, 32) Me.Label1.TabIndex = 0
Me.Label1.Text = "FORM RETUR" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(16, 72) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(104, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "No. Retur" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(16, 104) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(104, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "No. Surat Jalan" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(16, 136) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(104, 24) Me.Label4.TabIndex = 3 Me.Label4.Text = "No. Polisi" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(16, 168) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(104, 24) Me.Label5.TabIndex = 4 Me.Label5.Text = "No. Faktur" ' 'Label6 ' Me.Label6.Location = New System.Drawing.Point(16, 328) Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(104, 24) Me.Label6.TabIndex = 5 Me.Label6.Text = "No.Batch" ' 'Label7 ' Me.Label7.Location = New System.Drawing.Point(16, 360) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(104, 24) Me.Label7.TabIndex = 6 Me.Label7.Text = "Kode Obat" ' 'Label8 ' Me.Label8.Location = New System.Drawing.Point(16, 392) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(104, 24) Me.Label8.TabIndex = 7 Me.Label8.Text = "Nama Obat" ' 'Label9 ' Me.Label9.Location = New System.Drawing.Point(368, 64) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(104, 24) Me.Label9.TabIndex = 8 Me.Label9.Text = "Tanggal Retur" ' 'Label10 ' Me.Label10.Location = New System.Drawing.Point(360, 96) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(120, 24) Me.Label10.TabIndex = 9 Me.Label10.Text = "Tanggal Surat Jalan" ' 'Label11 '
Me.Label11.Location = New System.Drawing.Point(344, 336) Me.Label11.Name = "Label11" Me.Label11.Size = New System.Drawing.Size(104, 24) Me.Label11.TabIndex = 10 Me.Label11.Text = "Jumlah Retur" ' 'Label12 ' Me.Label12.Location = New System.Drawing.Point(304, 152) Me.Label12.Name = "Label12" Me.Label12.Size = New System.Drawing.Size(104, 24) Me.Label12.TabIndex = 11 Me.Label12.Text = "Keterangan" ' 'Label13 ' Me.Label13.Location = New System.Drawing.Point(344, 368) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(104, 24) Me.Label13.TabIndex = 12 Me.Label13.Text = "Satuan" ' 'Label14 ' Me.Label14.Location = New System.Drawing.Point(344, 400) Me.Label14.Name = "Label14" Me.Label14.Size = New System.Drawing.Size(104, 24) Me.Label14.TabIndex = 13 Me.Label14.Text = "Harga Jual" ' 'Label15 ' Me.Label15.Location = New System.Drawing.Point(472, 568) Me.Label15.Name = "Label15" Me.Label15.Size = New System.Drawing.Size(80, 24) Me.Label15.TabIndex = 14 Me.Label15.Text = "Total" '
'cmbNo_Sj ' Me.cmbNo_Sj.Location = New System.Drawing.Point(128, 104) Me.cmbNo_Sj.Name = "cmbNo_Sj" Me.cmbNo_Sj.Size = New System.Drawing.Size(120, 21) Me.cmbNo_Sj.TabIndex = 15 ' 'txtNo_Retur ' Me.txtNo_Retur.Location = New System.Drawing.Point(128, 72) Me.txtNo_Retur.Name = "txtNo_Retur" Me.txtNo_Retur.Size = New System.Drawing.Size(120, 20) Me.txtNo_Retur.TabIndex = 17 Me.txtNo_Retur.Text = "" ' 'txtNo_Pol ' Me.txtNo_Pol.Location = New System.Drawing.Point(128, 136) Me.txtNo_Pol.Name = "txtNo_Pol" Me.txtNo_Pol.Size = New System.Drawing.Size(120, 20) Me.txtNo_Pol.TabIndex = 18 Me.txtNo_Pol.Text = "" ' 'txtNo_Faktur ' Me.txtNo_Faktur.Location = New System.Drawing.Point(128, 168) Me.txtNo_Faktur.Name = "txtNo_Faktur" Me.txtNo_Faktur.Size = New System.Drawing.Size(120, 20) Me.txtNo_Faktur.TabIndex = 19 Me.txtNo_Faktur.Text = "" ' 'txtNo_Batch ' Me.txtNo_Batch.Location = New System.Drawing.Point(128, 328)
Me.txtNo_Batch.Name = "txtNo_Batch" Me.txtNo_Batch.Size = New System.Drawing.Size(120, 20) Me.txtNo_Batch.TabIndex = 20 Me.txtNo_Batch.Text = "" ' 'txtKd_Obat ' Me.txtKd_Obat.Location = New System.Drawing.Point(128, 360) Me.txtKd_Obat.Name = "txtKd_Obat" Me.txtKd_Obat.Size = New System.Drawing.Size(120, 20) Me.txtKd_Obat.TabIndex = 21 Me.txtKd_Obat.Text = "" ' 'txtNm_Obat ' Me.txtNm_Obat.Location = New System.Drawing.Point(128, 392) Me.txtNm_Obat.Name = "txtNm_Obat" Me.txtNm_Obat.Size = New System.Drawing.Size(120, 20) Me.txtNm_Obat.TabIndex = 22 Me.txtNm_Obat.Text = "" ' 'txtTgl_Retur ' Me.txtTgl_Retur.Location = New System.Drawing.Point(496, 64) Me.txtTgl_Retur.Name = "txtTgl_Retur" Me.txtTgl_Retur.Size = New System.Drawing.Size(120, 20) Me.txtTgl_Retur.TabIndex = 23 Me.txtTgl_Retur.Text = "" ' 'txtTgl_Sj ' Me.txtTgl_Sj.Location = New System.Drawing.Point(496, 96) Me.txtTgl_Sj.Name = "txtTgl_Sj" Me.txtTgl_Sj.Size = New System.Drawing.Size(120, 20) Me.txtTgl_Sj.TabIndex = 24
Me.txtTgl_Sj.Text = "" ' 'txtKeterangan ' Me.txtKeterangan.Location = New System.Drawing.Point(424, 144) Me.txtKeterangan.Multiline = True Me.txtKeterangan.Name = "txtKeterangan" Me.txtKeterangan.ScrollBars = System.Windows.Forms.ScrollBars.Vertical Me.txtKeterangan.Size = New System.Drawing.Size(184, 64) Me.txtKeterangan.TabIndex = 25 Me.txtKeterangan.Text = "" ' 'txtJml_kembali ' Me.txtJml_kembali.Location = New System.Drawing.Point(464, 336) Me.txtJml_kembali.Name = "txtJml_kembali" Me.txtJml_kembali.Size = New System.Drawing.Size(120, 20) Me.txtJml_kembali.TabIndex = 26 Me.txtJml_kembali.Text = "" ' 'txtSatuan ' Me.txtSatuan.Location = New System.Drawing.Point(464, 368) Me.txtSatuan.Name = "txtSatuan" Me.txtSatuan.Size = New System.Drawing.Size(120, 20) Me.txtSatuan.TabIndex = 27 Me.txtSatuan.Text = "" ' 'txtHarga ' Me.txtHarga.Location = New System.Drawing.Point(464, 400) Me.txtHarga.Name = "txtHarga" Me.txtHarga.Size = New System.Drawing.Size(120, 20) Me.txtHarga.TabIndex = 28 Me.txtHarga.Text = "" '
'ListView2 ' Me.ListView2.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader7, Me.ColumnHeader8, Me.ColumnHeader9, Me.ColumnHeader10, Me.ColumnHeader11, Me.ColumnHeader12, Me.ColumnHeader13, Me.ColumnHeader14}) Me.ListView2.GridLines = True Me.ListView2.Location = New System.Drawing.Point(16, 464) Me.ListView2.Name = "ListView2" Me.ListView2.Size = New System.Drawing.Size(640, 97) Me.ListView2.TabIndex = 30 Me.ListView2.View = System.Windows.Forms.View.Details ' 'ColumnHeader7 ' Me.ColumnHeader7.Text = "No.Batch" ' 'ColumnHeader8 ' Me.ColumnHeader8.Text = "Kode Obat" Me.ColumnHeader8.Width = 75 ' 'ColumnHeader9 ' Me.ColumnHeader9.Text = "Nama Obat" Me.ColumnHeader9.Width = 77 ' 'ColumnHeader10 ' Me.ColumnHeader10.Text = "Jumlah Kembali" Me.ColumnHeader10.Width = 97 ' 'ColumnHeader11 ' Me.ColumnHeader11.Text = "Satuan" ' 'ColumnHeader12 '
Me.ColumnHeader12.Text = "Harga Jual" Me.ColumnHeader12.Width = 73 ' 'ColumnHeader13 ' Me.ColumnHeader13.Text = "Keterangan" Me.ColumnHeader13.Width = 122 ' 'ColumnHeader14 ' Me.ColumnHeader14.Text = "Jumlah" Me.ColumnHeader14.Width = 73 ' 'txtTotal ' Me.txtTotal.Location = New System.Drawing.Point(568, 568) Me.txtTotal.Name = "txtTotal" Me.txtTotal.Size = New System.Drawing.Size(88, 20) Me.txtTotal.TabIndex = 31 Me.txtTotal.Text = "" ' 'btnBaru ' Me.btnBaru.Location = New System.Drawing.Point(464, 216) Me.btnBaru.Name = "btnBaru" Me.btnBaru.TabIndex = 32 Me.btnBaru.Text = "Baru Retur" ' 'btnSimpan ' Me.btnSimpan.Location = New System.Drawing.Point(464, 248) Me.btnSimpan.Name = "btnSimpan" Me.btnSimpan.TabIndex = 33 Me.btnSimpan.Text = "Simpan" ' 'btnBatal ' Me.btnBatal.Location = New System.Drawing.Point(464, 288) Me.btnBatal.Name = "btnBatal"
Me.btnBatal.TabIndex = 34 Me.btnBatal.Text = "Batal Retur" ' 'btnCetak ' Me.btnCetak.Location = New System.Drawing.Point(552, 224) Me.btnCetak.Name = "btnCetak" Me.btnCetak.TabIndex = 35 Me.btnCetak.Text = "Cetak" ' 'btnKeluar ' Me.btnKeluar.Location = New System.Drawing.Point(552, 264) Me.btnKeluar.Name = "btnKeluar" Me.btnKeluar.TabIndex = 36 Me.btnKeluar.Text = "Keluar" ' 'ColumnHeader1 ' Me.ColumnHeader1.Text = "No.Batch" ' 'ColumnHeader2 ' Me.ColumnHeader2.Text = "Kode Obat" Me.ColumnHeader2.Width = 65 ' 'ColumnHeader3 ' Me.ColumnHeader3.Text = "Nama Obat" Me.ColumnHeader3.Width = 66 ' 'ColumnHeader4 ' Me.ColumnHeader4.Text = "Jumlah Kirim" Me.ColumnHeader4.Width = 80 ' 'ColumnHeader5 ' Me.ColumnHeader5.Text = "Satuan" Me.ColumnHeader5.Width = 78 '
'ColumnHeader6 ' Me.ColumnHeader6.Text = "Harga Jual" Me.ColumnHeader6.Width = 53 ' 'ListView1 ' Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6}) Me.ListView1.FullRowSelect = True Me.ListView1.GridLines = True Me.ListView1.Location = New System.Drawing.Point(24, 216) Me.ListView1.Name = "ListView1" Me.ListView1.Size = New System.Drawing.Size(408, 96) Me.ListView1.TabIndex = 37 Me.ListView1.View = System.Windows.Forms.View.Details ' 'btnTambah ' Me.btnTambah.Location = New System.Drawing.Point(600, 376) Me.btnTambah.Name = "btnTambah" Me.btnTambah.Size = New System.Drawing.Size(80, 32) Me.btnTambah.TabIndex = 45 Me.btnTambah.Text = "Tambah" ' 'frmRetur ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(768, 624) Me.Controls.Add(Me.btnTambah) Me.Controls.Add(Me.ListView1) Me.Controls.Add(Me.btnKeluar) Me.Controls.Add(Me.btnCetak) Me.Controls.Add(Me.btnBatal)
Me.Controls.Add(Me.btnSimpan) Me.Controls.Add(Me.btnBaru) Me.Controls.Add(Me.txtTotal) Me.Controls.Add(Me.ListView2) Me.Controls.Add(Me.txtHarga) Me.Controls.Add(Me.txtSatuan) Me.Controls.Add(Me.txtJml_kembali) Me.Controls.Add(Me.txtKeterangan) Me.Controls.Add(Me.txtTgl_Sj) Me.Controls.Add(Me.txtTgl_Retur) Me.Controls.Add(Me.txtNm_Obat) Me.Controls.Add(Me.txtKd_Obat) Me.Controls.Add(Me.txtNo_Batch) Me.Controls.Add(Me.txtNo_Faktur) Me.Controls.Add(Me.txtNo_Pol) Me.Controls.Add(Me.txtNo_Retur) Me.Controls.Add(Me.cmbNo_Sj) Me.Controls.Add(Me.Label15) Me.Controls.Add(Me.Label14) Me.Controls.Add(Me.Label13) Me.Controls.Add(Me.Label12) Me.Controls.Add(Me.Label11) Me.Controls.Add(Me.Label10) Me.Controls.Add(Me.Label9) Me.Controls.Add(Me.Label8) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "frmRetur" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Retur" Me.ResumeLayout(False) End Sub #End Region
Private Sub FrmRetur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load objSJ.isiNoSJ(cmbNo_Sj) 'objkendaraan.isiKdKendaraan(cmbNo_Pol) 'objsupir.isiKdSupir(cmbKd_Supir) ButtonBaruRetur() textDisabled(Me) bersih(Me) ListView1.Items.Clear() ListView2.Items.Clear() End Sub Private Sub cmbNo_Sj_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbNo_Sj.SelectedIndexChanged objSJ.atNoSJ = Me.cmbNo_Sj.Text objSJ.TampilDataSJ() txtTgl_Sj.Text = objSJ.attglSJ txtNo_Faktur.Text = objSJ.atNoFaktur txtNo_Pol.Text = objSJ.atNoPol cmbNo_Sj.Text = objSJ.atNoSJ objSJ.isiTabelSJ(ListView1, cmbNo_Sj) 'objFaktur.atNoFaktur = Me.cmbNo_Faktur.Text 'objFaktur.TampilDataFaktur() 'txtTgl_Faktur.Text = objFaktur.attglFaktur 'txtNo_Sp.Text = objFaktur.atNoSP 'objFaktur.isiTabelFaktur(ListView1) End Sub Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick txtNo_Batch.Text = ListView1.FocusedItem.SubItems(0).Text txtKd_Obat.Text = ListView1.FocusedItem.SubItems(1).Text txtNm_Obat.Text = ListView1.FocusedItem.SubItems(2).Text 'txtJenis.Text = ListView1.FocusedItem.SubItems(3).Text
txtSatuan.Text = ListView1.FocusedItem.SubItems(4).Text txtHarga.Text = ListView1.FocusedItem.SubItems(5).Text txtJml_kembali.Text = "" txtJml_kembali.Focus() End Sub Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambah.Click objRetur.atNoSJ = cmbNo_Sj.Text objRetur.atNoBatch = txtNo_Batch.Text If txtNo_Batch.Text = "" Then MsgBox("No Batch Harus Di'isi", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "Info") ElseIf txtJml_kembali.Text = "" Then MsgBox("Jumlah Kembali Harus Di'isi", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "Info") Else If objRetur.adaSJRetur = False Then objRetur.atNoSJ = cmbNo_Sj.Text objRetur.atNoBatch = txtNo_Batch.Text objRetur.getJumlahKirim() If objRetur.atJmlKirim < Val(txtJml_kembali.Text) Then MsgBox("'" & objRetur.atJmlKirim & "'") MsgBox("Jumlah Kembali Lebih Banyak Dari Jumlah Kirim.", MsgBoxStyle.Information, "Info") txtJml_kembali.Focus() Exit Sub End If ElseIf objRetur.adaSJRetur = True Then objCtrlRetur.atNoSJ = cmbNo_Sj.Text objCtrlRetur.atNoBatch = txtNo_Batch.Text objRetur.atNoSJ = cmbNo_Sj.Text objRetur.atNoBatch = txtNo_Batch.Text objRetur.getJumlahKirim() objCtrlRetur.getjumlahkembali() Dim SisaKembali As Integer SisaKembali = objRetur.atJmlKirim - objCtrlRetur.atTotalKembali
If SisaKembali < Val(txtJml_kembali.Text) Then MsgBox("Jumlah Kembali Lebih Banyak Dari Sisa Kirim. '" & SisaKembali & "'", MsgBoxStyle.Information, "Info") txtJml_kembali.Focus() Exit Sub End If End If With objCtrlRetur .atNoBatch = txtNo_Batch.Text .atKdObat = txtKd_Obat.Text .atNmObat = txtNm_Obat.Text '.atJenis = txtJenis.Text .atJmlKembali = txtJml_kembali.Text .atSatuan = txtSatuan.Text .atHarga = txtHarga.Text .atKeterangan = txtKeterangan.Text .atJumlah = CDbl(txtJml_kembali.Text) * CDbl(txtHarga.Text) '.atTotal = txtTotal.Text End With objCtrlRetur.IsiRetur() Dim item As New ListViewItem item.Text = objCtrlRetur.atNoBatch item.SubItems.Add(objCtrlRetur.atKdObat) item.SubItems.Add(objCtrlRetur.atNmObat) item.SubItems.Add(objCtrlRetur.atJmlKembali) item.SubItems.Add(objCtrlRetur.atSatuan) item.SubItems.Add(objCtrlRetur.atHarga) item.SubItems.Add(objCtrlRetur.atKeterangan) item.SubItems.Add(objCtrlRetur.atJumlah) 'MsgBox("'" & objCtrlRetur.atJumlah & "'") 'item.SubItems.Add(CDbl(objCtrlRetur.atJmlKembali) * CDbl(objCtrlRetur.atHarga)) 'item.SubItems.Add(objsp.atTotal) ListView2.Items.AddRange(New ListViewItem() {item}) textBersihDetilRetur() End If End Sub
Private Sub btnBaru_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBaru.Click objRetur.AutoCodeRetur(txtNo_Retur) txtTgl_Retur.Text = Format(Now, "dd/MM/yyyy") ButtonNormalretur() textEnabled(Me) textDisableRetur() End Sub Private Sub ButtonBaruRetur() btnTambah.Enabled = False btnCetak.Enabled = False btnSimpan.Enabled = False btnBatal.Enabled = False btnBaru.Enabled = True btnKeluar.Enabled = True End Sub Private Sub ButtonNormalRetur() btnTambah.Enabled = True btnCetak.Enabled = False btnSimpan.Enabled = True btnBatal.Enabled = True btnBaru.Enabled = False btnKeluar.Enabled = False End Sub Private Sub textBersihDetilRetur() txtNo_Batch.Text = "" txtKd_Obat.Text = "" txtNm_Obat.Text = "" txtSatuan.Text = "" txtHarga.Text = "" txtJml_kembali.Text = "" 'txtTotal.Text = "" End Sub Private Sub textDisableRetur() txtNo_Retur.Enabled = False txtNo_Pol.Enabled = False txtNo_Faktur.Enabled = False txtTgl_Retur.Enabled = False txtTgl_Sj.Enabled = False txtNo_Batch.Enabled = False txtKd_Obat.Enabled = False txtNm_Obat.Enabled = False txtSatuan.Enabled = False
txtHarga.Enabled = False End Sub Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click If ListView2.Items.Count = 0 Then MsgBox("Detail Retur Harus Di'isi", MsgBoxStyle.Information, "Info") Else objCtrlRetur.atNoRetur = txtNo_Retur.Text objCtrlRetur.atTglRetur = txtTgl_Retur.Text objCtrlRetur.atNoSJ = cmbNo_Sj.Text objCtrlRetur.simpanKembali() 'objSP.UpdateStock() ButtonBaruRetur() btnCetak.Enabled = True textDisabled(Me) ListView1.Items.Clear() ListView2.Items.Clear() End If End Sub Private Sub btnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCetak.Click fCetakRetur = New FrmCetakRetur fCetakRetur.ShowDialog() End Sub Private Sub txtNo_Faktur_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNo_Faktur.TextChanged End Sub Private Sub txtNo_Batch_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNo_Batch.TextChanged End Sub
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click ButtonBaruRetur() bersih(Me) ListView1.Items.Clear() ListView2.Items.Clear() textDisabled(Me) End Sub Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click Me.Dispose() End Sub End Class Cetak Laporan Penjualan Public Class FrmLapPenjualan Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If
End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker Friend WithEvents CmdKeluar As System.Windows.Forms.Button Friend WithEvents CmdCetak As System.Windows.Forms.Button <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker Me.CmdKeluar = New System.Windows.Forms.Button Me.CmdCetak = New System.Windows.Forms.Button Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(160, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(240, 40) Me.Label1.TabIndex = 0 Me.Label1.Text = "LAPORAN PENJUALAN" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(64, 120) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(80, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "Tanggal Awal" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(280, 120) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(80, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Tanggal Akhir" ' 'DateTimePicker1 ' Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy" Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom Me.DateTimePicker1.Location = New System.Drawing.Point(152, 120) Me.DateTimePicker1.Name = "DateTimePicker1" Me.DateTimePicker1.Size = New System.Drawing.Size(88, 20) Me.DateTimePicker1.TabIndex = 5 Me.DateTimePicker1.Value = New Date(2009, 3, 3, 0, 0, 0, 0) ' 'DateTimePicker2 '
Me.DateTimePicker2.CustomFormat = "dd/MM/yyyy" Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.Custom Me.DateTimePicker2.Location = New System.Drawing.Point(376, 120) Me.DateTimePicker2.Name = "DateTimePicker2" Me.DateTimePicker2.Size = New System.Drawing.Size(104, 20) Me.DateTimePicker2.TabIndex = 6 Me.DateTimePicker2.Value = New Date(2009, 3, 3, 0, 0, 0, 0) ' 'CmdKeluar ' Me.CmdKeluar.Location = New System.Drawing.Point(288, 208) Me.CmdKeluar.Name = "CmdKeluar" Me.CmdKeluar.Size = New System.Drawing.Size(96, 32) Me.CmdKeluar.TabIndex = 8 Me.CmdKeluar.Text = "Keluar" ' 'CmdCetak ' Me.CmdCetak.Location = New System.Drawing.Point(144, 208) Me.CmdCetak.Name = "CmdCetak" Me.CmdCetak.Size = New System.Drawing.Size(96, 32) Me.CmdCetak.TabIndex = 7 Me.CmdCetak.Text = "Cetak" ' 'FrmLapPenjualan ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(568, 286) Me.Controls.Add(Me.CmdKeluar) Me.Controls.Add(Me.CmdCetak) Me.Controls.Add(Me.DateTimePicker2) Me.Controls.Add(Me.DateTimePicker1) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1)
Me.Name = "FrmLapPenjualan" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Laporan Penjualan" Me.ResumeLayout(False) End Sub #End Region Dim fCetakLapPenjualan As FrmCetakLapPenjualan Dim objobat As New AccessDataMaster.clsObat Private Sub CmdCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCetak.Click Dim fcetaklappenjualan = New FrmCetakLapPenjualan fCetakLapPenjualan.ShowDialog() End Sub Private Sub CmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdKeluar.Click Me.Dispose() End Sub Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click End Sub Private Sub FrmLapPenjualan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class Cetak Laporan Pesanan Public Class FrmLapPesanan
Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker
Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker Friend WithEvents CmdCetak As System.Windows.Forms.Button Friend WithEvents CmdKeluar As System.Windows.Forms.Button <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.CmdCetak = New System.Windows.Forms.Button Me.CmdKeluar = New System.Windows.Forms.Button Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(168, 24) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(216, 40) Me.Label1.TabIndex = 0 Me.Label1.Text = "LAPORAN PESANAN" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(64, 120) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(80, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "Tanggal Awal" ' 'Label3 '
Me.Label3.Location = New System.Drawing.Point(280, 120) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(80, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Tanggal Akhir" ' 'CmdCetak ' Me.CmdCetak.Location = New System.Drawing.Point(152, 200) Me.CmdCetak.Name = "CmdCetak" Me.CmdCetak.Size = New System.Drawing.Size(96, 32) Me.CmdCetak.TabIndex = 3 Me.CmdCetak.Text = "Cetak" ' 'CmdKeluar ' Me.CmdKeluar.Location = New System.Drawing.Point(296, 200) Me.CmdKeluar.Name = "CmdKeluar" Me.CmdKeluar.Size = New System.Drawing.Size(96, 32) Me.CmdKeluar.TabIndex = 4 Me.CmdKeluar.Text = "Keluar" ' 'DateTimePicker1 ' Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy" Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom Me.DateTimePicker1.Location = New System.Drawing.Point(152, 120) Me.DateTimePicker1.Name = "DateTimePicker1" Me.DateTimePicker1.Size = New System.Drawing.Size(88, 20) Me.DateTimePicker1.TabIndex = 5 Me.DateTimePicker1.Value = New Date(2009, 3, 3, 0, 0, 0, 0) ' 'DateTimePicker2 ' Me.DateTimePicker2.CustomFormat = "dd/MM/yyyy"
Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.Custom Me.DateTimePicker2.Location = New System.Drawing.Point(376, 120) Me.DateTimePicker2.Name = "DateTimePicker2" Me.DateTimePicker2.Size = New System.Drawing.Size(104, 20) Me.DateTimePicker2.TabIndex = 6 Me.DateTimePicker2.Value = New Date(2009, 3, 3, 0, 0, 0, 0) ' 'FrmLapPesanan ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(568, 286) Me.Controls.Add(Me.DateTimePicker2) Me.Controls.Add(Me.DateTimePicker1) Me.Controls.Add(Me.CmdKeluar) Me.Controls.Add(Me.CmdCetak) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmLapPesanan" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Laporan Pesanan" Me.ResumeLayout(False) End Sub #End Region Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Dim fCetakLapPesanan As FrmCetakLapPesanan Private Sub CmdCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCetak.Click fCetakLapPesanan = New FrmCetakLapPesanan fCetakLapPesanan.ShowDialog()
End Sub Private Sub CmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdKeluar.Click Me.Dispose() End Sub End Class Cetak Laporan Retur Imports CrystalDecisions.CrystalReports.Engine Public Class FrmLapRetur Inherits System.Windows.Forms.Form Private objLaporanRetur As AccessDataLaporan.clsLapRetur #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub
'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents CmdKeluar As System.Windows.Forms.Button Friend WithEvents CmdCetak As System.Windows.Forms.Button Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.CmdKeluar = New System.Windows.Forms.Button Me.CmdCetak = New System.Windows.Forms.Button Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker Me.SuspendLayout() ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.Location = New System.Drawing.Point(160, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(240, 40) Me.Label1.TabIndex = 0 Me.Label1.Text = "LAPORAN RETUR" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(40, 120) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(80, 24) Me.Label2.TabIndex = 1 Me.Label2.Text = "Tanggal Awal" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(280, 112) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(80, 24) Me.Label3.TabIndex = 2 Me.Label3.Text = "Tanggal Akhir" ' 'CmdKeluar ' Me.CmdKeluar.Location = New System.Drawing.Point(312, 200) Me.CmdKeluar.Name = "CmdKeluar" Me.CmdKeluar.Size = New System.Drawing.Size(96, 32) Me.CmdKeluar.TabIndex = 8 Me.CmdKeluar.Text = "Keluar" ' 'CmdCetak ' Me.CmdCetak.Location = New System.Drawing.Point(168, 200) Me.CmdCetak.Name = "CmdCetak" Me.CmdCetak.Size = New System.Drawing.Size(96, 32) Me.CmdCetak.TabIndex = 7 Me.CmdCetak.Text = "Cetak"
' 'DateTimePicker2 ' Me.DateTimePicker2.CustomFormat = "dd/MM/yyyy" Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.Custom Me.DateTimePicker2.Location = New System.Drawing.Point(376, 112) Me.DateTimePicker2.Name = "DateTimePicker2" Me.DateTimePicker2.Size = New System.Drawing.Size(104, 20) Me.DateTimePicker2.TabIndex = 10 Me.DateTimePicker2.Value = New Date(2009, 3, 3, 0, 0, 0, 0) ' 'DateTimePicker1 ' Me.DateTimePicker1.CustomFormat = "dd/MM/yyyy" Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom Me.DateTimePicker1.Location = New System.Drawing.Point(152, 112) Me.DateTimePicker1.Name = "DateTimePicker1" Me.DateTimePicker1.Size = New System.Drawing.Size(88, 20) Me.DateTimePicker1.TabIndex = 9 Me.DateTimePicker1.Value = New Date(2009, 3, 3, 0, 0, 0, 0) ' 'FrmLapRetur ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(568, 286) Me.Controls.Add(Me.DateTimePicker2) Me.Controls.Add(Me.DateTimePicker1) Me.Controls.Add(Me.CmdKeluar) Me.Controls.Add(Me.CmdCetak) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "FrmLapRetur"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Laporan Retur" Me.ResumeLayout(False) End Sub #End Region Private objCetakLapRetur As New AccessDataLaporan.clsLapRetur Dim fCetakLapRetur As FrmCetakLapRetur 'Dim objRepdoc As ReportDocument Private Sub CmdCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCetak.Click fCetakLapRetur = New FrmCetakLapRetur fCetakLapRetur.ShowDialog() End Sub Private Sub CmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdKeluar.Click Me.Dispose() End Sub Private Sub FrmLapRetur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class Form Cetak Surat Pesanan Imports CrystalDecisions.CrystalReports.Engine Public Class FrmCetakSP Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New()
'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CrptCetakSp As CrystalDecisions.Windows.Forms.CrystalReportViewer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CrptCetakSp = New CrystalDecisions.Windows.Forms.CrystalReportViewer Me.SuspendLayout() ' 'CrptCetakSp ' Me.CrptCetakSp.ActiveViewIndex = -1 Me.CrptCetakSp.DisplayGroupTree = False Me.CrptCetakSp.Dock = System.Windows.Forms.DockStyle.Fill Me.CrptCetakSp.Location = New System.Drawing.Point(0, 0)
Me.CrptCetakSp.Name = "CrptCetakSp" Me.CrptCetakSp.ReportSource = Nothing Me.CrptCetakSp.Size = New System.Drawing.Size(552, 415) Me.CrptCetakSp.TabIndex = 1 ' 'FrmCetakSP ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(552, 415) Me.Controls.Add(Me.CrptCetakSp) Me.Name = "FrmCetakSP" Me.Text = "Cetak Surat Pesanan" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False) End Sub #End Region Private Sub FrmCetakSP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim objRepDoc As New ReportDocument objRepDoc.Load("..\Report\Crystal Report\Cetak_SP.rpt") CrptCetakSp.SelectionFormula = "{sp.No_SP}='" & fsp.txtNo_Sp.Text & "'" CrptCetakSp.RefreshReport() CrptCetakSp.ReportSource = objRepDoc End Sub End Class Form Cetak Faktur Imports CrystalDecisions.CrystalReports.Engine
Public Class FrmCetakFaktur Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CrptCetakFaktur As CrystalDecisions.Windows.Forms.CrystalReportViewer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CrptCetakFaktur = New CrystalDecisions.Windows.Forms.CrystalReportViewer Me.SuspendLayout() '
'CrptCetakFaktur ' Me.CrptCetakFaktur.ActiveViewIndex = -1 Me.CrptCetakFaktur.DisplayGroupTree = False Me.CrptCetakFaktur.Dock = System.Windows.Forms.DockStyle.Fill Me.CrptCetakFaktur.Location = New System.Drawing.Point(0, 0) Me.CrptCetakFaktur.Name = "CrptCetakFaktur" Me.CrptCetakFaktur.ReportSource = Nothing Me.CrptCetakFaktur.Size = New System.Drawing.Size(472, 375) Me.CrptCetakFaktur.TabIndex = 2 ' 'FrmCetakFaktur ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(472, 375) Me.Controls.Add(Me.CrptCetakFaktur) Me.Name = "FrmCetakFaktur" Me.Text = "Cetak Faktur" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False) End Sub #End Region Private Sub FrmCetakFaktur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim objRepDoc As New ReportDocument 'atNoSP = fsp.txtNo_Sp.Text 'MsgBox("'" & fFaktur.txtNo_Faktur.Text & "'") objRepDoc.Load("..\Report\Crystal Report\Cetak_Faktur.rpt") objRepDoc.SetParameterValue("Terbilang", fFaktur.txtTerbilang.Text) 'CrptCetakFaktur.SelectionFormula = "Terbilang='" & fFaktur.txtTerbilang.Text & "'"
CrptCetakFaktur.SelectionFormula = "{faktur.no_faktur}='" & fFaktur.txtNo_Faktur.Text & "'" CrptCetakFaktur.RefreshReport() CrptCetakFaktur.ReportSource = objRepDoc End Sub Private Sub CrptCetakFaktur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrptCetakFaktur.Load End Sub End Class Form Cetak Surat Jalan Imports CrystalDecisions.CrystalReports.Engine Public Class FrmCetakSJ Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing)
End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CrptCetakSJ As CrystalDecisions.Windows.Forms.CrystalReportViewer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CrptCetakSJ = New CrystalDecisions.Windows.Forms.CrystalReportViewer Me.SuspendLayout() ' 'CrptCetakSJ ' Me.CrptCetakSJ.ActiveViewIndex = -1 Me.CrptCetakSJ.DisplayGroupTree = False Me.CrptCetakSJ.Dock = System.Windows.Forms.DockStyle.Fill Me.CrptCetakSJ.Location = New System.Drawing.Point(0, 0) Me.CrptCetakSJ.Name = "CrptCetakSJ" Me.CrptCetakSJ.ReportSource = Nothing Me.CrptCetakSJ.Size = New System.Drawing.Size(520, 374) Me.CrptCetakSJ.TabIndex = 2 ' 'FrmCetakSJ ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(520, 374) Me.Controls.Add(Me.CrptCetakSJ) Me.Name = "FrmCetakSJ" Me.Text = "Cetak Surat Jalan" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False)
End Sub #End Region Private Sub FrmCetakSJ_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim objRepDoc As New ReportDocument objRepDoc.Load("..\Report\Crystal Report\Cetak_SJ.rpt") CrptCetakSJ.SelectionFormula = "{surat_jalan.No_SJ}='" & fSJ.txtNo_Sj.Text & "'" CrptCetakSJ.RefreshReport() CrptCetakSJ.ReportSource = objRepDoc End Sub End Class Form Cetak Retur Imports CrystalDecisions.CrystalReports.Engine Public Class FrmCetakRetur Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then
components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CrptCetakRetur As CrystalDecisions.Windows.Forms.CrystalReportViewer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CrptCetakRetur = New CrystalDecisions.Windows.Forms.CrystalReportViewer Me.SuspendLayout() ' 'CrptCetakRetur ' Me.CrptCetakRetur.ActiveViewIndex = -1 Me.CrptCetakRetur.DisplayGroupTree = False Me.CrptCetakRetur.Dock = System.Windows.Forms.DockStyle.Fill Me.CrptCetakRetur.Location = New System.Drawing.Point(0, 0) Me.CrptCetakRetur.Name = "CrptCetakRetur" Me.CrptCetakRetur.ReportSource = Nothing Me.CrptCetakRetur.Size = New System.Drawing.Size(472, 326) Me.CrptCetakRetur.TabIndex = 0 ' 'FrmCetakRetur ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(472, 326) Me.Controls.Add(Me.CrptCetakRetur) Me.Name = "FrmCetakRetur"
Me.Text = "Cetak Retur" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False) End Sub #End Region Private Sub FrmCetakRetur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim objRepDoc As New ReportDocument objRepDoc.Load("..\Report\Crystal Report\Cetak_Retur.rpt") CrptCetakRetur.SelectionFormula = "{retur.no_retur}='" & fRetur.txtNo_Retur.Text & "'" CrptCetakRetur.RefreshReport() CrptCetakRetur.ReportSource = objRepDoc End Sub End Class Form Cetak Laporan Penjualan Imports CrystalDecisions.CrystalReports.Engine Public Class FrmCetakLapPenjualan Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub
'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CrptCetakLapPenjualan As CrystalDecisions.Windows.Forms.CrystalReportViewer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CrptCetakLapPenjualan = New CrystalDecisions.Windows.Forms.CrystalReportViewer Me.SuspendLayout() ' 'CrptCetakLapPenjualan ' Me.CrptCetakLapPenjualan.ActiveViewIndex = -1 Me.CrptCetakLapPenjualan.DisplayGroupTree = False Me.CrptCetakLapPenjualan.Dock = System.Windows.Forms.DockStyle.Fill Me.CrptCetakLapPenjualan.Location = New System.Drawing.Point(0, 0) Me.CrptCetakLapPenjualan.Name = "CrptCetakLapPenjualan" Me.CrptCetakLapPenjualan.ReportSource = Nothing Me.CrptCetakLapPenjualan.Size = New System.Drawing.Size(496, 367) Me.CrptCetakLapPenjualan.TabIndex = 3 '
'FrmCetakLapPenjualan ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(496, 367) Me.Controls.Add(Me.CrptCetakLapPenjualan) Me.Name = "FrmCetakLapPenjualan" Me.Text = "Laporan Penjualan" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False) End Sub #End Region Dim objRepDoc As ReportDocument Private Sub FrmCetakLapPenjualan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load objRepDoc = New Laporan_Penjualan objRepDoc.RecordSelectionFormula = "{faktur.tgl_faktur}>= #" & _ Format(fLapPenjualan.DateTimePicker1.Value, "yyyy-MM-dd") & "# And {faktur.tgl_faktur}<= #" & _ Format(fLapPenjualan.DateTimePicker2.Value, "yyyy-MM-dd") & "#" objRepDoc.SetParameterValue("TglAwal", Format(fLapPenjualan.DateTimePicker1.Value, "dd/MM/yyyy")) objRepDoc.SetParameterValue("TglAkhir", Format(fLapPenjualan.DateTimePicker2.Value, "dd/MM/yyyy")) CrptCetakLapPenjualan.ReportSource = objRepDoc End Sub End Class Form Cetak Laporan Pesanan Imports CrystalDecisions.CrystalReports.Engine Public Class FrmCetakLapPesanan
Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CrptCetakLapPesanan As CrystalDecisions.Windows.Forms.CrystalReportViewer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CrptCetakLapPesanan = New CrystalDecisions.Windows.Forms.CrystalReportViewer Me.SuspendLayout() ' 'CrptCetakLapPesanan
' Me.CrptCetakLapPesanan.ActiveViewIndex = -1 Me.CrptCetakLapPesanan.DisplayGroupTree = False Me.CrptCetakLapPesanan.Dock = System.Windows.Forms.DockStyle.Fill Me.CrptCetakLapPesanan.Location = New System.Drawing.Point(0, 0) Me.CrptCetakLapPesanan.Name = "CrptCetakLapPesanan" Me.CrptCetakLapPesanan.ReportSource = Nothing Me.CrptCetakLapPesanan.Size = New System.Drawing.Size(456, 327) Me.CrptCetakLapPesanan.TabIndex = 4 ' 'FrmCetakLapPesanan ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(456, 327) Me.Controls.Add(Me.CrptCetakLapPesanan) Me.Name = "FrmCetakLapPesanan" Me.Text = "Laporan Pesanan" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False) End Sub #End Region Dim objrepdoc As ReportDocument Private Sub FrmCetakLapPesanan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load objrepdoc = New Laporan_Pesanan objrepdoc.RecordSelectionFormula = "{sp.tgl_sp}>= #" & _ Format(fLapPesanan.DateTimePicker1.Value, "yyyy-MM-dd") & "# And {sp.tgl_sp}<= #" & _ Format(fLapPesanan.DateTimePicker2.Value, "yyyy-MM-dd") & "#" objrepdoc.SetParameterValue("TglAwal", Format(fLapPesanan.DateTimePicker1.Value, "dd/MM/yyyy"))
objrepdoc.SetParameterValue("TglAkhir", Format(fLapPesanan.DateTimePicker2.Value, "dd/MM/yyyy")) CrptCetakLapPesanan.ReportSource = objrepdoc End Sub End Class Form Cetak Laporan Retur Imports CrystalDecisions.CrystalReports.Engine Public Class FrmCetakLapRetur Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents CrptCetakLapRetur As CrystalDecisions.Windows.Forms.CrystalReportViewer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.CrptCetakLapRetur = New CrystalDecisions.Windows.Forms.CrystalReportViewer Me.SuspendLayout() ' 'CrptCetakLapRetur ' Me.CrptCetakLapRetur.ActiveViewIndex = -1 Me.CrptCetakLapRetur.DisplayGroupTree = False Me.CrptCetakLapRetur.Dock = System.Windows.Forms.DockStyle.Fill Me.CrptCetakLapRetur.Location = New System.Drawing.Point(0, 0) Me.CrptCetakLapRetur.Name = "CrptCetakLapRetur" Me.CrptCetakLapRetur.ReportSource = Nothing Me.CrptCetakLapRetur.Size = New System.Drawing.Size(528, 351) Me.CrptCetakLapRetur.TabIndex = 5 ' 'FrmCetakLapRetur ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(528, 351) Me.Controls.Add(Me.CrptCetakLapRetur) Me.Name = "FrmCetakLapRetur" Me.Text = "Laporan Retur" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False) End Sub #End Region Dim objRepdoc As ReportDocument
Private Sub FrmCetakLapRetur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load objRepdoc = New Laporan_Retur objRepdoc.RecordSelectionFormula = "{QRetur.tgl_retur}>= #" & _ Format(fLapRetur.DateTimePicker1.Value, "yyyy-MM-dd") & "# And {QRetur.tgl_retur}<= #" & _ Format(fLapRetur.DateTimePicker2.Value, "yyyy-MM-dd") & "#" objRepdoc.SetParameterValue("TglAwal", Format(fLapRetur.DateTimePicker1.Value, "dd/MM/yyyy")) objRepdoc.SetParameterValue("TglAkhir", Format(fLapRetur.DateTimePicker2.Value, "dd/MM/yyyy")) CrptCetakLapRetur.ReportSource = objRepdoc End Sub End Class