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,
Pembimbing II,
Ditdit N.Utama, MMSI, M.Com NIP. 19741129 200801 1 006
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
Penguji II
A’ang Subiyakto, M.Kom NIP. 150 411 252
Bayu Waspodo, MM NIP. 19740812 200801 1 001
Pembimbing I
Pembimbing II
Ditdit N.Utama, MMSI, M.Com NIP. 19741129 200801 1 006
Imam M.Shofi, MT NIP. 19720205 200801 1 010
Mengetahui, Dekan Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta
Ketua Program Studi Sistem Informasi
Dr. Syopiansyah Jaya Putra, M.Sis NIP. 19680117 200112 1 001
A’ang Subiyakto, M.Kom NIP. 150 411 252
iv
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR 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
condition State with (disjoin) substate
Sumber : Mathiassen et al, 2000
xxii
and
SIMBOL NAVIGATION DIAGRAM
Notasi
Keterangan Window
State with icon for window
State
transition
windows actions
Sumber : Mathiassen et al, 2000
xxiii
with
between triggering
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
xxiv
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 pihakpihak 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, persyaratanpersyaratan 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 toolsnya 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.
d.
1)
Use Case Diagram
2)
Activity Diagram
3)
Class Diagram
4)
Spesifikasi database
5)
Statechart Diagram
6)
Sequence Diagram
Construction & Testing (Implementasi Sistem) Membuat sistem informasi dengan software
pendukung kemudian
mengujinya.
9
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.
10
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. Komponenkomponen 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):
Relevan
Tepat Waktu
Akurat
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 berubahubah).
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 komponenkomponen 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).
pemakai
input
pemakai
model
output
pemakai
pemakai teknologi
dasar data
pemakai
kendali
pemakai
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 perbaikanperbaikan 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 modeldriven, 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). System
UseCase1
Actor1
Actor3 UseCase2
UseCase3
Actor2
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) c.
Descriptive field adalah field yang bukan kunci.
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) c.
Meningkatkan keamanan.
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 a.
Kelemahan DBMS
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-updatean 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
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.
68
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 solusisolusi bisnis (Whitten et al, 2004). Alasan menggunakan pendekatan modeldriven 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/Objectoriented 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 perbaikanperbaikan 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:
d.
1)
Spesifikasi Database
2)
Perancangan Antarmuka
3)
Navigation Diagram
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
Studi Pustaka Metode Pengumpulan Data
Observasi Functionality
Wawancara
Application Domain Condition Scope Definition
System Definition
FACTOR Technology
Sistem Informasi Penjualan PT.Distriversa Buanamas
Objects
Responsibility Rich Picture Analisis Masalah Activity Diagram Analisis Sistem Functional Requirement Analisis Persyaratan
Metode Pengembangan Sistem
Nonfunctional Requirement
Analisis Keputusan
Use Case Diagram Activity Diagram Class Diagram
Perancangan Sistem
Spesifikasi Database UML Statechart Diagram Sequence Diagram Rancangan Antarmuka Navigation Diagram
MySQL Pemrograman VB.NET Implementasi Sistem
Pengujian
Black Box Testing
Instalasi Perangkat
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 permasalahanpermasalahan 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
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.
83
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
Bagian Penjualan
HRD
Bagian Pembelian
Bagian Keuangan
Bagian Gudang
Bagian Pengiriman
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.
e.
f.
3)
Membuat laporan pembelian.
4)
Bertanggung jawab atas pembelian obat dari supplier.
Bagian Keuangan 1)
Mengatur keuangan perusahaan.
2)
Membuat laporan keuangan kepada pimpinan.
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 menghasilkan
kegiatan
penjualan
informasi
sehingga
penjualan
yang
dapat 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 folderfolder 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 obatobat 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
Pelanggan
Bag.Penj ualan
Bag.Gudang
Bag.Pengiriman
Pimpinan
start mencatat pesanan
memesan obat
menyerahkan ke Bag.Gudang
menerima pesanan
menyiapkan obat
menerima obat pesanan
membuat faktur menerima faktur
menyerahkan obat ke Bag.Penjualan
menerima faktur menyerahkan faktur
melakukan pembayaran
menerima pembayaran
menerima pembayaran
membuat surat jalan
menerima obat & surat jalan
menyerahkan pembayaran
menerima obat & surat jalan
mengirimkan obat & surat jalan
mengecek obat & surat jalan menerima obat & surat jalan
tidak_sesuai sesuai menandatangani surat jalan stop
menerima obat & surat jalan
menyerahkan obat & surat jalan
membuat surat retur
menyerahkan surat retur
menerima obat & surat retur
menerima obat & surat retur
menyerahkan obat & surat retur
mengembalikan rangkap surat retur
menerima rangkap surat retur
menerima rangkap surat retur
membuat laporan
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 Pelanggan
Bag.Penj ualan
Bag.Gudang
Start memesan obat
mencatat pesanan
menyerahkan ke Bag.Gudang
menerima pesanan
menyiapkan obat
Stop
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
Bag.Penj ualan
Bag.Pengiriman
Pelanggan
Start membuat faktur
menerima faktur
menyerahkan faktur
menerima pembayaran
menerima pembayaran
menerima faktur
melakukan pembayaran
menyerahkan pembayaran
Stop
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
Bag.Penj ualan
Bag.Pengiriman
Pelanggan
Start membuat surat jalan
mengirimkan obat dan surat jalan
menerima obat dan surat jalan
mengecek obat
memproses retur
tidak_sesuai sesuai
Stop
menandatangani surat jalan
Stop
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
Pelanggan
Bag.Pengiriman
Bag.Penj ualan
start mengembalikan obat
menerima obat dan surat jalan
menyerahkan obat dan surat jalan
menerima obat dan surat jalan
membuat surat retur
menerima obat & surat retur
menerima obat dan surat jalan
menyerahkan obat & surat retur
menyerahkan obat & surat retur
stop
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 Bag.Penj ualan
Pimpinan
Start membuat laporan
menerima laporan
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 persyaratanpersyaratan 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 Model Tampilan (Performance)
Model Penyimpanan Data (Information)
Penjelasan 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. 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)
Model Pengontrolan Sistem (Control)
Model Efisiensi Sistem (Eficiency)
Model Pelayanan Sistem (Service)
4.3.3
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. a) Meningkatkan keamanan terhadap pelaksanaan proses penyimpanan data. b) Adanya operator data entry yang bertangungjawab terhadap pelaksanan pemasukan data dan jalannya aktifitas pada aplikasi. a) Mengefisienkan waktu untuk pelaksanaan proses penginputan data. b) Meminimalisasi biaya dan sumber daya yang dibutuhkan untuk pelaksanaan proses pelaporan. a) Menghasilkan informasi yang akurat untuk bahan pertimbangan dan evaluasi. b) Memberi kemudahan dalam penggunaan operasional sistem.
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
cetak laporan penjualan
Update File Master cetak laporan pesanan
update data pelanggan
cetak laporan retur
update data obat
Entry File Transaksi
update data batch
Bag.Penjualan entry surat pesanan
update data supir entry faktur
update data kendaraan entry surat jalan
entry retur
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 File Master
update data pelanggan
update data obat
update data batch Bag.Penjualan
update data supir
update data kendaraan
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 datadata 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 datadata 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
Bag.Penjualan
entry surat jalan
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 datadata 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
cetak laporan penjualan
Bag.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
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:
112
Gambar 4.14 Activity diagram keseluruhan use case.
113
a.
Activity Diagram Use Case Update Data Pelanggan Start pilih update data pelanggan
ubah/hapus data pelanggan
batal
tambah data pelanggan
record data pelanggan
End
invalid
invalid valid
menyimpan data pelanggan
menampilkan kotak dialog data pelanggan sudah tersimpan
menampilkan informasi data pelanggan
End
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 Start pilih update data obat
ubah/hapus data obat
tambah data obat
record data obat invalid
batal
End
invalid valid
menyimpan data obat
menampilkan kotak dialog data obat sudah tersimpan
menampilkan informasi data obat
End
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 Start pilih update data batch input data obat menampilkan data obat record data obat invalid valid
ubah/hapus data Batch
tambah data Batch
record data batch invalid
batal
End
invalid valid menyimpan data batch
menampilkan kotak dialog data batch sudah tersimpan
menampilkan informasi data batch
End
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 Start pilih update data supir
ubah/hapus data supir
tambah data supir
record data supir invalid
batal
End
invalid valid menyimpan data supir
menampilkan kotak dialog data supir sudah tersimpan
menampilkan informasi data supir
End
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 Start pilih update data kendaraan
ubah/hapus data kendaraan
tambah data kendaraan
record data kendaraan invalid
batal
End invalid
valid menyimpan data kendaraan
menampilkan kotak dialog data kendaraan sudah tersimpan
menampilkan informasi data kendaraan
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) Start pilih entry Surat Pesanan (SP)
tambah data SP input data SP
batal
invalid
End valid
menampilkan informasi data SP
menyimpan data SP cetak record data SP End
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
Start pilih entry faktur
tambah data faktur input data faktur
batal
invalid
End valid
menampilkan informasi data faktur
menyimpan data faktur cetak
record data faktur End
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
invalid
End valid
menampilkan informasi data surat jalan
menyimpan data surat jalan cetak
record data surat jalan
End
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
Start pilih entry retur
tambah data retur
input data retur invalid
batal
End valid
menampilkan informasi data retur
menyimpan data retur cetak record data retur
End
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
Start pilih cetak laporan penjualan
pilih tanggal akhir
pilih tanggal awal
print
menampilkan laporan penjualan berdasarkan periode (tanggal awal/tanggal akhir
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
Start pilih cetak laporan pesanan
pilih tanggal awal
pilih tanggal akhir
print
menampilkan laporan pesanan berdasarkan periode (tanggal awal /tanggal akhir)
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
Start pilih cetak laporan retur
pilih tanggal akhir
pilih tanggal awal
print
menampilkan laporan retur berdasarkan periode (tanggal awal/tanggal akhir)
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
Isi no_sp : String no_batch : String kd_obat : String jmlh_pesan : String hrg_jual : String insertIsi() dbConnection()
Batch
Pelanggan kd_pelanggan : String nm_pelanggan : String alamat : String telp : String email : String autocodePelanggan() setPelanggan() getPelanggan() isiPelanggan() fillListPelanggan() cariPelanggan() insertPelanggan() updatePelanggan() deletePelanggan() dbConnection()
Obat
SuratPesanan
kd_obat : String nm_obat : String jenis : String satuan : Stirng harga : String
no_sp : String tgl_sp : String autocodeSP() getTanggalSP() getPelanggan() 1..* getBatch() setSP() jmlhTotal() isiTabelSP() insertSP() cetakSP() dbConnection() 1
1
no_batch : String stock : String ED : date
1..*
1..* 1..*
autocodeObat() setObat() getObat() isiObat() fillListObat() cariObat() insertObat() updateObat() deleteObat() dbConnection()
1..* 1..*
1..*
Kembali no_retur : String no_batch : String kd_obat : String jmlh : String hrg_jual : String ket_kembali : String
1
Supir
DetilSJ
Faktur
kd_supir : String nm_supir : String alamat : String telp : String
no_faktur : String tgl_faktur : Date tgl_tagih : Date tgl_jth_tempo : Date
autocodeSupir() setSupir() getSupir() isiSupir() fillListSupir() cariSupir() insertSupir() updateSupir() deleteSupir() dbConnection()
autocodeFaktur() getTanggalFaktur() getSP() setFaktur() isiTabelFaktur() insertFaktur() jumlahFaktur() cetakFaktur() dbConnection() 1
1
getObat() setBatch() getBatch() isiBatch() fillListBatch() cariBatch() insertBatch() updateBatch() deleteBatch() dbconnection()
no_sj : String no_batch : String kd_obat : String jml_kirim : String keterangan : String
insertKembali() dbConnection()
insertDetilSJ() dbConnection()
1..* 1..*
SuratJalan
no_pol : String nm_kendaraan : String setKendaraan() getKendaraan() isiKendaraan() fillListKendaraan() cariKendaraan() insertKendaraan() updateKendaraan() deleteKendaraan() dbConnection()
Retur
no_sj : String tgl_sj : Date no_faktur : String no_pol : String
Kendaraan
1
1
autocodeSJ() getTanggalSJ() getFaktur() getBatch() getKendaraan() getSupir() setSJ() isiTabelSJ() insertSJ() cetakSJ() dbConnection()
no_retur : String tgl_retur : Date no_faktur : String
1..* 1
0..*
autocodeRetur() getTanggalRetur() getSJ() getBatch() setRetur() isiTabelRetur() jumlahRetur() insertRetur() cetakRetur() dbConnection()
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
[create]
s kse t a u p ng -in me ng e m [save] Active
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 menginput, 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 menjelaskan sebuah proses update data obat yang digambarkan 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
[create]
s kse t a u ng np g-i me n me [save] Active
meng-update
Gambar 4.30 Statechart Diagram Update Data Batch
Gambar 4.30 menjelaskan sebuah proses update data batch yang digambarkan 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
[create]
s kse t a u p ng -in me ng e m [save] Active
meng-update
Gambar 4.31 Statechart Diagram Update Data Supir
Gambar 4.31 menjelaskan sebuah proses update data supir yang digambarkan 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
[create]
s kse t a u p ng -in me ng e m [save] Active
meng-update
Gambar 4.32 Statechart Diagram Update Data Kendaraan
Gambar 4.32 menjelaskan sebuah proses update data kendaraan yang 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 menginput, 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.33 menjelaskan sebuah proses entry surat pesanan yang digambarkan 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 menjelaskan sebuah proses entry faktur yang digambarkan dalam 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 terupdate maka proses pada statechart tersebut selesai dengan diakhiri oleh sebuah final state.
145
h. Statechart Diagram Entry Surat Jalan
Gambar 4.35 Statechart Diagram Entry Surat Jalan
Gambar 4.35 menjelaskan sebuah proses entry surat jalan yang digambarkan dalam sebuah Statechart Diagram Entry Surat Jalan 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 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 menjelaskan sebuah proses entry retur yang digambarkan dalam sebuah Statechart Diagram Entry 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 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 meng-akses
[create]
[cetak] Active
meng-input
Gambar 4.37 Statechart Diagram Cetak Laporan Penjualan
Gambar 4.37 menjelaskan sebuah proses cetak laporan penjualan yang digambarkan dalam sebuah Statechart Diagram Cetak Laporan Penjualan 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 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
[create]
[cetak] Active
meng-input
Gambar 4.38 Statechart Diagram Cetak Laporan Pesanan Gambar 4.38 menjelaskan sebuah proses cetak laporan pesanan yang 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
[create]
[cetak] Active
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
a. Sequence Diagram Update Data Pelanggan
Gambar 4.40 SequenceDiagram Update Data Pelanggan Sequence Diagram Gambar 4.40 adalah Sequence Diagram Update Data 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 didatabase. Proses sequence diagram ini selesai dengan mengakhiri timeline di objek form update data pelanggan. b. Sequence Diagram Update Data Obat
Bag.Penjualan klik_update_file_master window Menu Utama
show (Update Data Obat) klik_update_data_obat show form Update Data Obat form Update Data Obat
obat
add obat get obat result obat save save () close
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
klik_update_file_master window Menu Utama
show (Update Data Batch) klik update data batch show form Update Data Batch form Update Data Batch
obat
batch
add obat get obat result obat save save ()
input batch save () close
Gambar 4.42 SequenceDiagram Update Data Batch
Sequence Diagram Gambar 4.42 adalah Sequence Diagram Update Data Batch yang menjelaskan alur proses kegiatan yang ada diobjek data batch. Sequence
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 terupdate di-database. Proses sequence diagram ini selesai dengan mengakhiri timeline di objek form update data batch.
153
d. Sequence Diagram Update Data Supir
Bag.Penjualan klik_update_file_master window Menu Utama
show (Update Data Supir) klik_update_data_supir show form Update Data Supir form Update Data Supir
supir
add data supir get data supir result data supir save save () close
Gambar 4.43 SequenceDiagram Update Data supir
Sequence Diagram Gambar 4.43 adalah Sequence Diagram Update Data Supir yang menjelaskan alur proses kegiatan yang ada diobjek data supir. 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 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 klik_update_file_master window Menu Utama
show (Update Data Kendaraan) klik_update_data_kendaraan show form Update Data Kendaraan form Update Data Kendaraan
kendaraan
add kendaraan get kendaraan result kendaraan save save () close
Gambar 4.44 SequenceDiagram Update Data Kendaraan
Sequence Diagram Gambar 4.44 adalah Sequence Diagram Update Data Kendaraan yang menjelaskan alur proses kegiatan yang ada diobjek data 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 didatabase. Proses sequence diagram ini selesai dengan mengakhiri timeline di objek form update data kendaraan.
156
f. Sequence Diagram Entry Surat Pesanan
Bag.Penjualan
klik entry file transaksi menu utama
show entry surat pesanan (SP) klik entry SP show form entry SP form SP
pelanggan
sp
batch
obat
isi
add data SP get data SP result data SP
add data pelanggan get data pelanggan result data pelanggan
add data batch get data batch result data batch
add data obat get data obat result data obat
add data isi get data isi result data isi save save() close
Gambar 4.45 SequenceDiagram Entry Surat Pesanan
Sequence Diagram Gambar 4.45 adalah Sequence Diagram Entry Surat Pesanan yang menjelaskan alur proses kegiatan yang ada diobjek surat pesanan. Sequence
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
Bag.Penjualan
klik entry file transaksi menu utama
show entry faktur klik entry faktur show form entry faktur form faktur
sp
faktur
pelanggan
obat
isi
add data faktur get data faktur result data faktur
add data sp get data sp result data sp
get data pelanggan result data pelanggan
get data obat result data obat
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
h. Sequence Diagram Entry Surat Jalan
Bag.Penjualan
klik entry file transaksi menu utama
show entry surat jalan klik entry surat jalan show form entry SJ form SJ
surat_jalan
sp
pelanggan
kendaraan
supir
batch
obat
isi
add data SJ get data SJ result data SJ
add data sp get data sp result data sp
get data pelanggan result data pelanggan
add data kendaraan get data kendaraan result data kendaraan
add data supir get data supir result data supir
add data batch get data batch result data batch
get data batch result data obat
get data isi result data isi save 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 diawali dengan Seorang actor yaitu Bagian Penjualan. Actor
161
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 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 didatabase 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 didatabase 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 didatabase 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 terupdate di-database. Proses sequence diagram ini selesai dengan mengakhiri timeline di objek form entry surat jalan.
163
i. Sequence Diagram Entry Retur
Bag.Penjualan
klik entry file transaksi menu utama
show entry retur klik entry retur show form retur form retur
retur
kembali
surat_jalan
kendaraan
faktur
detilsj
batch
obat
add data retur get data retur result data retur
add data kembali get data kembali result data kembali
get data surat_jalan result data surat_jalan
get data kendaraan result data kendaraan
get data faktur result data faktur
get jml_kirim result jml_kirim
get data batch result data obat
get data batch result data obat save
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 ini diawali dengan Seorang actor yaitu Bagian Penjualan. Actor berinteraksi dengan
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
Bag.Penjualan
klik cetak laporan menu utama
show cetak laporan penjualan klik cetak laporan penjualan show cetak lap.penjualan form lap.penjualan
faktur
sp
pelanggan
batch
obat
isi
pilih periode
get data faktur result data faktur
get data sp result data sp
get data pelanggan result data pelanggan
get data batch result data batch
get data obat result data obat
get jml_kirim & harga_jual result jml_kirim & harga_jual print out
print out() close
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. Sequence Diagram ini diawali dengan Seorang actor yaitu Bagian Penjualan. Actor berinteraksi dengan timeline-nya sendiri dengan cara klik cetak
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 didatabase 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
Bag.Penjualan
klik cetak laporan menu utama
show cetak laporan pesanan klik cetak laporan pesanan show cetak lap.pesanan form lap.pesanan
sp
pelanggan
batch
obat
isi
pilih periode
get data sp result data sp
get data pelanggan result data pelanggan
get data batch result data batch'
get data obat result data obat
get data isi result data isi print out
print out() close
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. Sequence Diagram ini diawali dengan Seorang actor yaitu Bagian Penjualan. Actor berinteraksi dengan timeline-nya sendiri dengan cara klik cetak
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 didatabase 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
Bag.Penjualan
klik cetak laporan menu utama
show cetak laporan retur klik cetak laporan retur show cetak lap.retur form lap.retur
retur
surat_jalan
pelanggan
kembali
batch
obat
pilih periode
get data retur result data retur
get data surat_jalan result data surat_jalan
get data pelanggan result data pelanggan
get data kembali result data kembali
get data batch result data batch
get data obat result data obat print out print out() close
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 berinteraksi dengan timeline-nya sendiri dengan cara klik cetak laporan
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 didatabase 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
Gambar 4.54 Rancangan Halaman Form Obat
d. Rancangan Halaman Form Batch FORM BATCH
DATA BATCH Kode Obat Nama Obat Satuan No.Batch Stock Expired Date Cari
No.Batch
Tambah
Stock
Ubah
Expired Date
Hapus
Keluar
Gambar 4.55 Rancangan Halaman Form Batch
174
e. Rancangan Halaman Form Supir FORM SUPIR
DATA SUPIR Kode Supir Nama Supir Alamat Telepon Cari
Kode Supir
Tambah
Nama Supir
Alamat
Hapus
Ubah
Telepon
Keluar
Gambar 4.56 Rancangan Halaman Form Supir
f. Rancangan Halaman Form Kendaraan FORM KENDARAAN
DATA KENDARAAN No.Polisi Jenis Kendaraan
Cari
No.Polisi
Tambah
Ubah
Jenis Kendaraan
Hapus
Keluar
Gambar 4.57 Rancangan Halaman Form Kendaraan
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 LOGO PERUSAHAAN
SURAT PESANAN
No.SP
:
Tanggal SP
:
Kode Pelanggan
:
Nama Pelanggan
:
Alamat Pelanggan
:
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 LOGO PERUSAHAAN
FAKTUR
No. Faktur
:
No. SP
:
Tanggal Tagihan
:
Nama Pelanggan
:
Tanggal Jatuh Tempo
:
Alamat Pelanggan
:
Kode Obat
Nama Obat
Tanggal Faktur
No.Batch
Expired Date
Qty
:
Harga Satuan
Jumlah
TOTAL
Terbilang
Bagian Penjualan
Penerima
(
)
(
)
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 Halaman Keluaran Laporan Penjualan
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 Form cari Surat Pesanan
Form surat pesanan lama Isi kolom cari
Klik Keluar
Menu Utama Klik menu Update File Master > Entry Surat Pesanan
Klik Cetak
Klik tombol CARI
Entry Surat Pesanan
Form Surat pesanan baru Klik Baru SP
Pilih Kode Pelanggan
Masukan jumlah pesanan
Pilih kode pelanggan
Pilih no.Batch Masukan Jumlah Pesanan
Pilih No.Batch
Hasil cetak surat pesanan
Data pesanan Klik Cetak
Klik Keluar
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 Klik Keluar
Menu Utama
Klik menu Update File Master > Cetak Laporan Retur
Cetak Lap. Retur
Tanggal Awal Isi tanggal awal periode
Isi tanggal akhir periode
Hasil Cetak Klik Keluar
Tanggal Akhir Klik Cetak
Gambar 4.83 Navigation Diagram Cetak Laporan Retur
4.5
Implementasi Sistem (Construction & Testing) Langkah terakhir pada tahap implementasi sistem adalah menjelaskan
pemrograman, pengujian, dan instalasi perangkat pada sistem informasi yang diusulkan. Berikut adalah pembahasan dari tahap-tahap yang disebutkan diatas:
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 dahulu. Beberapa pengujian dilakukan oleh programmer sendiri. Pengujian Sistem Informasi Penjualan ini dilakukan 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 No.
Rancangan Proses
1
6
Pilih Menu Bar “Update File Master” lalu pilih “Update Data Pelanggan” Pada form Update Data Pelanggan, klik tombol “Cari”, kemudian kolom cari diisi Pada Form Update Data Pelanggan, pilih tombol Tambah Isi Form Data Pelanggan Klik Tombol “Simpan” Klik tombol “OK”
7
Klik tombol ”Batal”
2
3
4 5
Hasil Yang Diharapkan
Hasil
Masuk halaman Form Update Data Pelanggan
Sesuai
Menampilkan hasil pencarian data pelanggan
sesuai
Menampilkan form kosong data pelanggan
sesuai
Menampilkan form input yang akan diinput Menampilkan Halaman Kesalahan Menampilkan halaman form Update Data pelanggan Menampilkan halaman
sesuai sesuai
Keterangan
Form tidak diisi
sesuai
sesuai
193
8 9 10 11 12
13
14
15
16
17
18 19 20 21 22 23 24
form update Data Pelanggan Klik tombol ”Ubah” Mengaktifkan form database Pelanggan Pilih data Pelanggan Menampilkan data di form di form database Pelanggan Ubah Data di form Mengubah data di form pelanggan pelanggan Klik tombol “Simpan” Menampilkan Window Konfirmasi Penyimpanan Klik tombol “OK” Menampilkan halaman form Update Data Pelanggan Pilih data Pelanggan Menampilkan Window di form database, konfirmasi kemudian klik Tombol ”Hapus” Klik tombol ”Keluar” untuk keluar dari Form Update data Pelanggan Pilih Menu Bar ”Update File Master” lalu pilih ”Update Data Obat” Pada form ”Update Data Obat” klik tombol ”Cari”, kemudian kolom cari diisi Pada form ”Update Data Obat”, klik tombol ”Tambah” Isi form Data Obat
Sesuai Sesuai sesuai sesuai sesuai
sesuai
Keluar dari form data pelanggan dan kembali ke Halaman Menu Utama
sesuai
Masuk halaman form ”Update Data Obat”
Sesuai
Menampilkan hasil pencarian data Obat
Sesuai
Menampilkan form kosong data Obat
Sesuai
Menampilkan form input yang akan diinput Klik tombol ”Simpan” Menampilkan Halaman Kesalahan Klik tombol ”OK” Menampilkan halaman form Update Data Obat Klik tombol ”Batal” Menampilkan halaman form update Data Obat Klik tombol ”Ubah” Mengaktifkan form database Obat Pilih data Obat di Menampilkan data di form form database Obat Ubah Data di form Mengubah data di form
Pilih ”Yes” untuk Hapus. Pilih ”No” untuk membatalkan
Sesuai Sesuai
Form tidak diisi
sesuai sesuai sesuai Sesuai Sesuai
194
Obat 25 26
27
28
29
30
31
32
33 34 35 36 37 38 39 40
Obat
Klik tombol “Simpan” Menampilkan Window Konfirmasi Penyimpanan Klik tombol “OK” Menampilkan halaman form Update Data Pelanggan Pilih data Obat di Menampilkan Window form database, konfirmasi kemudian klik Tombol ”Hapus” Klik tombol ”Keluar” Keluar dari form data untuk keluar dari pelanggan dan kembali ke Form Update data Halaman Menu Utama Obat Pilih Menu Bar Masuk halaman form ”Update File Master” ”Update Data Batch” lalu pilih ”Update Data Batch” Pada form Update Menampilkan hasil Data Batch, klik pencarian data Batch tombol “Cari”, kemudian kolom cari diisi Pada form ”Update Menampilkan form Data Batch”, klik kosong data batch tombol ”Tambah” Klik Combo Box Menampilkan nama obat kemudian Pilih kode dan satuan obat pada obat yang terdapat kolomnya masing-masing pada combo box Isi form data Batch Menampilkan form input yang akan diinput Isi Expired Date Menampilkan pilihan kalender Klik tombol ”Simpan” Menampilkan Halaman Kesalahan Klik tombol ”OK” Menampilkan halaman form Update Data Batch Klik tombol ”Batal” Menampilkan halaman form Update Data Batch Klik tombol ”Ubah” Mengaktifkan form database Batch Pilih data Batch di Menampilkan data di form form database Batch Ubah Data di form Mengubah data di form batch Batch
Sesuai Sesuai
Sesuai
Pilih ”Yes” untuk Hapus. Pilih ”No” utk membatalkan
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai Sesuai Sesuai
Form tidak diisi
Sesuai Sesuai Sesuai Sesuai Sesuai
195
41 42 43
44
45
46
47 48 49 50 51 52 53 54 55 56
57
Klik tombol “Simpan” Menampilkan Window Konfirmasi Penyimpanan Klik tombol “OK” Menampilkan halaman form Update Data Batch Pilih data batch di Menampilkan Window form database, konfirmasi kemudian klik Tombol ”Hapus”
Sesuai
Pilih Menu Bar “Update File Master” lalu pilih “Update Data Supir” Pada form Update Data Supir, klik tombol “Cari”, kemudian kolom cari diisi Pada Form Update Data Supir, pilih tombol “Tambah” Isi Form Data Supir
Masuk halaman Form Update Data Supir
Sesuai
Menampilkan hasil pencarian data supir
Sesuai
Menampilkan form kosong data supir
Sesuai
Sesuai Sesuai
Menampilkan form input yang akan diinput Klik Tombol Menampilkan Halaman “Simpan” Kesalahan Klik tombol “OK” Menampilkan halaman form Update Data Supir Klik tombol ”Batal” Menampilkan halaman form update Data Supir Klik tombol ”Ubah” Mengaktifkan form database Supir Pilih data Supir di Menampilkan data di form form database Supir Ubah Data di form Mengubah data di form Supir Supir Klik tombol “Simpan” Menampilkan Window Konfirmasi Penyimpanan Klik tombol “OK” Menampilkan halaman form Update Data Supir Pilih data Supir di Menampilkan Window form database, konfirmasi kemudian klik Tombol ”Hapus”
Sesuai
Klik tombol ”Keluar” untuk keluar dari Form Update data
Sesuai
Keluar dari form Update Data Supir dan kembali ke Halaman Menu Utama
Sesuai
Pilih ”Yes” untuk Hapus. Pilih ”No” untuk membatalkan
Form tidak diisi
Sesuai Sesuai Sesuai Sesuai Sesuai Sesuai Sesuai Sesuai
Pilih ”Yes” untuk Hapus. Pilih ”No” untuk membatalkan
196
Supir 58
59
60
61 62 63
64
65 66 67 68 69
70
71
72
Pilih Menu Bar “Update File Master” lalu pilih “Update Data Kendaraan” Pada form Update Data Kendaraan, klik tombol “Cari”, kemudian kolom cari diisi Pada Form Update Data Kendaraan, pilih tombol “Tambah” Isi Form Data Kendaraan Klik Tombol “Simpan” Klik tombol “OK”
Masuk halaman Form Update Data Kendaraan
Sesuai
Menampilkan hasil pencarian data kendaraan
Sesuai
Menampilkan form kosong data kendaraan
Sesuai
Menampilkan form input yang akan diinput Menampilkan Halaman Kesalahan Menampilkan halaman form Update Data Kendaraan Klik tombol ”Batal” Menampilkan halaman form update Data Kendaraan Klik tombol ”Ubah” Mengaktifkan form database Kendaraan Pilih data Kendaraan Menampilkan data di form di form database Kendaraan Ubah Data di form Mengubah data di form Kendaraan Kendaraan Klik tombol “Simpan” Menampilkan Window Konfirmasi Penyimpanan Klik tombol “OK” Menampilkan halaman form Update Data Kendaraan Pilih data Kendaraan Menampilkan Window di form database, konfirmasi kemudian klik Tombol ”Hapus”
Klik tombol ”Keluar” untuk keluar dari Form Update data Kendaraan Pilih Menu Bar ”Entry File Transaksi” lalu pilih ”Entry Surat Pesanan”
Keluar dari form Update Data Kendaraan dan kembali ke Halaman Menu Utama Masuk halaman form Entry Surat Pesanan
Sesuai Sesuai
Form tidak diisi
Sesuai
Sesuai
Sesuai Sesuai Sesuai Sesuai Sesuai
Sesuai
Pilih ”Yes” untuk Hapus. Pilih ”No” untuk membatalkan
Sesuai
Sesuai
197
73
74
Klik icon ”Cari” pada Form Entry Surat Pesanan. Isi kolom cari
75
Pilih data Surat Pesanan yang dicari
76
Klik tombol “Cetak”
77
Klik tombol “Baru SP”
78 79 80 81 82
83 84 85
86 87
88
Menampilkan windows database Surat Pesanan
Sesuai
Menampilkan hasil pencarian data Surat Pesanan Data Surat Pesanan masuk ke Form Entry Surat Pesanan Menampilkan hasil cetak surat Pesanan
Sesuai
Menampilkan form kosong Entry Surat Pesanan Isi Form Entry Surat Menampilkan form input Pesanan yang akan diinput Klik tombol ”Simpan” Menampilkan Halaman Kesalahan Klik tombol ”OK” Menampilkan halaman form Entry Surat Pesanan Klik tombol ”Batal” Menampilkan halaman form Entry Surat Pesanan Isi Kode Pelanggan Menampilkan data pelanggan di Form Surat Pesanan Isi No.Batch Menampilkan data Batch di form Surat Pesanan Isi Jumlah Pesanan Menampilkan Jumlah Total Harga Klik Tombol Tambah Menampilkan data Obat Pesanan pada database Surat Pesanan Klik Tombol Simpan Menyimpan data di database Surat Pesanan Klik Tombol Cetak Menampilkan hasil cetak surat Pesanan
Klik Tombol Keluar
Keluar dari form Entry Surat Pesanan dan kembali ke Halaman
Sesuai
Sesuai
Setelah hasil cetak keluar, form entry surat pesanan kembali ke kondisi awal
Sesuai
Sesuai Sesuai
Form tidak diisi
Sesuai Sesuai Sesuai
Sesuai Sesuai Sesuai
Sesuai Sesuai
Setelah hasil cetak keluar, form entry surat pesanan kembali ke kondisi awal
Sesuai
198
Menu Utama 89
90
91
92
93
Pilih Menu Bar ”Entry Masuk halaman form File Transaksi” lalu Entry Faktur pilih ”Entry Faktur” Pilih ”No.SP” Menampilkan nama pelanggan dan detail pesanan Klik tombol ”Simpan” Menampilkan window notifikasi ”Data Berhasil di Simpan” Klik Tombol “Cetak” Menampilkan hasil cetak faktur
Sesuai
Klik Tombol Keluar
Sesuai
Keluar dari form Entry Faktur dan kembali ke Halaman Menu Utama 94 Pilih Menu Bar ”Entry Masuk halaman form File Transaksi” lalu Entry Surat Jalan pilih ”Entry Surat Jalan” 95 Klik tombol “Baru Menampilkan form SJ” kosong Entry Surat Jalan 96 Pilih No.Faktur pada Menampilkan nomor SP, combo box nama pelanggan pada form dan menampilkan data obat pesanan di form database 97 Klik 2 kali pada data Menampilkan data obat obat pesanan di form yang akan dikirim database 98 Mengisi jumlah obat Menampilkan Form yang akan dikirim kesalahan pada kolom “Jumlah Kirim” kemudian klik tombol “Tambah” 99 Klik tombol ”OK” Menampilkan kembali form Entry Surat Jalan 100 Mengisi jumlah obat Menampilkan detail obat yang akan dikirim yang akan dikirim pada pada kolom “Jumlah form database Surat Jalan Kirim” kemudian klik tombol “Tambah” 101 Klik tombol ”Simpan” Menampilkan window notifikasi ”Data Berhasil
Sesuai
Sesuai
Sesuai
Setelah hasil cetak keluar, form entry faktur kembali ke kondisi awal
Sesuai
Sesuai Sesuai
Sesuai
Sesuai
Jumlah obat yang dikirim melebihi jumlah obat yang dipesan
Sesuai Sesuai
Sesuai
199
di Simpan” 102 Klik Tombol “Cetak”
Menampilkan hasil cetak Surat Jalan
Sesuai
103 Pilih Menu Bar ”Entry File Transaksi” lalu pilih ”Entry Surat Retur” 104 Klik tombol “Baru Retur” 105 Pilih No.Surat Jalan pada combo box
Masuk halaman form Entry Retur
Sesuai
106
107
108 109
110
111
Menampilkan form kosong Entry Retur Menampilkan nomor Polisi, nomor faktur pada form dan menampilkan data obat yang dikirim di form database Klik 2 kali pada data Menampilkan data obat data obat yang dikirim yang akan diretur di form database Mengisi jumlah obat Menampilkan Form yang akan diretur kesalahan pada kolom “Jumlah Retur” kemudian klik tombol “Tambah” Klik tombol ”OK” Menampilkan kembali form Entry Retur Mengisi jumlah obat Menampilkan detail obat yang akan diretur yang akan diretur pada pada kolom “Jumlah form database Retur Retur” kemudian klik tombol “Tambah” Klik tombol ”Simpan” Menampilkan window notifikasi ”Data Berhasil di Simpan” Klik Tombol “Cetak” Menampilkan hasil cetak Retur
112 Pilih Menu Bar ”Cetak Laporan” lalu pilih ”Cetak Laporan Penjualan” 113 Pilih Tanggal Awal
Setelah hasil cetak keluar, form entry Surat Jalan kembali ke kondisi awal
Sesuai Sesuai
Sesuai
Sesuai
Jumlah obat yang diretur melebihi jumlah obat yang dikirim
Sesuai Sesuai
Sesuai
Sesuai
Masuk halaman form Cetak Laporan Penjualan
Sesuai
Menampilkan Kalender
Sesuai
Setelah hasil cetak keluar, form entry Retur kembali ke kondisi awal
200
114 Pilih Tanggal Akhir
Menampilkan Kalender
Sesuai
115 Klik tombol Cetak
Menampilkan hasil cetak Laporan Penjualan Keluar dari form Cetak Laporan Penjualan dan kembali ke Halaman Menu Utama Masuk halaman form Cetak Laporan Pesanan
Sesuai
116 Klik tombol Keluar
117 Pilih Menu Bar ”Cetak Laporan” lalu pilih ”Cetak Laporan Pesanan” 118 Pilih Tanggal Awal
Sesuai
Menampilkan Kalender
Sesuai
119 Pilih Tanggal Akhir
Menampilkan Kalender
Sesuai
120 Klik tombol Cetak
Menampilkan hasil cetak Laporan Pesanan Keluar dari form Cetak Laporan Pesanan dan kembali ke Halaman Menu Utama Masuk halaman form Cetak Laporan Pesanan
Sesuai
121 Klik tombol Keluar
122 Pilih Menu Bar ”Cetak Laporan” lalu pilih ”Cetak Laporan Retur” 123 Pilih Tanggal Awal 124 Pilih Tanggal Akhir 125 Klik tombol Cetak 126 Klik tombol Keluar
Menampilkan Kalender Menampilkan Kalender Menampilkan hasil cetak Laporan Retur Keluar dari form Cetak Laporan Retur dan kembali ke Halaman Menu Utama
Sesuai
Sesuai
Sesuai Sesuai Sesuai Sesuai
4.5.3 Instalasi Perangkat Pada tahap instalasi perangkat Sistem Informasi Penjualan, diperlukan kebutuhan yang minimal untuk perangkat keras (hardware) dan perangkat lunak (software) agar mendapatkan kinerja sistem yang baik dalam memproses inputoutput data. Berikut spesifikasi kebutuhan yang minimal agar sistem dapat berjalan sesuai yang diharapkan:
201
a. Perangkat Keras (Hardware) Berikut adalah spesifikasi kebutuhan minimal perangkat keras: a. Processor Intel Pentium 4 1.6 GHz b. RAM Memory 512 MB c. Resolusi layar monitor 1024 x 768 pixel d. VGA Memory 64 MB e. Printer f. Keyboard dan Mouse
b. Perangkat Lunak (Software) Berikut adalah spesifikasi kebutuhan minimal perangkat keras: a. Microsoft Windows XP Home Edition / Professional SP2 b. Microsoft Visual Basic .Net 2003 c. Crystal Report 8.5 d. MySQL 5.0.67
202
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
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.
205
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%20asingBI.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.smpn1cileunyi.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
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-diindonesia/. [18 Okt 2008]. Whitten, Jeffrey L et al. 2004. Metode Desain dan Analisis Sistem. Ed ke-6. Yogyakarta: terjemahan tim Penerbit ANDI.
209
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
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
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
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.
4
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
MyBase.New()
Private Sub mnuKendaraan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuKendaraan.Click fkendaraan = New FrmKendaraan fkendaraan.ShowDialog() End Sub
'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call
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()
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,
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
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)
#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 If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer
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
'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
Me.btnEdit.TabIndex = 27 Me.btnEdit.Text = "Ubah" ' 'btnSave ' Me.btnSave.Location = New System.Drawing.Point(64,
' '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,
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,
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)
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
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 "
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
Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call
Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged If flag = "e" Then With ListView1.FocusedItem
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,
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,
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
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
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()
Private Sub txtNm_Pelanggan_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNm_Pelanggan.TextChanged
'Add any initialization after the InitializeComponent() call
End Sub 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)
'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
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)
'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" '
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,
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,
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,
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,
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.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,
Me.Label6.Text = "Alamat Pelanggan" ' 'Label7 ' Me.Label7.Location = New System.Drawing.Point(16,
'label2 ' Me.label2.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"
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.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,
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
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
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 "
End Sub Private Sub txtSatuan_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSatuan.TextChanged
Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent()
End Sub '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)
Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New()
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
'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()
Me.Label1.Location = New System.Drawing.Point(160,
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))
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"
'This call is required by the Windows Form Designer. InitializeComponent()
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Form Laporan Retur" Me.ResumeLayout(False)
'Add any initialization after the InitializeComponent() call
End Sub 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()
'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,
Public Class FrmCetakFaktur Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code "
415) Me.CrptCetakSp.TabIndex = 1 ' 'FrmCetakSP ' Me.AutoScaleBaseSize = New System.Drawing.Size(5,
Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent()
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
'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
'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
'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() '
#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 End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer
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)
'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 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
Me.Text = "Cetak Retur" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized Me.ResumeLayout(False) 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"
#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,
Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code "
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)
Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call
End Sub 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
'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, "yyyyMM-dd") & "# And {sp.tgl_sp}<= #" & _ Format(fLapPesanan.DateTimePicker2.Value, "yyyyMM-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
'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
'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer
#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-MMdd") & "# And {QRetur.tgl_retur}<= #" & _ Format(fLapRetur.DateTimePicker2.Value, "yyyy-MMdd") & "#" 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