Oleh :
SEMESTER GENAP
2007/2008
RANCANGAN SISTEM INFORMASI
PENJUALAN SPAREPART DAN SERVICE
PADA AHASS 8171 TUGU PERMAI
DENGAN METODOLOGI BERORIENTASI OBYEK
TUGAS AKHIR
Diajukan untuk memenuhi persyaratan
guna memperoleh gelar Sarjana Komputer
Oleh :
SEMESTER GENAP
2007/2008
ABSTRAKSI
Segala puji syukur yang tidak terhingga penulis haturkan atas kehadirat Allah SWT,
yang telah memberikan perpanjangan tanganNya untuk seorang hambaNya yang lemah ini
hingga dapat menyelesaikan skripsi yang berjudul “Sistem Informasi Penjualan Sparepart dan
Service pada AHASS 8171 Tugu Permai“. Pada kesempatan ini, penulis ingin menyampaikan
terima kasih kepada semua pihak yang telah membantu, terutama kepada:
1. Allah SWT yang telah memberikan petunjuk dan karunia-Nya sehingga saya dapat
menyelesaikan skripsi ini dengan baik, dari awal hingga skripsi ini selesai disusun.
2. Kepada Mami, Papi, Abhank, semua pengorbanan, penantian, kesabaran dan dukungan
serta doa yang tak henti-hentinya. Juga buat Maz Han, Tante, Om, Iis, Emak, Mba Bis
serta semua saudaraku terima kasih atas segala doa, pengorbanan, dan perhatiannya.
3. Dekan Fakultas Teknologi Informasi, Bapak Hari Soetanto, S.Kom, M.Sc.
4. Ketua Program Studi Sistem Informasi, Bapak Deni Mahdiana, M.Kom, MM.
5. Bapak Bruri Trya Sartana, M.M., M.Kom selaku dosen pembimbing yang telah
memberikan bimbingan dengan penuh kesabaran dalam membimbing, terima kasih atas
saran–sarannya serta telah meluangkan waktunya sehingga penulis dapat menyelesaikan
skripsi ini dengan baik.
6. Seluruh Dosen yang selama ini sudah memberikan ilmu dan bimbingan semasa kuliah
semoga ilmu tersebut bermanfaat untuk penulis.
7. Bpk. Mukhrijul Adli. S.H beserta Keluarga selaku pemilik AHASS 8171 Tugu Permai yang
telah memberikan kesempatan kepada penulis untuk mengadakan riset di perusahaan
yang dipimpinnya.
8. Kepada Atha serta keluarga yang telah banyak membantu. Mengajari penulis dengan
penuh kesabaran dan telah mengorbankan waktu, tenaga, serta pikirannya, terima kasih
atas bantuannya.
9. Kepada Mr. Yakub, Budi dan Bang Jaloe yang telah membantu dalam logika program.
10. Kepada teman-teman Anhar, Sigit, Yanda, Rendra, Yuda, Herlita, Ilham, Irza, Mursid,
Aceh, Gembul, Moel, Gethy, ulil dan semua Teman-teman yang tidak dapat penulis
sebutkan satu persatu terima kasih atas doa, komentar, dukungan, saran dan semangat
yang kalian berikan kepada penulis.
11. Kepada sahabat-sahabat ku Ira, Ifkar, Kalam, Galang, Cule, Pipit, Irma, Mega,
Quepancong, Mbuy, Kelvin, Adhee, Astrie, Arab, Daenk dan yang tidak dapat penulis
sebutkan satu persatu termikasih telah memberikan perhatian dan suport yang luar
biasa.
12. Buat teman-teman seperjuangan yang tidak bisa disebutkan satu persatu baik dari
jurusan TI, SI, ataupun KA angkatan 2004. ”Selamat Berjuang....dan tetap semangat!!! ”
Akhir kata dengan segala kerendahan hati Penulis memohon maaf yang sebesar-
besarnya atas kekurangan yang terdapat dalam skripsi ini.
Demikianlah yang dapat Penulis sampaikan, semoga skripsi ini dapat bermanfaat bagi
pembaca sekalian.
Penulis
DAFTAR TABEL
Halaman
Halaman
Actor
Menggambarkan pengguna software aplikasi (user).
Use Case
Menggambarkan fungsionalitas dari suatu sistem,
sehingga customer atau pengguna sistem paham
dan mengerti mengenai kegunaan sistem yang akan
dibangun.
Association
Menggambarkan hubungan antara actor dengan use
case.
include
Pemanggilan use case oleh use case lain atau untuk
menggambarkan suatu use case termasuk didalam
use case lain (diharuskan) relasi ini dapat digunakan
untuk menghindari penulisan deskripsi yang
berulang-ulang.
Note
Menggambarkan dokumentasi dari use case
Entitas
Menggambarkan atau menyatakan suatu
himpunan entitas.
Relasi
Menggambarkan himpunan hubungan yang ada
diantara himpunan entitas.
Garis Penghubung
Menggambarkan penghubung antara himpunan
entitas dengan himpunan hubungan.
Cardinality
Menggambarkan tingkat hubungan yang terjadi,
dilihat dari suatu kejadian atau banyak tidaknya
hubungan antar entitas tersebut.
3. Activity Diagram
Start State
Menggambarkan awal dari suatu aktivitas yang berjalan pada
sistem.
End State
Menggambarkan akhir dari suatu aktivitas yang berjalan pada
sistem.
Activity
Menggambarkan aktivitas yang dilakukan pada sistem.
Swimlane
Menggambarkan pembagian/pengelompokan berdasarkan tugas
dan fungsi tersendiri.
Transition to self
Menggambarkan hubungan antara state atau activity yang
kembali kepada state atau activity itu sendiri.
Transition State
Menggambarkan hubungan antara dua state, dua activity
ataupun antara state dan activity.
Decision
Menggambarkan kondisi dari sebuah aktivitas yang bernilai
benar/salah.
State
Menggambarkan kondisi, situasi ataupun tempat untuk
beberapa aktivitas.
Fork
Menggambarkan aktivitas yang dimulai dengan sebuah aktivitas
dan diikuti oleh dua atau lebih aktivitas yang harus dikerjakan.
Join
Menggambarkan aktivitas yang dimulai dengan dua atau lebih
aktivitas yang sudah dilakukan dan menghasilkan sebuah
aktivitas.
4. Class Diagram
Class
Menggambarkan keadaan (atribut/properti) dari suatu
NewClass objek.
name Class memiliki tiga area pokok, yaitu: nama, atribut,
name2 method.
name3 Nama menggambarkan nama dari class/objek.
Atribut menggambarkan batasan dari nilai yang dapat
opname() dimiliki oleh property tersebut.
opname2() Method menggambarkan implementasi dari layanan yang
opname3() dapat diminta dari beberapa object dari class , yang
mempengaruhi behaviour.
Association
Menggambarkan mekanisme komunikasi suatu objek
dengan objek lainnya. Atau dapat juga menggambarkan
ketergantungan antarkelas.
Aggregate
Menggambarkan bahwa suatu objek secara fisik dibentuk
dari objek-objek lain, atau secara logis mengandung objek
lain.
Multiplicity
Menggambarkan banyaknya object yang terhubung satu
dengan yang lainnya. Contoh :
1 Tepat satu
0..* Nol atau lebih
1..* Satu atau lebih
0..1 Nol atau satu
5..8 range 5 s.d. 8
4..6,9 range 4 s.d. 6 dan 9
5. Sequence Diagram
Actor
Menggambarkan seseorang atau sesuatu (seperti perangkat,
sistem lain) yang berinteraksi dengan sistem.
Boundary
Menggambarkan interaksi antara satu atau lebih actor dengan
sistem, memodelkan bagian dari sistem yang bergantung pada
pihak lain disekitarnya dan merupakan pembatas sistem dengan
dunia luar.
Control
Menggambarkan “perilaku mengatur”, mengkoordinasikan
perilaku sistem dan dinamika dari suatu sistem, menangani
tugas utama dan mengontrol alur kerja suatu sistem.
Entity
Menggambarkan informasi yang harus disimpan oleh sistem
(struktur data dari sebuah sistem).
Object Message
Menggambarkan pesan/hubungan antar objek, yang
menunjukan urutan kejadian yang terjadi.
Message to Self
Menggambarkan pesan/hubungan objek itu sendiri, yang
menunjukan urutan kejadian yang terjadi.
Object
Menggambarkan abstraksi dari sebuah entitas nyata/tidak nyata
yang informasinya harus disimpan.
DAFTAR ISI
Halaman
Abstraksi.. ........................................................................................... i
Kata Pengantar ................................................................................... ii
Daftar Gambar .................................................................................... iii
Daftar Lampiran .................................................................................. v
Daftar Tabel ........................................................................................ vi
Daftar Simbol ...................................................................................... vii
Daftar Isi ………. .................................................................................. xi
1. Latar Belakang
Informasi adalah hal yang sangat penting untuk kemajuan usaha suatu sistem yang
cepat, tepat dan akurat sangat dibutuhkan bagi usaha Bengkel AHASS 8171 Tugu
Permai. Sistem yang terkomputerisasi dikatakan terbaik untuk saat ini, karena dapat
meningkatkan kecepatan pekerjaan sehingga tercapai efisiensi tenaga, waktu dan biaya
dalam pengolahannya, tanpa harus mengurangi kualitasnya. Sistem yang baik adalah
sistem yang dapat mempermudah semua proses komputer sehingga alat pengolah data
membuat sistem menjadi lebih baik.
Hal ini pula yang sangat dirasakan oleh Bengkel AHASS 8171 Tugu Permai,
perusahaan yang bergerak dibidang service dan penjualan sparepart khusus motor
Honda yang ingin meningkatkan kualitas perusahaannya demi mencapai kepuasan bagi
pelanggannya. Saat ini pencatatan penjualan masih dilakukan secara manual sehingga
dalam pengerjaannya timbul masalah yang harus segera diatasi.
Dalam hal ini yang harus diperbaiki adalah sistem informasi penjualan dan service.
Sistem informasi ini sangat dibutuhkan oleh pihak intern perusahaan di dalam
perencanaan, pengawasan dan pelaporan di dalam kegiatan usaha, yang sangat penting
bagi pengambilan keputusan manajemen perusahaan berikutnya. Mengingat pencatatan
transaksi dalam jumlah sangat banyak sulit dilakukan secara manual, dikarenakan
keterbatasan waktu dan tenaga kerja.
Bedasarkan hal diatas, penulis mencoba merancang sistem penjualan sparepart dan
service pada Bengkel AHASS 8171 Tugu Permai.
2. Masalah
Karena sistem penjualan saat ini dilakukan secara manual, maka ditemukan masalah
yang dihadapi antara lain :
a. Dalam sistem penjualan dan service Bengkel AHASS 8171 Tugu Permai masih
menggunakan sistem secara manual sehingga memerlukan waktu yang cukup lama
dalam pencatatan data serta masalah informasi atau laporan yang kurang memadai.
b. Penyimpanan data yang kurang baik, sehingga terjadi pemborosan waktu apabila
menginginkan pencarian data kembali.
c. Sering terjadi kesalahan atau tidak akuratnya data dalam pembuatan laporan.
d. Pengecekkan data yang berulang-ulang membutuhkan waktu yang lama.
3. Tujuan Penulisan
Tujuan dari penulisan tugas akhir ini adalah memberikan kesempatan kepada
mahasiswa untuk mendapatkan perbandingan antara ilmu yang diperoleh dalam
perkuliahan dengan dunia kerja dan dapat dijadikan gambaran untuk memasuki
lapangan kerja yang sesungguhnya serta dapat mengimplementasikannya dengan
mengubah sistem penjualan dan service Bengkel AHASS 8171 Tugu Permai terdahulu
yang masih bersifat manual menjadi sistem yang terkomputerisasi pada sistem penjualan
yang sedang berjalan, sehingga diharapkan dapat :
a. Mengembangkan suatu sistem yang dapat dipergunakan dalam kegiatan
penjualan dan service yang sedang berjalan.
b. Meminimalkan kelemahan dari sistem yang sedang berjalan saat ini dan
membantu pengambilan keputusan serta pembuatan laporan.
c. Meningkatkan mutu pelayanan penjualan dan service.
d. Memperbaiki penyimpanan data.
e. Memudahkan dalam mengontrol data masukan dan keluaran dalam penyajian
informasi tentang penjualan dan service sehingga dapat dilakukan secara cepat
dan akurat.
f. Meningkatkan efektifitas dan efisiensi dalam hal tenaga dan waktu.
g. Meningkatkan efektifitas dalam pengolahan data agar dapat menghasilkan
informasi yang dibutuhkan dengan lengkap serta dapat dihasilkan setiap saat jika
diperlukan.
5. Metode Penelitian
Dalam rangka menyelesaikan laporan tugas akhir ini, penulis memerlukan data-data
yang berhubungan dengan topik yang dibahas. Adapun metode penelitian yang
digunakan penulis dalam mengumpulkan data diperoleh dengan cara :
a. Studi Pendahuluan (Awal)
Pada tahap awal ini dilakukan pengumpulan data atau materi penulisan dengan
cara :
1) Tinjauan Lapangan
Penulis mengumpulkan data yang diperoleh dari hasil penelitian langsung
pada Bengkel AHASS 8171 Tugu Permai.
Tinjauan lapangan dilakukan dengan dua cara, yaitu :
a) Pengamatan (observasi)
Pengamatan ini diperlukan untuk melihat secara langsung dalam
suatu peninjauan ke lokasi penelitian.
b) Wawancara (interview)
Wawancara ini dilakukan dalam rangka mendapatkan data dan
informasi dalam bentuk tanya jawab pada pemilik yang mengetahui
tentang objek penelitian.
2) Penelitian Kepustakaan
Penulis menggunakan berbagai sumber bacaan, baik buku-buku ilmiah, hasil
pencarian di internet maupun catatan semasa kuliah terutama yang erat
hubungannya dengan topik penulisan ini.
b. Analisa Sistem
Kegiatan yang dilakukan pada tahap ini adalah :
• Menganalisa sistem yang ada, yaitu mempelajari dan mengetahui apa yang
dikerjakan oleh sistem yang ada.
• Menspesifikasi sistem, yaitu menspesifikasi masukan yang digunakan, database
yang ada, proses yang dilakukan, dan keluaran yang dihasilkan.
Pada tahap ini akan dihasilkan model dari sistem yang ada, dengan menggunakan
alat-alat antara lain :
1) Diagram Hubungan Entitas ( Diagram E-R )
Diagram E-R digunakan untuk menggambarkan hubungan antara simpanan data
yang ada di dalam sequence diagram.
2) Activity Diagram
Diagram yang menggambarkan aktivitas/kegiatan-kegiatan sistem yang ada.
3) Use Case Diagram
Diagram yang menggambarkan kebutuhan sistem dari sudut pandang user.
c. Rancangan Sistem
Tahap Perancangan Sistem adalah merancang sistem secara rinci berdasarkan
hasil analisa sistem yang ada, sehingga menghasilkan model sistem baru yang
diusulkan, dengan disertai rancangan database dan spesifikasi program.
Alat-alat yang digunakan pada tahap perancangan sistem ini antara lain sama
dengan tahap analisa sistem dan ditambahkan sebagai berikut :
1) LRS (Logical Record Structure)
LRS terdiri dari link-link diantara tipe record. Link ini menunjukkan arah dari satu
tipe record lainnya.
2) Conceptual Data Model
Conceptual Data Model menunjukkan konsep-konsep, penggabungan antara
konsep-konsep, atribut-atribut dari konsep-konsep.
3) Relasi
Relasi digunakan untuk mendefinisikan dan mengilustrasikan model konseptual
secara terperinci dengan adanya primary key dan foreign key.
4) Spesifikasi Basis Data
Spesifikasi Basis Data digunakan untuk menjelaskan tipe data yang ada pada
model konseptual secara detail.
5) Normalisasi
Untuk mengorganisasikan file dengan menghilangkan grup elemen yang
berulang atau sebuah langkah atau proses untuk menyederhanakan hubungan
elemen data di dalam tuple (record) dapat dilakukan dengan cara normalisasi.
6. Sistematika Penulisan
Keseluruhan tugas akhir ini di bagi dalam lima bab dengan pokok-pokok pemikiran
dari tiap-tiap bab sebagai berikut:
BAB I PENDAHULUAN
Dalam bab ini dijelaskan tentang latar belakang, masalah, tujuan penulisan,
ruang lingkup/batasan masalah, metode penelitian, dan sistematika
penulisan.
BAB V PENUTUP
Bab penutup berisi kesimpulan dari tulisan dan saran-saran yang
berhubungan dengan sistem yang akan dipakai.
BAB II
LANDASAN TEORI
b. Karakteristik Sistem
Suatu sistem mempunyai karakteristik. Karakteristik sistem adalah sebagai berikut :
1) Komponen – komponen (components)
Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi artinya
saling bekerja sama membentuk satu kesatuan. Komponen – komponen sistem
atau elemen – elemen dapat berupa satu subsistem atau bagian – bagian dari
sistem.
2) Batas sistem (boundary)
Batas sistem merupakan daerah yang membatasi antara suatu sistem
dengan sistem yang lainnya atau dengan lingkungan luar. Batas suatu sistem
menunjukkan ruang lingkup (scope) dari sistem tersebut.
3) Lingkungan luar (environment)
Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem
yang mempengaruhi operasi sistem.
4) Penghubung (interface)
Penghubung sistem merupakan media penghubung antara satu subsistem
dengan subsistem yang lain untuk dapat berinteraksi membentuk satu kesatuan.
5) Masukan (input)
Masukan sistem adalah energi yang dimasukkan ke dalam sistem yang
berupa masukan perawatan (maintenance input) dan sinyal masukan (signal
input). Maintenance input adalah energi yang dimasukkan supaya sistem tersebut
dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan
keluaran.
6) Keluaran (output)
Keluaran sistem adalah hasil dari energi yang diolah dan diklasifikasikan
menjadi keluaran yang berguna dan sisa pembuangan.
7) Pengolah (process)
Suatu sistem dapat mempunyai bagian pengolah atau sistem itu sendiri
sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran.
8) Sasaran (objectives) atau tujuan (goal)
Suatu sistem harus mempunyai sasaran, karena sasaran sangat menentukan
sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan
sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.
(Jogiyanto, 2003 : 54 )
“Informasi adalah data yang telah diproses atau disusun ke dalam suatu format
lebih berarti untuk seseorang. informasi dibentuk dari kombinasi dari data yang
dengan penuh harapan dapat mempunyai arti bagi penerimanya”.
Perancangan sistem adalah tahap setelah analisis dari siklus pengembangan sistem,
pendefinisian dari kebutuhan-kebutuhan fungsional, persiapan untuk rancang bangun
implementasi, menggambarkan bagaimana suatu sistem dibentuk yang dapat berupa
penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa
elemen yang terpisah serta mengkonfigurasikan dari komponen-komponen perangkat
lunak dan perangkat keras dari suatu sistem. Perancangan sistem mempunyai 2 (dua)
tujuan utama, yaitu:
a. Untuk memenuhi kebutuhan kepada pemakai sistem.
b. Untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada
programmer dan ahli-ahli teknik lainnya yang terlibat.
Alat-alat yang digunakan dalam tahap perancangan sistem adalah sebagai berikut:
ERD adalah sebuah model data yang menggunakan beberapa notasi untuk
menggambarkan data dalam hal entitas dan relasi yang digambarkan oleh data
tersebut.(Jeffery L. Whitten et al, 2004 : 295)
1) Entity (entitas), sebuah kelas dari orang, tempat, objek, kejadian, dan
sebagainya atau sebuah konsep yang mana kita perlukan untuk menangkap dan
menyimpan data.(Jeffery L. Whitten et al, 2004 : 295)
Gambar 2.1
Simbol Entity
2) Relationship (hubungan/relasi), sebuah asosiasi bisnis alami antara satu atau
lebih entitas. Sebuah relasi bisa menunjukkan sebuah peristiwa yang
menghubungkan sebuah entitas ke entitas yang lain.
(Jeffery L. Whitten et al, 2004 : 298)
Gambar 2.2
Simbol Relationship
Gambar 2.3
Attribute Pada ERD
4) Cardinality, jumlah kejadian minimum dan maksimum dari satu entitas yang
dihubungkan dengan kejadian yang tunggal dari entitas lain.
(Jeffery L. Whitten et al,2004 : 299)
Ada 3 (tiga) kemungkinan hubungan yang ada yaitu:
a) One to one (1:1), Jumlah kejadian adalah satu ke satu antara entitas yang
saling berhubungan. (Jeffery L. Whitten et al, 2004 : 299)
b) One to many (1:M), Jumlah kejadian adalah satu ke banyak dari satu entitas
ke entitas lain yang berhubungan. (Jeffery L. Whitten et al, 2004 : 299)
c) Many to many (M:M), Jumlah kejadian adalah banyak ke banyak dari satu
entitas ke entitas lain yang berhubungan.
(Jeffery L. Whitten et al,2004 : 299)
c. Normalisasi
Teknik yang digunakan untuk meningkatkan suatu model data dalam persiapan
untuk disain database disebut dengan analisa data. Analisa data adalah suatu proses
yang menyiapkan suatu model data untuk penerapan database yang sederhana,
nonredundant (tidak ada kerangkapan data), fleksibel, dan yang dapat
menyesuaikan diri (adaptable). Teknik yang digunakan disebut dengan normalisasi.
Normalisasi adalah suatu teknik analisa data yang mengorganisir data ke dalam
suatu kelompok untuk membentuk kesatuan data yang nonredundant, stabil,
fleksibel, dan adaptif. (Jeffery L. Whitten et al,2004:322)
Adapun beberapa jenis/tipe normalisasi yaitu:
1) Normalisasi bentuk pertama (1NF/First Normal Form), suatu tabel adalah 1NF
jika tidak ada atribut yang dapat mempunyai nilai lebih dari satu(repeating
group) untuk kejadian yang tunggal dari entitas itu.
(Jeffery L. Whitten et al, 2004:323)
2) Normalisasi bentuk kedua (2NF/Second Normal Form), suatu tabel adalah 2NF
apabila tabel tersebut sudah berada pada 1NF dan setiap atribut yang bukan key
bergantung penuh pada primary key (tidak terjadi partial dependencies).
(Jeffery L. Whitten et al, 2004:323)
3) Normalisasi bentuk ketiga (3NF/Third Normal Form), suatu tabel adalah 3NF
apabila sudah berada dalam 2NF dan setiap atribut yang bukan key tidak
bergantung terhadap atribut lain kecuali terhadap primary key (non transitive
dependencies). (Jeffery L. Whitten et al, 2004:323)
Konsep dasar analisa dan perancangan berorientasi objek adalah sebagai berikut:
Gambar 2.4
Simbol use case
2. Actor, Actor adalah abstraction dari orang atau sistem yang lain yang
mengaktifkan fungsi dari target sistem. Untuk mengidentifikasikan actor,
harus ditentukan pembagian tenaga kerja dan tugas – tugas yang
berkaitan dengan peran pada konteks target sistem. Orang atau sistem
bisa muncul dalam beberapa peran. Perlu dicatat bahwa actor
berinteraksi dengan use case, tetapi tidak memiliki kontrol terhadap use
case.(Munawar, 2004:64-65)
Gambar 2.5
Simbol Actor
3. Relasi (relationship) antara actor dengan use case pada use case
diagram digambarkan dalam bentuk garis. Relasi antara actor dengan
use case disebut dengan asosiasi, asosiasi adalah sebuah relasi antara
actor dengan use case dimana sebuah interaksi terjadi diantara mereka.
(Jeffery L. Whitten, 2004:274)
Gambar 2.6
Simbol Asosiasi
4. Relasi Use Case
Selain terdapat relasi-relasi antara actor dan use case, juga terdapat
relasi-relasi antara use case - use case. Ada beberapa jenis relasi antara
use case – use case, yaitu: (Munawar, 2004:66)
a. Include, digunakan untuk menggambarkan bahwa suatu use case
seluruhnya merupakan fungsionalitas dari use case lainnya.
<<include>>
<<include>>
Logon validation
Maintain curriculum
Gambar 2.7
Simbol Include
B u k a
R e k e n in g
N a s a b a h
B u k a
D e p o s ito
Gambar 2.8
Simbol Extend
Gambar 2.9
Simbol Start Point
2. End Point, akhir aktifitas. (Munawar, 2004:109)
Gambar 2.10
Simbol End Point
Gambar 2.11
Simbol Activities
Gambar 2.12
Simbol Fork
Gambar 2.13
Simbol Join
NewSwiml an e2
Gambar 2.15
Simbol Swimlane
Konseptual Data Model merupakan model yang paling penting yang harus
dibuat sepanjang proses analisis yang berorientasi obyek. Use case merupakan
suatu model analisis kebutuhan yang penting, tetapi tidak berorientasi obyek.
Pengidentifikasian konsep – konsep adalah bagian dari pemeriksaan atau
penyelidikan domain masalah. UML terdiri dari penulisan diagram – diagram
struktur statis untuk menggambarkan model – model konseptual. Model
konseptual merupakan sebuah gambaran mengenai konsep-konsep di dalam
domain masalah. Dalam UML, suatu model konseptual digambarkan dengan
diagram struktur statis yang mana di dalamnya tidak terdapat penjelasan
mengenai operasi – operasi. Model konseptual menitik beratkan fokus pada
domain konsep-konsep bukan pada entitas – entitas software.
Model konseptual menunjukkan konsep-konsep, penggabungan antara
konsep-konsep, atribut-atribut dari konsep-konsep.
Setelah kita menentukan tanggung jawab dan perilaku dari obyek, kita
dapat menciptakan suatu model yang terperinci dari bagaimana obyek tersebut
akan saling berhubungan satu sama lain untuk menyediakan kemampuan atau
fungsi yang ditetapkan pada setiap use case yang telah didesain sebelumnya.
UML menyediakan dua jenis diagram untuk melukiskan interaksi tersebut
dengan nyata yaitu Sequence Diagram dan collaboration diagram.
Sequence Diagram menunjukkan secara detil bagaimana obyek saling
berhubungan satu sama lain dari waktu ke waktu, dan collaboration diagram
menunjukkan bagaimana obyek bekerja sama dalam bentuk urutan pesan untuk
memenuhi fungsionalitas dari suatu use case.
Definisi dari sequence diagram adalah suatu diagram UML yang
memodelkan logika dari suatu use case dengan menggambarkan interaksi
berupa pengiriman pesan(message) antar obyek dalam urutan waktu.
(Jeffery L. Whitten et al,2004:702)
a) Entity Object, suatu obyek yang berisi informasi kegiatan yang terkait yang
tetap dan disimpan ke dalam suatu database.
(Jeffery L. Whitten et al, 2004:686)
Gambar 2.16
Simbol Entity Object
Gambar 2.17
Simbol Boundary Object
c) Control Object, suatu obyek yang berisi logika aplikasi yang tidak memiliki
tanggung jawab kepada entitas. contohnya adalah kalkulasi dan aturan
bisnis yang melibatkan berbagai objek. Control object mengkoordinir
pesan(message) antara boundary dengan entitas.
(Jeffery L. Whitten et al, 2004:686)
Gambar 2.18
Simbol Control Object
d) Simple Message, simbol pengiriman pesan dari sebuah obyek ke obyek lain.
(Jeffery L. Whitten et al, 2004:704)
Gambar 2.19
Simbol Message
Gambar 2.20
Simbol Recursive
Gambar 2.21
Simbol Activation
1. Tinjauan Organisasi
Untuk merancang sistem yang baik dan sesuai dengan hasil yang diharapkan, maka
terlebih dahulu diperoleh data atau informasi tentang sistem berjalan. Data atau
informasi tersebut didapat dengan menganalisa sistem yang ada pada saat ini. Dan dari
hasil analisa sistem tersebut kita dapat mengetahui kekurangan-kekurangan sistem yang
sedang berjalan untuk dapat diperbaiki dan dikembangkan dengan melakukan
perancangan sistem usulan yang lebih sesuai dengan kebutuhan informasi dan lebih
handal dalam mengatasi kompleksitas bisnis usaha.
a. Sejarah Organisasi
AHASS 8171 Tugu Permai berdiri sekitar tahun 2005 di Jl. H. Murtado B4 No7
Semper - Jakarta Utara, yang didirikan oleh Bpk. Mukhrijul Adli. S.H. AHASS 8171
Tugu Permai adalah bagian dari PT Astra Honda Motor yang salah satu tugasnya
adalah sebagai layanan purna jual dan memberikan pelayanan service bagi
konsumen sepeda motor Honda. Awal terselenggaranya usaha pada bidang service
ini dikarenakan tingginya minat konsumen untuk memkai speda motor Honda. Dalam
hal ini untuk dapat memenuhi kebutuhan dan kepuasan para pengguna sepeda
motor Honda dalam hal mutu, keaslian produk dan pelayanan service yang
memuaskan.
Pada awal berdirinya AHASS 8171 Tugu Permai hanya memiliki tiga orang
mekanik. Satu orang sebagai senior mekanik dan dua lagi sebagai junior mekanik
dan hingga kini telah memiliki 7 orang mekanik. Satu sebagai kepala melanik, tiga
sebagai senior mekanik dan tiga orang lagi sebagai junior mekanik.
Pada tahun 2006 AHASS 8171 Tugu Permai mendapatkan ACS (Astra Claim
Service). Dengan adanya ACS, AHASS 8171 Tugu Permai berhak mengclaim ke pada
PT Astra Honda Motor apabila ada motor baru yang memiliki kerusakan yang cukup
fatal dikarenakan kesalahan pabrik.
b. Struktur Organisasi
Organisasi adalah suatu tempat berkumpulnya sejumlah manusia yang saling
terkait dalam mencapai suatu tujuan tertentu yang telah disepakati bersama. Dan
untuk mewujudkannya diperlukan adanya pengorganisasian. Misalnya dalam suatu
perusahaan apakah perusahaan itu besar ataupun kecil, maka sangatlah diperlukan
struktur organisasi. Karena dengan memiliki struktur organisasi maka kegiatan
operasi dapat berjalan dengan lancar dan bisa mencapai tujuannya. Yang dimaksud
struktur organisasi adalah pembagian kerja dan hubungan kerja dalam organisasi,
sehingga terwujud suatu kerja sama yang sangat harmonis dari bagian-bagian dalam
organisasi tersebut. Dengan organisasi yang baik, maka setiap bagan organisasi
mengetahui wewenang dan tugas yang menjadi tanggung jawabnya masing-masing.
Adapun struktur organisasi pada AHASS 8171 Tugu Permai adalah
sebagai berikut :
Pimpinan
Gambar 3.1
Struktur Organisasi AHASS 8171 TUGU PERMAI
c. Deskripsi Tugas
Untuk lebih jelasnya tugas, wewenang, serta tanggung jawab maupun fungsinya
diuraikan sebagai berikut:
1) Pimpinan
Pemimpin adalah seseorang yang memimpin suatu usaha atau perusahaan, dia
berhak mengatur dan menjalankan lancarnya perusahaan tersebut.
Tugasnya adalah:
a) Mengatur dan mengawasi jalannya suatu usaha.
b) Membuat kebijakan di dalam menjalankan usaha.
c) Bertanggung jawab sepenuhnya pada usaha yang dijalankan.
d) Memimpin dan mengawasi perkembangan perusahaan melalui laporan–
laporan yang di terima dan mengambil keputusan yang diperlukan dan
bertanggung jawab atas keputusan yang telah dipilih.
Wewenangnya adalah:
a) Mengambil keputusan dalam menjalankan usaha.
b) Mengangkat dan memberhentikan karyawan.
2) Bagian Keuangan
Tugasnya adalah :
a) Mencatat transaksi keluar masuknya data keuangan.
b) Mencatat laporan keuangan.
c) Mencatat transaksi penjualan ke dalam laporan.
d) Bertanggung jawab atas piutang dan utang usaha.
Wewenangnya adalah :
a) Bertanggung jawab atas keluar masuknya keuangan di dalam perusahaan.
3) Manajer Operasional
Tugasnya adalah :
a) Mengawasi dan bertanggung jawab atas pekerjaan advisor dan bagian
gudang.
b) Membuat laporan keluhan dan kepuasan pelanggan untuk evaluasi.
c) Bertanggung jawab atas daily operation.
Wewenangnya adalah :
a) Mengambil Keputusan dalam kegiatan sehari-hari
4) Kepala Mekanik
Tugasnya adalah :
a) Melakukan final cheking.
b) Mengaudit tata cara kerja mekanik.
Wewenangnya adalah :
a) Bertanggung jawab atas senior dan junior mekanik.
5) Advisor
Tugasnya adalah :
a) Membantu dan melayani kebutuhan pelanggan.
b) Membuat kwitansi transaksi penjualan
c) Melaksanakan transaksi penjualan.
d) Bertanggung jawab atas transaksi penjualan terhadap keakurasian data
barang yang dijual ke pelanggan.
Wewenangnya adalah :
a) Melayani kebutuhan pelanggan dengan ramah.
b) Memberikan pelayanan terbaik kepada pelanggan.
6) Bagian Gudang
Tugasnya adalah :
a) Melakukan pengecekan stock barang.
b) Membuat surat permintaan pembelian barang.
Wewenangnya adalah :
a) Bertanggung jawab atas keluar masuknya barang.
7) Senior Mekanik
Tugasnya adalah :
a) Melakukan service standard dan service besar.
Wewenangnya adalah :
a) Bertanggung jawab atas service kendaraan yang dikerjakannya.
8) Junior Mekanik
Tugasnya adalah :
a) Melakukan service standard
2. Uraian Prosedur
Prosedur kegiatan yang dilakukan pada AHASS 8171 Tugu Permai dalam sistem
penjualan dan service adalah:
b. Proses Registrasi
Pelanggan menginformasikan data diri dan data kendaraan pada advisor. Setelah itu
pelanggan akan memilih service atau paket service yang telah tersedia di setiap
AHASS. Advisor akan mencatat service dan sparepart yang dibutuhkan serta keluhan
pelanggan pada Service Advisor Form (SAF).
b. Proses Service
Advisor menyerahkan SAF pada mekanik, lalu mekanik memeriksa apa saja sparepart
yang di butuhkan dan mekanik mengkonfirmasikan ke bagian gudang. Jika sparepart
yang di butuhkan teleh tersedia barulah mekanik melakukan pengerjaan, dan apabila
sparepart yang dibutuhkan tidak tersedia, bagian gudang mengkonfirmasikan pada
advisor dan advisor menginformasikan ke pelanggan. Apabila pada proses
pengerjaan mekanik menemukan berbagai kerusakan pada motor pelanggan yang
tidak tercantum dalam SAF, mekanik menginformasikan berbagai kerusakan pada
advisor dan advisor menginformasikan pada pelanggan. Apabila pelanggan
menyetujui penggantian sparepart, advisor menambahkan daftar sparepart yang
dibutuhkan pada SAF lalu SAF di serahkan kembali ke mekanik.
c. Proses Pembayaran
Setelah mekanik selesai melakukan pengerjaan, mekanik menyerahkan SAF yang
telah selesai dikerjakan pada advisor dan advisor mencatat transkrip SAF pada Work
Order (WO) yang akan disimpan oleh perusahaan. Lalu advisor membuatkan kwitansi
sebagai tanda bukti service dan penjualan sparepart.
3. Analisa Proses
Berdasarkan uraian prosedur diatas, berikut ini adalah kegiatan-kegiatan yang
dilakukan oleh AHASS 8171 Tugu Permai, yang digambarkan pada activity diagram
sebagai berik
Gambar 3.2
Activity Diagram Proses Registrasi
b. Activity Diagram Service
Gambar 3.3
Activity Diagram Service
c. Activity Diagram Pembayaran
Gambar 3.4
Activity Diagram Pembayaran
4. Analisa Keluaran
Analisa keluaran merupakan analisa mengenai keluaran yang dihasilkan melalui
proses-proses yang ada dalam sistem berjalan. Adapun keluaran yang dihasilkan dari
sistem penjualan pada AHASS 8171 Tugu Permai adalah Service Advisor Form dan
Kwitansi. Untuk lebih jelasnya analisa keluaran sistem penjualan dapat diuraikan sebagai
berikut :
c. Laporan Sparepart
Nama Keluaran : Laporan Sparepart
Fungsi : Sebagai laporan kepada pimpinan atas penjualan sparepart yang
dilakukan selama satu periode
Media : Kertas
Distribusi : Pimpinan
Rangkap : 1 (satu) lembar
Frekuensi : Bulanan
Volume : 1 (satu) perbulan
Format : Lihat lampiran A – 3
Keterangan : Dibuat untuk diberikan kepada pimpinan setiap akhir bulan, berisi
tentang transaksi penjualan sparepart.
Hasil Analisa : Sudah cukup baik untuk keperluan analisa
5. Analisa Masukan
Maksud dari analisa masukan adalah untuk mengetahui dokumen-dokumen apa saja
yang digunakan sebagai masukan dalam pengolahan data pada sistem service dan
penjualan yang sedang berjalan. Masukan yang digunakan pada sistem ini adalah
sebagai berikut :
a. Work Order
Nama Masukan : Work Order
Sumber : Data yang berada di service advisor form
Fungsi : Bukti kegiatan transaksi selama 1 hari
Media : Kertas
Rangkap : satu
Frekuensi : Setiap terjadi transaksi
Volume : lima puluh per minggu
Format : Lampiran B-1
Keterangan : Merupakan transkrip data yang ada pada service advisor form
sebagai tanda bukti transaksi.
Hasil Analisa : Bentuk yang kurang terstruktur.
6) Identifikasi Kebutuhan
Merupakan hasil dari analisa yang berbentuk uraian tentang kebutuhan sistem
dimasa mendatang dan dikaitkan dengan pengelolaan sumber daya, kebutuhan
sistem untuk perbaikan yang diinginkan.
i. Kebutuhan : Kwitansi
Masalah : Kurang lengkapnya data yang berhubungan dengan transaksi
pembayaran.
Usulan : Perlu adanya bentuk keluaran kwitansi yang berisi data
lengkap mengenai pembayaran yang tersimpan dalam
komputer.
7. Package Diagram
Sebuah Use Case merepresentasikan sebuah interaksi antara aktor dengan sistem.
Use Case Diagram juga menjelaskan manfaat sistem jika dilihat menurut pandangan
orang yang berada diluar sistem (actor). Rancangan Use Case tersebut dikelompokkan
menggunakan package. Rancangan hasil analisa tersebut adalah sebagai berikut :
Gambar 3.5
Package Diagram
8. Use Case Diagram
Gambar 3.6
Use Case Diagram Master
Gambar 3.7
Use Case Diagram Transaksi
c. Use Case Diagram Laporan
Gambar 3.8
Use Case Diagram Laporan
a. Package Master
b. Package Transaksi
c. Package Laporan
Gambar 4.1
Entity-Relationship Diagram (ERD)
b. Transformasi ERD ke LRS
Gambar 4.2
Transformasi ERD ke LRS
c. Logical Record Structure (LRS)
Mekanik
WO
*Id_Mekanik
*No_Wo
Nm_Mekanik
Tgl_wo
Alamat
TgL_Keluar Advisor
tlp *Id_Advisor
*No_Saf
*Id_Advisor
Nm_Advisor
*Id_Mekanik Alamat
tlp
*Kd_sprt
Nm_sprt
Hrg_sprt
Stock
Gambar 4.3
Logical Record Structure (LRS)
d. Normalisasi
Normalisasi dilakukan terhadap suatu relasi untuk menghindari kemungkinan
terdapatnya anomali yang timbul pada saat pemanfaatan basis data. Langkah-
langkah yang harus dilakukan pada tahap normalisasi dapat dilihat di halaman
berikut ini :
No_rangka
No_mesin
warna
Type_mtr
No_pol
Tahun
Pemilik
alamat
telp
Jns_mtr
Gambar 4.4
Diagram Ketergantungan Fungsi Tabel motor
• Tabel motor berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu No_pol.
Nm_sprt
Hrg_sprt
Kd_sprt
Stock
Gambar 4.5
Diagram Ketergantungan Fungsi Tabel sparepart
• Tabel sparepart berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu Kd_sprt.
Gambar 4.6
Diagram Ketergantungan Fungsi Tabel paket_service
• Tabel paket_service berada pada 1 NF, karena tidak ada attribut yang
berulang (Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu Kd_paket.
Gambar 4.7
Diagram Ketergantungan Fungsi Tabel service
• Tabel service berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu Kd_service.
Gambar 4.8
Diagram Ketergantungan Fungsi Tabel advisor
• Tabel advisor berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu Id_advisor.
Gambar 4.9
Diagram Ketergantungan Fungsi Tabel mekanik
• Tabel mekanik berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu Id_mekanik.
Gambar 4.10
Diagram Ketergantungan Fungsi Tabel saf
• Tabel saf berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu No_Saf
Tgl_Wo
Jam_Keluar
No_Wo
No_Saf
Gambar 4.11
Diagram Ketergantungan Fungsi Tabel WO
• Tabel wo berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu No_Wo.
Gambar 4.12
Diagram Ketergantungan Fungsi Tabel Kwitansi
• Tabel kwitansi berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu No_kwitansi
Gambar 4.13
Diagram Ketergantungan Fungsi Tabel dapat
• Tabel dapat berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu No_Saf dan Kd_Sprt.
Gambar 4.14
Diagram Ketergantungan Fungsi Tabel punya
• Tabel punya berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu Kd_Service dan Kd_Paket
Gambar 4.15
Diagram Ketergantungan Fungsi Tabel isi
• Tabel isi berada pada 1 NF, karena tidak ada attribut yang berulang
(Repeating Group).
• Relasi diatas sudah 2 NF, karena sudah 1 NF dan atribut bukan key sudah
bergantung penuh pada primary key (tidak terjadi partial dependencies).
• Relasi diatas sudah 3 NF, karena sudah 2 NF dan tidak ada transitive
dependency. Yaitu semua atribut non key tidak bergantung pada atribut
lainnya kecuali terhadap primary key yaitu Kd_Service dan No_Saf
Basis data yang telah mempunyai bentuk normal selanjutnya dijelaskan dalam
spesifikasi basis data yang meliputi nama file, media penyimpanan yang
digunakan, isi yang disimpan, organisasi yang digunakan, primary key, panjang
record, jumlah record dan struktur.
Spesifikasi basis data yang memberikan penjelasan secara detil tentang
masing-masing basis data yang digunakan dalam sistem penjualan dan service
pada AHASS TUGU PERMAI adalah sebagai berikut :
Tabel 4.1
Tabel Spesifikasi motor
No Nama Field Type Data Field Size Desimal Keterangan
1 No_pol Varchar 10 - Nomor Polisi
2 No_rangka Varchar 17 - Nomor Rangka
3 No_mesin Varchar 12 - No Mesin motor
4 warna Varchar 10 - Warna Motor
5 Type_mtr Varchar 10 - Type Motor
6 Tahun int 4 - Tahun Pembuatan Motor
7 Pemilik Varchar 25 - Pemilik Motor
8 Alamat Varchar 50 - Alamat Pemilik Motor
9 Telp Varchar 12 - No Telepon Pemilik Motor
10 Jns_mtr Varchar 7 - Jenis Motor
Tabel 4.2
Tabel Spesifikasi sparepart
Tabel 4.3
Tabel Spesifikasi service
No Nama Field Type Data Field Size Desimal Keterangan
1 Kd_service Varchar 5 - Kode Service
2 Nm_service Varchar 25 - Nama Service
3 Hrg_service Int 5 - Harga Service
Tabel 4.4
Tabel Spesifikasi paket_service
Tabel 4.5
Tabel Spesifikasi advisor
Tabel 4.6
Tabel Spesifikasi mekanik
7) Nama Tabel : wo
Media : Harddisk
Isi : Informasi data Work Order
Organisasi : Index Sequential
Primary Key : No_wo
Panjang Record : 22 byte
Jumlah Record : 7.391 record
Struktur :
Tabel 4.7
Tabel Spesifikasi wo
Tabel 4.9
Tabel Spesifikasi dapat
Tabel 4.11
Tabel Spesifikasi punya
Tabel 4.12
Tabel Spesifikasi isi
Rancangan antar muka merupakan bentuk tampilan yang dirancang untuk sistem
yang dibuat.
a. Rancangan Keluaran
b. Rancangan Masukan
1) Struktur Tampilan
Gambar 4.16
Struktur Tampilan
2) Rancangan Layar
Gambar 4.17
Rancangan Dialog Layar Menu Utama
Gambar 4.18
Rancangan Dialog Layar Menu Master
3) Rancangan Layar Menu Transaksi
Gambar 4.19
Rancangan Dialog Layar Menu Transaksi
Gambar 4.20
Rancangan Dialog Layar Menu Laporan
5) Rancangan Layar Entry Motor
Gambar 4.21
Rancangan Layar Entry Motor
Gambar 4.22
Rancangan Layar Entry Sparepart
7) Rancangan Layar Entry Service
Gambar 4.23
Rancangan Layar Entry Service
Gambar 4.24
Rancangan LayarEntry Paket Service
9) Rancangan Layar Entry Advisor
Gambar 4.25
Rancangan Layar Entry Advisor
Gambar 4.26
Rancangan Layar Entry Mekanik
11) Rancangan Layar Entry Wo
Gambar 4.27
Rancangan Layar Entry Wo
Gambar 4.28
Rancangan Layar Entry SAF
Gambar 4.29
Rancangan Layar Entry Kwitansi
Gambar 4.30
Rancangan Layar Laporan Paket Service
15) Rancangan Layar Laporan Service Lain
Gambar 4.31
Rancangan Layar Laporan Service Lain
Gambar 4.32
Rancangan Layar Laporan Penjualan Sparepart
3. Sequence Diagram
Load ()
Show ()
Tambah ()
Tambah ()
Input Motor ()
Input Motor ()
Simpan ()
Simpan ()
Simpan Motor ()
Tampil Listview ()
Pilih Motor ()
Pilih Motor ()
Get Motor ()
Tampil Motor
Ubah ()
Ubah ()
Ubah Motor ()
Hapus ()
Hapus ()
Hapus ()
Batal ()
Keluar ()
Gambar 4.33
Sequence Diagram Entry Motor
b) Sequence Diagram Entry Sparepart
Gambar 4.34
Sequence Diagram Entry Sparepart
c) Sequence Diagram Entry Service
Gambar 4.35
Sequence Diagram Entry Service
Load ()
Show ()
Tambah ()
Tambah ()
Tambah ()
Tambah ()
Tampil Listview ()
Kurang ()
Kurang ()
Tampil Listview ()
Simpan ()
Simpan ()
Simpan ()
Simpan ()
Pilih paket () Pilih paket ()
Get paket ()
Tampil paket ()
Get paket ()
Ubah () Ubah ()
Ubah ()
Ubah ()
Hapus ()
Hapus ()
Hapus ()
Hapus ()
Batal ()
Keluar ()
Gambar 4.36
Sequence Diagram Entry Paket Service
e) Sequence Diagram Entry Advisor
Gambar 4.37
Sequence Diagram Entry Advisor
f) Sequence Diagram Entry Mekanik
Gambar 4.38
Sequence Diagram Entry Mekanik
2) File Transaksi
a) Sequence Diagram Entry SAF
Gambar 4.39
Sequence Diagram Entry SAF
b) Sequence Diagram Entry Wo
Gambar 4.40
Sequence Diagram Entry Wo
c) Sequence Diagram Entry Kwitansi
Gambar 4.41
Sequence Diagram Entry Kwitansi
3) File Laporan
a) Sequence Diagram Cetak Laporan Paket Service
Gambar 4.42
Sequence Diagram Cetak Laporan Paket Service
Gambar 4.43
Sequence Diagram Cetak Laporan Service Lain
c) Sequence Diagram Cetak Laporan Penjualan Sparepart
Gambar 4.44
Sequence Diagram Cetak Laporan Penjualan Sparepart
e. Rancangan Class Diagram
1) Entity Class
Gambar 4.45
Entity Class
2) Boundary Class
Gambar 4.46
Boundary Class
3) Control Class
Gambar 4.47
Control Class
BAB V
PENUTUP
1. Kesimpulan
Pendekatan yang digunakan didalam kegiatan analisis dan desain pada tugas akhir
ini adalah pendekatan yang berorientasi obyek (object oriented) menggunakan UML.
Penggunaan UML memudahkan analisis dan desain aplikasi sistem didalam tugas akhir
ini. Dengan menggunakan pendekatan berorientasi obyek dan UML, kegiatan analisa dan
desain lebih difokuskan pada obyek-obyek yang mendukung sistem. Disamping itu, UML
memiliki artifact-artifact yang membantu pendokumentasian kegiatan analisis dan
desain.
Analisis yang dilakukan adalah analisis terhadap kebutuhan-kebutuhan yang harus
dipenuhi oleh aplikasi sistem (use case). Sehingga hal-hal yang mungkin terlupakan pada
saat pembangunan aplikasi sistem atau software dapat dihindari.
Setelah mempelajari permasalahan yang dihadapi dan solusi yang ditawarkan,
maka dapat ditarik beberapa kesimpulan yang dapat dirinci sebagai berikut:
a. Sistem penjualan sparepart dan service pada AHASS Tugu Permai yang
terkomputerisasi lebih mempermudah dan memperlancar proses.
b. Dengan proses komputerisasi mempercepat pengolahan data dan pembuatan
laporan serta informasi yang dihasilkan lebih akurat, cepat, lengkap, dan bentuknya
dapat dirancang sesuai dengan keinginan, sehingga terjadinya kesalahan dapat
diperkecil.
c. Kerangkapan data dikarenakan menumpuknya dokumen dapat diminimalisasi,
sehingga informasi yang dibutuhkan dapat segera terpenuhi dengan lengkap dan
akurat.
d. Efektifitas dan efisiensi dalam proses administrasi penjualan sparepart dan service
dapat tercapai.
2. Saran
Untuk memperoleh hasil yang optimal dari Aplikasi Sistem Informasi Penjualan
sparepart dan service ini, maka beberapa hal yang perlu diperhatikan diantaranya
adalah:
a. Perlu diadakan dokumentasi dan pemeliharaan sistem.
b. Perlu Backup data untuk menjamin keamanan data.
c. Faktor ketelitian dan kecermatan dalam mengolah informasi.
d. Peningkatan kualitas sumber daya manusia dalam pengolahan informasi.
e. Kontrol yang tepat untuk menghasilkan laporan yang tepat waktu, dan akurat
sebagai bahan untuk mengambil keputusan.
f. Memberikan pelatihan kepada karyawan untuk memperkenalkan sistem yang baru.
DAFTAR PUSTAKA
Munawar. Pemodelan Visual dengan UML, Edisi pertama, Jakarta : Graha Ilmu 2005.
Prasetyo, Didik Dwi. Mengolah Database dengan Visual Basic.NET. Jakarta : PT. Alex Media
Komputindo, 2003.
Kurniawan, Yahya, ST. Pemrograman Visual Basic.NET 2003. Jakarta : PT. Alek Media
Komputindo, 2003.
Whitten, Jeffery L., Lonnie D. Bentley, Kevin C. Dittman. System Analysis and Design
Methods. 6th ed. New York : McGraw – Hill, 2004.
LAMPIRAN A
KELUARAN
SISTEM BERJALAN
Lampiran A - 1
Formulir Keluaran Service Advisor Form
Lampiran A - 2
Formulir Keluaran Kwitansi
Lampiran A - 3
Formulir Keluaran Laporan Penjualan Sparepart
Lampiran A - 4
Formulir Keluaran Laporan Harian
LAMPIRAN B
MASUKAN
SISTEM BERJALAN
Lampiran B – 1
Formulir Masukan Work Order
LAMPIRAN C
RANCANGAN KELUARAN
ASTRA HONDA AUTHORIZED SERVICE STATION
AHASS 8171
TUGU PERMAI MOTOR
Jl. H. Murtado B4 No. 7
Semper - Jakarta Utara
(021) 70642358
No. Tp : X – 12 - X
X – 30- X X – 30- X X – 25 - X 99
Lampiran C – 1
Rancangan Keluaran SAF
ASTRA HONDA AUTHORIZED SERVICE STATION
AHASS 8171
TUGU PERMAI MOTOR
Jl. H. Murtado B4 No. 7
Semper - Jakarta Utara
(021) 70642358
TANDA PEMBAYARAN
Nomor Kwitansi : X–5-X Nomor SAF : X–7-X
Tanggal Kwitansi : dd/mm/yyyy Tanggal SAF : dd/mm/yyyy
Nomor Polisi : X – 10 - X Nama Paket Service : X – 25 - X
PERHATIAN !!!
Barang-barang yang sudah dibeli tidak dapat ditukar atau dikembalikan.
Anda puas beritahu kawan-kawan pemakai Motor Honda
Anda Complain SMS ke 0816 770 991
Lampiran C – 2
Rancangan Keluaran Kwitansi
Lampiran C – 3
Rancangan Keluaran Laporan Paket Service
Lampiran C – 4
Rancangan Keluaran Laporan Service Lain
AHASS 8171 TUGU PERMAI MOTOR
Jl. H. Murtado B4 No. 7 Semper - Jakarta Utara
Telp. (021) 70642358
Lampiran C – 5
Rancangan Keluaran Laporan Penjualan Sparepart
\
LAMPIRAN D
RANCANGAN MASUKAN
Lampiran D-1
Rancangan Masukan Data Motor
Lampiran D-2
Rancangan Masukan Data Sparepart
Lampiran D-3
Rancangan Masukan Data Service
Lampiran D-4
Rancangan Masukan Data Paket Service
Lampiran D-5
Rancangan Masukan Data Advisor
Lampiran D-6
Rancangan Masukan Data Mekanik
Lampiran D-7
Rancangan Masukan Data Saf
Lampiran D-8
Rancangan Masukan Data Wo
LAMPIRAN E
SURAT KETERANGAN RESET
LISTING PROGRAM
MENU UTAMA
Imports MySql.Data.MySqlClient
Public Class MenuUtama
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Public frm As New Form
MASTER MOTOR
Imports MySql.Data.MySqlClient
Public Class Motor
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Private Sub Btn_Keluar_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Btn_Keluar.Click
Me.Close()
End Sub
Function simpan()
SQL = "Insert Into motor values('" & Txt_NoPol.Text & "','"
& Txt_NoRangka.Text & "','" & Txt_NoMesin.Text & "','" &
Txt_Warna.Text & "','" & Txt_Type.Text & "','" & Txt_Thn.Text &
"','" & Txt_Pmilik.Text & "','" & Txt_Alamat.Text & "','" &
Txt_NoTlp.Text & "','" & Cmb_JnsMtr.Text & "')"
Try
If Txt_NoPol.Text = "" Then
MsgBox("Nomor Polisi Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_NoPol.Focus()
Call button()
ElseIf Txt_Type.Text = "" Then
MsgBox("Type Motor Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Type.Focus()
Call button()
ElseIf Txt_Thn.Text = "" Then
MsgBox("Tahun Motor Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_Thn.Focus()
Call button()
ElseIf Txt_Pmilik.Text = "" Then
MsgBox("Nama Pemilik Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_Pmilik.Focus()
Call button()
ElseIf Txt_Alamat.Text = "" Then
MsgBox("Alamat Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_Alamat.Focus()
Call button()
ElseIf Txt_NoTlp.Text = "" Then
MsgBox("Nomor Telepon Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_NoTlp.Focus()
Call button()
ElseIf Cmb_JnsMtr.Text = "< pilih >" Then
MsgBox("Jenis Motor Harus Dipilih...!",
MsgBoxStyle.Critical, "Informasi")
Cmb_JnsMtr.Focus()
Call button()
Else
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
MsgBox("Data Berhasil Disimpan",
MsgBoxStyle.Information, "Informasi")
Else
MsgBox("Data Gagal Disimpan",
MsgBoxStyle.Critical, "Peringatan")
End If
Call Bersih()
Call reset()
Btn_tmbh.Enabled = True
Btn_smpan.Enabled = False
End If
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
Connect.Close()
Call validasi()
End Function
Function ubah()
SQL = "UPDATE motor SET No_rangka = '" & Txt_NoRangka.Text &
"', no_mesin = '" & Txt_NoMesin.Text & "', warna='" & Txt_Warna.Text
& "', type_mtr='" & Txt_Type.Text & "', " & _
" tahun = '" & Txt_Thn.Text & "', pemilik='" &
Txt_Pmilik.Text & "', alamat='" & Txt_Alamat.Text & "', telp='" &
Txt_NoTlp.Text & "', jns_mtr='" & Cmb_JnsMtr.Text & "' " & _
"WHERE No_pol='" & Txt_NoPol.Text & "'"
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
MsgBox("Data Telah Diubah", MsgBoxStyle.Information,
"Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
Call validasi()
Call tampil_listview()
Call Bersih()
End Function
Function hapus()
SQL = "DELETE FROM motor WHERE No_pol = '" & Txt_NoPol.Text
& "' "
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
MsgBox("Data Telah Dihapus",
MsgBoxStyle.Information, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "SELECT * FROM Motor ORDER BY No_pol Asc"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read = True
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListViewMotor.Items.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
ListViewMotor.Items(ListViewMotor.Items.Count -
1).SubItems.Add("")
'ListViewMotor.Items(y).SubItems(0).Text = (y +
1).ToString
ListViewMotor.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListViewMotor.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListViewMotor.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListViewMotor.Items(y).SubItems(3).Text =
Reader.GetString(3)
ListViewMotor.Items(y).SubItems(4).Text =
Reader.GetString(4)
ListViewMotor.Items(y).SubItems(5).Text =
Reader.GetString(5)
ListViewMotor.Items(y).SubItems(6).Text =
Reader.GetString(6)
ListViewMotor.Items(y).SubItems(7).Text =
Reader.GetString(7)
ListViewMotor.Items(y).SubItems(8).Text =
Reader.GetString(8)
ListViewMotor.Items(y).SubItems(9).Text =
Reader.GetString(9)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function tampil_Motor()
SQL = "SELECT * FROM motor WHERE No_pol = '" &
Txt_NoPol.Text & "'"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
Txt_NoPol.Text = Reader.GetString(0)
Txt_NoRangka.Text = Reader.GetString(1)
Txt_NoMesin.Text = Reader.GetString(2)
Txt_Warna.Text = Reader.GetString(3)
Txt_Type.Text = Reader.GetString(4)
Txt_Thn.Text = Reader.GetString(5)
Txt_Pmilik.Text = Reader.GetString(6)
Txt_Alamat.Text = Reader.GetString(7)
Txt_NoTlp.Text = Reader.GetString(8)
Cmb_JnsMtr.Text = Reader.GetString(9)
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Critical, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function validasi()
Connect.Close()
While Val(txt_counter.Text)
ListViewMotor.Items(0).Remove()
txt_counter.Text = Val(txt_counter.Text) - 1
End While
End Function
Function aktif()
Txt_NoPol.Focus()
Txt_NoPol.Enabled = True
Txt_NoMesin.Enabled = True
Txt_NoRangka.Enabled = True
Txt_Warna.Enabled = True
Txt_Type.Enabled = True
Txt_Alamat.Enabled = True
Txt_NoTlp.Enabled = True
Txt_Pmilik.Enabled = True
Txt_Thn.Enabled = True
Cmb_JnsMtr.Enabled = True
End Function
Function reset()
Txt_NoPol.Enabled = False
Txt_NoMesin.Enabled = False
Txt_NoRangka.Enabled = False
Txt_Warna.Enabled = False
Txt_Type.Enabled = False
Txt_Alamat.Enabled = False
Txt_NoTlp.Enabled = False
Txt_Pmilik.Enabled = False
Txt_Thn.Enabled = False
Cmb_JnsMtr.Enabled = False
Call Bersih()
Txt_NoPol.Focus()
Cmb_JnsMtr.Text = "< pilih >"
Btn_btal.Enabled = False
Btn_hps.Enabled = False
Btn_smpan.Enabled = False
Btn_ubh.Enabled = False
End Function
Function Bersih()
Txt_NoPol.Text = ""
Txt_NoMesin.Text = ""
Txt_NoRangka.Text = ""
Txt_Type.Text = ""
Txt_Warna.Text = ""
Txt_Thn.Text = ""
Txt_Pmilik.Text = ""
Txt_Alamat.Text = ""
Txt_NoTlp.Text = ""
Cmb_JnsMtr.Text = "< pilih >"
End Function
Function button()
Btn_ubh.Enabled = False
Btn_hps.Enabled = False
Btn_tmbh.Enabled = False
Btn_smpan.Enabled = True
End Function
Private Sub Motor_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call reset()
Call tampil_listview()
mToolTip.SetToolTip(Btn_btal, "Batal Input Data Motor")
mToolTip.SetToolTip(Btn_Keluar, "Keluar Dari Form")
mToolTip.SetToolTip(Btn_hps, "Hapus Data Motor")
mToolTip.SetToolTip(Btn_smpan, "Simpan Data Motor")
mToolTip.SetToolTip(Btn_ubh, "Ubah Data Motor")
mToolTip.SetToolTip(Btn_tmbh, "Menambah Data Motor")
End Sub
Private Sub Btn_tmbh_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Btn_tmbh.Click
Call aktif()
Txt_NoPol.Focus()
Btn_smpan.Enabled = True
Btn_btal.Enabled = True
Btn_tmbh.Enabled = False
End Sub
End Sub
Btn_btal.Enabled = True
Btn_hps.Enabled = True
Btn_smpan.Enabled = False
Btn_ubh.Enabled = True
Btn_tmbh.Enabled = False
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Information, "Informasi")
Txt_NoPol.Text = ""
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End If
End Sub
End Class
MASTER SPAREPART
Imports MySql.Data.MySqlClient
Public Class DataSparepart
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
' ListView1.Items(y).SubItems(0).Text = (y +
1).ToString(0)
ListView1.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListView1.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListView1.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListView1.Items(y).SubItems(3).Text =
Reader.GetString(3)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function tampil_Sparepart()
SQL = "SELECT * FROM sparepart WHERE Kd_sprt= '" &
txt_kdsprt.Text & "'"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
txt_kdsprt.Text = Reader.GetString(0)
txt_nmsprt.Text = Reader.GetString(1)
txt_hrgsprt.Text = Reader.GetString(2)
txt_stok.Text = Reader.GetString(3)
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Critical, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function bersih()
txt_hrgsprt.Text = ""
txt_kdsprt.Text = ""
txt_nmsprt.Text = ""
txt_stok.Text = ""
End Function
Function reset()
btn_btal.Enabled = False
btn_hapus.Enabled = False
btn_simpan.Enabled = False
btn_ubah.Enabled = False
txt_hrgsprt.Enabled = False
txt_kdsprt.Enabled = False
txt_nmsprt.Enabled = False
txt_stok.Enabled = False
Call bersih()
txt_kdsprt.Focus()
End Function
Function button()
btn_ubah.Enabled = False
btn_hapus.Enabled = False
btn_tambah.Enabled = False
btn_simpan.Enabled = True
End Function
Private Sub DataSparepart_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call reset()
Call tampil_listview()
mToolTip.SetToolTip(btn_btal, "Batal Input Data")
mToolTip.SetToolTip(btn_kluar, "Keluar Dari Form")
mToolTip.SetToolTip(btn_simpan, "Simpan Data Sparepart")
mToolTip.SetToolTip(btn_ubah, "Ubah Data Barang")
mToolTip.SetToolTip(btn_tambah, "Menambah Data Sparepart")
End Sub
Function validasi()
Connect.Close()
While Val(txt_counter.Text)
ListView1.Items(0).Remove()
txt_counter.Text = Val(txt_counter.Text) - 1
End While
End Function
Function aktif()
txt_kdsprt.Enabled = True
txt_nmsprt.Enabled = True
txt_hrgsprt.Enabled = True
txt_stok.Enabled = True
End Function
Private Sub btn_tambah_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btn_tambah.Click
btn_simpan.Enabled = True
btn_btal.Enabled = True
txt_hrgsprt.Enabled = True
txt_kdsprt.Enabled = True
txt_nmsprt.Enabled = True
txt_stok.Enabled = True
txt_kdsprt.Focus()
btn_tambah.Enabled = False
End Sub
Private Sub btn_simpan_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btn_simpan.Click
End Sub
Private Sub btn_btal_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btn_btal.Click
Call reset()
btn_hapus.Enabled = False
btn_ubah.Enabled = False
btn_tambah.Enabled = True
End Sub
btn_btal.Enabled = True
btn_hapus.Enabled = True
btn_simpan.Enabled = False
btn_ubah.Enabled = True
btn_tambah.Enabled = False
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Information, "Informasi")
txt_kdsprt.Text = ""
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End If
End Sub
End Class
End Sub
End Sub
#End Region
Public y As Integer
Function simpan()
SQL = "Insert Into Paket_Service values ('" & Txt_kd.Text &
"','" & Txt_nm.Text & "','" & Txt_Hrg.Text & "')"
Try
If Txt_kd.Text = "" Then
MsgBox("Kode Service Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_kd.Focus()
Call button()
ElseIf Txt_nm.Text = "" Then
MsgBox("Nama Service Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_nm.Focus()
Call button()
ElseIf Txt_Hrg.Text = "" Then
MsgBox("Harga Service Harus Diisi...!",
MsgBoxStyle.Critical, "Informasi")
Txt_Hrg.Focus()
Call button()
Else
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
Dim x, y As Integer
x = Val(txt_counter.Text)
For y = 0 To x - 1
Me.simpan_detil(Txt_kd.Text,
ListViewPaket.Items(y).SubItems(0).Text,
ListViewPaket.Items(y).SubItems(2).Text)
Next
MsgBox("Data berhasil disimpan",
MsgBoxStyle.Information, "Informasi")
End If
Call bersih_form()
Call reset()
End If
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
Connect.Close()
End Function
Function simpan_detil(ByVal KodePaket As String, ByVal
KodeService As String, ByVal Ket As String)
Connect.Close()
End Function
Function utkcari_service()
End Function
Function tampilkan_service()
Btn_TmbhService.Enabled = True
Btn_CariService.Enabled = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function utkcari_paket()
Dim form As New CariPaketService
form.ShowDialog()
Txt_kd.Text = form.kode
Btn_CariPaket.Enabled = True
If Txt_kd.Text <> "" Then
tampilkan_paket()
Btn_CariPaket.Enabled = False
End If
End Function
Function tampilkan_paket()
Btn_TmbhService.Enabled = True
Btn_CariService.Enabled = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
Call tampil_detilservice()
Txt_kd.Enabled = False
Txt_nm.Focus()
End Function
Function tampil_detilservice()
SQL = "SELECT punya.kd_service, service.nm_service,
punya.keterangan FROM punya INNER JOIN service ON punya.kd_service =
service.kd_service INNER JOIN paket_service ON punya.kd_paket =
paket_service.kd_paket WHERE punya.kd_paket = '" & Txt_kd.Text & "'"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
Try
While Reader.Read
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListViewPaket.Items.Add("")
ListViewPaket.Items(ListViewPaket.Items.Count -
1).SubItems.Add("")
ListViewPaket.Items(ListViewPaket.Items.Count -
1).SubItems.Add("")
ListViewPaket.Items(y).SubItems(0).Text() =
Reader.GetString(0)
ListViewPaket.Items(y).SubItems(1).Text() =
Reader.GetString(1)
ListViewPaket.Items(y).SubItems(2).Text() =
Reader.GetString(2)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
Function isilist()
ListViewPaket.Items.Add(Txt_KdService.Text)
ListViewPaket.Items(ListViewPaket.Items.Count -
1).SubItems.Add(Txt_NmService.Text)
ListViewPaket.Items(ListViewPaket.Items.Count -
1).SubItems.Add(txt_ket.Text)
'ListViewPaket.Items(Row).SubItems(0).Text =
Txt_KdService.Text
'ListViewPaket.Items(Row).SubItems(1).Text =
Txt_NmService.Text
'ListViewPaket.Items(Row).SubItems(2).Text = txt_ket.Text
Call bersih_service()
End Function
Function hapus_list()
For y = 0 To Val(txt_counter.Text) - 1
If ListViewPaket.Items(y).SubItems(0).Text =
Txt_KdService.Text Then
ListViewPaket.Items(y).Remove()
Me.hapus_list_service2(Txt_kd.Text,
Txt_KdService.Text)
Exit For
End If
Next
txt_counter.Text = Val(txt_counter.Text) - 1
Call bersih_service()
End Function
Function ubah()
SQL = "UPDATE paket_service SET Nm_paket='" & Txt_nm.Text &
"', Hrg_paket='" & Txt_Hrg.Text & "' WHERE Kd_paket='" & Txt_kd.Text
& "'"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
Call ubah_list_service()
End If
MsgBox("Data Telah Diubah", MsgBoxStyle.Information,
"Informasi")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
Call bersih_form()
End Function
Function ubah_list_service()
Dim x, y As Integer
x = Val(txt_counter.Text)
For y = 0 To x - 1
Me.simpan_detil(Txt_kd.Text,
ListViewPaket.Items(y).SubItems(0).Text,
ListViewPaket.Items(y).SubItems(2).Text)
Next
Connect.Close()
End Function
Function hapus()
SQL = "DELETE FROM paket_service WHERE Kd_paket = '" &
Txt_kd.Text & "' "
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
Me.hapus_list_service()
MsgBox("Data Telah Dihapus",
MsgBoxStyle.Information, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Dihapus")
End Try
Connect.Close()
End Function
Function hapus_list_service()
SQL = "DELETE FROM punya WHERE Kd_paket = '" & Txt_kd.Text &
"' "
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Dihapus")
End Try
Connect.Close()
End Function
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Dihapus")
End Try
Connect.Close()
End Function
Function reset()
Txt_kd.Enabled = False
Txt_nm.Enabled = False
Txt_Hrg.Enabled = False
txt_ket.Enabled = False
Call bersih_form()
Btn_CariPaket.Enabled = False
Btn_CariService.Enabled = False
Btn_TmbhService.Enabled = False
Btn_HpusService.Enabled = False
Btn_btal.Enabled = False
Btn_hps.Enabled = False
Btn_smpan.Enabled = False
Btn_ubh.Enabled = False
End Function
Function aktif()
Txt_kd.Enabled = True
Txt_nm.Enabled = True
Txt_Hrg.Enabled = True
txt_ket.Enabled = True
Txt_kd.Focus()
End Function
Function bersih_service()
Txt_KdService.Text = ""
Txt_NmService.Text = ""
txt_ket.Text = ""
Btn_TmbhService.Enabled = True
Btn_HpusService.Enabled = False
End Function
Function bersih_listview()
End Function
Function bersih_form()
Txt_kd.Text = ""
Txt_nm.Text = ""
Txt_Hrg.Text = ""
txt_ket.Text = ""
Call bersih_service()
Call bersih_listview()
End Function
Function button()
Btn_ubh.Enabled = False
Btn_hps.Enabled = False
Btn_tmbh.Enabled = False
Btn_smpan.Enabled = True
End Function
End If
Btn_CariService.Enabled = True
Btn_ubh.Enabled = True
End Sub
Btn_CariService.Enabled = True
Btn_TmbhService.Enabled = False
Btn_ubh.Enabled = True
Btn_hps.Enabled = True
Btn_smpan.Enabled = False
End Sub
Btn_TmbhService.Enabled = True
Btn_CariService.Enabled = True
Btn_HpusService.Enabled = True
Call aktif()
Txt_kd.Enabled = False
Btn_tmbh.Enabled = False
Btn_smpan.Enabled = False
Btn_ubh.Enabled = False
Btn_hps.Enabled = True
Btn_btal.Enabled = True
End Sub
End Class
MASTER SERVICE
Imports MySql.Data.MySqlClient
Public Class Service
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
ListViewService.Items.Add("")
ListViewService.Items(ListViewService.Items.Count -
1).SubItems.Add("")
ListViewService.Items(ListViewService.Items.Count -
1).SubItems.Add("")
ListViewService.Items(ListViewService.Items.Count -
1).SubItems.Add("")
' ListViewService.Items(y).SubItems(0).Text = (y +
1).ToString(0)
ListViewService.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListViewService.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListViewService.Items(y).SubItems(2).Text =
Reader.GetString(2)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function tampil_service()
SQL = "SELECT * FROM service WHERE Kd_Service = '" &
Txt_kd.Text & "'"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
Txt_kd.Text = Reader.GetString(0)
Txt_nm.Text = Reader.GetString(1)
Txt_Hrg.Text = Reader.GetString(2)
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Critical, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Private Sub Btn_tmbh_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Btn_tmbh.Click
Txt_kd.Enabled = True
Txt_nm.Enabled = True
Txt_kd.Focus()
Txt_Hrg.Enabled = True
Btn_smpan.Enabled = True
Btn_btal.Enabled = True
Btn_tmbh.Enabled = False
End Sub
Function reset()
Txt_kd.Enabled = False
Txt_nm.Enabled = False
Txt_Hrg.Enabled = False
Call bersih()
Btn_btal.Enabled = False
Btn_hps.Enabled = False
Btn_smpan.Enabled = False
Btn_ubh.Enabled = False
End Function
Function aktif()
Txt_kd.Focus()
Txt_kd.Enabled = True
Txt_nm.Enabled = True
Txt_Hrg.Enabled = True
End Function
Function button()
Btn_ubh.Enabled = False
Btn_hps.Enabled = False
Btn_tmbh.Enabled = False
Btn_smpan.Enabled = True
End Function
Private Sub Service_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
Call reset()
Call tampil_listview()
mToolTip.SetToolTip(Btn_btal, "Batal Input Data")
mToolTip.SetToolTip(Btn_Keluar, "Keluar Dari Form")
mToolTip.SetToolTip(Btn_smpan, "Simpan Data Service")
mToolTip.SetToolTip(Btn_ubh, "Ubah Data Service")
mToolTip.SetToolTip(Btn_tmbh, "Menambah Data Service")
End Sub
Btn_btal.Enabled = True
Btn_hps.Enabled = True
Btn_smpan.Enabled = False
Btn_ubh.Enabled = True
Btn_tmbh.Enabled = False
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Critical, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End If
End Sub
End Class
MASTER ADVISOR
Imports MySql.Data.MySqlClient
Public Class Advsr
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Btn_kluar.Click
Me.Close()
End Sub
Function tambah()
Dim No As String
SQL = "SELECT MAX(RIGHT(id_advisor,3)) FROM advisor"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Not Reader.Read Then
Txt_Id.Text = "MK001"
Else
No = CInt(Reader.GetString(0)) + 1
If No.Trim.Length = 1 Then Txt_Id.Text = "SA00" & No
If No.Trim.Length = 2 Then Txt_Id.Text = "SA0" & No
If No.Trim.Length = 3 Then Txt_Id.Text = No
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Gagal menambah
data")
Finally
Reader.Close()
End Try
Connect.Close()
Call aktif()
Txt_Id.Enabled = False
Txt_Nm.Focus()
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "SELECT * FROM advisor"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read = True
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListViewadvisor.Items.Add("")
ListViewadvisor.Items(ListViewadvisor.Items.Count -
1).SubItems.Add("")
ListViewadvisor.Items(ListViewadvisor.Items.Count -
1).SubItems.Add("")
ListViewadvisor.Items(ListViewadvisor.Items.Count -
1).SubItems.Add("")
ListViewadvisor.Items(ListViewadvisor.Items.Count -
1).SubItems.Add("")
ListViewadvisor.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListViewadvisor.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListViewadvisor.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListViewadvisor.Items(y).SubItems(3).Text =
Reader.GetString(3)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function aktif()
Txt_Nm.Enabled = True
Txt_Almt.Enabled = True
Txt_Tlp.Enabled = True
End Function
Function simpan()
SQL = "INSERT INTO advisor VALUES('" & Txt_Id.Text & "','" &
Txt_Nm.Text & "','" & Txt_Almt.Text & "','" & Txt_Tlp.Text & "')"
Try
If Txt_Id.Text = "" Then
MsgBox("Id advisor Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Id.Focus()
Call button()
ElseIf Txt_Nm.Text = "" Then
MsgBox("Nama advisor Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Nm.Focus()
Call button()
ElseIf Txt_Almt.Text = "" Then
MsgBox("Alamat advisor Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Almt.Focus()
Call button()
ElseIf Txt_Tlp.Text = "" Then
MsgBox("Telepon advisor Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Tlp.Focus()
Call button()
Else
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
MsgBox("Data Berhasil Disimpan",
MsgBoxStyle.Information, "Informasi")
Else
MsgBox("Data Gagal Disimpan",
MsgBoxStyle.Critical, "Peringatan")
End If
Call bersih()
Call reset()
End If
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
Connect.Close()
Call validasi()
End Function
Function ubah()
SQL = "UPDATE advisor SET Nm_advisor = '" & Txt_Nm.Text &
"', Alamat = '" & Txt_Almt.Text & "', Tlp='" & Txt_Tlp.Text & "'
WHERE Id_advisor = '" & Txt_Id.Text & "'"
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
MsgBox("Data Telah Diubah", MsgBoxStyle.Information,
"Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
Call validasi()
Call tampil_listview()
Call bersih()
End Function
Function hapus()
SQL = "DELETE FROM advisor WHERE Id_advisor = '" &
Txt_Id.Text & "' "
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
MsgBox("Data Telah Dihapus",
MsgBoxStyle.Information, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
End Function
Function tampil_advisor()
SQL = "SELECT * FROM advisor WHERE Id_advisor= '" &
Txt_Id.Text & "'"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
Txt_Id.Text = Reader.GetString(0)
Txt_Nm.Text = Reader.GetString(1)
Txt_Almt.Text = Reader.GetString(2)
Txt_Tlp.Text = Reader.GetString(3)
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Critical, "Informasi")
End If
Txt_Id.Enabled = False
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function bersih()
Txt_Id.Text = ""
Txt_Almt.Text = ""
Txt_Nm.Text = ""
Txt_Tlp.Text = ""
End Function
Function validasi()
Connect.Close()
While Val(txt_counter.Text)
ListViewadvisor.Items(0).Remove()
txt_counter.Text = Val(txt_counter.Text) - 1
End While
End Function
Function reset()
Txt_Nm.Focus()
Txt_Id.Enabled = False
Call bersih()
Txt_Almt.Enabled = False
Txt_Nm.Enabled = False
Txt_Tlp.Enabled = False
Btn_btal.Enabled = False
Btn_hpus.Enabled = False
Btn_smpan.Enabled = False
Btn_ubah.Enabled = False
End Function
Function button()
Btn_ubah.Enabled = False
Btn_hpus.Enabled = False
Btn_tmbh.Enabled = False
Btn_smpan.Enabled = True
End Function
End Class
MASTER MEKANIK
Imports MySql.Data.MySqlClient
Public Class mekanik
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
ListViewmekanik.Items.Add("")
ListViewmekanik.Items(ListViewmekanik.Items.Count -
1).SubItems.Add("")
ListViewmekanik.Items(ListViewmekanik.Items.Count -
1).SubItems.Add("")
ListViewmekanik.Items(ListViewmekanik.Items.Count -
1).SubItems.Add("")
ListViewmekanik.Items(ListViewmekanik.Items.Count -
1).SubItems.Add("")
ListViewmekanik.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListViewmekanik.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListViewmekanik.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListViewmekanik.Items(y).SubItems(3).Text =
Reader.GetString(3)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function aktif()
Txt_Nm.Enabled = True
Txt_Almt.Enabled = True
Txt_Tlp.Enabled = True
End Function
Function simpan()
SQL = "INSERT INTO mekanik VALUES('" & Txt_Id.Text & "','" &
Txt_Nm.Text & "','" & Txt_Almt.Text & "','" & Txt_Tlp.Text & "')"
Try
If Txt_Id.Text = "" Then
MsgBox("Id mekanik Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Id.Focus()
Call button()
ElseIf Txt_Nm.Text = "" Then
MsgBox("Nama mekanik Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Nm.Focus()
Call button()
ElseIf Txt_Almt.Text = "" Then
MsgBox("Alamat mekanik Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Almt.Focus()
Call button()
ElseIf Txt_Tlp.Text = "" Then
MsgBox("Telepon mekanik Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
Txt_Tlp.Focus()
Call button()
Else
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
MsgBox("Data Berhasil Disimpan",
MsgBoxStyle.Information, "Informasi")
Else
MsgBox("Data Gagal Disimpan",
MsgBoxStyle.Critical, "Peringatan")
End If
Call bersih()
Call reset()
End If
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
Connect.Close()
Call validasi()
End Function
Function ubah()
SQL = "UPDATE mekanik SET Nm_mekanik = '" & Txt_Nm.Text &
"', Alamat = '" & Txt_Almt.Text & "', Tlp='" & Txt_Tlp.Text & "'
WHERE Id_mekanik = '" & Txt_Id.Text & "'"
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
MsgBox("Data Telah Diubah", MsgBoxStyle.Information,
"Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
Call validasi()
Call tampil_listview()
Call bersih()
End Function
Function hapus()
SQL = "DELETE FROM mekanik WHERE Id_mekanik = '" &
Txt_Id.Text & "' "
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
MsgBox("Data Telah Dihapus",
MsgBoxStyle.Information, "Informasi")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
End Function
Function tampil_mekanik()
SQL = "SELECT * FROM mekanik WHERE Id_mekanik= '" &
Txt_Id.Text & "'"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
Txt_Id.Text = Reader.GetString(0)
Txt_Nm.Text = Reader.GetString(1)
Txt_Almt.Text = Reader.GetString(2)
Txt_Tlp.Text = Reader.GetString(3)
Else
MsgBox("Data Tidak Dapat Ditampilkan",
MsgBoxStyle.Critical, "Informasi")
End If
Txt_Id.Enabled = False
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Function bersih()
Txt_Id.Text = ""
Txt_Almt.Text = ""
Txt_Nm.Text = ""
Txt_Tlp.Text = ""
End Function
Function validasi()
Connect.Close()
While Val(txt_counter.Text)
ListViewmekanik.Items(0).Remove()
txt_counter.Text = Val(txt_counter.Text) - 1
End While
End Function
Function reset()
Txt_Nm.Focus()
Txt_Id.Enabled = False
Call bersih()
Txt_Almt.Enabled = False
Txt_Nm.Enabled = False
Txt_Tlp.Enabled = False
Btn_btal.Enabled = False
Btn_hpus.Enabled = False
Btn_smpan.Enabled = False
Btn_ubah.Enabled = False
End Function
Function button()
Btn_ubah.Enabled = False
Btn_hpus.Enabled = False
Btn_tmbh.Enabled = False
Btn_smpan.Enabled = True
End Function
TRANSAKSI SAF
Imports MySql.Data.MySqlClient
Public Class SAF
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
End Sub
End Sub
#End Region
Function list_data_paket()
End Function
Function tampil_data_paket()
Catch ex As Exception
MsgBox(ex.Message.ToString)
Finally
Reader.Close()
End Try
Connect.Close()
End Function
Function detil_paket_service()
Dim x As String
SQL = "select punya.kd_service, service.nm_service FROM
punya " & _
"inner join service on service.kd_service =
punya.kd_service " & _
"inner join paket_service on paket_service.kd_paket
= punya.kd_paket " & _
"where paket_service.kd_paket = '" &
Cmb_KdPaket.Text & "'"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
x = x & Reader.GetString(1)
MsgBox(x)
End If
End Function
Function list_data_mekanik()
End Function
Function tampil_data_mekanik()
End Function
Function list_data_advisor()
End Function
Function tampil_data_advisor()
End Function
Function tambah_kdSAF()
Dim No As String
SQL = "SELECT MAX(RIGHT(No_Saf,5)) FROM saf"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Not Reader.Read Then
Txt_NoSAF.Text = "SF00001"
Else
No = CInt(Reader.GetString(0)) + 1
If No.Trim.Length = 1 Then Txt_NoSAF.Text = "SF0000"
& No
If No.Trim.Length = 2 Then Txt_NoSAF.Text = "SF000"
& No
If No.Trim.Length = 3 Then Txt_NoSAF.Text = "SF00" &
No
If No.Trim.Length = 4 Then Txt_NoSAF.Text = "SF0" &
No
If No.Trim.Length = 5 Then Txt_NoSAF.Text = No
Call aktif()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Gagal menambah
data")
Finally
Reader.Close()
End Try
Connect.Close()
Txt_NoSAF.Enabled = False
txt_Nopol.Focus()
End Function
Function utkcari_service()
End Function
Function tampilkan_service()
Btn_TmbhService.Enabled = True
Btn_TmbhService.Focus()
btn_cariService.Enabled = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
Function utkcari_sparepart()
Function tampilkan_sparepart()
SQL = "SELECT Kd_sprt,Nm_sprt,Hrg_sprt FROM sparepart WHERE
Kd_sprt= '" & txt_KdSprt.Text & "'"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
txt_KdSprt.Text = Reader.GetString(0)
Txt_NmSprt.Text = Reader.GetString(1)
Txt_HrgSprt.Text = Reader.GetString(2)
Txt_jumSprt.Focus()
Btn_TmbhSprt.Enabled = True
Btn_cariSprt.Enabled = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
Function utkcari_SAF()
End Function
Function tampilkan_SAF()
Dim index1, index2, index3 As String
SQL = "SELECT SAF.*, motor.jns_mtr FROM SAF INNER JOIN motor
ON saf.no_pol = motor.no_pol WHERE saf.no_saf= '" & Txt_NoSAF.Text &
"' && saf.tgl_saf = now()"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Reader.Read = True Then
Txt_NoSAF.Text = Reader.GetString(0)
Txt_Keluhan.Text = Reader.GetString(1)
'txt_tgl.Text = Reader.GetString(2)
txt_jam.Text = Reader.GetString(3)
Txt_Analisa.Text = Reader.GetString(4)
Txt_Saran.Text = Reader.GetString(5)
Txt_TotBiayaService.Text = Reader.GetString(6)
txt_Nopol.Text = Reader.GetString(7)
index1 = Reader.GetString(8)
index2 = Reader.GetString(9)
index3 = Reader.GetString(10)
Txt_JnsMtr.Text = Reader.GetString(11)
txt_tgl.Enabled = True
txt_jam.Enabled = True
Btn_TmbhService.Enabled = True
btn_cariService.Enabled = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Cmb_mekanik.Text = index1
Cmb_advisor.Text = index2
Cmb_KdPaket.Text = index3
Connect.Close()
Me.tampil_detilservice()
Me.tampil_detilsprt()
Txt_NoSAF.Enabled = False
End Function
Function tampil_detilservice()
SQL = "SELECT isi.kd_service, service.nm_service,
isi.biaya_service FROM isi INNER JOIN service ON isi.kd_service =
service.kd_service INNER JOIN saf ON isi.no_saf = saf.no_saf WHERE
isi.no_saf = '" & Txt_NoSAF.Text & "'"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
Try
While Reader.Read
y = Val(txt_counter_service.Text)
txt_counter_service.Text =
Str(Val(txt_counter_service.Text) + 1)
ListViewService.Items.Add("")
ListViewService.Items(ListViewService.Items.Count -
1).SubItems.Add("")
ListViewService.Items(ListViewService.Items.Count -
1).SubItems.Add("")
ListViewService.Items(y).SubItems(0).Text() =
Reader.GetString(0)
ListViewService.Items(y).SubItems(1).Text() =
Reader.GetString(1)
ListViewService.Items(y).SubItems(2).Text() =
Reader.GetString(2)
Me.total_service()
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
Function tampil_detilsprt()
SQL = "SELECT dapat.kd_sprt, sparepart.nm_sprt,
sparepart.hrg_sprt, dapat.jumlah_sprt, dapat.jml_harga_sprt FROM
dapat INNER JOIN sparepart ON dapat.kd_sprt = sparepart.kd_sprt
INNER JOIN saf ON dapat.no_saf = saf.no_saf WHERE dapat.no_saf = '"
& Txt_NoSAF.Text & "'"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
Try
While Reader.Read
y = Val(txt_counter_sprt.Text)
txt_counter_sprt.Text =
Str(Val(txt_counter_sprt.Text) + 1)
ListViewSparepart.Items.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(y).SubItems(0).Text() =
Reader.GetString(0)
ListViewSparepart.Items(y).SubItems(1).Text() =
Reader.GetString(1)
ListViewSparepart.Items(y).SubItems(2).Text() =
Reader.GetString(2)
ListViewSparepart.Items(y).SubItems(3).Text() =
Reader.GetString(3)
ListViewSparepart.Items(y).SubItems(4).Text() =
Reader.GetString(4)
End While
Me.total_sprt()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
Function simpan()
SQL = "INSERT INTO saf VALUES('" & Txt_NoSAF.Text & "','" &
Txt_Keluhan.Text & "','" & Format(Now.Date, "yyyy-MM-dd") & "', '" &
txt_jam.Text & "' ,'" & Txt_Analisa.Text & "','" & Txt_Saran.Text &
"','" & Txt_TotBiayaService.Text & "','" & txt_Nopol.Text & "','" &
Cmb_mekanik.Text & "','" & Cmb_advisor.Text & "','" &
Cmb_KdPaket.Text & "')"
Try
If Txt_NoSAF.Text = "" Then
MsgBox("Data Yang Dimasukan Harus Lengkap",
MsgBoxStyle.Critical, "Informasi")
Btn_tmbh.Focus()
ElseIf txt_Nopol.Text = "" Then
MsgBox("No Polisi Harus Diisi",
MsgBoxStyle.Critical, "Informasi")
txt_Nopol.Focus()
Btn_tmbh.Enabled = False
ElseIf Cmb_mekanik.Text = "< pilih >" Or
Txt_mekanik.Text = "" Then
MsgBox("Silahkan Pilih Mekanik",
MsgBoxStyle.Critical, "Informasi")
Cmb_mekanik.Focus()
Btn_tmbh.Enabled = False
ElseIf Cmb_advisor.Text = "< pilih >" Or
Txt_advisor.Text = "" Then
MsgBox("Silahkan Pilih Service Advisor",
MsgBoxStyle.Critical, "Informasi")
Cmb_advisor.Focus()
Btn_tmbh.Enabled = False
ElseIf Txt_TotBiayaService.Text = "" Then
MsgBox("Hitung Total Service Terlebih Dahulu",
MsgBoxStyle.Critical, "Informasi")
Btn_totalBiayaSeluruh.Focus()
Btn_tmbh.Enabled = False
Else
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
Call simpan_isi()
Call simpan_dapat()
End If
MsgBox("Data berhasil disimpan",
MsgBoxStyle.Information, "Informasi")
MsgBox("Silakan Cetak SAF", MsgBoxStyle.Exclamation,
"Informasi")
btncetak.Focus()
Btn_smpan.Enabled = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Gagal")
End Try
Connect.Close()
End Function
Function simpan_isi()
Dim x, y As Integer
x = Val(txt_counter_service.Text)
For y = 0 To x - 1
SQLDetil = "INSERT INTO isi VALUES ('" & Txt_NoSAF.Text
& "','" & ListViewService.Items(y).SubItems(0).Text & "','" &
ListViewService.Items(y).SubItems(2).Text & "')"
Command = New MySqlCommand(SQLDetil, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
End If
Next
End Function
Function simpan_dapat()
Dim x, y As Integer
x = Val(txt_counter_sprt.Text)
For y = 0 To x - 1
SQLDetil = "INSERT INTO dapat VALUES ('" &
Txt_NoSAF.Text & "','" & ListViewSparepart.Items(y).SubItems(0).Text
& "','" & ListViewSparepart.Items(y).SubItems(3).Text & "','" &
ListViewSparepart.Items(y).SubItems(4).Text & "')"
Command = New MySqlCommand(SQLDetil, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
SQLDetil = "UPDATE sparepart SET stock = stock - '"
& ListViewSparepart.Items(y).SubItems(3).Text & "' WHERE kd_sprt =
'" & ListViewSparepart.Items(y).SubItems(0).Text & "'"
Command = New MySqlCommand(SQLDetil, Connect)
ResultSet = Command.ExecuteNonQuery
End If
Next
End Function
Function ubah()
SQL = " UPDATE saf SET keluhan = '" & Txt_Keluhan.Text & "',
tgl_saf = '" & Format(Now.Date, "yyyy-MM-dd") & "', jam_masuk = '" &
txt_jam.Text & "', analisa = '" & Txt_Analisa.Text & "', saran = '"
& Txt_Saran.Text & "', " & _
"tot_biaya_service = '" & Txt_TotBiayaService.Text &
"' WHERE no_saf = '" & Txt_NoSAF.Text & "'"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
Try
If ResultSet > 0 Then
Me.ubah_list_service()
Me.ubah_list_sprt()
End If
MsgBox("Data Telah Diubah", MsgBoxStyle.Information,
"Informasi")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Data Gagal
Diubah")
End Try
Connect.Close()
End Function
Function ubah_list_service()
SQLDetil = "DELETE FROM isi WHERE no_saf = '" &
Txt_NoSAF.Text & "' "
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQLDetil, Connect)
ResultSet = Command.ExecuteNonQuery
Me.simpan_isi()
Connect.Close()
End Function
Function ubah_list_sprt()
SQLDetil = "DELETE FROM dapat WHERE no_saf = '" &
Txt_NoSAF.Text & "' "
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Command = New MySqlCommand(SQLDetil, Connect)
ResultSet = Command.ExecuteNonQuery
Me.simpan_dapat()
Connect.Close()
End Function
Function cetak()
SQL = "SELECT saf.*, motor.no_rangka, motor.no_mesin,
motor.warna, motor.type_mtr, motor.tahun, motor.pemilik, " & _
"motor.alamat, motor.telp, motor.jns_mtr,
paket_service.nm_paket, paket_service.hrg_paket, " & _
"mekanik.nm_mekanik, mekanik.tlp as
tlp_mekanik, advisor.nm_advisor, advisor.tlp as tlp_advisor, " & _
"service.*, isi.biaya_service FROM(saf) "
& _
"INNER JOIN motor ON motor.no_pol =
saf.no_pol " & _
"INNER JOIN paket_service ON
paket_service.kd_paket = saf.kd_paket " & _
"INNER JOIN mekanik ON mekanik.id_mekanik
= saf.id_mekanik " & _
"INNER JOIN advisor ON advisor.id_advisor
= saf.id_advisor " & _
"INNER JOIN isi ON saf.no_saf = isi.no_saf
" & _
"INNER JOIN service ON service.kd_service
= isi.kd_service " & _
"WHERE saf.no_saf= '" & Txt_NoSAF.Text &
"' "
Try
'DataSet.WriteXml("Saf.xml", XmlWriteMode.WriteSchema)
DataSet.WriteXml("Saf1.xml", XmlWriteMode.WriteSchema)
Catch ex As Exception
MsgBox(ex.Message.ToString())
Finally
Adapter.Dispose()
DataSet.Clear()
End Try
Connect.Close()
'Form = New Cetak("..\CetakSAF.rpt", "")
'Form.StartPosition = FormStartPosition.CenterScreen
'Form.WindowState = FormWindowState.Maximized
'Form.ShowDialog()
End Function
Function isilist_sprt()
ListViewSparepart.Items.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
ListViewSparepart.Items(ListViewSparepart.Items.Count -
1).SubItems.Add("")
'ListViewSparepart.Items(Row).SubItems(0).Text = Row + 1
ListViewSparepart.Items(Row).SubItems(0).Text =
txt_KdSprt.Text
ListViewSparepart.Items(Row).SubItems(1).Text =
Txt_NmSprt.Text
ListViewSparepart.Items(Row).SubItems(2).Text =
Txt_HrgSprt.Text
ListViewSparepart.Items(Row).SubItems(3).Text =
Txt_jumSprt.Text
ListViewSparepart.Items(Row).SubItems(4).Text =
Txt_JumHrgSprt.Text
Call bersih_sprt()
End Function
Function isilist_service()
ListViewService.Items(Row).SubItems(0).Text =
Txt_KdService.Text
ListViewService.Items(Row).SubItems(1).Text =
txt_NmService.Text
ListViewService.Items(Row).SubItems(2).Text =
txt_hrgService.Text
Call bersih_service()
End Function
Function cekstock()
End Function
Function total_sprt()
Dim x As Integer
For x = 0 To Val(txt_counter_sprt.Text) - 1
total_sprt = total_sprt +
CInt(ListViewSparepart.Items(x).SubItems(4).Text)
y = total_sprt
Next
txt_tothrgSprt.Text = Str(y)
End Function
Function total_service()
Dim x As Integer
For x = 0 To Val(txt_counter_service.Text) - 1
total_service = total_service +
CInt(ListViewService.Items(x).SubItems(2).Text)
y = total_service
Next
txt_tothrgService.Text = Str(y)
End Function
Function hapus_list()
For y = 0 To Val(txt_counter_sprt.Text) - 1
If ListViewSparepart.Items(y).SubItems(0).Text =
txt_KdSprt.Text Then
ListViewSparepart.Items(y).Remove()
Exit For
End If
Next
txt_counter_sprt.Text = Val(txt_counter_sprt.Text) - 1
Call bersih_sprt()
Call total_sprt()
End Function
Function hapus_list_service()
For y = 0 To Val(txt_counter_service.Text) - 1
If ListViewService.Items(y).SubItems(0).Text =
Txt_KdService.Text Then
ListViewService.Items(y).Remove()
Exit For
End If
Next
txt_counter_service.Text = Val(txt_counter_service.Text) - 1
Call bersih_service()
Me.total_service()
End Function
Function tot_biaya_seluruh()
End Function
Function aktif()
Cmb_KdPaket.Enabled = True
Txt_Keluhan.Enabled = True
txt_Nopol.Enabled = True
Cmb_mekanik.Enabled = True
Cmb_advisor.Enabled = True
Txt_Analisa.Enabled = True
Txt_Saran.Enabled = True
btn_cariSaf.Enabled = True
btn_cariService.Enabled = True
Btn_TmbhService.Enabled = True
Btn_HpusService.Enabled = True
Btn_cariSprt.Enabled = True
Btn_TmbhSprt.Enabled = True
Btn_HpusSprt.Enabled = True
Btn_smpan.Enabled = True
Btn_totalBiayaSeluruh.Enabled = True
End Function
Function reset()
Txt_NoSAF.Enabled = False
Cmb_KdPaket.Enabled = False
txt_NmService.Enabled = False
Txt_Keluhan.Enabled = False
txt_Nopol.Enabled = False
Cmb_mekanik.Enabled = False
Cmb_advisor.Enabled = False
Txt_Analisa.Enabled = False
Txt_Saran.Enabled = False
txt_tgl.Enabled = False
txt_jam.Enabled = False
Call bersih()
Call bersih_service()
Call bersih_listview_service()
Call bersih_sprt()
Call bersih_listview_sprt()
btn_cariSaf.Enabled = False
btncetak.Enabled = False
btn_cariService.Enabled = False
Btn_TmbhService.Enabled = False
Btn_HpusService.Enabled = False
Btn_cariSprt.Enabled = False
Btn_TmbhSprt.Enabled = False
Btn_HpusSprt.Enabled = False
Btn_smpan.Enabled = False
Btn_totalBiayaSeluruh.Enabled = False
Btn_ubh.Enabled = False
End Function
Function bersih()
Txt_NoSAF.Text = ""
Cmb_KdPaket.SelectedIndex = 0
txt_NmService.Text = ""
txt_Paket.Text = ""
Txt_Keluhan.Text = ""
txt_Nopol.Text = ""
Txt_JnsMtr.Text = ""
Cmb_mekanik.SelectedIndex = 0
Txt_mekanik.Text = ""
Cmb_advisor.SelectedIndex = 0
Txt_advisor.Text = ""
Txt_Analisa.Text = ""
Txt_Saran.Text = ""
Txt_TotBiayaService.Text = ""
End Function
Function bersih_sprt()
txt_KdSprt.Text = ""
Txt_NmSprt.Text = ""
Txt_HrgSprt.Text = ""
Txt_jumSprt.Text = ""
Txt_JumHrgSprt.Text = ""
txt_tothrgSprt.Text = CInt("0")
Btn_TmbhSprt.Enabled = True
Btn_HpusSprt.Enabled = False
End Function
Function bersih_service()
Txt_KdService.Text = ""
txt_NmService.Text = ""
txt_hrgService.Text = ""
txt_tothrgService.Text = ""
Btn_TmbhService.Enabled = True
Btn_HpusService.Enabled = False
End Function
Function bersih_listview_service()
End Function
Function bersih_listview_sprt()
End Function
End Sub
End If
End Sub
End While
Catch ex As Exception
MsgBox("Jenis Motor Tidak Dapat Ditampilkan",
MsgBoxStyle.Information, "Informasi")
Txt_JnsMtr.Text = ""
Finally
Reader.Close()
End Try
Connect.Close()
End If
End Sub
End Sub
End Sub
End Sub
If txt_KdSprt.Text =
ListViewSparepart.Items(CekItem).SubItems(0).Text Then
Cek = True
End If
Next
If Cek = False Then
Call cekstock()
Else
MsgBox("Kode Barang Sudah Ada",
MsgBoxStyle.Critical)
Call bersih_sprt()
Btn_cariSprt.Enabled = True
End If
End If
End Sub
Private Sub ListViewSparepart_DoubleClick(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
ListViewSparepart.DoubleClick
txt_KdSprt.Text =
ListViewSparepart.SelectedItems(0).SubItems(0).Text.ToString
Txt_NmSprt.Text =
ListViewSparepart.SelectedItems(0).SubItems(1).Text.ToString
Txt_HrgSprt.Text =
ListViewSparepart.SelectedItems(0).SubItems(2).Text.ToString
Txt_jumSprt.Text =
ListViewSparepart.SelectedItems(0).SubItems(3).Text.ToString
Txt_JumHrgSprt.Text =
ListViewSparepart.SelectedItems(0).SubItems(4).Text.ToString
Btn_HpusSprt.Enabled = True
Btn_smpan.Enabled = False
End Sub
Cek = True
End If
Next
If Cek = False Then
Call isilist_service()
Call total_service()
Else
MsgBox("Kode Service Sudah Ada", MsgBoxStyle.Critical)
End If
btn_cariService.Enabled = True
Btn_TmbhService.Enabled = False
End Sub
btn_cariService.Enabled = True
Btn_TmbhService.Enabled = False
Btn_cariSprt.Enabled = True
Btn_TmbhSprt.Enabled = False
Btn_ubh.Enabled = True
Btn_smpan.Enabled = False
End Sub
End Class
TRANSAKSI WO
Imports MySql.Data.MySqlClient
Public Class Wo
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Function bersih()
txt_NoWo.Text = ""
Txt_NoSAF.Text = ""
Txt_advisor.Text = ""
txt_jam.Text = ""
Txt_JnsMtr.Text = ""
txt_kdpaket.Text = ""
Txt_mekanik.Text = ""
txt_NmPaket.Text = ""
txt_Nopol.Text = ""
dtpicker1.Value = Now()
End Function
Function tambah_kdWo()
Dim No As String
SQL = "SELECT MAX(RIGHT(No_Wo,5)) FROM wo"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Not Reader.Read Then
txt_NoWo.Text = "00001"
Else
No = CInt(Reader.GetString(0)) + 1
If No.Trim.Length = 1 Then txt_NoWo.Text = "0000" &
No
If No.Trim.Length = 2 Then txt_NoWo.Text = "000" &
No
If No.Trim.Length = 3 Then txt_NoWo.Text = "00" & No
If No.Trim.Length = 4 Then txt_NoWo.Text = "0" & No
If No.Trim.Length = 5 Then txt_NoWo.Text = No
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Gagal menambah
data")
Finally
Reader.Close()
End Try
Connect.Close()
txt_NoWo.Enabled = False
Btn_CariSaf.Focus()
End Function
Function simpan()
SQL = "INSERT INTO WO VALUES('" & txt_NoWo.Text & "','" &
Format(dtpicker1.Value.Date, "yyyy-MM-dd") & "','" & txt_jam.Text &
"','" & Txt_NoSAF.Text & "')"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
ResultSet = Command.ExecuteNonQuery
If ResultSet > 0 Then
MsgBox("Data Berhasil Disimpan",
MsgBoxStyle.Information, "Informasi")
End If
Me.bersih()
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
Connect.Close()
End Function
Function utkcari_SAF()
End Sub
TRANSAKSI KWITANSI
Imports MySql.Data.MySqlClient
Public Class CetakKW
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Function simpan()
End Function
Function utkcari_saf()
End If
End Function
Function tampilkan_saf()
Btn_smpan.Enabled = True
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
Dim No As String
SQL = "SELECT MAX(RIGHT(No_kwitansi,3)) FROM kwitansi"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
If Not Reader.Read Then
Txt_NoKW.Text = "KW001"
Else
No = CInt(Reader.GetString(0)) + 1
If No.Trim.Length = 1 Then Txt_NoKW.Text = "KW00" &
No
If No.Trim.Length = 2 Then Txt_NoKW.Text = "KW0" &
No
If No.Trim.Length = 3 Then Txt_NoKW.Text = No
tglKwt.Enabled = True
Btn_Cari.Focus()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Gagal menambah
data")
Finally
Reader.Close()
End Try
Connect.Close()
tglKwt.Value = Now()
Btn_Cari.Enabled = True
Btn_smpan.Enabled = False
Btn_tmbh.Enabled = False
Btn_btal.Enabled = True
End Sub
Call bersih()
tglKwt.Enabled = False
Btn_tmbh.Enabled = True
Btn_Cari.Enabled = False
Btn_smpan.Enabled = False
Btn_btal.Enabled = False
End Sub
tglKwt.Enabled = False
Btn_tmbh.Enabled = True
Btn_Cari.Enabled = False
Btn_smpan.Enabled = False
Btn_btal.Enabled = False
btncetak.Enabled = False
mToolTip.SetToolTip(Btn_btal, "Batal Input Data")
mToolTip.SetToolTip(Btn_Keluar, "Keluar Dari Form")
mToolTip.SetToolTip(Btn_smpan, "Simpan Data Kwitansi")
mToolTip.SetToolTip(Btn_tmbh, "Menambah Data Kwitansi")
mToolTip.SetToolTip(Btn_Cari, "Cari Data SAF")
mToolTip.SetToolTip(btncetak, "Cetak Kwitansi")
End Sub
Function bersih()
Txt_NoKW.Text = ""
tglKwt.Value = Now()
txt_NoSAF.Text = ""
txt_Nopol.Text = ""
txt_biayaservice.Text = ""
txt_NoSAF.Text = ""
txt_Nopol.Text = ""
End Function
Private Sub Btn_Cari_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Btn_Cari.Click
Me.utkcari_saf()
Me.tampilkan_saf()
Btn_Cari.Enabled = False
End Sub
End Sub
Function cetak()
SQL = "SELECT saf.*, motor.no_rangka, motor.no_mesin,
motor.warna, motor.type_mtr, motor.tahun, motor.pemilik, " & _
"motor.alamat, motor.telp, motor.jns_mtr,
paket_service.nm_paket, paket_service.hrg_paket, " & _
"mekanik.nm_mekanik, mekanik.tlp as tlp_mekanik,
advisor.nm_advisor, advisor.tlp as tlp_advisor, " & _
"service.*, isi.biaya_service,
kwitansi.no_kwitansi, kwitansi.tgl_kwitansi FROM(saf) " & _
"INNER JOIN motor ON motor.no_pol = saf.no_pol "
& _
"INNER JOIN paket_service ON
paket_service.kd_paket = saf.kd_paket " & _
"INNER JOIN mekanik ON mekanik.id_mekanik =
saf.id_mekanik " & _
"INNER JOIN advisor ON advisor.id_advisor =
saf.id_advisor " & _
"INNER JOIN isi ON saf.no_saf = isi.no_saf " & _
"INNER JOIN service ON service.kd_service =
isi.kd_service " & _
"INNER JOIN kwitansi ON kwitansi.no_saf =
saf.no_saf " & _
"WHERE kwitansi.no_kwitansi = '" & Txt_NoKW.Text
& "' && saf.no_saf= '" & txt_NoSAF.Text & "' "
Try
DataSet.WriteXml("Kwitansi1.xml",
XmlWriteMode.WriteSchema)
Catch ex As Exception
MsgBox(ex.Message.ToString())
Finally
Adapter.Dispose()
DataSet.Clear()
End Try
Connect.Close()
'End Sub
End Class
End Sub
End Sub
#End Region
End Sub
End Sub
End Sub
#End Region
End Sub
End Sub
End Sub
#End Region
End Sub
End Sub
#End Region
Dim i As Integer
Public kode As String
Function klik()
Try
kode =
ListView1.SelectedItems(0).SubItems(0).Text.ToString
Me.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "SELECT paket_service.* ,punya.keterangan,
punya.kd_service, service.nm_service FROM punya INNER JOIN
paket_service ON paket_service.kd_paket = punya.kd_paket INNER JOIN
service ON service.kd_service = punya.kd_service"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read = True
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListView1.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListView1.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListView1.Items(y).SubItems(3).Text =
Reader.GetString(3)
ListView1.Items(y).SubItems(4).Text =
Reader.GetString(4)
ListView1.Items(y).SubItems(5).Text =
Reader.GetString(5)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
CARI SAF
Imports MySql.Data.MySqlClient
Public Class CariSAF
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Dim i As Integer
Public kode As String
Function klik()
Try
kode =
ListView1.SelectedItems(0).SubItems(0).Text.ToString
Me.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "SELECT no_saf, no_pol, tot_biaya_service FROM saf
where tgl_saf = now()"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read = True
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListView1.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListView1.Items(y).SubItems(2).Text =
Reader.GetString(2)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Connect.Close()
End Function
CARI SAF1
Imports MySql.Data.MySqlClient
Public Class CariSAF1
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Dim i As Integer
Public kode As String
Function klik()
Try
kode =
ListView1.SelectedItems(0).SubItems(0).Text.ToString
Me.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "SELECT SAF.*, motor.jns_mtr FROM SAF INNER JOIN motor
ON saf.no_pol = motor.no_pol WHERE saf.tgl_saf = now()"
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListView1.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListView1.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListView1.Items(y).SubItems(3).Text =
Reader.GetString(3)
ListView1.Items(y).SubItems(4).Text =
Reader.GetString(4)
ListView1.Items(y).SubItems(5).Text =
Reader.GetString(5)
ListView1.Items(y).SubItems(6).Text =
Reader.GetString(6)
ListView1.Items(y).SubItems(7).Text =
Reader.GetString(7)
ListView1.Items(y).SubItems(8).Text =
Reader.GetString(8)
ListView1.Items(y).SubItems(9).Text =
Reader.GetString(9)
ListView1.Items(y).SubItems(10).Text =
Reader.GetString(10)
ListView1.Items(y).SubItems(11).Text =
Reader.GetString(11)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
End Class
CARI SAF2
Imports MySql.Data.MySqlClient
Public Class CariSAF2
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Dim i As Integer
Public kode As String
Function klik()
Try
kode =
ListView1.SelectedItems(0).SubItems(0).Text.ToString
Me.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "select saf.no_saf, saf.tgl_saf, saf.jam_masuk,
saf.no_pol, motor.jns_mtr, mekanik.nm_mekanik,
paket_service.nm_paket, paket_service.hrg_paket, advisor.nm_advisor
" & _
"from(SAF) inner join motor on motor.no_pol =
saf.no_pol " & _
"inner join mekanik on mekanik.id_mekanik =
saf.id_mekanik " & _
"inner join paket_service on paket_service.kd_paket
= saf.kd_paket " & _
"inner join advisor on advisor.id_advisor =
saf.id_advisor " & _
"where saf.no_saf not in(select wo.no_saf from wo)
&& saf.tgl_saf = now() "
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListView1.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListView1.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListView1.Items(y).SubItems(3).Text =
Reader.GetString(3)
ListView1.Items(y).SubItems(4).Text =
Reader.GetString(4)
ListView1.Items(y).SubItems(5).Text =
Reader.GetString(5)
ListView1.Items(y).SubItems(6).Text =
Reader.GetString(6)
ListView1.Items(y).SubItems(7).Text =
Reader.GetString(7)
ListView1.Items(y).SubItems(8).Text =
Reader.GetString(8)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
Private Sub CariSAF2_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
Me.tampil_listview()
End Sub
CARI SERVICE
Imports MySql.Data.MySqlClient
Public Class CariService
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Dim i As Integer
Public kode As String
Function klik()
Try
kode =
ListView1.SelectedItems(0).SubItems(0).Text.ToString
Me.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "SELECT * FROM service "
If Connect.State = ConnectionState.Closed Then
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read = True
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListView1.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListView1.Items(y).SubItems(2).Text =
Reader.GetString(2)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
CARI SPAREPART
Imports MySql.Data.MySqlClient
Public Class CariSparePart
Inherits System.Windows.Forms.Form
End Sub
End Sub
#End Region
Dim i As Integer
Public kode As String
Function klik()
Try
kode =
ListView1.SelectedItems(0).SubItems(0).Text.ToString
Me.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try
End Function
Function tampil_listview()
Dim x, y As Integer
SQL = "SELECT * FROM sparepart"
Connect.Open()
Try
Command = New MySqlCommand(SQL, Connect)
Reader = Command.ExecuteReader
While Reader.Read = True
y = Val(txt_counter.Text)
txt_counter.Text = Str(Val(txt_counter.Text) + 1)
ListView1.Items.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
ListView1.Items(ListView1.Items.Count -
1).SubItems.Add("")
'ListView1.Items(y).SubItems(0).Text = (y +
1).ToString(0)
ListView1.Items(y).SubItems(0).Text =
Reader.GetString(0)
ListView1.Items(y).SubItems(1).Text =
Reader.GetString(1)
ListView1.Items(y).SubItems(2).Text =
Reader.GetString(2)
ListView1.Items(y).SubItems(3).Text =
Reader.GetString(3)
End While
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
Reader.Close()
Connect.Close()
End Function
CETAK
Imports MySql.Data.MySqlClient
Public Class Cetak
Inherits System.Windows.Forms.Form
CrystalReportViewer1.ReportSource = Application.StartupPath
& "\" & Cetak
CrystalReportViewer1.SelectionFormula = Source
End Sub
End Sub
#End Region
End Sub
End Class
CLAPORAN
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
End Sub
End Sub
#End Region
Private Sub view_cetak(ByVal Rpt As ReportClass)
Try
'fields definition
Dim crParameterFieldDefinitions As
ParameterFieldDefinitions
'definisi nama parameter
Dim crParameterFieldDefinitionParam1 As
ParameterFieldDefinition
Dim crParameterFieldDefinitionParam2 As
ParameterFieldDefinition
'definisi value parameter
Dim crParameterValuesParam1 As New ParameterValues
Dim crParameterValuesParam2 As New ParameterValues
'definisi nilai diskrit tiap parameter
Dim crParameterDiscreteValueparam1 As New
ParameterDiscreteValue
Dim crParameterDiscreteValueparam2 As New
ParameterDiscreteValue
'isi valuenya
crParameterDiscreteValueparam1.Value = tglAwal.Date
crParameterDiscreteValueparam2.Value = tglAkhir.Date
crParameterValuesParam1.Add(crParameterDiscreteValueparam1)
crParameterFieldDefinitionParam1.ApplyCurrentValues(crParameterValue
sParam1)
crParameterValuesParam2.Add(crParameterDiscreteValueparam2)
crParameterFieldDefinitionParam2.ApplyCurrentValues(crParameterValue
sParam2)
'set source
CrystalReportViewer1.ReportSource = Rpt
CrystalReportViewer1.SelectionFormula = formula
CrystalReportViewer1.RefreshReport()
Catch ex As Exception
MsgBox(ex.Source & " : " & ex.Message)
End Try
End Sub
FUNGSI
Module Fungsi
Public Function angka(ByVal e As KeyPressEventArgs)
Dim keyascii As Integer
keyascii = Asc(e.KeyChar)
Select Case keyascii
Case 48 To 57, 8, 13
Case Else
keyascii = 0
End Select
If keyascii = 0 Then
e.Handled = True
Else
e.Handled = False
End If
End Function
Public Function huruf(ByVal e As KeyPressEventArgs)
Dim keyascii As Integer
keyascii = Asc(e.KeyChar)
Select Case keyascii
Case 65 To 90, 97 To 122, 32, 8, 32, 13
Case Else
keyascii = 0
End Select
If keyascii = 0 Then
e.Handled = True
Else
e.Handled = False
End If
End Function
End Module
KONEKSI
Imports MySql.Data.MySqlClient
Module koneksi
Public Form As New Form
Public ConnectionString As String = "server=localhost;
userid=root; password=; database=bengkel1;"
Public Connect As New MySqlConnection(ConnectionString)
Public Command As New MySqlCommand
Public DataAdapter As New MySqlDataAdapter
Public Reader As MySqlDataReader
Public ResultSet As String
Public No As String
Public Adapter As MySqlDataAdapter
Public DataSet As New DataSet
Public DataTbl As New DataTable
Public CM As CurrencyManager
Public SQL As String
Public mToolTip As New ToolTip
Public SQL1 As String
Public SQLDetil As String
Public y As Integer
End Module