Anda di halaman 1dari 207

ANALISA DAN DESAIN SISTEM INFORMASI

JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU


BERBASIS OBJECT ORIENTED
PADA AHLI GIGI TJOEN PAO - JAKARTA BARAT

TUGAS AKHIR

Oleh :

Oleh:

AKBAR ACHMAD AZIS


NIM : 1212503203

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR

JAKARTA
2016
ANALISA DAN DESAIN SISTEM INFORMASI
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
BERBASIS OBJECT ORIENTED
PADA AHLI GIGI TJOEN PAO - JAKARTA BARAT

Diajukan untuk memenuhi salah satu persyaratan


memperoleh gelar Sarjana Komputer (S.Kom)

TUGAS AKHIR

Oleh :

Oleh :

AKBAR ACHMAD AZIS


NIM : 1212503203

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR

JAKARTA
2016
LEMBAR PENGESAHAN
ABSTRAK

ANALISA DAN DESAIN SISTEM INFORMASI


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
BERBASIS OBJECT ORIENTED
PADA AHLI GIGI TJOEN PAO - JAKARTA BARAT

Oleh: Akbar Achmad Azis (NIM : 1212503203)

Di dalam dunia usaha dan kerja, informasi merupakan bagian yang penting dan
berharga. Informasi yang akurat dan tepat waktu akan membantu dalam mengambil
keputusan dan menentukan langkah-langkah yang harus dilakukan untuk
mempertahankan dan mengembangkan usahanya. Untuk semua itu dibutuhkan suatu
pengolahan data yang handal, akurat, dan dapat ditampilkan secara tepat dan mudah.
Hal ini sangat membantu dalam mempermudah masalah yang ada di satu instansi.
Permasalahan dalam penelitian ini adalah pada proses pembuatan gigi palsu, terjadi
kesalahan dalam pembuatan gigi palsu oleh tekniker, sebab penulisan perintah kerja oleh
staf kadang kala dirasa tidak jelas dan tidak terstruktur dan bentuk fisik kadang kala
rusak. Pada proses penanganan garansi, terjadi kerugian pada proses penanganan
garansi karena dikenakan biaya normal yang disebabkan kwitansi hilang oleh pasien
sehingga staf tidak mengetahui masa aktif garansi dan tidak mempunyai back up
kwitansi. Lama dalam pencocokan nota pembuatan sebagai bukti pembayaran dan
pesanan pembuatan gigi palsu saat proses pemasangan gigi palsu, sebab hilang atau
tidak dibawa oleh pasien, serta nota pembuatan dengan nota perbaikan masih menjadi
satu arsip yang membuat lama dalam pencocokan. Pada proses menghitung laporan
pendapatan sering terjadi kesalahan hitung pada laporan pendapatan dikarenakan
laporan pendapatan pembuatan dan perbaikan masih dalam satu laporan sehingga staf
kurang teliti. Pemilik sulit mengetahui permasalahan yang sering diajukan pasien saat
penanganan garansi dikarenakan tidak adanya laporan penanganan garansi. Oleh karena
itu untuk mengatasi masalah tersebut diperlukan sebuah sistem informasi baru yang
lebih terkomputerisasi dan karena itu penulis tertarik untuk mengangkat permasalahan
tersebut sebagai judul penelitian dengan mengambil judul ANALISA DAN DESAIN
SISTEM INFORMASI JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU BERBASIS OBJECT
ORIENTED PADA AHLI GIGI TJOEN PAO JAKARTA BARAT. Pada penulisan penelitian
ini, jenis metode penelitian yang digunakan oleh penulis adalah metode wawancara, studi
pustaka, pengamatan dan dokumentasi kepada pihak instansi yang bersangkutan.
Pembuatan sistem menggunakan analisa dan desain sistem informasi yang dimulai dari
analisa sistem yang sedang berjalan dengan mengimplementasikan menggunakan
bahasa pemograman VB.net dan menggunakan database MySQL. Dengan adanya analisa
dan desain ini penulis berharap dapat mempermudah dalam mengatasi masalah yang
ada dalam proses pembuatan dan perbaikan gigi palsu, serta mempermudah dalam
proses transaksi khususnya pada staf ahli gigi.

Kata Kunci : Sistem Informasi Jasa Pembuatan Dan Perbaikan, Berbasis Object Oriented

x+142 halaman; 107 gambar; 16 tabel; 28 lampiran

i
ii
KATA PENGANTAR

Alhamdulillahirabbilalamin atas segala nikmat dan rasa syukur atas kehadirat


ALLAH SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga penulis dapat
menyelesaikan penyusunan Tugas Akhir yang berjudul ANALISA DAN DESAIN
SISTEM INFORMASI JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
BERBASIS OBJECT ORIENTED PADA AHLI GIGI TJOEN PAO - JAKARTA BARAT.
Penulis menyadari bahwa penulisan Tugas Akhir ini masih banyak kekurangan
dan keterbatasan, namun demikian penulis berusaha agar penyusunan Tugas Akhir ini
tetap memiliki syarat sebagai karya tulis yang bersifat ilmiah. Pada kesempatan yang baik
ini, izinkanlah penulis menyampaikan rasa hormat dan ucapan terima kasih kepada
semua pihak yang dengan tulus ikhlas telah memberikan bantuan dan dorongan dalam
menyelesaikan penulisan tugas akhir ini, terutama kepada:
1. Allah SWT yang telah memberikan petunjuk dan karunia-Nya sehingga penulis
dapat menyelesaikan penulisan Tugas Akhir ini dengan baik dan sukses.
2. Kedua orang tuaku yang saya hormati dan cintai, Ibu dan Bapak terima kasih
atas semuanya yang tidak pernah bisa terganti dan terlupakan sepanjang masa
hingga saya dapat menyelesaikan Tugas Akhir ini, serta keluarga tercinta yang
saya sayangi atas dukungan, doa, nasehat, arahan dan saran sehingga penulis
dapat menyelesaikan Tugas Akhir dengan tulus ikhlas.
3. Bapak Prof. Ir. Suryo Hapsoro Tri Utomo, Ph.D. selaku Rektor Universitas Budi
Luhur.
4. Bapak Goenawan Brotosaputro, S.Kom, M.Sc. selaku Dekan Fakultas Teknologi
Informasi, Universitas Budi Luhur.
5. Bapak Hendri Irawan, S.Kom, M.T.I. selaku Ketua Program Studi Sistem
Informasi, Universitas Budi Luhur.
6. Bapak Yudi Santoso, M.Kom selaku Dosen Pembimbing Tugas Akhir, terima kasih
atas bimbingan, nasehat dan dukungannya kepada saya.
7. Ibu Dyah Retno Utari, M.Kom selaku Dosen Pembimbing Kuliah Kerja Praktek
yang pernah memberi bimbingan, nasehat dan arahan yang bermanfaat.
8. Ibu Safitri Juanita, M.T.I. selaku Dosen Penasehat Akademik yang berperan
besar dalam memberikan nasehat, informasi dan arahannya mengenai
perkuliahan.
9. Bapak Humisar Hasugian, M.Kom dan Ibu Yuliazmi, M.Kom selaku Dosen Penguji
Sidang Tugas Akhir yang telah memberikan masukan yang bermanfaat serta
hasil nilai Tugas Akhir yang memuaskan.
10. Bapak Muhammad Yunus selaku pemilik yang telah memberi izin dan
kesempatan untuk melakukan riset di Ahli Gigi Tjoen Pao.
11. Ibu Yuliati selaku pembimbing dalam mengumpulkan data serta informasi yang
saya butuhkan di Ahli Gigi Tjoen Pao serta memotivasi dan memberi nasehat
kepada saya.
12. Fhiafara Petra Chandra, hal yang tak mungkin dilupakan ketika kau hadir dalam
Tugas Akhirku sebagai waktu, semangat, motivasi, arahan serta dorongan untuk
membantu menyelesaikan Tugas Akhir ini.
13. Kelompok bermain dan bercanda yang telah mendahului untuk mendapatkan
gelar S.Kom diantaranya Indah, Fanny, Dwi, Eka, maupun yang sama-sama satu
perjuangan dan kerja keras untuk mendapatkan gelar S.Kom diantaranya Galang,
Fikri, Tio, Gaza, Rahman, Satrio, Ponco, Relian.
14. Teman-teman di Universitas Budi Luhur angkatan 2012 khususnya Jurusan
Sistem Informasi, yang telah memberikan canda tawa, semangat, cerita, bantuan
serta saran-sarannya.
15. Semua pihak yang tidak dapat saya sebutkan satu per satu yang telah
memberikan petunjuk dan membantu dan mendukung penulis.

iii
Semoga ALLAH SWT melimpahkan karunia dan anugrah-Nya atas segala bantuan
yang telah diberikan. Akhir kata, dengan segala kerendahan hati penulis memohon maaf
yang sebesar-besarnya karena keterbatasan pengetahuan dan pengalaman yang dimiliki.
Demikian yang dapat penulis sampaikan. Semoga Tugas Akhir ini dapat bermanfaat dan
memberikan sumbangan pikiran bagi para pembaca.

Jakarta, Agustus 2016

Penulis

iv
DAFTAR GAMBAR

Halaman
Gambar 1.1 : Kerangka Pemikiran ........................................................................... 3
Gambar 2.1 : Simbol Start Point............................................................................ 10
Gambar 2.2 : Simbol End Point ............................................................................. 10
Gambar 2.3 : Simbol Activities .............................................................................. 11
Gambar 2.4 : Simbol Black Hole Activities .............................................................. 11
Gambar 2.5 : Simbol Miracle Activities ................................................................... 11
Gambar 2.6 : Simbol Fork..................................................................................... 11
Gambar 2.7 : Simbol Join ..................................................................................... 11
Gambar 2.8 : Simbol Decision Points ..................................................................... 12
Gambar 2.9 : Simbol Merge .................................................................................. 12
Gambar 2.10 : Simbol Guards ................................................................................. 12
Gambar 2.11 : Simbol Swimlane ............................................................................. 12
Gambar 2.12 : Simbol Actor ................................................................................... 13
Gambar 2.13 : Simbol Use Case.............................................................................. 13
Gambar 2.14 : Simbol Association antara Actor dan Use Case .................................. 13
Gambar 2.15 : Simbol Relasi Antara Actor dengan Use Case..................................... 14
Gambar 2.16 : Simbol Strong Entity ........................................................................ 14
Gambar 2.17 : Simbol Relasi .................................................................................. 15
Gambar 2.18 : Simbol Atribut ................................................................................. 15
Gambar 2.19 : Relasi One to One ........................................................................... 16
Gambar 2.20 : Relasi One to Many ......................................................................... 16
Gambar 2.21 : Relasi Many to Many........................................................................ 16
Gambar 2.22 : Simbol Actor ................................................................................... 18
Gambar 2.23 : Simbol Boundary ............................................................................. 18
Gambar 2.24 : Simbol Control ................................................................................ 18
Gambar 2.25 : Simbol Entity ................................................................................... 19
Gambar 2.26 : Simbol Activation ............................................................................. 19
Gambar 2.27 : Simbol Object Message .................................................................... 19
Gambar 2.28 : Simbol Message to self .................................................................... 19
Gambar 2.29 : Simbol Object lifeline ....................................................................... 19
Gambar 2.31 : Simbol Class ................................................................................... 20
Gambar 2.32 : Simbol Association ........................................................................... 20
Gambar 2.33 : Simbol Composition ......................................................................... 20
Gambar 2.34 : Simbol Multiplicity ........................................................................... 21
Gambar 2.35 : Simbol Package Diagram ................................................................. 21
Gambar 2.36 : Simbol Fishbone Diagram ................................................................ 22
Gambar 2.37 : Simbol Effect ................................................................................... 22
Gambar 2.38 : Simbol Category Cause .................................................................... 22
Gambar 2.39 : Simbol Line Cause ........................................................................... 23
Gambar 3.1 : Struktur Organisasi .......................................................................... 26
Gambar 3.2 : Activity Diagram Proses Pencetakan Gigi ........................................... 29
Gambar 3.3 : Activity Diagram Proses Pembayaran Pembuatan Gigi Palsu ............... 30
Gambar 3.4 : Activity Diagram Proses Pemasangan Gigi Palsu ................................ 31
Gambar 3.5 : Activity Diagram Proses Perbaikan Gigi Palsu .................................... 32
Gambar 3.6 : Activity Diagram Proses Garansi Pembuatan Gigi Palsu ...................... 33
Gambar 3.7 : Activity Diagram Proses Pembuatan Laporan Pendapatan .................. 34
Gambar 3.8 : Activity Diagram Proses Pembuatan Laporan Perintah Kerja ............... 34
Gambar 3.9 : Fishbone Diagram ........................................................................... 39
Gambar 3.10 : Package Diagram ............................................................................ 42
Gambar 3.11 : Use Case Diagram Master ............................................................... 43

v
Gambar 3.12 : Use Case Diagram Transaksi ............................................................ 43
Gambar 4.1 : Entity Relationship Diagram ............................................................. 52
Gambar 4.2 : Transformasi ERD ke LRS ................................................................ 54
Gambar 4.3 : Logical Record Structure .................................................................. 55
Gambar 4.4 : Diagram Ketergantungan Atribut Tabel Pasien .................................. 56
Gambar 4.5 : Diagram Ketergantungan Atribut Tabel Tekniker ............................... 56
Gambar 4.6 : Diagram Ketergantungan Atribut Tabel Gigi ...................................... 57
Gambar 4.7 : Diagram Ketergantungan Atribut Tabel Plat ...................................... 57
Gambar 4.8 : Diagram Ketergantungan Atribut Tabel Jasa ..................................... 58
Gambar 4.9 : Diagram Ketergantungan Atribut Tabel NPB ...................................... 58
Gambar 4.10 : Diagram Ketergantungan Atribut Tabel NPR ...................................... 59
Gambar 4.11 : Diagram Ketergantungan Atribut Tabel PK ........................................ 59
Gambar 4.12 : Diagram Ketergantungan Atribut Tabel Kwitansi ................................ 60
Gambar 4.13 : Diagram Ketergantungan Atribut Tabel PG ........................................ 60
Gambar 4.14 : Diagram Ketergantungan Atribut Tabel detil_perbaikan ..................... 61
Gambar 4.15 : Diagram Ketergantungan Atribut Tabel detil_pembuatan ................... 61
Gambar 4.16 : Struktur Tampilan Menu .................................................................. 76
Gambar 4.17 : Rancangan Layar Menu Utama ......................................................... 77
Gambar 4.18 : Rancangan Layar Menu Master......................................................... 77
Gambar 4.19 : Rancangan Layar Menu Tranksaksi ................................................... 78
Gambar 4.20 : Rancangan Layar Menu Laporan....................................................... 78
Gambar 4.21 : Rancangan Layar Entry Data Pasien ................................................. 79
Gambar 4.22 : Rancangan Layar Entry Data Tekniker .............................................. 79
Gambar 4.23 : Rancangan Layar Entry Data Gigi ..................................................... 80
Gambar 4.24 : Rancangan Layar Entry Data Plat ..................................................... 80
Gambar 4.25 : Rancangan Layar Entry Data Jasa .................................................... 81
Gambar 4.26 : Rancangan Layar Cetak Nota Pembuatan .......................................... 81
Gambar 4.27 : Rancangan Layar Cetak Perintah Kerja ............................................. 82
Gambar 4.28 : Rancangan Layar Cetak Nota Perbaikan ............................................ 82
Gambar 4.29 : Rancangan Layar Cetak Kwitansi ...................................................... 83
Gambar 4.30 : Rancangan Layar Cetak Penanganan Garansi .................................... 83
Gambar 4.31 : Rancangan Layar Cetak Laporan Perintah Kerja Per Tekniker ............. 84
Gambar 4.32 : Rancangan Layar Cetak Laporan Pendapatan Pembuatan .................. 84
Gambar 4.33 : Rancangan Layar Cetak Laporan Pendapatan Perbaikan .................... 85
Gambar 4.34 : Rancangan Layar Cetak Laporan Penanganan Garansi Pembuatan ..... 85
Gambar 4.35 : Rancangan Layar Cetak Laporan Rekap Jenis Gigi Palsu Paling
Diminati .......................................................................................... 86
Gambar 4.36 : Rancangan Layar Cetak Laporan Status Penanganan Garansi
Pembuatan ..................................................................................... 86
Gambar 4.37 : Sequence Diagram Entry Data Pasien ............................................... 87
Gambar 4.38 : Sequence Diagram Entry Data Tekniker ............................................ 88
Gambar 4.39 : Sequence Diagram Entry Data Gigi ................................................... 89
Gambar 4.40 : Sequence Diagram Entry Data Plat ................................................... 90
Gambar 4.41 : Sequence Diagram Entry Data Jasa .................................................. 91
Gambar 4.42 : Sequence Diagram Cetak Nota Pembuatan ...................................... 92
Gambar 4.43 : Sequence Diagram Cetak Perintah Kerja .......................................... 93
Gambar 4.44 : Sequence Diagram Cetak Nota Perbaikan ........................................ 94
Gambar 4.45 : Sequence Diagram Cetak Kwitasi..................................................... 95
Gambar 4.46 : Sequence Diagram Cetak Penanganan Garansi ................................. 96
Gambar 4.47 : Sequence Diagram Cetak Laporan Perintah Kerja Per Tekniker .......... 97
Gambar 4.48 : Sequence Diagram Cetak Laporan Pendapatan Pembuatan ............... 98
Gambar 4.49 : Sequence Diagram Cetak Laporan Pendapatan Perbaikan ................. 99
Gambar 4.50 : Sequence Diagram Cetak Laporan Penanganan Garansi Pembuatan 100

vi
Gambar 4.51 : Sequence Diagram Cetak Laporan Rekap Jenis Gigi Palsu Paling
Diminati ........................................................................................ 101
Gambar 4.52 : Sequence Diagram Cetak Laporan Status Penanganan Garansi
Pembuatan ................................................................................... 102
Gambar 4.53 : Entity Class ................................................................................... 103
Gambar 4.54 : Boundary Class ............................................................................. 104
Gambar 4.55 : Control Class ................................................................................. 105

vii
DAFTAR LAMPIRAN

Halaman
Lampiran A - 1 : Keluaran Sistem Berjalan Nota Pembuatan..................................... 111
Lampiran A - 2 : Keluaran Sistem Berjalan Nota Perbaikan ....................................... 112
Lampiran A - 3 : Keluaran Sistem Berjalan Perintah Kerja ........................................ 113
Lampiran A - 4 : Keluaran Sistem Berjalan Kwitansi ................................................. 114
Lampiran A - 5 : Keluaran Sistem Berjalan Penanganan Garansi ............................... 115
Lampiran A - 6 : Keluaran Sistem Berjalan Laporan Pendapatan ............................... 116
Lampiran A - 7 : Keluaran Sistem Berjalan Laporan Perintah Kerja ........................... 117
Lampiran B - 1 : Masukan Sistem Berjalan Data Pasien ............................................ 119
Lampiran B - 2 : Masukan Sistem Berjalan Pesanan Pembuatan ............................... 120
Lampiran B - 3 : Masukan Sistem Berjalan Keluaran Perbaikan ................................. 121
Lampiran B - 4 : Masukan Sistem Berjalan Keluhan Penanganan Garansi Pasien ....... 122
Lampiran C - 1 : Rancangan Keluaran Nota Pembuatan ........................................... 124
Lampiran C - 2 : Rancangan Keluaran Nota Perbaikan ............................................. 125
Lampiran C - 3 : Rancangan Keluaran Perintah Kerja ............................................... 126
Lampiran C - 4 : Rancangan Keluaran Kwitansi ....................................................... 127
Lampiran C - 5 : Rancangan Keluaran Penanganan Garansi ..................................... 128
Lampiran C - 6 : Rancangan Keluaran Laporan Perintah Kerja Per Tekniker .............. 129
Lampiran C - 7 : Rancangan Keluaran Laporan Pendapatan Pembuatan .................... 130
Lampiran C - 8 : Rancangan Keluaran Laporan Pendapatan Perbaikan ...................... 131
Lampiran C - 9 : Rancangan Keluaran Laporan Penanganan Garansi Pembuatan ....... 132
Lampiran C - 10 : Rancangan Keluaran Laporan Rekap Jenis Gigi Palsu Paling
Diminati ....................................................................................... 134
Lampiran C - 11 : Rancangan Keluaran Laporan Status Penanganan Garansi
Pembuatan .................................................................................. 134
Lampiran D-1 : Rancangan Masukan Data Pasien .................................................. 136
Lampiran D-2 : Rancangan Masukan Data Tekniker ............................................... 137
Lampiran D-3 : Rancangan Masukan Data Gigi ...................................................... 138
Lampiran D-4 : Rancangan Masukan Data Plat ...................................................... 139
Lampiran D-5 : Rancangan Masukan Data Jasa ..................................................... 140
Lampiran E-1 : Surat Keterangan Riset ................................................................. 142

viii
DAFTAR TABEL

Halaman
Table 3.1 : Deskripsi Hubungan Sebab Akibat Per Kategori ........................................ 39
Tabel 4.1 : Tabel Spesifikasi Data Pasien .................................................................. 62
Tabel 4.2 : Tabel Spesifikasi Data Tekniker ............................................................... 63
Tabel 4.3 : Tabel Spesifikasi Data Gigi ...................................................................... 63
Tabel 4.4 : Tabel Spesifikasi Data Plat ...................................................................... 64
Tabel 4.5 : Tabel Spesifikasi Data Jasa ..................................................................... 65
Tabel 4.6 : Tabel Spesifikasi Data NPB ..................................................................... 65
Tabel 4.7 : Tabel Spesifikasi Data NPR ..................................................................... 66
Tabel 4.8 : Tabel Spesifikasi Data PK ........................................................................ 67
Tabel 4.9 : Tabel Spesifikasi Data Kwitansi ............................................................... 68
Tabel 4.10 : Tabel Spesifikasi Data Garansi ................................................................. 69
Tabel 4.11 : Tabel Spesifikasi Data detil_pembuatan ................................................... 69
Tabel 4.12 : Tabel Spesifikasi Data detil_perbaikan ..................................................... 70
Tabel 4.13 : Tabel Kebutuhan Simpanan Basis Data .................................................... 70
Tabel 4.14 : Tabel Estimasi Kebutuhan Simpanan Data ............................................... 71
Tabel 4.15 : Tabel Korelasi Masalah dan Solusi ......................................................... 106

ix
DAFTAR ISI

Halaman
ABSTRAK ........................................................................................................... i
SURAT PERNYATAAN TIDAK PLAGIAT DAN PERSETUJUAN PUBLIKASI ........................... ii
KATA PENGANTAR ..................................................................................................... iii
DAFTAR GAMBAR ........................................................................................................ v
DAFTAR LAMPIRAN ................................................................................................... viii
DAFTAR TABEL ......................................................................................................... ix
DAFTAR ISI .......................................................................................................... x

BAB I PENDAHULUAN ................................................................................ 1


1.1. Latar Belakang ........................................................................... 1
1.2. Masalah ..................................................................................... 1
1.3. Tujuan dan Manfaat Penulisan .................................................... 2
1.3.1. Tujuan Penulisan ................................................................ 2
1.3.2. Manfaat Penulisan ............................................................. 2
1.4. Batasan Masalah ........................................................................ 2
1.5. Kerangka Pemikiran ................................................................... 3
1.6. Metodologi Penelitian ................................................................. 4
1.7. Sistematika Penulisan ................................................................. 5

BAB II LANDASAN TEORI ............................................................................ 7


2.1. Konsep Dasar Sistem .................................................................. 7
2.1.1. Pengertian Sistem ............................................................... 7
2.1.2. Karakteristik Sistem ............................................................ 7
2.2. Pengertian Informasi .................................................................. 8
2.3. Konsep Dasar Sistem Informasi ................................................... 8
2.3.1. Definisi Sistem Informasi ..................................................... 8
2.3.2. Komponen Dasar Sistem Informasi ...................................... 8
2.4. Konsep Dasar Analisa Sistem ...................................................... 8
2.5. Konsep Dasar Perancangan Sistem .............................................. 9
2.6. Konsep Dasar Berorientasi Obyek ................................................ 9
2.7. Tahapan-Tahapan Dalam Perancangan Berorientasi Obyek ......... 10
2.8. Teori-Teori Pendukung Lainnya ................................................. 24

BAB III ANALISA SISTEM ........................................................................... 25


3.1. Tinjauan Organisasi .................................................................. 25
3.1.1. Sejarah Ahli Gigi Tjoen Pao ............................................... 25
3.1.2. Visi dan Misi Organisasi .................................................... 25
3.1.3. Struktur Organisasi .................................................................. 26
3.2. Uraian Prosedur ....................................................................... 27
3.2.1. Proses Bisnis .................................................................... 27
3.2.2. Aturan Bisnis .................................................................... 28
3.3. Analisa Proses .......................................................................... 29
3.4. Analisa Keluaran ...................................................................... 35
3.5. Analisa Masukan ...................................................................... 37
3.6. Analisa Masalah ....................................................................... 39
3.7. Identifikasi Kebutuhan .............................................................. 40
3.8. Package Diagram ..................................................................... 42
3.9. Use Case Diagram .................................................................... 43

x
3.10. Deskripsi Use Case ................................................................... 44

BAB IV RANCANGAN SISTEM..................................................................... 51


4.1. Rancangan Basis Data .............................................................. 51
4.1.1. Entity Relationship Diagram (ERD) ..................................... 51
4.1.2. Transformasi ERD ke Logical Record Structure ................... 53
4.1.3. Logical Record Structure (LRS) .......................................... 55
4.1.4. Normalisasi ...................................................................... 56
4.1.5. Spesifikasi Basis Data ....................................................... 62
4.1.6. Estimasi Kebutuhan Simpanan Data ................................... 70
4.2. Rancangan Antar Muka............................................................. 71
4.2.1. Rancangan Keluaran ......................................................... 71
4.2.2. Rancangan Masukan ......................................................... 74
4.2.3. Rancangan Dialog Layar .................................................... 76
4.3. Rancangan Class Diagram (Entity, Boundary & Control Class) ... 103
4.3.1. Entity Class .................................................................... 103
4.3.2. Boundary Class .............................................................. 104
4.3.3. Control Class .................................................................. 105
4.4. Korelasi Masalah dan Solusi .................................................... 106

BAB V PENUTUP ...................................................................................... 108


5.1. Kesimpulan ............................................................................ 108
5.2. Saran .................................................................................... 108

DAFTAR PUSTAKA ........................................................................... 109

LAMPIRAN - A, KELUARAN SISTEM BERJALAN ................................. 110


LAMPIRAN - B, MASUKAN SISTEM BERJALAN ................................... 118
LAMPIRAN - C, RANCANGAN KELUARAN .......................................... 123
LAMPIRAN - D, RANCANGAN MASUKAN ........................................... 135
LAMPIRAN - E, SURAT KETERANGAN RISET ..................................... 141

xi
BAB I
PENDAHULUAN

1.1. Latar Belakang


Di dalam dunia usaha dan kerja, informasi merupakan bagian yang penting
dan berharga. Informasi yang akurat dan tepat waktu akan membantu dalam
mengambil keputusan dan menentukan langkah-langkah yang harus dilakukan
untuk mempertahankan dan mengembangkan usaha. Untuk semua itu dibutuhkan
suatu pengolahan data yang handal, akurat, dan dapat ditampilkan secara tepat
dan mudah apabila setiap kali diperlukan. Hal ini pun menjadi faktor pendukung
bagi kemajuan dalam proses usaha dan kerja seperti pada proses pembuatan dan
perbaikan jasa. Kemudahan dalam pengerjaan dan pengelolaan sistem sangatlah
penting karena apabila berjalan lambat dan tidak efektif maka akan berakibat
buruk bagi usaha yang dijalani.
Ahli Gigi Tjoen Pao merupakan salah satu usaha jasa pembuatan dan
perbaikan gigi palsu di daerah Jakarta Barat, usaha yang sudah berdiri sejak 1958
ini belum menggunakan sistem terkomputerisasi. Untuk kegiatan operasionalnya
masih dilakukan secara manual.
Banyaknya kebutuhan dari manusia berpengaruh pula terhadap permintaan
dari kebutuhan tersebut, pembuatan dan perbaikan jasa dalam bidang ahli gigi
banyak diminati sebagian besar manusia, terutama bagi mereka yang sudah lanjut
usia agar dapat memenuhi kebutuhannya. Semakin banyak permintaan pun
mendorong penulis untuk membantu mempermudah instansi terutama tekniker dan
staf dalam melakukan usahanya.
Berdasarkan analisis tersebut maka penulis mengambil topik Tugas Akhir pada
ANALISA DAN DESAIN SISTEM INFORMASI JASA PEMBUATAN DAN
PERBAIKAN GIGI PALSU BERBASIS OBJECT ORIENTED PADA AHLI GIGI
TJOEN PAO - JAKARTA BARAT.

1.2. Masalah
Berdasarkan hasil analisa serta pengumpulan data yang dilakukan pada sistem
berjalan, maka ditemukan beberapa masalah yang dihadapi oleh Ahli Gigi Tjoen
Pao dikarenakan beberapa sebab, antara lain sebagai berikut :
a. Pada proses pembuatan gigi palsu, terjadi kesalahan dalam pembuatan gigi
palsu oleh tekniker, sebab penulisan perintah kerja oleh staf kadang kala
dirasa tidak jelas dan tidak terstruktur dan bentuk fisik kadang kala rusak.
b. Pada proses penanganan garansi, terjadi kerugian pada proses penanganan
garansi karena dikenakan biaya normal yang disebabkan kwitansi hilang oleh
pasien sehingga staf tidak mengetahui masa aktif garansi dan tidak
mempunyai back up kwitansi.
c. Lama dalam pencocokan nota pembuatan sebagai bukti pembayaran dan
pesanan pembuatan gigi palsu saat proses pemasangan gigi palsu, sebab
hilang atau tidak dibawa oleh pasien, serta nota pembuatan dengan nota
perbaikan masih menjadi satu arsip yang membuat lama dalam pencocokan.
d. Pada proses menghitung laporan pendapatan sering terjadi kesalahan hitung
pada laporan pendapatan dikarenakan laporan pendapatan pembuatan dan
perbaikan masih dalam satu laporan sehingga staf kurang teliti.
e. Pemilik sulit mengetahui permasalahan yang sering diajukan pasien saat
penanganan garansi dikarenakan tidak adanya laporan penanganan garansi.

1
2

1.3. Tujuan dan Manfaat Penulisan


1.3.1. Tujuan Penulisan
Adapun tujuan dari penulisan Tugas Akhir analisa dan desain sistem
informasi jasa pembuatan dan perbaikan gigi palsu pada Ahli Gigi Tjoen
Pao yaitu sebagai berikut:
a. Memberikan perintah kerja dengan bentuk yang terstruktur, jelas
dan dapat dicetak ulang, sehingga tidak terjadi kesalahan dalam
pembuatan gigi palsu.
b. Membantu mempermudah dalam proses penanganan garansi
dengan mengetahui masa aktif garansi meskipun kwitansi sebagai
bukti penanganan garansi telah hilang oleh pasien.
c. Mempercepat pencocokan nota pembuatan dalam proses
pembuatan gigi palsu saat nota pembuatan hilang atau tidak dibawa
pasien, dan nota pembuatan tidak menjadi satu arsip dengan nota
perbaikan.
d. Mempermudah dalam penghitungan hasil dari pendapatan yang
dibuat dari data laporan pendapatan pembuatan dan perbaikan yang
sudah terpisah.
e. Mempermudah untuk mengetahui permasalahan yang sering terjadi
pada penaganan garansi untuk memperbaiki kualitas dari kinerja
dalam pembuatan gigi palsu.

1.3.2. Manfaat Penulisan


Adapun manfaat dari penulisan Tugas Akhir analisa dan desain
sistem informasi jasa pembuatan dan perbaikan gigi palsu pada Ahli Gigi
Tjoen Pao yaitu sebagai berikut:
a. Membantu pemilik untuk melihat perkembangan Ahli Gigi Tjoen Pao.
b. Mempermudah dan mempercepat staf dalam menjalankan tugasnya
pada saat proses transaksi.
c. Meminimalisir terjadinya kesalahan tekniker dalam proses
pembuatan maupun perbaikan gigi palsu.
d. Menghasilkan sistem yang menyediakan informasi yang dibutuhkan
untuk pasien dalam proses transaksi.
e. Membantu pemilik dalam mengetahui laporan yang tepat dan akurat
untuk mengambil keputusan.

1.4. Batasan Masalah


Dalam penulisan Tugas Akhir ini, penulis membatasi agar tidak menyimpang
dari pokok bahasan, maka penulis melakukan pembatasan masalah supaya obyek
penelitian dapat terarah sesuai pembahasan mengenai proses bisnis pada Ahli Gigi
Tjoen Pao meliputi :
a. Proses pencetakan gigi pasien
b. Proses pembayaran pembuatan gigi palsu
c. Proses pemasangan gigi palsu
d. Proses perbaikan gigi palsu
e. Proses penanganan garansi pembuatan
f. Proses pembuatan laporan
Sistem yang dibangun yaitu suatu sistem informasi pengolahan data dan
penyimpanan data yang dapat digunakan pada bagian staf Ahli Gigi Tjoen Pao.
3

1.5. Kerangka Pemikiran


Penulis menerapkan beberapa pendekatan untuk mendapatkan solusi
pemecahan masalah, berikut adalah kerangka pemikiran untuk pemecahan
masalah:

Kondisi Saat Ini Tindakan Tujuan

Merancang Sistem Informasi yang Memberikan perintah kerja dengan


Pada proses pembuatan gigi palsu,
dapat mempersingkat waktu bentuk yang terstruktur, jelas dan
terjadi kesalahan dalam
dalam mengolah data dan dapat dicetak ulang, sehingga
pembuatan gigi palsu oleh
menyajikan data saat transaksi. tidak terjadi kesalahan dalam
tekniker, sebab penulisan perintah
kerja oleh staf kadang kala dirasa pembuatan gigi palsu.
Merancang Sistem Informasi
tidak jelas dan tidak terstruktur
menggunakan database untuk Membantu mempermudah dalam
dan bentuk fisik kadang kala
menyimpan data transaksi yang proses penanganan garansi
rusak.
sewaktu-waktu dapat diperlukan dengan mengetahui masa aktif
menjadi bukti. garansi meskipun kwitansi sebagai
Pada proses penanganan garansi,
bukti penanganan garansi telah
terjadi kerugian pada proses
Merancang Sistem Informasi yang hilang oleh pasien.
penanganan garansi karena
dapat mengurangi kesalahan
dikenakan biaya normal yang
dalam membuatkan perintah kerja Mempercepat pencocokan nota
disebabkan kwitansi hilang oleh
dan dapat dicetak ulang. pembuatan dalam proses
pasien sehingga staf tidak
mengetahui masa aktif garansi pembuatan gigi palsu saat nota
dan tidak mempunyai back up Merancang Sistem Informasi pembuatan hilang atau tidak
kwitansi. menggunakan database untuk dibawa pasien, dan nota
menyimpan data yang dapat pembuatan tidak menjadi satu
diolah menjadi informasi berupa arsip dengan nota perbaikan.
Lama dalam pencocokan nota
pembuatan sebagai bukti laporan kepada pemilik.
pembayaran dan pesanan Mempermudah dalam
pembuatan gigi palsu saat proses penghitungan hasil dari
pemasangan gigi palsu, sebab pendapatan yang dibuat dari data
hilang atau tidak dibawa oleh laporan pendapatan pembuatan
pasien, serta nota pembuatan dan perbaikan yang sudah
dengan nota perbaikan masih terpisah.
menjadi satu arsip yang membuat
lama dalam pencocokan. Mempermudah untuk mengetahui
permasalahan yang sering terjadi
Pada proses menghitung laporan pada penaganan garansi untuk
pendapatan sering terjadi memperbaiki kualitas dari kinerja
kesalahan hitung pada laporan dalam pembuatan gigi palsu.
pendapatan dikarenakan laporan
pendapatan pembuatan dan
perbaikan masih dalam satu
laporan sehingga staf kurang teliti.

Pemilik sulit mengetahui


permasalahan yang sering
diajukan pasien saat penanganan
garansi dikarenakan tidak adanya
laporan penanganan garansi.

Diskusi Pemecahan Masalah Penerapan Sistem

Evaluasi Awal Evaluasi Dampak Evaluasi Akhir

Gambar 1.1
Kerangka Pemikiran
4

1.6. Metodologi Penelitian


Dalam rangka melengkapi data atau informasi yang berhubungan dengan
laporan penyusunan tugas akhir ini maka penulis memperoleh data dengan cara
sebagai berikut :

a. Studi Pendahuluan (awal)


Pada tahap awal ini dilakukan pengumpulan data-data dengan cara
sebagai berikut :
1) Studi Lapangan
Penulis Mengumpulkan data yang diperoleh dari hasil penelitian
langsung pada Ahli Gigi Tjoen Pao. Studi lapangan dilakukan dengan tiga
cara, yaitu :
a. Pengamatan (Observation)
Yaitu melihat dan mempelajari secara langsung alur proses pada
dokumen yang untuk mengumpulkan data yang dibutuhkan.
b. Wawancara (Interview)
Yaitu mengadakan wawancara dan tanya jawab secara langsung
pada bagian-bagian yang terkait dalam sistem Jasa Pembuatan dan
Perbaikan Gigi Palsu
c. Dokumentasi (Dokumentation)
Melakukan pengambilan data melalui buku-buku serta dokumen-
dokumen yang dibutuhkan.

2) Studi Kepustakaan
Yaitu penelitian yang dilakukan dengan mengumpulkan dan
mempelajari data dari berbagai pustaka yang berhubungan dengan
sistem informasi jasa pembuatan dan perbaikan. Mempelajari buku-buku
referensi sebagai bahan bacaan dari penanganan masalah terutama
dalam menentukan landasan teori dan pembuatan program.

b. Analisa Sistem
Kegiatan yang dilakukan pada tahap ini adalah :
1) Menganalisa sistem yang ada, yaitu mempelajari dan mengetahui apa
yang dikerjakan oleh sistem yang ada.
2) 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 :
a) Activity Diagram
Diagram yang menggambarkan aktivitas/kegiatan-kegiatan sistem
yang ada.
b) Use Case Diagram
Diagram yang menggambarkan kebutuhan sistem dari sudut
pandang user.

c. Desain dan Racangan Sistem Usulan


Desain sistem usulan adalah mendesain dan merancang sistem secara
rinci berdasarkan hasil analisa sistem yang ada, sehingga menghasilkan model
sistem baru yang diusulkan, dengan disertai rancangan database dan
spesifikasi program.
5

Alat-alat yang digunakan pada tahap mendesain dan merancang sistem


ini antara lain sama dengan tahap analisa sistem dan ditambahkan sebagai
berikut :
1) ERD (Entity Relationship Diagram)
Menunjukkan konsep-konsep, penggabungan antara konsep-konsep,
atribut-atribut dari konsep-konsep.
2) LRS ( Logical Record Structure )
LRS terdiri dari link-link di antara tipe record. Link ini menunjukkan arah
dari satu tipe record lainnya.
3) Normalisasi
Normalisasi dilakukan untuk kegiatan mengelompokkan atribut-atribut,
sehingga terbentuk struktur dengan baik.
4) Spesifikasi Basis Data
Spesifikasi Basis Data digunakan untuk memperjelas tipe data yang ada
pada model konseptual secara detail.
5) Rancangan Layar
Rancangan Layar menggambarkan rancangan masukan atau rancangan
input pada layar komputer dengan model dan fungsi yang tertata dengan
baik, sehingga mengurangi kesalahan pada saat memasukan data.
6) Sequence Diagram
Sequence Diagram menggambarkan berbagai aliran aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing aliran
berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir.
7) Class Diagram
Membantu dalam visualisasi struktur kelas-kelas dari suatu sistem dan
hubungan antar kelas (inheritance, aggregation, dan association) dan
penjelasan detail tiap kelas (method/function/behavior dan attribute/
property).

1.7. Sistematika Penulisan


Untuk mempermudah penulisan tugas akhir ini, maka penulisan dibagi menjadi
lima bab dimana tiap tiap bab terdiri dari sub bab antara lain:

BAB I PENDAHULUAN
Pada bab ini menjelaskan latar belakang penulisan laporan Tugas
Akhir, permasalahan yang diangkat, tujuan penulisan, batasan
masalah, kerangka pemikiran, metode penelitian dan sistematika
penulisan.

BAB II LANDASAN TEORI


Pada bab ini menjelaskan konsep dan teori-teori dasar yang
berkaitan dengan pembuatan sistem pada Tugas Akhir ini, mulai
dari teori bersifat umum, perancangan berorientasi obyek sampai
dengan teori pendukung lainnya.

BAB III ANALISA SISTEM


Bab ini membahas tentang, struktur organisasi, tugas dan
tanggung jawab, uraian prosedur, analisa proses, analisa
keluaran, analisa masukan, analisa masalah, fishbone diagram,
identifikasi kebutuhan, package diagram, use case diagram,
deskripsi use case.
6

BAB IV RANCANGAN SISTEM


Bab ini membahas tentang (Entity Relationship Diagram) ERD,
transformasi ER-diagram ke LRS, Logical Record Structure (LRS),
Normalisasi, spesifikasi basis data, estimasi simpanan kebutuhan
data, rancangan antar muka, rancangan dialog layar, sequence
diagram, rancangan class diagram.

BAB V PENUTUP
Pada bab ini berisi mengenai kesimpulan pada pembuatan Tugas
Akhir dan saran yang bermanfaat bagi perkembangan sistem
yang telah dibuat untuk masa yang akan datang pada Ahli Gigi
Tjoen Pao.
BAB II
LANDASAN TEORI

2.1. Konsep Dasar Sistem


2.1.1. Pengertian Sistem
Menurut Tata Sutabri (2012:11), Sistem adalah satu kumpulan atau
himpunan dari unsur, komponen, atau variabel yang terorganisir, saling
berinteraksi, saling ketergantungan satu sama lain dan terpadu.
Menurut Azhar Susanto (2013:22), Sistem adalah
kumpulan/group dari sub sistem/bagian/komponen apapun baik phisik
ataupun non phisik yang saling berhubungan satu sama lain dan
bekerja sama secara harmonis untuk mencapai satu tujuan
tertentu.
Menurut Sutarman (2009:5), Sistem adalah kumpulan elemen
yang saling berinteraksi dalam suatu kesatuan untuk menjalankan
suatu proses pencapaian suatu tujuan utama.
Berdasarkan teori di atas dapat ditarik kesimpulan bahwa sistem
adalah satu komponen-komponen yang saling berhubungan untuk
melakukan satu proses untuk mencapai tujuan tertentu.

2.1.2. Karakteristik Sistem


Tata Sutabri (2012:13) mengungkapkan :
Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu yang
mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem.
Adapun karakteristik yang dimaksud adalah sebagai berikut :
a. Komponen Sistem (Component)
Suatu sistem terdiri dari sejumlah komponen yang saling
berinteraksi, bekerja sama membentuk satu kesatuan. Komponen-
komponen sistem dapat berupa suatu subsistem atau bagian-bagian
dari sistem. Setiap subsistem mempunyai sifat-sifat dari sistem untuk
menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem
secara keseluruhan.
b. Batas Sistem (Boundary)
Ruang lingkup sistem merupakan daaerah yang membatasi antara
sistem dengan sistem lainnya atau sistem dengan lingkungan luarnya.
Batasan sistem ini memungkinkan suatu sistem dipandang sebagai
satu kesatuan yang tidak dapat dipisah-pisahkan.
c. Lingkungan luar Sistem (Environment)
Bentuk apapun yang ada di luar ruang lingkup atau batasan sistem
yang mempegaruhi operasi sistem tersebut disebut dengan
lingkungan luar sistem.
d. Penghubung Sistem (Interface)
Media yang menghubungkan sistem dengan subsistem yang lain
disebut dengan penghubung sistem atau interface.
e. Masukan Sistem (Input)
Merupakan energi yang dimasukkan ke dalam sistem. Masukan
dapat berupa masukan perawatan (Maintenance Input) dan masukan
sinyal (signal input). Sebagai contoh di dalam unit sistem komputer,
program adalah maintenanceinput yang digunakan untuk
mengoperasikan komputer. Sementara data adalah signal input yang
akan diolah menjadi informasi.

7
8

f. Keluaran Sistem (Output)


Hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran
yang berguna. Keluaran ini merupakan masukan bagi subsistem yang
lain. Seperti contoh sistem informasi, keluaran yang dihasilkan adalah
informasi, dimana informasi ini dapat digunakan sebagai masukan
untuk pengambilan keputusan atau hal-hal lain yang merupakan input
bagi subsistem lainnya.
g. Sasaran Sistem (Objective)
Suatu sistem dikatakan berhasil bila mengenai sasaran atau
tujuannya.
h. Pengolah Sistem (Process)
Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem
itu sendiri sebagai pengolahnya. Pengolah yang akan merubah
masukan menjadi keluaran. Suatu sistem produksi akan mengolah
masukan berupa bahan baku dan bahan-bahan yang lain menjadi
keluaran berupa barang jadi.

2.2. Pengertian Informasi


Informasi adalah sekumpulan fakta (data) yang diorganisasikan dengan
cara tertentu sehingga mereka mempunyai arti bagi si penerima. (Sutarman,
2009 : 14).

2.3. Konsep Dasar Sistem Informasi


2.3.1. Definisi Sistem Informasi
Menurut Mohamad Subhan (2012:17), Sistem informasi
merupakan kumpulan data yang diolah menjadi bentuk yang lebih
berguna dan lebih berarti bagi yang menerima. Tanpa suatu informasi,
suatu sistem tidak akan berjalan dengan lancar dan akhirnya bisa mati.
Dengan kata lain sumber dari informasi adalah data. Data
menggambarkan suatu kejadian yang sering terjadi, di mana data
tersebut akan diolah dan akan diterapkan dalam sistem menjadi input
yang berguna dalam suatu sistem. Data merupakan bentuk yang belum
dapat memberikan manfaat yang besar bagi penerimanya, sehingga
perlu suatu model yang nantinya akan dikelompokkan dan diproses
untuk menghasilkan informasi.

2.3.2. Komponen Dasar Sistem Informasi


Menurut Agus Mulyanto (2009:31), Sistem informasi terdiri dari
lima sumber daya yang dikenal sebagai komponen sistem informasi.
Kelima sumber daya tersebut adalah manusia, hardware, software, data,
dan jaringan. Kelima komponen tersebut memainkan peranan yang
sangat penting dalam suatu sistem informasi. Namun dalam
kenyataannya, tidak semua sistem informasi mencakup kelima komponen
tersebut.

2.4. Konsep Dasar Analisa Sistem


Menurut Mulyanto (2009:125), Analisa sistem adalah Teori sistem umum
yang sebagai sebuah landasan konseptual yang mempunyai tujuan untuk
memperbaiki berbagai fungsi didalam sistem yang sedang berjalan agar menjadi
lebih efisien, mengubah sasaran sistem yang sedang berjalan, merancang atau
mengganti output yang sedang digunakan, untuk mencapai tujuan yang sama
dengan seperangkat input yang lain (bisa jadi lebih sederhana dan lebih
interaktif) atau melakukan beberapa perbaikan serupa.
9

Menurut Mulyanto (2009:129), di dalam tahap analisa sistem terdapat


langkah-langkah dasar yang harus dilakukan oleh seorang analis sistem, di
antaranya adalah:
a. Identify, yaitu proses yang dilakukan untuk mengidentifikasi masalah.
b. Understand, yaitu memahami kerja dari sistem yang ada.
c. Analysis, yaitu melakukan analisa terhadap sistem.
d. Report, yaitu membuat laporan dari hasil analisis yang telah dilakukan dalam
kurun waktu tertentu.

2.5. Konsep Dasar Perancangan Sistem


Menurut Satzinger, Jackson, dan Burd (2012:5), perancangan sistem adalah
sekumpulan aktivitas yang menggambarkan secara rinci bagaimana sistem akan
berjalan. Hal itu bertujuan untuk menghasilkan produk perangkat lunak yang
sesuai dengan kebutuhan user.
Tujuan utama dalam perancangan sistem adalah:
a. Memenuhi kebutuhan pemakai sistem.
b. Memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada
programmer dan ahli-ahli teknik yang terlibat.
c. Untuk mengetahui cara kerja operasional dalam perbaikan sistem tersebut.
Sasaran yang harus dicapai meliputi :
1) Perancangan sistem harus berguna dan mudah dipahami dalam
penggunaannya.
2) Perancangan sistem harus dapat mendukung tujuan utama organisasi.
3) Perancangan sistem harus lebih efektif dan efisien dalam mendukung
pengolahan transaksi, pelaporan dan mendukung keputusan yang harus
dilakukan oleh komputer.

2.6. Konsep Dasar Berorientasi Obyek


Konsep dasar berorientasi obyek mencapai puncaknya pada saat masalah
analisis dan desain menjadi lebih diperhatikan daripada masalah coding. Secara
spesifik, pengertian berorientasi obyek menurut Sholiq (2010:1) pada buku
karangannya yaitu:
Berorientasi obyek atau object oriented merupakan paradigma baru dalam
rekayasa perangkat lunak. Paradigma ini memandang sistem sebagai kumpulan
obyek-obyek diskrit yang saling berinteraksi satu sama lain.
Metodologi adalah cara sistematis untuk mengerjakan pekerjaan analisis dan
desain. Metodologi berorientasi obyek adalah metode penyelesaian masalah
dengan menggunakan pendekatan berorientasi obyek. Metodologi
pengembangan sistem berorientasi obyek mempunyai beberapa karakteristik
utama, yaitu:
a. Encapsulation
Encapsulation (pengkapsulan) adalah penyatuan antara proses-proses
yang terjadi dan sejumlah data yang dikelola kedalam suatu bentuk kelompok
tertentu. Pengelompokkan tersebut adalah dengan dibentuknya suatu obyek
secara abstrak (abstraction).
b. Abstraction
Abstraction memiliki pengertian bahwa dalam mengembangkan perangkat
lunak seorang programmer akan menggunakan atau menciptakan sejumlah
obyek dimana obyek tersebut akan ada dan berperilaku pada sistem.
c. Inheritance
10

Inheritance (pewarisan) adalah merupakan konsep dimana suatu obyek


memiliki sejumlah perilaku yang dimiliki oleh obyek lain dalam suatu hirarki
tertentu.

d. Polymorphism
Polymorphism adalah konsep dimana beberapa obyek dapat memiliki
metode yang sama dengan aksi yang berbeda.

2.7. Tahapan-Tahapan Dalam Perancangan Berorientasi Obyek


Menurut Rosa A.S (2013:137) diagram Unified Modeling Language (UML)
adalah:
Kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan,
membangun, dan dokumentasi dari sistem perangkat lunak.
UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai
sebuah sistem dengan menggunakan diagram teks-teks pendukung. UML hanya
berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas ada
metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan
pada metodologi berorientasi obyek.
Dalam perancangan berorientasi obyek ini menggunakan diagram Unified
Modeling Language (UML). Inilah tahapan-tahapannya :
a. Activity Diagram
Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses.
Dipakai pada sistem pembuatan dan perbaikan untuk memperlihatkan urutan
aktivitas proses bisnis. Sebuah Activity Diagram mempunyai:
1) Start Point, (initial mode) atau titik awal
Sebuah activity diagram selalu dimulai dengan awal penelusuran dan
hanya boleh memakai 1 (satu) titik awal.

Gambar 2.1
Simbol Start Point

2) End Point (activity final mode) atau titik akhir


Sebuah activity diagram selalu diakhiri dengan simbol akhir
penelusuran dan boleh memakai lebih dari 1 (satu) simbol akhir
penelusuran.

Gambar 2.2
Simbol End Point
3) Activities
Menggambarkan proses bisnis, dan dikenal sebagai Activity State.

Gambar 2.3
11

Simbol Activities
Jenis-jenis activities:
a) Black Hole Activities
Ada masukkan dan tidak ada keluaran, biasanya digunakan jika
dikehendaki ada satu atau lebih transisi.

Gambar 2.4
Simbol Black Hole Activities

b) Miracle Activities
Tidak ada masukkan dan ada keluaran, biasanya dipakai pada
waktu start point dan dikehendaki ada 1 atau lebih transisi.

Gambar 2.5
Simbol Miracle Activities

c) Fork (Percabangan)
Digunakan untuk menunjukkan kegiatan yang dilakukan secara
paralel atau untuk menggabungkan dua kegiatan paralel menjadi
satu.

Gambar 2.6
Simbol Fork

d) Join (Penggabungan)
Join atau rake, menunjukkan adanya dekomposisi.

Gambar 2.7
Simbol Join

e) Decision Point
Tidak ada keterangan (pernyataan) pada tengah belah ketupat
seperti pada flowchart,dan harus mempunyai kunci (Guards). Dan
digunakan untuk menggambarkan kondisi untuk memecah aktivitas
12

yang bersifat kondisional misal ya atau tidak sesuai jalur sesuai yang
diinginkan.

Gambar 2.8
Simbol Decision Points

f) Merge
Berfungsi menggabungkan flow yang dipecah oleh desicion.

Activity 2 Activity 3

Activity 1

Gambar 2.9
Simbol Merge
g) Guards (kunci)
Sebuah kondisi benar sewaktu melewati sebuah transisi, harus
konsisten dan tidak overlap.

[ ]

Gambar 2.10
Simbol Guards

4) Swimlane
Swimlane pada activity diagram adalah sebuah cara
mengelompokkan activity berdasarkan actor. Biasanya swimlane
digambar secara vertical. Ketika sebuah activity diagram mempunyai
banyak swimlane, perlu dipikirkan dengan pendekatan lain dengan istilah
swimarea. Ketika swimarea mempunyai beberapa activity yang banyak,
maka perlu dipikirkan untuk di package. Swimarea mengelompokkan
activity berdasarkan bagian kegiatan di dalam use case.
Activity bertindak menurut obyek. Untuk menggambarkan activity
yang sebenarnya dapat diimplementasikan dengan action obyek dengan
menggunakan panah bergaris.

NewSwimlane

Gambar 2.11
Simbol Swimlane

b. Use Case Diagram


13

Use case diagram merupakan salah satu diagram yang menggambarkan


jalannya sebuah sistem. Diagram yang menggambarkan apa saja yang bisa
dilakukan oleh aktor dengan sistem. Use case adalah teknik untuk merekam
persyaratan fungsional sebuah sistem.
1) Actor
Menggambarkan seseorang yang menyediakan atau menerima
informasi dari sistem.

Gambar 2.12
Simbol Actor

2) Use Case
Deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case
biasanya menggunakan kata kerja dan dinotasikan dengan gambar. Use
case diberi nama yang menyatakan apa hal yang dicapai dari interaksi
dengan actor.

Gambar 2.13
Simbol Use Case

3) Relationship (Relasi) / Association (Asosiasi)


Asosiasi menggambarkan aliran data/informasi. Asosiasi relasi juga
digunakan untuk menggambarkan bagaimana actor terlibat dalam use
case. Relasi (relationship) digambarkan sebagai bentuk garis antara dua
simbol dalam use case diagram.
a) Asosiasi antara actor dan use case
Garis lurus pada association antara actor dan use case mengindikasi
siapa/apa yang meminta interaksi dan bukannya mengindikasi aliran
data. Sebaiknya gunakan garis tanpa panah untuk association dan use
case.

Gambar 2.14
Simbol Association antara Actor dan Use Case

b) Relasi / asosiasi antar actor dengan use case.


Ujung panah pada association antara actor dan use case
mengidikasikan siapa/apa yang meminta interaksi dan bukannya
mengindikasikan aliran data. Sebaiknya gunakan garis tanpa panah
untuk association antara actor dan use case. Jika menggunakan garis
dengan panah terbuka untuk mengindikasikan bila actor berinteraksi
secara pasif dengan sistem.
14

Gambar 2.15
Simbol Relasi Antara Actor dengan Use Case

c. Perancangan Berorientasi Obyek (Object Oriented Design)


1) Model Data Konseptual
Model Konseptual merupakan bagian yang paling penting yang harus
dibuat dalam proses analisis yang berorientasi obyek. Pengidentifikasian
konsep-konsep adalah bagian dari pemeriksaan atau penyelidikan masalah.
UML terdiri dari penulisan diagram-diagram struktur statis untuk
menggambarkan model-model konseptual. Model konseptual merupakan
sebuah gambaran mengenai konsep-konsep didalam ruang lingkup
masalah. Dalam UML, suatu model konseptual digambarkan dengan
diagram struktur statis yang mana didalamnya tidak terdapat penjelasan
mengenai operasi-operasi.
Model konseptual menunjukan konsep-konsep, penggabungan antara
konsep-konsep, atribut-atribut dari konsep-konsep bukan pada entitas-
entitas software.
a) Diagram Hubungan Entitas (Entity Relationship Diagram)
Diagram hubungan data digunakan untuk menggambarkan
hubungan antara data store yang ada, bukan menggambarkan proses
yang terjadi. Komponen-komponen yang digunakan di dalam diagram
hubungan data antara lain:
(1) Entitas (Entity)
Digambarkan dengan kotak segi empat dan digunakan untuk
menunjukan sekumpulan orang, tempat, obyek, atau konsep dan
sebagainya yang menunjukkan dimana data dapat disimpan atau
dicatat. Entity terbagi atas:
(a) Entitas Kuat (Strong Entity)
Entity yang memiliki atribut yang unik dapat dijadikan key
dimana satu atau banyak atributnya digunakan oleh entity
lainnya.

Gambar 2.16
Simbol Strong Entity

(b) Relasi (Relationship)


Relasi menunjukan adanya hubungan diantara sejumlah
entitas yang berbeda.
15

Gambar 2.17
Simbol Relasi
(2) Atribut (Attribute)
Menunjukan karakteristik (properti) dari tiap entitas atau sesuatu
yang menjelaskan entitas atau hubungan. Dari setiap atribut-atribut
entitas terdapat satu atribut yang dijadikan sebagai kunci (key).

Entitas

Attribute 1
Attribute 2
Attribute 3

Gambar 2.18
Simbol Atribut

Ada beberapa jenis key yaitu :


(a) Primary Key (Kunci Primer)
Yaitu sebuah atribut atau 1 set minimal atribut yang tidak
hanya mendefinisikan secara unik kejadian spesifik tetapi juga
dapat mewakili setiap kejadian dari suatu entitas.
(b) Foreign Key
Yaitu non key atribut pada sebuah relasi yang juga menjadi key
(Primary) atribut pada relasi yang lainnya. Foreign Key biasanya
digunakan sebagai penghubung antara record-record dari
kedua relasi tersebut.
(c) Secondary Key
Atribut yang digunakan untuk menggantikan primary key,
sehingga dapat menghilangkan kemungkinan primary key yang
tidak unik.
(d) Candidate Key
Atribut yang dapat dijadikan calon primary key.
(e) Alternate Key
Atribut yang tidak terpilih menjadi primary Key.
(f) Composite Key
Primary Key yang terbentuk dari beberapa atribut/field (minimal
dua field).

(3) Kardinalitas/Derajat Relasi (Cardinality)


Diagram-ER juga menunjukan tingkat hubungan yang terjadi,
dilihat dari segi kejadian atau banyak tidaknya hubungan antara
entitas tersebut. Ada 3 kemungkinan hubungan yang ada, yaitu :
(a) Satu ke satu (one to one atau 1:1)
Tingkat hubungan dinyatakan satu ke satu jika suatu kejadian
pada entitas pertama hanya mempunyai satu hubungan dengan
satu kejadian pada entitas kedua. Demikian juga sebaliknya,
satu kejadian pada entitas yang kedua hanya bisa mempunyai
satu hubungan dengan satu kejadian pada entitas yang
pertama.
16

Contoh:

1 1

Gambar 2.19
Relasi One to One

(b) Satu ke banyak (one to many atau 1 : M)


Tingkat hubungan satu ke banyak (1 : M) adalah sama dengan
banyak ke satu (M : 1), tergantung dari arah mana hubungan
tersebut bisa dilihat. Untuk satu kejadian pada entitas yang
pertama dapat mempunyai banyak hubungan dengan kejadian
pada entitas yang kedua. Sebaliknya satu kejadian pada entitas
yang kedua hanya bisa mempunyai satu hubungan dengan satu
kejadian pada entitas yang pertama.
Contoh :

1 M

Gambar 2.20
Relasi One to Many

(c) Banyak ke banyak ( many to many atau M : N )


Tingkat hubungan banyak ke banyak terjadi jika setiap kejadian
pada sebuah entitas akan mempunyai banyak hubungan
dengan kejadian pada entitas lainnya, baik dilihat dari sisi
entitas yang kedua.
Contoh:

M N

Gambar 2.21
Relasi Many to Many

b) Transformasi ERD ke Logical Record Structure


Sebuah model sistem yang digambarkan dengan sebuah ERD akan
mengikuti pola atau aturan pemodelan tertentu. Dalam kaitannya
dengan konversi ke LRS, maka perubahan yang terjadi adalah
mengikuti aturan-aturan berikut ini:
(1) Sebuah entitas akan diubah ke bentuk kotak.
17

(2) Sebuah atribut relasi disatukan dalam sebuah kotak bersama entitas
jika hubungan yang terjadi pada ERD 1 : M (relasi bersatu dengan
cardinality M) atau tingkat hubungan 1 : 1 (relasi bersatu dengan
cardinality yang paling membutuhkan referensi), sebuah relasi
dipisah dalam sebuah kotak tersendiri (menjadi entitas baru) jika
tingkat hubungan M : M atau M : N (many to many) dan memiliki
foreign key sebagai primary key yang diambil dari kedua entitas
yang sebelumnya saling berhubungan.

c) LRS (Logical Record Structure)


LRS (Logical Record Structure) dibentuk dengan nomor dan tipe
record. Beberapa tipe digambarkan oleh kotak empat persegi panjang
dan dengan nama yang unik. Beda LRS dan ER-Diagram nama dan tipe
record berada di luar kotak field tipe record ditempatkan.
LRS (Logical Record Structure) terdiri dari link-link diantara tipe
record. Link ini menunjukan arah dari satu tipe record lainnya. Banyak
link dari LRS yang diberi tanda field-field yang kelihatan pada kedua link
tipe record. Penggambaran LRS mulai dengan menggunakan model
yang dimengerti. Dua metode yang dapat digunakan, dimulai dengan
hubungan kedua model yang dapat dikonversikan ke LRS. Metode lain
yang dimulai dengan ERD dan langsung dikonversikan ke LRS.

d) Normalisasi
Suatu file yang terdiri dari beberapa grup elemen yang berulang-
ulang sehingga perlu diorganisasi kembali. Proses untuk
mengorganisasikan file dengan menghilangkan grup elemen yang
berulang atau sebuah kegiatan mengelompokkan atribut-atribut,
sehingga terbentuk relasi yang terstruktur dengan baik disebut dengan
normalisasi.
Normalisasi juga banyak dilakukan dalam mengubah bentuk
database dari suatu struktur pohon atau struktur jaringan menjadi
struktur hubungan. Konsep dan teknik normalisasi pertama kali
diperkenalkan oleh Prof. EF. Cood dalam bentuk sturktur data
hubungan dengan elemen data lainnya, baik dalam satu file atau dalam
file lainnya.
Tahapan-tahapan dalam Normalisasi
(1) Normalisasi bentuk pertama (First Normal Form/1NF)
Yaitu menghilangkan beberapa grup elemen yang berulang agar
pada setiap perpotongan baris dan kolom terdapat satu data value.
(2) Normalisasi bentuk kedua (Second Normal Form/2NF)
Yaitu menghilangkan beberapa bagian ketergantungan fungsional
atau dengan kata lain apabila sudah berada pada 1NF setiap atribut
yang bukan key tergantung pada primary key.
(3) Normalisasi bentuk ketiga (Third Normal Form/3NF)
Yaitu menghilangkan beberapa ketergantungan transitif (transitive
dependence) atau dengan kata lain apabila sudah berada pada 2NF
setiap atribut yang bukan key tidak tergantung pada atribut lain
kecuali terhadap primary key.

e) Spesifikasi Basis Data


Uraian rinci mengenai tiap-tiap relasi, berisi nama file, media yang
dipakai, isi/keterangan dari file, organisasi, primary key, panjang
18

record, jumlah record dan struktur file. Struktur file menjelaskan nama
file, jenis, lebar, desimal, dan ketergantungan dari masing-masing file.

f) Sequence Diagram
Sequence diagram adalah visual coding (rancangan layar) yang
mengilustrasikan interaksi obyek yang tersusun dalam urutan waktu
atau kejadian. Sequence diagram yaitu interaksi yang menunjukkan
bagaimana kelompok obyek saling berkolaborasi dalam beberapa
kejadian. Sequence diagram bisa dipakai untuk memodelkan:
(1) Deskripsi tentang sistem yang ada sebuah atau beberapa use case
pada use case diagram, yang menghubungkan antara actor dan use
case.
(2) Logika dari method (operation, function, dan procedure).
Komponen-komponen dalam sequence diagram di antaranya:
(a) Actor
Menggambarkan seseorang atau yang berinteraksi dengan
sistem. Digambarkan dengan:

Gambar 2.22
: URTU
Simbol Actor

(b) Boundary
Boundary menggambarkan sebuah penggambaran dari form
dan merupakan pembatas dengan dunia luar sistem.
Digambarkan dengan:

: FrmATK
Gambar 2.23
Simbol Boundary

(c) Control
Untuk mengontrol alur-alur yang dilakukan oleh sebuah sistem.

: CtrBagROTEKINFO
Gambar 2.24
Simbol Control

(d) Entity
Entitas yang mempunyai atribut yang memiliki data yang bisa
disimpan oleh sistem.
19

: atk
Gambar 2.25
Simbol Entity

(e) Activation
Menggambarkan eksekusi terhadap obyek (object lifeline).
Panjang kotak ini berbanding lurus dengan durasi aktivasi
sebuah operasi.

Gambar 2.26
Simbol Activation

(f) Object message


Menggambarkan komunikasi yang terjadi antar obyek.

Gambar 2.27
Simbol Object Message

(g) Message to self


Sebuah obyek yang mempunyai sebuah operation kepada
dirinya sendiri.

Gambar 2.28
Simbol Message to self

(h) Object lifeline


Garis titik-titik yang terhubung dengan obyek, menggambarkan
: FrmATK
komunikasi yang terjadi antar obyek.

Gambar 2.29
Simbol Object lifeline

(i) LOOP
Menggambarkan indikasi perulangan.
20

Loop

Gambar 2.30
Simbol LOOP

g) Class Diagram
Class
Menggambarkan keadaan (atribut atau properti) dari suatu objek. Class
memiliki tiga area pokok, yaitu : nama, atribut, method.
Name
Menggambarkan nama dari class atau objek.
Attribute
Menggambarkan batasan dari nilai yang dapat dimiliki oleh property
tersebut.
Method
Menggambarkan implementasi dari layanan yang dapat diminta dari
beberapa object dari class, yang mempengaruhi behavior.

Gambar 2.31
Simbol Class

(1) Assosiasi (Association)


Menggambarkan hubungan yang terjadi antar class. Digambarkan
dengan :
Sis wa
NewCl as s

Gambar 2.32
Simbol Association

(2) Dependency
Digunakan untuk menunjukan operasi pada suatu class yang
menggunakan class yang lain, lambang dependency dilambangkan
sebagai sebuah garis putus-putus.

Gambar 2.33
Simbol Composition

(3) Multiplicity
21

Multiplicity menunjukan berapa banyak objek yang berpartisipasi


dalam suatu relasi. Multiplicity menunjukan batasan tertinggi dan
terendah untuk obyek-obyek yang berpartisipasi.

NewClass NewClass 2
1 1..*

Gambar 2.34
Simbol Multiplicity
h) Package Diagram
Package Diagram (diagram paket) menjelaskan tentang:
(1) Menggambarkan mekanisme pengelompokkan yang digunakan
untuk menandakan dan memudahkan mengorganisasi
pengelompokkan elemen-elemen model.
(2) Sebuah package dapat mengandung beberapa paket/direktori-
direktori/folder-folder lain didalamnya.
(3) Package diagram dibuat untuk :
(a) Menggambarkan high level overview kebutuhan sistem.
(b) Menggambarkan high level overview design.
(c) Memecahkan sebuah diagram yang mempunyai banyak bubble.
(4) Package diagram digunakan untuk mengorganisasikan sebuah
diagram yang mempunyai bubble lebih dari 9 (sembilan) bubble,
agar lebih mudah dipahami.
Simbol Package Diagram :

Gambar 2.35
Simbol Package Diagram

i) Fishbone Diagram
Menurut Dwi Prabantini (2010), Fishbone Diagram atau diagram
tulang ikan juga disebut Diagram Ishikawa yang telah diperkenalkan
oleh seorang Profesor dari Jepang, yaitu Prof. Kaoru Ishikawa dari
Universitas Tokyo. Fishbone Diagram terdiri dari garis horizontal utama
di mana garis kecil bercabang garis diagonal utama. Hal ini membuat
tampilan grafik seperti tulang ikan. Tulang ikan merupakan penyebab
dan akibat dalam situasi di mana diperlukan untuk memecahkan
masalah produktif atau dilema lainnya. Diagram tulang ikan
memberikan prespektif gambaran yang lebih baik dan cepat dari pada
sebuah blok teks.
22

Physical Evidence People

Reason Reason

Cause Cause

Effect

Cause

Reason

Process

Gambar 2.36
Simbol Fishbone Diagram

Fishbone Diagram adalah alat untuk mengidentifikasi dan


mengorganisir penyebab yang mungkin timbul dari suatu masalah.
Fishbone Diagram biasanya dikenal juga dengan diagram sebab akibat
atau Cause and Effect Diagram.

Manfaat penggunaan fishbone diagram :


(1) Membantu menentukan akar penyebab.
(2) Memudahkan dalam mengilustrasikan gambaran singkat
permasalahan.
(3) Menentukan kesepakatan mengenai penyebab suatu masalah.
(4) Membangun dukungan anggota tim untuk menghasilkan solusi.
(5) Memudahkan visualisasi hubungan antara penyebab dengan
masalah.

(1) Effect
Notasi yang digunakan untuk menampilkan akibat dari satu
masalah.

Gambar 2.37
Simbol Effect

(2) Category Cause


Notasi yang digunakan untuk menampilkan sebab berdasarkan
kategori seperti machine, material, method dan people.

Gambar 2.38
Simbol Category Cause
23

(3) Line Cause


Notasi yang digunakan untuk menunjukkan sebab atau akar
penyebab masalah pada kategori cause.

Gambar 2.39
Simbol Line Cause

Faktor atau kategori 8P yang biasa digunakan dalam industri jasa antara
lain:
(1) Produk (product)
Menurut Alma (2011 : 98) pengertian produk adalah
Seperangkat atribut baik berwujud maupun tidak berwujud,
termasuk di dalamnya masalah warna, harga, nama baik toko
yang menjual pabrik serta pelayanan pengecer, yang diterima
oleh pembeli guna memuaskan keinginannya. Produk yang
ditawarkan perusahaan harus disertakan dengan pelayanan yang
diberikan perusahaan kepada konsumen atau perantara
pemasaran. Jadi produk itu bukan hanya berbentuk sesuatu
yang berwujud saja, seperti makanan, minuman dan sebagainya
akan tetapi juga sesuatu yang tidak berwujud seperti pelayanan
jasa.

(2) Harga (price)


Menurut Kotler, (2012 : 296) : Harga adalah satu-satunya
elemen dalam bauran pemasaran yang menghsilkan pendapatan
dan merupakan satu dari elemen bauran pemasaran yang paling
fleksibel, dimana ia dapat diubah dengan cepat.

(3) Tempat (place)


Lokasi bermakna sebagai satu tempat di mana jasa tersebut
disediakan.

(4) Promosi (promotion)


Menurut Kotler dan Armstrong (2012 : 79) : Promosi
artinya aktivitas yang mengkomunikasikan keunggulan produk
dan membujuk pelanggan sarana berikutnya.

(5) Orang (people)


Orang merupakan unsur penting, baik dalam produksi
maupun jasa orang-orang secara bertahap menjadi bagian
tambahan dan memperoleh keunggulan kompetitif. Dalam
penelitian ini orang yang dimaksud adalah para staf yang
melayani pelanggan dan staf lainnya.

(6) Proses (process)


Menyangkut dari cara kerja perusahaan dalam memberikan
pelayanan kepada pelanggan dalam penyediaan layanan.
Menurut Tjiptono (2000 : 146) proses adalah proses kerja yang
diawali dari konsumen masuk hingga keluar dari perusahaan.
Proses kerja ini menyangkut dari kecepatan dan ketepatan kerja.
24

Jika proses itu cepat dilakukan maka konsumen akan


terpuaskan.

(7) Bukti Fisik (Physical Evidence)


Ada beberapa alasan untuk memasukkan bukti fisik sebagai
unsur pemasaran jasa. Yaitu meliputi konsumen yang lebih
menuntut dan memerlukan tingkat jasa yang lebih tinggi,
semakin pentingnya bukti fisik, dan kebutuhan untuk
memberikan rasa aman kepada pelanggan.

(8) Produktivitas (Productivity)


Menurut Alma (2012 : 98) pengertian produk adalah
Seperangkat atribut baik berwujud maupun tidak berwujud,
termasuk didalamnya masalah warna, harga, nama baik yang
menjual pabrik serta pelayanan pengecer, yang diterima oleh
pembeli guna memuaskan keinginannya.

2.8. Teori Perangkat Lunak Pendukung


a. MySQL
Menurut M. Rudyanto Arief (2011:152) MySQL adalah salah satu jenis
database server yang sangat terkenal dan banyak digunakan untuk
membangun aplikasi web yang menggunakan database sebagai sumber dan
pengolahan datanya.

b. Visual Basic.NET 2008


Menurut Muhammad Sadeli (2009:2) menerangkang bahwa Microsoft
Visual Studio 2008 merupakan suatu perangkat lunak yang dapat digunakan
untuk pengembangan berbagai macam aplikasi yang memiliki berbagai
macam tipe antara lain aplikasi desktop (windows form, command line
(console)), aplikasi web,windows mobile (pocket PC).

c. Xampp
Menurut Riyanto (2010:1) XAMPP merupakan paket PHP dan MySQL
berbasis open source, yang dapat digunakan sebagai tool pembantu
pengembangan aplikasi berbasis PHP. XAMPP mengkombinasikan beberapa
paket perangkat lunak berbeda ke dalam satu paket.

2.9. Teori-Teori Pendukung Lainnya


a. Pengertian Jasa
Pengertian jasa menurut Kotler yang dikutip oleh Ratih Hurriyati
(2010:27) ialah setiap tindakan atau kinerja yang ditawarkan oleh satu pihak
ke pihak lain yang secara prinsip tidak berwujud dan tidak menyebabkan
perpindahan kepemilikan.

b. Pengertian Perbaikan
Pemeliharaan adalah suatu kombinasi dari berbagai tindakan yang
dilakukan untuk menjaga suatu barang dalam, atau memperbaikinya sampai
suatu kondisi yang bisa diterima. Untuk Pengertian Pemeliharaan lebih jelas
adalah tindakan merawat mesin atau peralatan pabrik dengan memperbaharui
umur masa pakai dan kegagalan/kerusakan mesin. (Setiawan F.D, 2008).
25

c. Pengertian Pembuatan
Pembuatan sama dengan halnya Produksi yaitu suatu kegiatan yang
dikerjakan untuk menambah nilai guna suatu benda atau menciptakan benda
baru sehingga lebih bermanfaat dalam memenuhi kebutuhan. Kegiatan
menambah daya guna suatu benda tanpa mengubah bentuknya dinamakan
produksi jasa. Sedangkan kegiatan menambah daya guna suatu benda
dengan mengubah sifat dan bentuknya dinamakan produksi barang.
BAB III
ANALISA SISTEM

Analisa merupakan suatu kegiatan yang bertujuan untuk mempelajari serta


mengevaluasi suatu bentuk permasalahan yang ada pada sebuah sistem. Dalam analisa
sistem akan ditemukan masalah yang mungkin akan mempengaruhi kerja sistem. Agar
sebuah sistem yang dirancang dapat berjalan sebagaimana mestinya, perlu dilakukan
analisis terhadap kinerja sistem yang pada akhirnya bertujuan untuk pengembangan
sistem.
Untuk merancang sebuah sistem yang baik dan sesuai dengan hasil yang
diharapkan, maka terlebih dahulu diperoleh data atau informasi tentang sistem berjalan
yang sangat penting sekali dalam proses perancangan sistem dan dari analisa sistem
tersebut dapat diketahui kekurangan-kekurangan sistem yang akan disempurnakan pada
sistem yang akan dirancang, karena dari hasil analisa sistem yang berjalan tersebut
dapat diketahui kebutuhan-kebutuhan informasi yang akan dibuat.

3.1. Tinjauan Organisasi


3.1.1. Sejarah Ahli Gigi Tjoen Pao
Ahli Gigi Tjoen Pao adalah salah satu jenis usaha pembuatan dan
perbaikan gigi palsu, yang dimaksud adalah menjual berbagai gigi palsu
termasuk proses pembuatan, pemasangan serta perbaikan. Ahli Gigi
Tjoen Pao ini sudah berdiri sejak tahun 1958 yang terletak di Jembatan
V, Jakarta Barat. Setelah perkembangan yang sangat pesat Ahli Gigi
Tjoen Pao cukup bertahan dan bersaing dengan ahli gigi sekitar. Sejak
awal terbentuk Ahli Gigi Tjoen Pao sudah di pegang oleh tekniker asal
Tiong Hoa yang memang memiliki keahlian di bidang pembuatan gigi
palsu, Nama Tjoen Pao berasal dari nama pemilik yang mendirikan ahli
gigi. Pada tahun 1980 Tjoen Pao yang merupakan pendiri ahli gigi
meninggal dunia, sejak itulah kepemilikan diturunkan kepada anaknya
yang mempunyai keahlian yang sama. Persaingan yang semakin ketat
tidak menggoyahkan semangat Tjang Sie Tjiu yang menjadi pemilik ahli
gigi setelah ibunya meninggal dunia, hingga waktu tiba Tjang Sie Tjiu
meninggal dunia, kegigihannya dan loyalitasnya dia sebagai pemilik ahli
gigi berakhir di tahun 2009, akhirnya ahli gigi tersebut tidak aktif
selama 3 tahun dikarenakan ada masalah harta warisan ahli gigi, pada
tahun 2012 terungkap harta warisan ahli gigi dipegang oleh anak
lelakinya yang bernama Tjang Tjen Tjing, Pada tahun 2012 Ahli Gigi
Tjoen Pao tersebut didirikan kembali oleh Tjang Tjen Tjing sebagai
kepemilikan ke tiga secara turun menurun, hingga saat ini Ahli Gigi
Tjoen Pao masih berjaya dan bersaing di wilayah Jakarta Barat.
Tujuan dari Ahli Gigi Tjoen Pao adalah mempertahankan kualitas
yang telah diturunkan sejak dulu. Dan tetap memberikan hasil
pembuatan gigi palsu terbaik sesuai kebutuhan pasien dan terus
bersaing untuk meneruskan bisnis Ahli Gigi Tjoen Pao.

3.1.2. Visi dan Misi Organisasi


a. Visi
Menjadi salah satu Ahli gigi sebagai jasa pembuatan dan
perbaikan gigi palsu yang paling diminati dan terdepan, yang
memiliki daya saing dalam pembuatan dan perbaikan gigi palsu
serta menjaga hubungan antara pasien baru maupun lama.

25
26

b. Misi
1. Memproduksi gigi palsu yang berkualitas.
2. Memberikan pelayanan, mutu, dan kepuasan yang terbaik
kepada pasien.
3. Membantu pasien yang membutuhkan gigi palsu untuk
kehidupan sehari-hari.
4. Berperan aktif mewujudkan kesehatan gigi.
5. Meningkatkan kualitas layanan secara berkelanjutan.

3.1.3. Struktur Organisasi


a. Struktur Organisasi Ahli Gigi Tjoen Pao
Struktur organisasi merupakan suatu komponen dasar dalam
suatu organisasi maupun badan usaha yang diatur sedemikian
rupa hingga mendukung upaya untuk mencapai tujuan organisasi
yang diinginkan. Struktur organisasi sangat penting bagi sebuah
organisasi untuk memudahkan kerangka atau pola tetap
berhubungan diantara fungsi, bagian, tugas, wewenang dan
tanggung jawab yang berbeda dalam suatu organisasi. Sehingga,
struktur organisasi dapat memudahkan koordinasi, komunikasi,
pengarahan dan pengendalian dalam semua aktivitas tenaga kerja
untuk mencapai tujuan organisasi. Struktur organisasi Ahli Gigi
Tjoen Pao yaitu sebagai berikut:

Pemilik

Staf Tekniker

Gambar 3.1
Struktur Organisasi

b. Tugas dan Tanggung Jawab Struktur Organisasi


Untuk lebih jelasnya mengenai tugas dan tanggung jawab
diuraikan sebagai berikut :
1) Pemilik Ahli
Mengatur, mengawasi, mengendalikan dan mengkordinasikan
kegiatan usaha yang dijalankan oleh ahli gigi tersebut.
2) Staf
Mampu mengakomodasi seluruh kegiatan bisnis yang
dijalankan secara efektif sehingga mendukung kinerja ahli gigi
khususnya kepada tekniker dan memberi pelayanan kepada
pasien, baik yang ingin melakukan perbaikan, pembuatan gigi
palsu maupun garansi serta memeriksa gigi pasien sebelum
melakukan pencetakan dan menentukan perbaikan atas
keluhan yang diajukan pasien.
3) Tekniker
Melakukan pencetakan hingga proses pembuatan gigi palsu
maupun perbaikan sesuai dengan prosedur dan aturan.
27

3.2. Uraian Prosedur


3.2.1. Proses Bisnis
Bertujuan untuk mengetahui langkah-langkah atau tahapan yang
terjadi di setiap proses yang ada. Proses bisnis yang terjadi di Ahli Gigi
Tjoen Pao, yaitu :
a. Proses Pencetakan Gigi Palsu Pasien
Pasien datang langsung ke Ahli Gigi Tjoen Pao untuk meminta
ingin dibuatkan gigi palsu kepada Staf. Staf melihat kondisi gigi
pasien, gusi pasien yang bermasalah tidak dapat melakukan
pembuatan gigi, jika tidak ada masalah pada gusi pasien maka dapat
dilakukannya pencetakan gigi oleh tekniker. Pencetakan gigi
dilakukan berfungsi sebagai replika untuk proses pembuatan gigi.
Setelah pencetakan selesai, tekniker memberikan hasil cetakan
kepada staf.

b. Proses Pembayaran Pembuatan Gigi Palsu


Pasien memberikan data yang dibutuhkan seperti: nama, alamat,
nomor telepon serta gigi palsu yang diinginkan atau digunakan,
kemudian staf mencatat data pasien serta gigi palsu yang diinginkan
atau digunakan ke dalam nota pembuatan gigi palsu yang nantinya
akan diserahkan kepada pasien untuk dibayarkan total rincian
biayanya. Pasien dapat membayar lunas atau DP ( Down Payment).
Staf memberikan nota pembuatan gigi palsu yang sudah dicap lunas
kepada pasien yang membayar lunas, sedangkan pasien yang
membayar DP (Down Payment), akan dibuatkan nota pembuatan
oleh staf dengan berisikan rincian total biaya yang didalamnya
disertakan DP (Down Payment) 50% dari harga total biaya dan
tertulis sisa bayar, sebelum staf memberikan nota pembuatan gigi
palsu kepada pasien yang berfungsi sebagai bukti pembayaran, staf
membuatkan perintah kerja yang akan diserahkan kepada tekniker
yang berisikan tentang data pasien dan data gigi palsu yang dibuat.
Lama pengerjaan pembuatan gigi palsu berlangsung maksimal
selama seminggu.

c. Proses Pemasangan Gigi Palsu


Saat pembuatan gigi palsu selesai, tekniker akan
menginformasikan kepada staf bahwa pembuatan gigi palsu sudah
selesai dibuat. kemudian staf akan memberi informasi kepada pasien
melalui telepon bahwa pembuatan gigi palsu telah selesai dan dapat
dipasang, jika pasien tidak dapat mengambil dihari itu, maka pasien
mengundurkan hari lain dengan perjanjian kepada staf. Apabila
pasien dapat mengambil di hari itu, maka pasien akan datang ke Ahli
Gigi Tjoen Pao dengan menunjukkan nota pembuatan gigi palsu
kepada staf untuk sebagai bukti pembayaran. Staf akan melihat data
pasien apakah sudah membayar lunas atau masih DP ( down
payment), jika pasien masih mempunyai sisa bayar, maka pasien
akan melunasi sisa pembayaran sebelum gigi palsu dipasang. Staf
akan menginformasikan kepada tekniker untuk pemasangan gigi
palsu pasien. Setelah pemasangan gigi palsu selesai, kemudian Staf
membuatkan kwitansi sebagai bukti garansi pembuatan gigi palsu
selama satu tahun dari tanggal pemasangan.

d. Proses Perbaikan Gigi Palsu


28

Pasien yang meminta perbaikan gigi palsu langsung datang ke


Ahli Gigi Tjoen Pao. Kemudian pasien memberi tahu keluhan yang
terjadi pada gigi palsunya, Staf melihat kondisi gigi palsu dan
menentukan jenis perbaikan. Staf akan menginformasikan jenis
perbaikan apa yang harus dilakukan oleh tekniker. Tekniker akan
memperbaiki kerusakan atau keluhan yang terjadi. Setelah
perbaikan selesai, tekniker mengkonfirmasi kepada staf bahwa
perbaikan yang telah selesai dilakukan. Staf meminta data pasien
seperti: nama, alamat, nomor telepon untuk dituliskan data pasien
yang dibutuhkan kedalam nota perbaikan disertai rincian biaya
perbaikan. Pasien membayar secara lunas yang nantinya nota
perbaikan tersebut diserahkan kepada pasien.

e. Proses Penanganan Garansi Pembuatan


Pasien datang ke Ahli Gigi Tjoen Pao untuk melakukan
penanganan garansi dengan memberikan kwitansi kepada Staf,
kemudian staf memeriksa masa aktif garansi. Garansi yang masih
aktif akan dibuatkan staf dokumen penanganan garansi yang akan
diserahkan kepada tekniker untuk menangani garansi, jika garansi
sudah tidak aktif maka akan dikenakan biaya. Lama penanganan
garansi berlangsung maksimal selama 1 - 2 Minggu.

f. Proses Pembuatan Laporan


1) Laporan Pendapatan
Staf membuat laporan pendapatan berdasarkan kwitansi dan
nota perbaikan yang nantinya akan diserahkan kepada pemilik.

2) Laporan Perintah Kerja


Staf membuat laporan perintah kerja berdasarkan
pembuatan gigi palsu yang telah selesai, yang nantinya akan
diserahkan kepada pemilik.

3.2.2. Aturan Bisnis


Bertujuan untuk mengetahui tatacara dan pelaksanaan suatu
kegiatan pembuatan gigi palsu dan perbaikan jasa yang terjadi di Ahli
Gigi Tjoen Pao, yaitu :
a. Kwitansi sebagai bukti garansi pembuatan gigi palsu selama 1
tahun dari tanggal pemasangan atau tanggal kwitansi
b. Pasien wajib melunasi sisa bayar sebelum gigi palsu dipasang
c. Gigi palsu yang sudah selesai dibuat dan tidak diambil lebih dari 3
bulan dari tanggal selesai pembuatan bukan menjadi tanggung
jawab Ahli Gigi Tjoen Pao
d. Tidak ada sistem booking untuk melakukan perbaikan maupun
pembuatan gigi palsu
e. Masa garansi yang sudah tidak aktif akan dikenakan biaya normal
f. Perbaikan gigi palsu harus dibayar lunas
g. DP (Down Payment) pembuatan gigi palsu 50% dari total harga
h. Saat proses penanganan garansi, pasien wajib menunjukan bukti
garansi untuk mengetahui masa aktif garansi, jika tidak akan
dikenakan biaya normal
i. Pembuatan gigi palsu maksimal satu minggu
29

3.3. Analisa Proses


Analisa proses berisikan gambar activity diagram dari proses-proses kegiatan
jasa pembuatan dan perbaikan gigi palsu, dalam membuat gambar activity
diagram dilakukan berdasarkan penggunaan masukan dan keluaran yang dipakai
pada sistem berjalan.

a. Activity Diagram Proses Pencetakan Gigi

Pasien Staf Tekniker

Meminta pembuatan
Menerima permintaan
gigi palsu

Melihat kondisi gusi


pasien

[ Tidak Bermasalah ] Melakukan pencetakan


gigi pasien
[ Bermasalah ]

Tidak dapat membuat


gigi palsu

Memberikan hasil cetakan gigi


Menerima hasil cetakan
pasien yang telah selesai

Gambar 3.2
Activity Diagram Proses Pencetakan Gigi
30

b. Activity Diagram Proses Pembayaran Pembuatan Gigi Palsu

Pasien Staf Tekniker

Memberikan data pasien serta gigi palsu Menerima data pasien serta gigi
yang diinginkan palsu yang diinginkan

Mencatat ke dalam
Membuat perintah kerja
nota pembuatan

Memberitahu total biaya Memberikan perintah


Membayar total biaya Menerima perintah kerja
yang harus dibayar kerja

[ DP ] [ Lunas ]

Membayar 50% dari


Membayar secara tunai
total biaya

Memberikan nota Memberikan nota


pembuatan DP 50% pembuatan cap lunas

Menerima nota pembuatan

Gambar 3.3
Activity Diagram Proses Pembayaran Pembuatan Gigi Palsu
31

c. Activity Diagram Proses Pemasangan Gigi Palsu

Tekniker Staf Pasien

Menginformasikan gigi
Menerima informasi
palsu sudah jadi

Memberikan informasi lewat telepon Menerima informasi

Memberikan konfirmasi
pengambilan

[ Tidak Dapat ] [ Dapat ]

Datang ke Toko Gigi


Pengambilan di lain hari
Tjoen Pao

Menunjukan nota
pembuatan gigi palsu

[ Down Payment ] [ Lunas ]

Menerima sisa pembayaran Membayar sisa pembayaran

Memberikan konfirmasi
Menerima konfirmasi
pemasangan gigi palsu

Memasang gigi palsu pasien

Konfirmasi selesai
Menerima konfirmasi
pemasangan

Membuatkan kwitansi

Memberikan kwitansi Menerima kwitansi

Gambar 3.4
Activity Diagram Proses Pemasangan Gigi Palsu
32

d. Activity Diagram Proses Perbaikan Gigi Palsu

Pasien Staf Tekniker

Menginformasikan keluhan untuk


Menerima informasi
melakukan perbaikan

Menentukan jenis perbaikan

Menginformasikan jenis Memperbaiki kerusakan atau


perbaikan keluhan

Mengkonfirmasi perbaikan yang


Menerima konfirmasi
telah selesai

Memberikan informasi data yang Menanyakan data pasien yang


dibutuhkan dibutuhkan

Mencatat ke dalam nota perbaikan

Membuat rincian total biaya


perbaikan

Menginformasikan total biaya


Membayar total biaya perbaikan
perbaikan

Membayar secara lunas Memberikan nota perbaikan

Menerima nota perbaikan

Gambar 3.5
Activity Diagram Proses Perbaikan Gigi Palsu
33

e. Activity Diagram Proses Garansi Pembuatan Gigi Palsu

Pasien Staf Tekniker

Serahkan kwitansi Terima kwitansi

Mengecek tanggal masa


garansi

[ TIdak Aktif ] [ Aktif ]

Tidak dikenakan
Dikenakan biaya
biaya

buat dokumen
penanganan garansi

serahkan dokumen terima dokumen


penanganan garansi penanganan garansi

Gambar 3.6
Activity Diagram Proses Garansi Pembuatan Gigi Palsu
34

f. Activity Diagram Proses Pembuatan Laporan


1) Laporan Pendapatan

Staf Pemilik

Lihat kwitansi
Dan nota perbaikan

Membuat laporan pendapatan

Menyerahkan laporan Menerima laporan

Gambar 3.7
Activity Diagram Proses Pembuatan Laporan Pendapatan

2) Laporan Perintah Kerja

Tekniker Staf Pemilik

Memberikan gigi palsu yang


Membuat laporan perintah kerja
telah selesai dibuat

Menyerahkan laporan Menerima laporan

Gambar 3.8
Activity Diagram Proses Pembuatan Laporan Perintah Kerja
35

3.4. Analisa Keluaran


Analisa keluaran merupakan analisa mengenai keluaran-keluaran yang
dihasilkan melalui proses-proses yang ada dalam sistem berjalan. Bentuk-bentuk
keluaran yang dihasilkan dari sistem yang berjalan dapat dirinci sebagai berikut:

a. Nama Keluaran : Nota Pembuatan


Fungsi : Digunakan sebagai bukti pembayaran dan
pemesanan pembuatan gigi palsu
Media : Kertas
Distribusi : Pasien, Staf
Rangkap : Dua
Frekuensi : Setiap terjadi transaksi pembuatan gigi palsu
Volume : Lima per hari
Format : Lampiran A - 1, halaman 111
Keterangan : Berisi rincian total biaya pembuatan gigi palsu dan
infomasi pembayaran yang telah lunas maupun DP
(Down Payment)
Hasil Analisa :
Tidak adanya nomor nota pembuatan
Tidak adanya catatan info tambahan dari staf, hanya berupa suara

b. Nama Keluaran : Nota Perbaikan


Fungsi : Digunakan sebagai bukti pembayaran biaya jasa
perbaikan gigi palsu
Media : Kertas
Distribusi : Pasien, Staf
Rangkap : Dua
Frekuensi : Setiap terjadi transaksi jasa perbaikan
Volume : Tujuh per hari
Format : Lampiran A - 2, halaman 112
Keterangan : Berisi rincian total biaya perbaikan gigi palsu dan
informasi pembayaran yang telah lunas
Hasil Analisa :
Tidak adanya nomor nota perbaikan
Tidak tertera keluhan dari pasien

c. Nama Keluaran : Perintah Kerja


Fungsi : Digunakan sebagai perintah kerja untuk tekniker
dalam pembuatan gigi palsu
Media : Kertas
Distribusi : Tekniker
Rangkap : Satu
Frekuensi : Setiap terjadinya pembuatan gigi palsu
Volume : Lima per hari
Format : Lampiran A - 3, halaman 113
Keterangan : Sebagai informasi tekniker dalam membuat pesanan
gigi palsu pasien
Hasil Analisa :
Tidak adanya informasi tekniker yang dituju
Tulisan yang tidak terstruktur
Tidak ada nomor perintah kerja
36

d. Nama Keluaran : Kwitansi


Fungsi : Digunakan untuk bukti saat proses penanganan
garansi pembuatan selama 1 tahun
Media : Kertas
Distribusi : Pasien
Rangkap : Satu
Frekuensi : Setiap terjadi transaksi pemasangan gigi palsu yang
telah jadi dibuat
Volume : Lima per hari
Format : Lampiran A - 4, halaman 110
Keterangan : Berisi informasi pembayaran telah lunas dari
pembuatan gigi palsu
Hasil Analisa :
Tidak adanya nomor kwitansi
Catatan info tambahan dari staf hanya berupa suara

e. Nama Keluaran : Penanganan Garansi


Fungsi : Digunakan sebagai data penanganan garansi untuk
tekniker dalam menangani garansi
Media : Kertas
Distribusi : Tekniker
Rangkap : Satu
Frekuensi : Setiap terjadinya penanganan garansi
Volume : Satu per tiga bulan
Format : Lampiran A - 5, halaman 111
Keterangan : Sebagai informasi keluhan pasien saat penanganan
garansi dan tindakan untuk tekniker
Hasil Analisa :
Tidak adanya informasi tekniker yang dituju
Tidak ada nomor penanganan garansi

f. Nama Keluaran : Laporan pendapatan


Fungsi : Untuk mencocokan jumlah pendapatan yang
diterima dengan yang dilaporan
Media : Kertas
Distribusi : Pemilik
Rangkap : Satu
Frekuensi : Setiap terjadinya pembuatan laporan dalam periode
tertentu
Volume : Satu per bulan
Format : Lampiran A - 6, halaman 112
Keterangan : Sebagai informasi kepada pemilik tentang
pendapatan dari hasil pembuatan dan perbaikan gigi
palsu
Hasil Analisa :
Masih menggunakan tulis tangan yang menyebabkan sering terjadinya
salah dalam penulisan maupun perhitungan
Tidak ada tanggal dibuatnya laporan
Pendapatan perbaikan dengan pendapatan pembuatan gigi palsu
masih tergabung satu laporan
37

g. Nama Keluaran : Laporan perintah kerja


Fungsi : Untuk mengetahui data gigi dan lama pembuatan
gigi palsu oleh tekniker
Media : Kertas
Distribusi : Tekniker
Rangkap : Satu
Frekuensi : Setiap terjadinya pembuatan laporan dalam periode
tertentu
Volume : Satu per bulan
Format : Lampiran A - 7, halaman 113
Keterangan : Sebagai informasi untuk mencocokan data antara
pendapatan pembuatan dengan perintah kerja
Hasil Analisa :
Masih menggunakan tulis tangan yang menyebabkan sering terjadinya
salah dalam penulisan
Tidak ada tanggal dibuatnya laporan

3.5. Analisa Masukan


Maksud dari analisa masukan adalah mengetahui dokumen-dokumen apa saja
yang digunakan sebagai masukan dalam pengolahan data pada sistem jasa
pembuatan dan perbaikan gigi palsu yang sedang berjalan.

a. Nama Masukan : Data Pasien


Sumber : Pasien
Fungsi : Digunakan untuk mengetahui data pasien
Media : Suara
Rangkap : -
Frekuensi : Setiap pasien yang membuat gigi palsu atau
perbaikan
Volume : Sepuluh per hari
Format : Lampiran B - 1, halaman 115
Keterangan : Sebagai informasi data bagi staf dalam proses
pembuatan dan perbaikan gigi palsu
Hasil Analisa :
Cukup baik, tetapi tidak ada penyimpanan data pasien

b. Nama Masukan : Pesanan Pembuatan


Sumber : Pasien
Fungsi : Sebagai data masukan untuk memesan gigi palsu
yang ingin dibuat
Media : Suara
Rangkap : -
Frekuensi : Setiap pasien yang melakukan pembuatan gigi palsu
Volume : Lima per hari
Format : Lampiran B - 2, halaman 116
Keterangan : Berisi data pasien yang ingin melakukan pembuatan
gigi palsu
38

Hasil Analisa :
Cukup baik, karena pesanan gigi palsu dari pasien sudah jelas dan
dapat dimengerti staf

c. Nama Masukan : Keluhan Perbaikan


Sumber : Pasien
Fungsi : Sebagai data masukan untuk gigi palsu yang ingin
diperbaiki
Media : Suara
Rangkap : -
Frekuensi : Setiap pasien yang melakukan perbaikan gigi palsu
Volume : Tujuh per hari
Format : Lampiran B - 3, halaman 117
Keterangan : Berisi data pasien yang ingin melakukan perbaikan
Hasil Analisa :
Cukup baik, karena keluhan perbaikan pasien yang sudah jelas

d. Nama Masukan : Keluhan Penanganan Garansi Pasien


Sumber : Pasien
Fungsi : Sebagai data masukan untuk penanganan garansi
Media : Suara
Rangkap : -
Frekuensi : Setiap pasien yang melakukan penanganan garansi
Volume : Satu per tiga bulan
Format : Lampiran B - 4, halaman 118
Keterangan : Berisi data keluhan pasien yang ingin melakukan
garansi
Hasil Analisa :
Cukup baik, tetapi tidak ada penyimpanan history keluhan pasien
yang melakukan garansi
39

3.6. Analisa Masalah


Analisa masalah yang dihadapi sistem berjalan dengan menggunakan
Fishbone Diagram adalah sebagai berikut :

People
Physical Evidence
sering terjadi kesalahan hitung
pada laporan pendapatan
laporan pendapatan pembuatan dan
perbaikan masih menjadi satu laporan
staf kurang teliti
pemilik sulit mengetahui permasalahan
yang sering diajukan pasien bentuk fisik kadang kala rusak
saat penanganan garansi
terjadi kesalahan dalam pembuatan gigi palsu
tidak adanya laporan penanganan garansi
penulisan perintah kerja kadang kala tidak jelas
dan tidak terstruktur Pasien kecewa
terhadap pelayanan
terjadi kerugian pada proses penanganan garansi
kwitansi hilang oleh pasien
staf tidak mengetahui masa aktif garansi
tidak mempunyai back up kwitansi
dikenakan biaya normal
masih menjadi satu arsip dengan nota perbaikan
lamanya pencocokan nota pembuatan

hilang oleh pasien


tidak dibawa pasien

Process

Gambar 3.9
Fishbone Diagram

Table 3.1 : Deskripsi Hubungan Sebab Akibat Per Kategori


Kategori Sebab Akibat
Physical Pada proses penanganan garansi pemilik sulit
Evidence mengetahui permasalahan yang sering diajukan
pasien saat penanganan garansi dikarenakan
tidak adanya laporan penanganan garansi.
People Terjadi kesalahan dalam pembuatan gigi palsu
oleh tekniker, sebab penulisan perintah kerja Pasien
oleh staf kadang kala dirasa tidak jelas dan kecewa
tidak terstruktur dan bentuk fisik kadang kala terhadap
rusak. pelayanan
Pada proses menghitung laporan pendapatan
sering terjadi kesalahan hitung pada laporan
pendapatan dikarenakan laporan pendapatan
pembuatan dan perbaikan masih dalam satu
laporan sehingga staf kurang teliti.
40

Process Terjadi kerugian pada proses penanganan


garansi karena dikenakan biaya normal yang
disebabkan kwitansi hilang oleh pasien
sehingga staf tidak mengetahui masa aktif
garansi dan tidak mempunyai back up kwitansi.
Lama dalam pencocokan nota pembuatan
sebagai bukti pembayaran dan pesanan
pembuatan gigi palsu saat proses pemasangan
gigi palsu, sebab hilang atau tidak dibawa oleh
pasien, serta nota pembuatan dengan nota
perbaikan masih menjadi satu arsip yang
membuat lama dalam pencocokan.

3.7. Identifikasi Kebutuhan


Setelah melakukan analisa proses bisnis serta mengidentifikasi masalah
yang terjadi, selanjutnya adalah proses identifikasi kebutuhan. Berikut adalah
hasil analisa identifikasi kebutuhan yang diharapkan dapat menyelesaikan
masalah yang ditemukan tersebut :

a. Kebutuhan : Pencatatan Data Pasien


Masalah : Tidak adanya pencatatan yang tersimpan khusus untuk
data pasien.
Usulan : Menyediakan form entry data pasien untuk
mempercepat pengolahan data dan data pasien
tersimpan rapi dalam bentuk softcopy di database

b. Kebutuhan : Pencatatan Data Gigi


Masalah : Kurangnya pencatatan yang lengkap mengenai data gigi
Usulan : Menyediakan form entry data gigi untuk menambah
keakuratan saat proses perhitungan harga gigi

c. Kebutuhan : Pencatatan Data Jasa


Masalah : Tidak adanya pencatatan nama dan harga jasa
Usulan : Menyediakan entry data jasa untuk memudahkan dalam
pengidentifikasikan harga dan perubahan harga jasa.

d. Kebutuhan : Pencatatan Data Plat


Masalah : Tidak adanya pencatatan jenis dan harga plat
Usulan : Menyediakan entry data plat untuk memudahkan dalam
pengidentifikasikan harga dan perubahan harga plat

e. Kebutuhan : Pencatatan Data Tekniker


Masalah : Tidak adanya pencatatan data tekniker
Usulan : Menyediakan entry data tekniker tentang pendataan
tekniker yang ada untuk memudahkan dalam
pengidentifikasian dan melakukan evaluasi kerja

f. Kebutuhan : Pencetakan Nota Pembuatan


Masalah : Tidak dibawa atau hilang oleh pasien dan seringnya lupa
saat ada info tambahan dari staf dikarenakan hanya
berupa suara
41

Usulan : Disediakan form cetak nota pembuatan gigi palsu yang


dapat mempermudah proses transaksi dan bukti yang
telah tersimpan ke dalam database

g. Kebutuhan : Pencetakan Nota Perbaikan


Masalah : Masih menjadi satu arsip dengan nota pembuatan yang
memakan waktu saat terjadinya pencocokan data di nota
Usulan : Disediakan form cetak nota perbaikan gigi palsu yang
dapat mempermudah proses transaksi tersimpan ke
dalam database

h. Kebutuhan : Pencetakan Kwitansi


Masalah : Tidak adanya catatan yang tertulis info garansi untuk
pasien hanya secara lisan serta sering terjadi kehilangan
kwitansi saat pengajuan penanganan garansi
Usulan : Disediakan form cetak kwitansi untuk bukti pasien dalam
mengajukan penanganan garansi karena data kwitansi
sudah terbackup ke dalam data base

i. Kebutuhan : Pencetakan Perintah Kerja


Masalah : Tulisan kurang jelas terbaca karena masih menggunakan
tulisan tangan dan tulisan yang tidak terstruktur serta
tidak ada back up
Usulan : Disediakan form cetak surat perintah kerja untuk
mempermudah tekniker dalam pengerjaan pembuatan
gigi palsu

j. Kebutuhan : Pencetakan Penanganan Garansi


Masalah : Pasien kecewa dikenakan biaya karena kwitansi sebagai
bukti penanganan garansi yang hilang
Usulan : Disediakan form cetak penanganan garansi untuk
mengetahui masa aktif garansi yang dimiliki pasien serta
menyimpan history keluhan pasien saat melakukan
penanganan garansi

k. Kebutuhan : Pencetakan Laporan Perintah Kerja Per Tekniker


Masalah : Bentuk laporan perintah kerja yang masih belum
terperinci dengan jelas dan tidak terinci berdasarkan
nama tekniker
Usulan : Disediakan suatu sistem untuk mencetak laporan perintah
kerja per tekniker untuk dapat menginformasikan
tekniker siapa yang melakukan pembuatan gigi palsu dan
mengetahui berapa lama pengerjaannya

l. Kebutuhan : Pencetakan Laporan Pendapatan Pembuatan


Masalah : Laporan pendapatan masih digabung satu dengan
pendapatan perbaikan yang tidak dapat dilihat secara
rinci oleh pemilik
Usulan : Disediakan suatu sistem untuk mencetak laporan
pendapatan pembuatan dan perbaikan secara terpisah
untuk mengetahui informasi lebih rinci
42

m. Kebutuhan : Pencetakan Laporan Pendapatan Perbaikan


Masalah : Laporan pendapatan masih digabung satu dengan
pendapatan pembautan yang tidak dapat dilihat secara
rinci oleh pemilik
Usulan : Disediakan suatu sistem untuk mencetak laporan
pendapatan pembuatan dan perbaikan secara terpisah
untuk mengetahui informasi lebih rinci

n. Kebutuhan : Pencetakan Laporan Penanganan Garansi Pembuatan


Masalah : Tidak adanya informasi mengenai penanganan garansi
pembuatan gigi palsu yang dilakukan setiap pasien dan
tekniker yang dituju
Usulan : Disediakan suatu sistem untuk memudahkan dalam
proses pembuatan laporan penanganan garansi
pembuatan gigi palsu

o. Kebutuhan : Pencetakan Laporan Rekap Jenis Gigi Palsu Paling


Diminati
Masalah : Belum tersedianya informasi rekap secara komputerisasi
untuk melihat jenis gigi palsu yang paling diminati pasien
Usulan : Disediakan sistem yang dapat mencetak laporan secara
otomatis berdasarkan periode yang ditentukan

p. Kebutuhan : Pencetakan Laporan Status Penanganan Garansi


Pembuatan
Masalah : Belum tersedianya informasi mengenai penanganan
garansi pembuatan berdasarkan status penanganannya
Usulan : Disediakan sistem yang dapat mencetak laporan secara
otomatis untuk mengetahui status penanganannya
berdasarkan periode yang ditentukan

3.8. Package Diagram

FILE MASTER FILE TRANSAKSI FILE LAPORAN

Gambar 3.10
Package Diagram
43

3.9. Use Case Diagram


a. Use Case Diagram Master

Entry Data Pasien

Entry Data Tekniker

Pasien
Entry Data Gigi

Entry Data Plat

Staf

Entry Data Jasa

Tekniker

Gambar 3.11
Use Case Diagram Master

b. Use Case Diagram Transaksi

Cetak Nota Pembuatan

Cetak Nota Perbaikan

Pasien
Cetak Kwitansi

Cetak Perintah Kerja

Staf

Cetak Penanganan Garansi

Tekniker

Gambar 3.12
Use Case Diagram Transaksi
44

c. Use Case Diagram Laporan

Cetak Laporan Perintah Kerja


Per Tekniker

Cetak Laporan
Pendapatan Pembuatan

Cetak Laporan
Pendapatan Perbaikan

Cetak Laporan
Penanganan Garansi Pembuatan

Cetak Laporan Rekap


Staf Jenis Gigi Palsu Paling Diminati Pemilik

Cetak Laporan Status


Penanganan Garansi Pembuatan

Gambar 3.13
Use Case Diagram Laporan

3.10. Deskripsi Use Case


Menjelaskan setiap Use Case yang digunakan dalam sistem yang diusulkan.
a. Use Case Diagram File Master
1) Use Case : Entry Data Pasien
Actor : Staf
Deskripsi :
Staf membuka form entry data pasien.
Kode pasien terisi secara otomatis oleh sistem dan setiap
pasien yang datang untuk membuat gigi palsu maupun
perbaikan akan mendapat kode pasien yang berbeda-beda.
Staf memasukan data pasien dan menyimpannya dengan
mengklik tombol simpan, semua proses entry data pasien
secara otomatis akan tersimpan didalam database.
Jika staf ingin mengubah data pasien, maka terlebih dahulu
staf mengklik tombol cari pasien setelah itu akan muncul
popup pasien, lalu staf memilih salah satu dari data pasien
yang ingin diubah dan mengklik tombol ubah.
Jika staf ingin menghapus data pasien, maka terlebih dahulu
mengklik tombol cari pasien setelah itu akan muncul popup
pasien, lalu staf memilih salah satu dari data pasien yang
ingin dihapus dan mengklik tombol hapus.
Staf mengklik tombol batal untuk membersihkan form entry
data pasien.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
45

pada form entry data pasien.

2) Use Case : Entry Data Tekniker


Actor : Staf
Deskripsi :
Staf membuka form entry data tekniker.
Kode tekniker terisi secara otomatis oleh sistem dan setiap
tekniker memiliki kode tekniker yang berbeda-beda.
Staf memasukan data tekniker dan menyimpannya dengan
mengklik tombol simpan, semua proses entry data pasien
secara otomatis akan tersimpan didalam database.
Jika staf ingin mengubah data tekniker, maka terlebih dahulu
staf mengklik tombol cari tekniker setelah itu akan muncul
popup tekniker, lalu staf memilih salah satu dari data
tekniker yang ingin diubah dan mengklik tombol ubah.
Jika staf ingin menghapus data tekniker, maka terlebih
dahulu mengklik tombol cari tekniker setelah itu akan muncul
popup tekniker, lalu staf memilih salah satu dari data
tekniker yang ingin dihapus dan mengklik tombol hapus.
Staf mengklik tombol batal untuk membersihkan form entry
data tekniker.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
pada form entry data tekniker.

3) Use Case : Entry Data Gigi


Actor : Staf
Deskripsi :
Staf membuka form entry data gigi.
Kode gigi terisi secara otomatis oleh sistem dan setiap gigi
memiliki kode gigi yang berbeda-beda.
Staf memasukan data gigi dan menyimpannya dengan
mengklik tombol simpan, semua proses entry data gigi
secara otomatis akan tersimpan didalam database.
Jika staf ingin mengubah data gigi, maka terlebih dahulu staf
mengklik tombol cari gigi setelah itu akan muncul popup gigi,
lalu staf memilih salah satu dari data gigi yang ingin diubah
dan mengklik tombol ubah.
Jika staf ingin menghapus data gigi, maka terlebih dahulu
mengklik tombol cari gigi setelah itu akan muncul popup gigi,
lalu staf memilih salah satu dari data gigi yang ingin dihapus
dan mengklik tombol hapus.
Staf mengklik tombol batal untuk membersihkan form entry
data gigi.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
pada form entry data gigi.

4) Use Case : Entry Data Plat


Actor : Staf
Deskripsi :
Staf membuka form entry data plat.
Kode plat terisi secara otomatis oleh sistem dan setiap plat
memiliki kode plat yang berbeda-beda.
46

Staf memasukan data plat dan menyimpannya dengan


mengklik tombol simpan, semua proses entry data plat
secara otomatis akan tersimpan didalam database.
Jika staf ingin mengubah data plat, maka terlebih dahulu staf
mengklik tombol cari plat setelah itu akan muncul popup plat,
lalu staf memilih salah satu dari data plat yang ingin diubah
dan mengklik tombol ubah.
Jika staf ingin menghapus data plat, maka terlebih dahulu
mengklik tombol cari plat setelah itu akan muncul popup plat,
lalu staf memilih salah satu dari data plat yang ingin dihapus
dan mengklik tombol hapus.
Staf mengklik tombol batal untuk membersihkan form entry
data plat.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
pada form entry data plat.

5) Use Case : Entry Data Jasa


Actor : Staf
Deskripsi :
Staf membuka form entry data jasa.
Kode jasa terisi secara otomatis oleh sistem dan setiap jasa
memiliki kode jasa yang berbeda-beda.
Staf memasukan data jasa dan menyimpannya dengan
mengklik tombol simpan, semua proses entry data jasa
secara otomatis akan tersimpan didalam database.
Jika staf ingin mengubah data jasa, maka terlebih dahulu staf
mengklik tombol cari jasa setelah itu akan muncul popup
jasa, lalu staf memilih salah satu dari data jasa yang ingin
diubah dan mengklik tombol ubah.
Jika staf ingin menghapus data jasa, maka terlebih dahulu
mengklik tombol cari jasa setelah itu akan muncul popup
jasa, lalu staf memilih salah satu dari data jasa yang ingin
dihapus dan mengklik tombol hapus.
Staf mengklik tombol batal untuk membersihkan form entry
data jasa.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
pada form entry data jasa.

b. Use Case Diagram File Transaksi


1) Use Case : Cetak Nota Pembuatan
Actor : Staf
Deskripsi :
Staf membuka form cetak nota pembuatan.
Nomor nota pembuatan akan tampil autonumber, tampil
tanggal nota pembuatan sesuai sistem.
Staf memilih data pasien yang ingin melakukan pembuatan
gigi palsu dengan mengklik tombol cari pasien, setelah itu
akan muncul popup pasien, lalu staf memilih salah satu dari
data pasien yang ingin dipilh dan akan tampil pada form
cetak nota pembuatan.
Staf memilih data jasa dengan mengklik combobox nama jasa
untuk menampilkan data jasa.
Staf memilih data plat dengan mengklik combobox nama plat
47

untuk menampilkan data plat.


Staf memilih data gigi dengan mengklik tombol cari gigi
setelah itu akan muncul popup gigi, lalu staf memilih salah
satu dari data gigi yang ingin dipilh dan akan tampil pada
form cetak nota pembuatan.
Staf mengklik tombol tambah gigi untuk menambah gigi yang
didinginkan pasien dan data gigi tampil kedalam listview.
Lalu sistem akan menghitung dan menampilkan total
berdasarkan keseluruhan jumlah harga nota pembuatan.
Staf memilih jenis pembayaran sesuai yang diinginkan pasien
dan sistem akan menghitung sisa bayar sesuai jenis
pembayaran yang dipilih staf.
Staf mengklik tombol cetak untuk menyimpan dan mencetak
nota pembuatan.
Staf mengklik tombol batal untuk membersihkan form cetak
nota pembuatan.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
pada form cetak nota pembuatan.

2) Use Case : Cetak Nota Perbaikan


Actor : Staf dan Pasien
Deskripsi :
Staf membuka form cetak nota perbaikan.
Nomor nota perbaikan akan tampil autonumber, tampil
tanggal nota perbaikan sesuai sistem.
Staf memilih data pasien yang ingin melakukan perbaikan
dengan mengklik tombol cari pasien, setelah itu akan muncul
popup pasien, lalu staf memilih salah satu dari data pasien
yang ingin dipilih dan akan tampil pada form cetak nota
perbaikan.
Staf mengisi data keluhan perbaikan sesuai yang dikeluhkan
pasien.
Staf memilih data jasa dengan mengklik tombol cari jasa,
setelah itu akan muncul popup jasa, lalu staf memilih salah
satu dari data jasa yang ingin dipilih dan akan tampil pada
form cetak nota perbaikan.
Staf mengisi qty sesuai dibutuhkan dan keterangan yang
ingin ditambahkan.
Staf mengklik tombol tambah jasa untuk menampilkan data
jasa kedalam listview.
Lalu sistem akan menghitung dan menampilkan total
berdasarkan keseluruhan jumlah harga nota perbaikan.
Staf dapat memasukan lama waktu pengerjaan perbaikan gigi
palsu dan dienter untuk menentukan waktu selesai perbaikan.
Staf mengklik tombol cetak untuk menyimpan dan mencetak
nota perbaikan.
Staf dapat mengubah status pengerjaan perbaikan gigi palsu
dengan menklik tombol update
Staf mengklik tombol batal untuk membersihkan form cetak
nota perbaikan.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
pada form cetak nota perbaikan.
3) Use Case : Cetak Perintah Kerja
48

Actor : Staf dan Tekniker


Deskripsi :
Staf membuka form cetak perintah kerja.
Nomor perintah kerja akan tampil autonumber, tampil
tanggal perintah kerja sesuai sistem.
Untuk menampilkan data nota pembuatan, staf memasukan
nomor NPB maka akan tampil data nota pembuatan di form
cetak perintah kerja.
Staf memilih tanggal selesai pengerjaan.
Staf memilih data tekniker pada combobox nama tekniker,
maka data tekniker yang dipilih akan tampil pada from cetak
perintah kerja.
Staf mengklik tombol cetak untuk menyimpan dan mencetak
perintah kerja.
Staf dapat mencetak ulang dengan memasukan nomor NPB
dan mengklik tombol cetak
Staf dapat mengubah tanggal selesai pengerjaan dengan
mengklik tombol update
Staf mengklik tombol batal untuk membersihkan form cetak
perintah kerja.
Staf mengklik tombol keluar (x) yang ada dipojok kanan atas
pada form cetak perintah kerja.

4) Use Case : Cetak Kwitansi


Actor : Staf dan Pasien
Deskripsi :
Staf membuka form cetak kwitansi.
Nomor kwitansi akan tampil autonumber, tampil tanggal
kwitansi sesuai sistem.
Untuk menampilkan data nota pembuatan, staf mengklik
tombol cari NPB, setelah itu akan muncul popup NPB, lalu
staf memilih salah satu dari data NPB yang ingin dipilih dan
akan tampil pada form cetak kwitansi.
Staf akan menceklis pada pelunasan jika pasien masih
mempunyai sisa bayar.
Staf mengklik tombol cetak untuk menyimpan dan mencetak
kwitansi.
Staf mengklik tombol batal untuk membersihkan form cetak
kwitansi.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
kwitansi.

5) Use Case : Cetak Penanganan Garansi


Actor : Staf dan Tekniker
Deskripsi :
Staf membuka form cetak penanganan garansi.
Nomor penanganan garansi akan tampil autonumber, tampil
tanggal penanganan garansi sesuai sistem.
Untuk menampilkan data kwitansi, staf mengklik tombol cari
kwitansi, setelah itu akan muncul popup kwitansi, lalu staf
memilih salah satu dari data kwitansi yang ingin dipilih dan
akan tampil pada form cetak penanganan garansi.
Staf memilih data tekniker pada combobox nama tekniker,
49

maka data tekniker yang dipilih akan tampil pada from cetak
penanganan garansi.
Staf memilih tanggal selesai penanganan garansi.
Staf mengisi data keluhan dan tindakan.
Staf mengklik tombol cetak untuk menyimpan dan mencetak
penanganan garansi.
Staf dapat mengubah tanggal selesai penanganan garansi
dengan mengklik tombol update
Staf mengklik tombol batal untuk membersihkan form cetak
penanganan garansi.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
penanganan garansi.

c. Use Case Diagram File Laporan


1) Use Case : Cetak Laporan Perintah Kerja Per Tekniker
Actor : Staf dan Pemilik
Deskripsi :
Staf membuka form cetak laporan perintah kerja pembuatan
per tekniker, kemudian staf harus memilih tanggal periode
awal dan periode akhir.
Staf memilih data tekniker pada combobox nama tekniker,
maka data tekniker yang dipilih akan tampil.
Staf mencetak laporan dengan mengklik tombol cetak.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
laporan perintah kerja per tekniker.

2) Use Case : Cetak Laporan Pendapatan Pembuatan


Actor : Staf dan Pemilik
Deskripsi :
Staf membuka form cetak laporan pendapatan, kemudian staf
harus memilih tanggal periode awal dan periode akhir.
Staf mencetak laporan dengan mengklik tombol cetak.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
laporan pendapatan.

3) Use Case : Cetak Laporan Pendapatan Perbaikan


Actor : Staf dan Pemilik
Deskripsi :
Staf membuka form cetak laporan pendapatan, kemudian staf
harus memilih tanggal periode awal dan periode akhir.
Staf mencetak laporan dengan mengklik tombol cetak.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
laporan pendapatan.

4) Use Case : Cetak Laporan Penanganan Garansi Pembuatan


Actor : Staf dan Pemilik
Deskripsi :
Staf membuka form cetak laporan penanganan garansi
pembuatan, kemudian staf harus memilih tanggal periode
awal dan periode akhir.
Staf mencetak laporan dengan mengklik tombol cetak.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
50

laporan penanganan garansi pembuatan.

5) Use Case : Cetak Laporan Rekap Jenis Gigi Palsu Paling


Diminati
Actor : Staf dan Pemilik
Deskripsi :
Staf membuka form cetak laporan rekap pembuatan gigi
palsu terlaris, kemudian staf harus memilih tanggal periode
awal dan periode akhir.
Staf mencetak laporan dengan mengklik tombol cetak.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
laporan rekap pembuatan gigi palsu terlaris.

6) Use Case : Cetak Laporan Status Penanganan Garansi


Pembuatan
Actor : Staf dan Pemilik
Deskripsi :
Staf membuka form cetak laporan status penanganan garansi
pembuatan, kemudian staf harus memilih tanggal periode
awal dan periode akhir.
Staf mencetak laporan dengan mengklik tombol cetak.
Staf mengklik tombol keluar (x) untuk keluar dari form cetak
laporan status penanganan garansi pembuatan.
BAB IV
RANCANGAN SISTEM

4.1. Rancangan Basis Data


Setelah memahami sistem yang termasuk solusi pemecahannya, tahap
selanjutnya adalah mendesain sistem baru yang diharapkan dapat berjalan dengan
lebih baik dan dapat mengatasi masalah yang ada serta sedapat mungkin
mengatasi kemungkinan dimasa yang akan datang.
Rancangan basis data yang dibuat dengan menggunakan Diagram ER (Entity
Relationship) berdasarkan analisa, transformasi diagram ER menjadi bentuk LRS
(Logical Record Structured), gambaran LRS kemudian dinormalkan pada tahap
normalisasi data sehingga menghasilkan spesifikasi basis data yang baik dan
memiliki sedikit kemungkinan munculnya duplikasi data.

4.1.1. Entity Relationship Diagram (ERD)


Entity Relationship Diagram (ERD) atau Diagram-ER adalah suatu
model teknik pendekatan yang menyatakan atau menggambarkan
hubungan suatu model. Di dalam hubungan tersebut dinyatakan utama
dari penggambaran hubungan (relationship) yang ada pada entity
berikutnya.
Berikut ini akan dijelaskan langkah-langkah yang dilakukan dalam
rancangan basis data:
a. Tentukan entity-entity yang diperlukan.
b. Tentukan relationship antar entity.
c. Tentukan isi cardinality dan primary key dari tiap entitas.
d. Tentukan atribut yang diperlukan dari tiap entity.
e. Pemetaan atribut, memasang atribut dengan satu entitas yang sesuai.
f. Gambar Entity Relationship Diagram dengan atribut.
g. Periksa hasil, hindari penamaan entity, relationship dan atribut yang
sama.
Cara pembacaan dalam hubungan antar entitas :
a. (1 : 1) one to one :
1) Hubungan entitas NPB dengan entitas PK
a) 1 nomor NPB mencetak 1 nomor PK
b) 1 nomor PK dicetak berdasarkan 1 nomor NPB
2) Hubungan entitas NPB dengan entitas Kwitansi
a) 1 nomor NPB membuat 1 nomor Kwitansi
b) 1 nomor Kwitansi dibuat berdasarkan 1 nomor NPB
b. (1 : M) one to many atau (M : 1) many to one :
1) Hubungan entitas Pasien dengan entitas NPB
a) 1 kode Pasien memesan 1 atau lebih nomor NPB
b) 1 nomor NPB dipesan berdasarkan 1 kode Pasien
2) Hubungan entitas NPB dengan entitas Plat
a) 1 nomor NPB mempunyai 1 kode Plat
b) 1 kode Plat dipunyai 1 atau banyak nomor NPB
3) Hubungan entitas NPB dengan entitas Jasa
a) 1 nomor NPB hanya memilih 1 kode Jasa
b) 1 kode Jasa dipilih 1 atau banyak nomor NPB
4) Hubungan entitas Pasien dengan entitas NPR
a) 1 kode Pasien melakukan 1 atau banyak nomor NPR
b) 1 nomor NPR dilakukan hanya berdasarkan 1 kode Pasien
5) Hubungan entitas PK dengan entitas Tekniker
a) 1 nomor PK hanya diterima 1 kode Tekniker

51
52

b) 1 kode Tekniker menerima 1 atau banyak nomor PK


6) Hubungan entitas Kwitansi dengan entitas PG
a) 1 nomor Kwitansi menghasilkan 1 atau banyak nomor PG
b) 1 nomor PG dihasilkan hanya berdasarkan 1 nomor Kwitansi
7) Hubungan entitas PG dengan entitas Tekniker
a) 1 kode Tekniker menerima 1 atau banyak nomor PG
b) 1 nomor PG diterima hanya berdasarkan 1 kode Tekniker
c. (M : N) many to many
1) Hubungan entitas NPR dengan entitas Jasa
a) 1 nomor NPR mempunyai 1 atau banyak kode Jasa
b) 1 kode Jasa ada dibanyak nomor NPR
2) Hubungan entitas NPB dengan entitas Gigi
a) 1 nomor NPB mempunyai 1 atau banyak kode Gigi
b) 1 kode Gigi ada dibanyak nomor NPB

Berikut ini adalah ERD yang didapat berdasarkan hasil analisa yang mana dapat
dilihat pada gambar dibawah ini :

NPR detil_perbaikan Jasa PK terima1 Tekniker


M M M 1
M *no_npr *kd_js 1 *kd_js 1 *no_pk *no_pk 1 *kd_tkr
tgl_npr *no_npr nm_js tgl_pk *kd_tkr nm_tkr
keluhan biaya_jsnpr hrg_js tglselesai_pk notlp_tkr
wkt_selesai qty alamat_tkr
status ket
pilih cetak
lakukan *kd_js
*no_npr *no_npb *no_pk
*kd_pasien *no_npb

1 M 1

Pasien pesan NPB detil_pembuatan Gigi


1 M M N

*kd_psn *kd_psn 1 M *kd_gigi


*no_npb *kd_gigi
nm_psn *no_npb *no_npb
tgl_npb nm_gigi
notlp_psn dp biaya_gigi jns_gigi
alamat_psn status bgn_gigi
biaya_plat wrn_gigi
biaya_jsnpb ukr_gigi
hrg_gigi

buat punya
*kd_plat
*no_kwt *no_npb
*no_npb
1
*kd_plat
nm_plat
Plat
hrg_plat

1 M M
Kwitansi hasil PG terima2

*no_kwt *no_kwt *no_pg *no_grs


tgl_kwt *no_grs tgl_pg *kd_tkr
tglselesai_pg
keluhan
tindakan
status

Gambar 4.1
Entity Relationship Diagram

Keterangan :
NPB : Nota Pembuatan PK : Perintah Kerja
NPR : Nota Perbaikan PG : Penanganan Garansi
53

4.1.2. Transformasi ERD ke Logical Record Structure


Transformasi ERD ke Logical Record Structure (LRS) merupakan
kegiatan membentuk data dari diagram ERD ke dalam LRS, dalam
melakukan transformasi dari ERD diubah kebentuk LRS, hal yang harus
diperhatikan karena mempengaruhi tingkat hubungan (cardinality) apakah
1:1, 1:M atau M:N.setelah transformasi selanjutnya adalah pembentukan
LRS.
1. Cardinality 1 : 1
a. Hubungan entitas NPB dengan entitas PK, maka penggabungan
kearah PK
b. Hubungan entitas NPB dengan entitas Kwitansi, maka
penggabungan kearah Kwitansi
2 Cardinality 1 : M atau M : 1
a. Hubungan entitas Pasien dengan entitas NPB karena 1:M, maka
penggabungan kearah NPB sehingga entitas Pasien berdiri sendiri
b. Hubungan entitas NPB dengan entitas Plat karena M:1, maka
penggabungan kearah NPB sehingga entitas Plat berdiri sendiri
c. Hubungan entitas NPB dengan entitas Jasa karena M:1, maka
penggabungan kearah NPB sehingga entitas Jasa berdiri sendiri
d. Hubungan entitas Pasien dengan entitas NPR karena 1:M, maka
penggabungan kearah NPR sehingga entitas Pasien berdiri sendiri
e. Hubungan entitas PK dengan entitas Tekniker karena M:1, maka
penggabungan kearah PK sehingga entitas Tekniker berdiri sendiri
f. Hubungan entitas Kwitansi dengan entitas PG karena 1:M, maka
penggabungan kearah PG sehingga entitas Kwitansi berdiri sendiri
g. Hubungan entitas PG dengan entitas Tekniker karena M:1, maka
penggabungan kearah PG sehingga entitas Tekniker berdiri sendiri
3. Cardinality M : N atau M : M
a. Hubungan entitas NPR dengan entitas Jasa yaitu M:N, maka entitas
NPR dan entitas Jasa berdiri sendiri dan menghasilkan entitas
detil_perbaikan
b. Hubungan entitas NPB dengan entitas Gigi yaitu M:N, maka entitas
NPB dan entitas Gigi berdiri sendiri dan menghasilakan entitas
detil_pembuatan
54

NPR detil_perbaikan Jasa PK terima1 Tekniker


M M M 1
M *no_npr *kd_js 1 *kd_js 1 *no_pk 1 *kd_tkr
*no_pk
tgl_npr *no_npr nm_js *kd_tkr nm_tkr
hrg_js
tgl_pk
keluhan biaya_jsnpr notlp_tkr
tglselesai_pk
wkt_selesai qty alamat_tkr
status ket
pilih cetak
lakukan *kd_js
*no_pk
*no_npr *no_npb
*no_npb
*kd_pasien

1 M 1

Pasien pesan NPB detil_pembuatan Gigi


1 M M N

*kd_psn *kd_psn 1 M *kd_gigi


*no_npb *kd_gigi
nm_psn *no_npb *no_npb
tgl_npb nm_gigi
notlp_psn dp biaya_gigi jns_gigi
alamat_psn status bgn_gigi
biaya_plat wrn_gigi
biaya_jsnpb ukr_gigi
hrg_gigi

buat punya
*kd_plat
*no_kwt *no_npb
*no_npb
1
*kd_plat
nm_plat
Plat
hrg_plat

1
1 M M
Kwitansi hasil PG terima2

*no_kwt *no_kwt *no_pg *no_grs


tgl_kwt *no_grs tgl_pg *kd_tkr
tglselesai_pg
keluhan
tindakan
status

Gambar 4.2
Transformasi ERD ke LRS
55

4.1.3. Logical Record Structure (LRS)


Setelah di transformasikan ERD ke LRS, maka bentuk Logical Record
Structure (LRS) yang sudah terbentuk seperti pada gambar di bawah ini :

NPR
PK
*no_npr detil_perbaikan Tekniker
Jasa *no_pk
tgl_npr
*kd_js tgl_pk *kd_tkr
kd_psn kd_tkr
no_npr *no_npr kd_js *kd_js tglselesai_pk nm_tkr
keluhan
biaya_jsnpr nm_js no_npb notlp_tkr
wkt_selesai
qty hrg_js kd_tkr alamat_tkr
status
ket
kd_psn

Pasien NPB

*kd_psn *no_npb kd_js


nm_psn tgl_npb no_npb Gigi
notlp_psn kd_psn dp
alamat_psn status detil_pembuatan *kd_gigi
biaya_jsnpb nm_gigi
no_npb *kd_gigi kd_gigi jns_gigi
biaya_plat
Kwitansi kd_psn *no_npb bgn_gigi
no_npb biaya_gigi wrn_gigi
kd_js
*no_kwt ukr_gigi
kd_plat
tgl_kwt hrg_gigi
no_npb
PG

*no_pg
tgl_pg Plat
no_kwt
tglselesai_pg
kd_plat *kd_plat
keluhan
tindakan nm_plat
status hrg_plat
no_kwt kd_tkr
kd_tkr

Gambar 4.3
Logical Record Structure
56

4.1.4. 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 pada halaman berikut ini :

a. Tabel Pasien

nm_psn

kd_psn notlp_psn

alamat_psn

Gambar 4.4
Diagram Ketergantungan Atribut Tabel Pasien

1) Tabel Pasien sudah normal pada 1NF, karena sudah tidak ada
atribut yang berulang (repeating group).
2) Tabel Pasien sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
kd_psn dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel Pasien sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu kd_psn (transitive dependency).

b. Tabel Tekniker

nm_tkr

kd_tkr notlp_tkr

alamat_tkr

Gambar 4.5
Diagram Ketergantungan Atribut Tabel Tekniker

1) Tabel Tekniker sudah berada pada 1NF, karena sudah tidak ada
atribut yang berulang (repeating group).
2) Tabel Tekniker sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
kd_tekniker dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel Tekniker sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu kd_tekniker (transitive
dependency).
57

c. Tabel Gigi

nm_gigi

jns_gigi

bgn_gigi
kd_gigi
wrn_gigi

ukr_gigi

hrg_gigi

Gambar 4.6
Diagram Ketergantungan Atribut Tabel Gigi

1) Tabel Gigi sudah berada pada 1NF, karena sudah tidak ada atribut
yang berulang (repeating group).
2) Tabel Gigi sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
kd_gigi dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel Gigi sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu kd_gigi (transitive dependency).

d. Tabel Plat

nm_plat
kd_plat
hrg_plat

Gambar 4.7
Diagram Ketergantungan Atribut Tabel Plat

1) Tabel Plat sudah berada pada 1NF, karena sudah tidak ada atribut
yang berulang (repeating group).
2) Tabel Plat sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
kd_plat dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel Plat sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu kd_plat (transitive dependency).
58

e. Tabel Jasa

nm_js
kd_js
hrg_js

Gambar 4.8
Diagram Ketergantungan Atribut Tabel Jasa

1) Tabel Jasa sudah berada pada 1NF, karena sudah tidak ada
atribut yang berulang (repeating group).
2) Tabel Jasa sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
kd_js dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel Jasa sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu kd_js (transitive dependency).

f. Tabel NPB

tgl_npb

dp

status

biaya_jsnpb
no_npb
biaya_plat

kd_psn

kd_plat

kd_js

Gambar 4.9
Diagram Ketergantungan Atribut Tabel NPB

1) Tabel NPB sudah berada pada 1NF, karena sudah tidak ada atribut
yang berulang (repeating group).
2) Tabel NPB sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
59

no_npb dan tidak ada yang ketergantungan sebagian (partial


dependency).
3) Tabel NPB sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu no_npb (transitive dependency).
g. Tabel NPR

tgl_npr

kd_psn

no_npr keluhan

wkt_selesai

status

Gambar 4.10
Diagram Ketergantungan Atribut Tabel NPR

1) Tabel NPR sudah berada pada 1NF, karena sudah tidak ada atribut
yang berulang (repeating group).
2) Tabel NPR sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
no_npr dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel NPR sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu no_npr (transitive dependency).

h. Tabel PK

tgl_pk

tglselesai_pk
no_pk
no_npb

kd_tkr

Gambar 4.11
Diagram Ketergantungan Atribut Tabel PK

1) Tabel PK sudah berada pada 1NF, karena sudah tidak ada atribut
yang berulang (repeating group).
60

2) Tabel PK sudah normal bentuk kedua (2NF), karena semua atribut


non-key bergantung sepenuhnya kepada primary key yaitu no_pk
dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel PK sudah normal bentuk ketiga (3NF), karena semua atribut
non-key tidak bergantung pada atribut non-key lainnya tetapi
terhadap primary key yaitu no_pk (transitive dependency).

i. Tabel Kwitansi

tgl_kwt
no_kwt
no_npb

Gambar 4.12
Diagram Ketergantungan Atribut Tabel Kwitansi

1) Tabel Kwitansi sudah berada pada 1NF, karena sudah tidak ada
atribut yang berulang (repeating group).
2) Tabel Kwitansi sudah normal bentuk kedua (2NF), karena semua
atribut non-key bergantung sepenuhnya kepada primary key yaitu
no_kwt dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel Kwitansi sudah normal bentuk ketiga (3NF), karena semua
atribut non-key tidak bergantung pada atribut non-key lainnya
tetapi terhadap primary key yaitu no_kwt (transitive dependency).

j. Tabel PG

tgl_pg

tglselesai_pg

keluhan

no_pg tindakan

status

no_kwt

kd_tkr

Gambar 4.13
Diagram Ketergantungan Atribut Tabel PG
61

1) Tabel PG sudah berada pada 1NF, karena sudah tidak ada atribut
yang berulang (repeating group).
2) Tabel PG sudah normal bentuk kedua (2NF), karena semua atribut
non-key bergantung sepenuhnya kepada primary key yaitu no_pg
dan tidak ada yang ketergantungan sebagian (partial
dependency).
3) Tabel PG sudah normal bentuk ketiga (3NF), karena semua atribut
non-key tidak bergantung pada atribut non-key lainnya tetapi
terhadap primary key yaitu no_pg (transitive dependency).

k. Tabel detil_perbaikan

biaya_jsnpr
kd_js
qty
no_npr
ket

Gambar 4.14
Diagram Ketergantungan Atribut Tabel detil_perbaikan

1) Tabel detil_ perbaikan sudah berada pada 1NF, karena sudah


tidak ada atribut yang berulang (repeating group).
2) Tabel detil_ perbaikan sudah normal bentuk kedua (2NF), karena
semua atribut non-key bergantung sepenuhnya kepada primary
key yaitu kd_js dan no_npr, serta tidak ada yang ketergantungan
sebagian (partial dependency).
3) Tabel detil_ perbaikan sudah normal bentuk ketiga (3NF), karena
semua atribut non-key tidak bergantung pada atribut non-key
lainnya tetapi terhadap primary key yaitu kd_js dan no_npr
(transitive dependency).

l. Tabel detil_pembuatan

kd_gigi
biaya_gigi
no_npb

Gambar 4.15
Diagram Ketergantungan Atribut Tabel detil_pembuatan

4) Tabel detil_pembuatan sudah berada pada 1NF, karena sudah


tidak ada atribut yang berulang (repeating group).
5) Tabel detil_pembuatan sudah normal bentuk kedua (2NF), karena
semua atribut non-key bergantung sepenuhnya kepada primary
62

key yaitu kd_gigi dan no_npb, serta tidak ada yang


ketergantungan sebagian (partial dependency).
6) Tabel detil_pembuatan sudah normal bentuk ketiga (3NF), karena
semua atribut non-key tidak bergantung pada atribut non-key
lainnya tetapi terhadap primary key yaitu kd_gigi dan no_npb
(transitive dependency).

4.1.5. Spesifikasi Basis Data


Spesifikasi Basis Data merupakan uraian rinci tentang tiap-tiap relasi
(table atau file) yang disesuaikan dengan software yang akan dipakai pada
saat implementasi. Berikut adalah spesifikasi basis Data dari sistem yang
diusulkan :
a. Nama File : Pasien
Media : Harddisk
Isi : Data Pasien
Organisasi : Index Sequential
Primary Key : kd_psn
Panjang Record : 175 byte
Jumlah Record : 13.200 record
Struktur :

Tabel 4.1 Tabel Spesifikasi Data Pasien


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data kode
1 kd_psn Char 8 pasien {PSN00001
s/d PSN99999}
- Berisi data nama
2 nm_psn Varchar 30
pasien
- Berisi data nomor
3 notlp_psn Varchar 12 telepon pasien {999-
999-999-999}
- Berisi data alamat
4 alamat_psn Varchar 125
pasien

Rancangan Kode :

P S N 9 9 9 9 9

a b

Keterangan :
a : 3 digit pertama menunjukkan inisial dari pasien
b : 5 digit terakhir menunjukkan nomor urut pasien

b. Nama File : Tekniker


Media : Harddisk
Isi : Data Tekniker
63

Organisasi : Index Sequential


Primary Key : kd_tkr
Panjang Record : 171 byte
Jumlah Record : 7 record
Struktur :

Tabel 4.2 Tabel Spesifikasi Data Tekniker


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data kode
1 kd_tkr Char 4 tekniker {TKR1 s/d
TKR9}
- Berisi data nama
2 nm_ tkr Varchar 30
tekniker
- Berisi data no
3 notlp_ tkr Varchar 12 telepon tekniker
{999-999-999-999}
- Berisi data alamat
4 alamat_ tkr Varchar 125
tekniker

Rancangan Kode :

T K R 9

a b

Keterangan :
a : 3 digit pertama menunjukkan inisial dari tekniker
b : 1 digit terakhir menunjukkan nomor urut tekniker

c. Nama File : Gigi


Media : Harddisk
Isi : Data Gigi
Organisasi : Index Sequential
Primary Key : kd_gigi
Panjang Record : 110 byte
Jumlah Record : 576 record
Struktur :

Tabel 4.3 Tabel Spesifikasi Data Gigi


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data kode gigi
1 kd_gigi Char 4
{G001 s/d G999}
- Berisi data nama gigi
2 nm_gigi Varchar 40
palsu
- Berisi data jenis gigi
3 jns_gigi Varchar 10
palsu
4 bgn_gigi Varchar 20 - Berisi data bagian
64

rahang gigi palsu


- Berisi data warna gigi
5 wrn_gigi Varchar 20
palsu
- Berisi data ukuran
6 ukr_gigi Varchar 10
gigi palsu
- Berisi data harga gigi
7 hrg_gigi Double 6 palsu per gigi
{999999}

Rancangan Kode :

G 9 9 9

a b

Keterangan :
a : 1 digit pertama menunjukkan inisial dari gigi
b : 3 digit terakhir menunjukkan nomor urut gigi

d. Nama File : Plat


Media : Harddisk
Isi : Data Plat
Organisasi : Index Sequential
Primary Key : kd_plat
Panjang Record : 28 byte
Jumlah Record : 3 record
Struktur :

Tabel 4.4 Tabel Spesifikasi Data Plat


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data kode plat
1 kd_plat Char 2
{P1 s/d P9}
2 nm_plat Varchar 20 - Berisi data nama plat
- Berisi data harga plat
3 hrg_plat Double 6
{999999}

Rancangan Kode :

P 9

a b

Keterangan :
a : 1 digit pertama menunjukkan inisial dari plat
b : 1 digit terakhir menunjukkan nomor urut plat

e. Nama File : Jasa


65

Media : Harddisk
Isi : Data Jasa
Organisasi : Index Sequential
Primary Key : kd_js
Panjang Record : 50 byte
Jumlah Record : 12 record
Struktur :

Tabel 4.5 Tabel Spesifikasi Data Jasa


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data kode jasa
1 kd_js Char 4
{JS01 s/d JS99}
2 nm_js Varchar 40 - Berisi data nama jasa
- Berisi data harga jasa
3 hrg_js Double 6
{999999}

Rancangan Kode :

J S 9 9

a b

Keterangan :
a : 2 digit pertama menunjukkan inisial dari jasa
b : 2 digit terakhir menunjukkan nomor urut jasa

f. Nama File : NPB


Media : Harddisk
Isi : Data NPB
Organisasi : Index Sequential
Primary Key : no_npb
Panjang Record : 52 byte
Jumlah Record : 9.000 record
Struktur :

Tabel 4.6 Tabel Spesifikasi Data NPB


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data nomor
nota pembuatan
1 no_npb Char 7
{NPB0001 s/d
NPB9999}
- Berisi data tanggal
2 tgl_npb Date 3 nota pembuatan
{dd-MM-yyyy}
- Berisi data dp
3 dp Double 7 pembayaran
{999999}
- Berisi data status
4 status Varchar 11
pembayaran
66

- Berisi data harga


5 biaya_jsnpb Double 6 jasa yang update
{999999}
- Berisi data harga plat
6 biaya_plat Double 6 yang update
{999999}
- Berisi data kode
7 kd_psn Char 8 pasien {PSN00001
s/d PSN99999}
- Berisi data kode jasa
8 kd_js Char 4
{JS01 s/d JS99}
- Berisi data kode plat
9 kd_plat Char 2
{P1 s/d P9}

Rancangan Kode :

N P B 9 9 9 9

a b

Keterangan :
a : 3 digit pertama menunjukkan inisial dari nota pembuatan
b : 4 digit terakhir menunjukkan nomor urut nota pembuatan

g. Nama File : NPR


Media : Harddisk
Isi : Data NPR
Organisasi : Index Sequential
Primary Key : no_npr
Panjang Record : 141 byte
Jumlah Record : 12.600 record
Struktur :

Tabel 4.7 Tabel Spesifikasi Data NPR


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data nomor
nota perbaikan
1 no_npr Char 8
{NPR00001 s/d
NPR99999}
- Berisi data tanggal
2 tgl_npr Date 3 nota perbaikan
{dd-MM-yyyy}
Berisi data kode
3 kd_psn Char 8 - pasien { PSN00001
s/d PSN99999}
Berisi data keluhan
4 keluhan Varchar 100 -
perbaikan pasien
Berisi data tanggal
5 wkt_selesai Datetime 7 - dan waktu selesai
perbaikan
67

{dd-MM-yyyy
HH:mm:ss}
Berisi data status
6 status Varchar 15 -
perbaikan gigi palsu

Rancangan Kode :

N P R 9 9 9 9 9

a b

Keterangan :
a : 3 digit pertama menunjukkan inisial dari nota perbaikan
b : 5 digit terakhir menunjukkan nomor urut nota perbaikan

h. Nama File : PK
Media : Harddisk
Isi : Data PK
Organisasi : Index Sequential
Primary Key : no_pk
Panjang Record : 31 byte
Jumlah Record : 9.000 record
Struktur :

Tabel 4.8 Tabel Spesifikasi Data PK


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data nomor
1 no_pk Char 6 perintah kerja tekniker
{ PK0001 s/d PK9999}
- Berisi data tanggal
2 tgl_pk Date 3 perintah kerja
{dd-MM-yyyy}
- Berisi data tanggal
3 tglselesai_pk Date 3 selesai perintah kerja
{dd-MM-yyyy}
- Berisi data nomor nota
4 no_npb Char 7 pembuatan {NPB0001
s/d NPB9999}
- Berisi data kode
5 kd_tkr Char 4 tekniker
{TKR1 s/d TKR9}

Rancangan Kode :
68

P K 9 9 9 9

a b

Keterangan :
a : 2 digit pertama menunjukkan inisial dari perintah kerja
b : 4 digit terakhir menunjukkan nomor urut perintah kerja

i. Nama File : Kwitansi


Media : Harddisk
Isi : Data Kwitansi
Organisasi : Index Sequential
Primary Key : no_kwt
Panjang Record : 17 byte
Jumlah Record : 9.000 record
Struktur :

Tabel 4.9 Tabel Spesifikasi Data Kwitansi


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data nomor
1 no_kwt Char 7 kwitansi {KWT0001 s/d
KWT9999}
- Berisi data tanggal
2 tgl_kwt Date 3
kwitansi {dd-MM-yyyy}
- Berisi data nomor nota
3 no_npb Char 7 pembuatan {NPB0001
s/d NPB9999}

Rancangan Kode :

K W T 9 9 9 9

a b

Keterangan :
a : 3 digit pertama menunjukkan inisial dari kwitansi
b : 4 digit terakhir menunjukkan nomor urut kwitansi

j. Nama File : PG
Media : Harddisk
Isi : Data Penanganan Garansi
Organisasi : Index Sequential
Primary Key : no_pg
Panjang Record : 233 byte
Jumlah Record : 1.800 record
Struktur :
69

Tabel 4.10 Tabel Spesifikasi Data PG


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data nomor
1 no_pg Char 6 penanganan garansi {
PG0001 s/d PG9999}
- Berisi data tanggal
2 tgl_pg Date 3 penanganan garansi
{dd-MM-yyyy}
- Berisi data tanggal
3 tglselesai_pg Date 3 selesai penanganan
garansi {dd-MM-yyyy}
- Berisi data keluhan
4 keluhan Varchar 100 saat penanganan
garansi pasien
- Berisi data tindakan
5 tindakan Varchar 100 saat penanganan
garansi pasien
- Berisi data status
6 status Varchar 10
penanganan garansi
- Berisi data nomor
7 no_kwt Char 7 kwitansi { KWT0001
s/d KWT9999}
- Berisi data kode
8 kd_tkr Char 4 tekniker
{TKR1 s/d TKR9}

Rancangan Kode :
P G 9 9 9 9

a b

Keterangan :
a : 2 digit pertama menunjukkan inisial dari penanganan garansi
b : 4 digit terakhir menunjukkan nomor urut penanganan garansi

k. Nama File : detil_pembuatan


Media : Harddisk
Isi : Data detil_pembuatan
Organisasi : Index Sequential
Primary Key : kd_gigi, no_npb
Panjang Record : 16 byte
Jumlah Record : 288.000 record
Struktur :

Tabel 4.11 Tabel Spesifikasi Data detil_pembuatan


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data kode gigi
1 kd_gigi Char 4
{G001 s/d G999}
Berisi data nomor nota
2 no_npb Char 7 - pembuatan
{NPB0001 s/d NPB9999}
70

- Berisi data harga gigi


3 biaya_gigi Double 6
yang update {999999}

l. Nama File : detil_perbaikan


Media : Harddisk
Isi : Data detil_perbaikan
Organisasi : Index Sequential
Primary Key : kd_js, no_npr
Panjang Record : 120 byte
Jumlah Record : 252.000 record
Struktur :

Tabel 4.12 Tabel Spesifikasi Data detil_perbaikan


No. Nama Field Jenis Lebar Desimal Keterangan
- Berisi data kode jasa
1 kd_js Char 4
{JS01 s/d JS99}
- Berisi data nomor
nota perbaikan
2 no_npr Char 8
{NPR00001 s/d
NPR99999}
- Berisi data harga gigi
3 biaya_jsnpr Double 6 yang update
{999999}
- Berisi data jumlah
4 qty Int 2 jasa yang diminta
oleh pasien {99}
- Berisi data
keterangan yang
5 ket Varchar 100
ingin ditambahkan
pada jasa perbaikan

4.1.6. Estimasi Kebutuhan Simpanan Data


a. Tabel Kebutuhan Simpanan Basis Data Dalam Jangka Waktu 5
Tahun:

Tabel 4.13 Tabel Kebutuhan Simpanan Basis Data


Panjang Jumlah
Nama File / Jumlah
No. Record Dalam Byte
Tabel Record (J)
(P) (P x J)
1 Pasien 175 13.200 2.310.000
2 Tekniker 171 7 1.197
3 Gigi 110 576 63.360
4 Plat 28 3 84
5 Jasa 50 12 600
6 NPB 52 9.000 468.000
7 NPR 141 12.600 1.776.600
8 PK 31 9.000 279.000
71

9 Kwitansi 17 9.000 153.000


10 PG 233 1.800 419.400
11 detil_pembuatan 16 288.000 4.608.000
12 detil_perbaikan 120 252.000 30.240.000
Total : 40.319.241

b. Tabel Estimasi Kebutuhan Simpanan Data Dalam Jangka


Waktu 5 Tahun:

Tabel 4.14 Tabel Estimasi Kebutuhan Simpanan Data


No. Kebutuhan Jumlah
Sistem Operasi
1 13.422.220.839 byte
<<Windows 7 32 bit>>
Program Aplikasi
2 1.472.887.468 byte
<<Visual Studio 2008 >>
DBMS
3 5.154.137 byte
<<MySQL>>
4 Database 40.319.241 byte
Sistem Informasi Jasa Pembuatan dan
5 9.072.640 byte
Perbaikan Gigi Palsu
Total : 14.949.654.325 byte
Sehingga estimasi simpanan data (storage) yang dibutuhkan
dalam jangka waktu 5 tahun adalah sebesar 15 GB.

4.2. Rancangan Antar Muka


4.2.1. Rancangan Keluaran
Rancangan keluaran adalah rancangan pada sistem informasi
tentang keluaran yang dihasilkan oleh sistem yang dirancang.
a. Nama Keluaran : Nota Pembuatan
Fungsi : Sebagai bukti pembayaran yang sudah
dibayarkan pasien dan bukti data
pesanan pasien
Media : Kertas
Distribusi : Pasien
Rangkap : Satu
Frekuensi : Setiap ada pembuatan gigi palsu
Volume : Lima per hari
Format : Lampiran C - 1, halaman 120
Keterangan : Berisi rincian total biaya pembuatan
gigi palsu dan infomasi pembayaran
yang telah lunas maupun DP (down
payment)

b. Nama Keluaran : Nota Perbaikan


72

Fungsi : Sebagai bukti pembayaran biaya jasa


perbaikan gigi palsu
Media : Kertas
Distribusi : Pasien
Rangkap : Satu
Frekuensi : Setiap ada perbaikan gigi palsu
Volume : Tujuh per hari
Format : Lampiran C - 2, halaman 121
Keterangan : Berisi rincian total biaya perbaikan gigi
palsu dan informasi pembayaran lunas
serta waktu selesai pengerjaan

c. Nama Keluaran : Perintah Kerja


Fungsi : Sebagai perintah kerja untuk
pembuatan gigi palsu
Media : Kertas
Distribusi : Tekniker
Rangkap : Satu
Frekuensi : Setiap adanya pembuatan gigi palsu
Volume : Lima per hari
Format : Lampiran C - 3, halaman 122
Keterangan : Berisi data rincian gigi palsu yang
harus dibuat tekniker

e. Nama Keluaran : Kwitansi


Fungsi : Digunakan sebagai bukti pembayaran
lunas dari pembuatan gigi palsu
Media : Kertas
Distribusi : Pasien
Rangkap : Satu
Frekuensi : Setiap ada pembuatan gigi palsu
Volume : Lima per hari
Format : Lampiran C - 4, halaman 123
Keterangan : Berisi informasi yang digunakan untuk
proses penanganan garansi selama 1
tahun

f. Nama Keluaran : Penanganan Garansi


Fungsi : Digunakan sebagai data pasien yang
melakukan penanganan garansi dan
perintah kerja kepada tekniker untuk
menangani garansi
Media : Kertas
Distribusi : Pasien
Rangkap : Satu
Frekuensi : Setiap ada pasien yang melakukan
penanganan garansi
Volume : Satu per hari
Format : Lampiran C - 5, halaman 124
Keterangan : Berisi data keluhan untuk ditangani
sesuai tindakan yang sudah dituliskan di
penanganan garansi
73

g. Nama Keluaran : Laporan Perintah Kerja Per Tekniker


Fungsi : Sebagai informasi bukti data tekniker
yang melakukan pembuatan gigi palsu
kepada pemilik
Media : Kertas
Distribusi : Pemilik
Rangkap : Satu
Frekuensi : Setiap akhir bulan
Volume : Satu per bulan
Format : Lampiran C - 6, halaman 125
Keterangan : Berisi informasi tanggal selesai
tekniker melakukan pembuatan gigi
palsu

i. Nama Keluaran : Laporan Pendapatan Pembuatan


Fungsi : Sebagai pencocokan data yang ada
dilaporan dengan hasil pendapatan
yang diterima
Media : Kertas
Distribusi : Pemilik
Rangkap : Satu
Frekuensi : Setiap akhir bulan
Volume : Satu per bulan
Format : Lampiran C - 7, halaman 126
Keterangan : Berisi informasi data gigi palsu dan plat
yang telah dibuat

j. Nama Keluaran : Laporan Pendapatan Perbaikan


Fungsi : Sebagai pencocokan data yang ada
dilaporan dengan hasil pendapatan
yang diterima
Media : Kertas
Distribusi : Pemilik
Rangkap : Satu
Frekuensi : Setiap akhir bulan
Volume : Satu per bulan
Format : Lampiran C - 8, halaman 127
Keterangan : Berisi informasi data jasa perbaikan

k. Nama Keluaran : Laporan Penanganan Garansi


Pembuatan
Fungsi : Sebagai informasi bagi pemilik
mengetahui masalah pasien dalam
penanganan garansi sesuai periode
tertentu dan untuk memperbaiki
kualitas dari setiap pembuatan gigi
palsu
Media : Kertas
Distribusi : Pemilik
Rangkap : Satu
Frekuensi : Setiap akhir bulan
Volume : Satu per bulan
Format : Lampiran C - 9, halaman 128
74

Keterangan : Berisi data tekniker yang melakukan


penanganan dan pasien yang
mengajukan penanganan garansi

l. Nama Keluaran : Laporan Rekap Jenis Gigi Palsu Paling


Diminati
Fungsi : Sebagai informasi kepada pemilik
untuk mengevaluasi harga update
khususnya harga gigi sesuai jenisnya
Media : Kertas
Distribusi : Pemilik
Rangkap : Satu
Frekuensi : Setiap akhir bulan
Volume : Satu per bulan
Format : Lampiran C - 10, halaman 129
Keterangan : Berisi data jumlah jenis gigi yang
diminati pasien

m. Nama Keluaran : Laporan Status Penanganan Garansi


Pembuatan
Fungsi : Sebagai informasi bagi pemilik
mengetahui status penanganan
garansi pembuatan yang masih dalam
proses maupun sudah selesai sesuai
periode tertentu
Media : Kertas
Distribusi : Pemilik
Rangkap : Satu
Frekuensi : Setiap akhir bulan
Volume : Satu per bulan
Format : Lampiran C - 11, halaman 130
Keterangan : Berisi data tekniker yang melakukan
penanganan dan pasien yang
mengajukan penanganan garansi

4.2.2. Rancangan Masukan


Rancangan masukan adalah rancangan pada sistem informasi yang
dibutuhkan oleh sistem yang dirancang.
a. Nama Masukan : Data Pasien
Sumber : Pasien
Fungsi : Untuk menyimpan data pasien
Media : Kertas
Rangkap : Satu
Frekuensi : Setiap adanya pasien baru
Volume : Lima per hari
Format : Lampiran D - 1, halaman 131
Keterangan : Berisi informasi mengenai data pasien
yang melakukan pembuatan atau
perbaikan gigi palsu

b. Nama Masukan : Data Tekniker


Sumber : Tekniker
75

Fungsi : Untuk menyimpan data tekniker


Media : Kertas
Rangkap : Satu
Frekuensi : Setiap adanya tekniker baru
Volume : Dua per tahun
Format : Lampiran D - 2, halaman 132
Keterangan : Berisi informasi mengenai data tekniker
yang ada di Ahli Gigi Tjoen Pao

c. Nama Masukan : Data Gigi


Sumber : Tekniker
Fungsi : Untuk menyimpan data gigi
Media : Kertas
Rangkap : Satu
Frekuensi : Setiap adanya perubahan pada data
gigi palsu
Volume : Dua per tahun
Format : Lampiran D - 3, halaman 133
Keterangan : Berisi informasi mengenai data gigi
palsu

d. Nama Masukan : Data Plat


Sumber : Tekniker
Fungsi : Untuk menyimpan data plat
Media : Kertas
Rangkap : Satu
Frekuensi : Setiap adanya perubahan pada data
plat
Volume : Dua per tahun
Format : Lampiran D - 4, halaman 134
Keterangan : Berisi informasi mengenai data plat

e. Nama Masukan : Data Jasa


Sumber : Tekniker
Fungsi : Untuk menyimpan data jasa
Media : Kertas
Rangkap : Satu
Frekuensi : Setiap adanya perubahan atau
penambahan jasa yang baru
Volume : Dua per per tahun
Format : Lampiran D - 5, halaman 135
Keterangan : Berisi informasi mengenai data nama
dan harga jasa
76

4.2.3. Rancangan Dialog Layar


a. Struktur Tampilan

MENU UTAMA

Master Transaksi Laporan Keluar

Entry Data Pasien Cetak Nota Pembuatan Cetak Laporan Perintah Kerja
Per Tekniker

Entry Data Tekniker Cetak Perintah Kerja Cetak Laporan Pendapatan


Pembuatan

Entry Data Gigi Cetak Nota Perbaikan Cetak Laporan Pendapatan


Perbaikan

Entry Data Plat Cetak Kwitansi Cetak Laporan Penanganan Garansi


Pembuatan

Entry Data Jasa Cetak Penanganan Garansi Cetak Laporan Rekap Jenis Gigi Palsu
Paling Diminati

Cetak Laporan Status


Penanganan Garansi Pembuatan

Gambar 4.16
Struktur Tampilan Menu
77

b. Rancangan Layar

1. Rancangan Layar Menu Utama

X
MASTER TRANSAKSI LAPORAN

[ SEJAK 1958 ]

AHLI GIGI TJOEN PAO


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

Copyright 2016 | Powered by Akbar Achmad Azis

Gambar 4.17
Rancangan Layar Menu Utama

2. Rancangan Layar Menu Master

X
MASTER TRANSAKSI LAPORAN

[ SEJAK 1958 ]

AHLI GIGI TJOEN PAO

ENTRY DATA PASIEN ENTRY DATA TEKNIKER ENTRY DATA GIGI ENTRY DATA PLAT ENTRY DATA JASA

Copyright 2016 | Powered by Akbar Achmad Azis

Gambar 4.18
Rancangan Layar Menu Master
78

3. Rancangan Layar Menu Transaksi

X
MASTER TRANSAKSI LAPORAN

[ SEJAK 1958 ]

AHLI GIGI TJOEN PAO

CETAK NOTA CETAK PERINTAH CETAK NOTA CETAK PENANGANAN


CETAK KWITANSI
PEMBUATAN KERJA PERBAIKAN GARANSI

Copyright 2016 | Powered by Akbar Achmad Azis

Gambar 4.19
Rancangan Layar Menu Tranksaksi

4. Rancangan Layar Menu Laporan

MASTER TRANSAKSI LAPORAN

[ SEJAK 1958 ]

AHLI GIGI TJOEN PAO

CETAK LAPORAN REKAP


CETAK LAPORAN CETAK LAPORAN PERINTAH
JENIS GIGI PALSU PALING
PENDAPATAN PEMBUATAN KERJA PER TEKNIKER
DIMINATI

CETAK LAPORAN CETAK LAPORAN STATUS


CETAK LAPORAN
PENANGANAN GARANSI PENANGANAN GARANSI
PENDAPATAN PERBAIKAN
PEMBUATAN PEMBUATAN

Copyright 2016 | Powered by Akbar Achmad Azis

Gambar 4.20
Rancangan Layar Menu Laporan
79

5. Rancangan Layar Entry Data Pasien

ENTRY DATA PASIEN


AHLI GIGI TJOEN PAO JAKARTA BARAT

Kode <<autonumber>> CARI PASIEN

Nama x-30-x

No. Telepon x-12-x

Alamat x-125-x

SIMPAN BATAL UBAH HAPUS

Gambar 4.21
Rancangan Layar Entry Data Pasien

6. Rancangan Layar Entry Data Tekniker

ENTRY DATA TEKNIKER


AHLI GIGI TJOEN PAO JAKARTA BARAT

Kode <<autonumber>> CARI TEKNIKER

Nama x-30-x

No. Telepon x-12-x

Alamat x-125-x

SIMPAN BATAL UBAH HAPUS

Gambar 4.22
Rancangan Layar Entry Data Tekniker
80

7. Rancangan Layar Entry Data Gigi

ENTRY DATA GIGI


AHLI GIGI TJOEN PAO JAKARTA BARAT

Kode <<autonumber>> CARI GIGI

Nama x-40-x Warna x-20-x

Jenis Ukuran x-10-x


x-10-x

Bagian x-20-x Harga Rp 999.999

SIMPAN BATAL UBAH HAPUS

Gambar 4.23
Rancangan Layar Entry Data Gigi

8. Rancangan Layar Entry Data Plat

ENTRY DATA PLAT


AHLI GIGI TJOEN PAO JAKARTA BARAT

Kode <<autonumber>> CARI PLAT

Nama x-20-x

Harga Rp 999.999

SIMPAN BATAL UBAH HAPUS

Gambar 4.24
Rancangan Layar Entry Data Plat
81

9. Rancangan Layar Entry Data Jasa

ENTRY DATA PLAT AHLI GIGI TJOEN PAO JAKARTA BARAT

Kode <<autonumber>> CARI JASA

Nama x-40-x
Harga Rp 999.999

SIMPAN BATAL UBAH HAPUS

Gambar 4.25
Rancangan Layar Entry Data Jasa

10. Rancangan Layar Cetak Nota Pembuatan

No. NPB <<autonumber>>


CETAK NOTA PEMBUATAN Tgl. NPB dd/MM/yyyy
AHLI GIGI TJOEN PAO JAKARTA BARAT

Kode Kode <<display>> CARI GIGI


<<display>> CARI JASA
Kode <<display>> CARI PASIEN
Nama Jasa <<display>> Nama <<display>>
Nama <<display>>
Harga Jasa Jenis <<display>>
<<display>>
No. Telepon <<display>>
Bagian <<display>>
Alamat
Kode <<display>> CARI PLAT Warna <<display>>
<<display>>
Nama Plat <<display>> Ukuran <<display>>

Harga Plat <<display>> Harga <<display>> TAMBAH GIGI

Kode Nama Jenis Bagian Warna Ukuran Harga (Rp)


Total Rp <<display>>
<<display>> <<display>> <<display>> <<display>> <<display>> <<display>> <<display>>

Bayar Rp <<display>>

LUNAS DP 50%

Sisa Bayar Rp <<display>>

CETAK BATAL
<<display>> <<display>> <<display>> <<display>> <<display>> <<display>> <<display>>

Gambar 4.26
Rancangan Layar Cetak Nota Pembuatan
82

11. Rancangan Layar Cetak Perintah Kerja

CETAK PERINTAH KERJA No. NPB : x-7-x


AHLI GIGI TJOEN PAO JAKARTA BARAT

Kode <<display>> No. PK <<autonumber>>


CETAK
Nama <<display>> Tgl. PK dd/MM/yyyy

No. Telepon <<display>> Tgl. Selesai PK dd/MM/yyyy


UPDATE
Alamat
<<display>> Kode <<display>> CARI TEKNIKER
BATAL
Tekniker <<display>>

Plat <<display>> Jasa <<display>>

Nama Gigi Jenis Bagian Warna Ukuran


<<display>> <<display>> <<display>> <<display>> <<display>>

<<display>> <<display>> <<display>> <<display>> <<display>>

Gambar 4.27
Rancangan Layar Cetak Perintah Kerja

12. Rancangan Layar Cetak Nota Perbaikan

CETAK NOTA PERBAIKAN No. NPR <<autonumber>>


AHLI GIGI TJOEN PAO JAKARTA BARAT Tgl. NPR dd/MM/yyyy

Jasa Harga (Rp) Qty Jml Harga (Rp) Keterangan


Kode <<display>> CARI PASIEN
<<display>> <<display>> <<display>> <<display>> <<display>>
Nama <<display>>

No. Telepon <<display>>


Alamat
<<display>>

Keluhan <<display>> <<display>> <<display>> <<display>> <<display>>


x-100-x
Lama Pengerjaan 999 menit Total Rp <<display>>

Kode <<display>> CARI JASA

Nama Jasa <<display>>

Harga Jasa Rp <<display>>


Qty 99 TAMBAH JASA
CETAK UPDATE BATAL
Keterangan

x-100-x

Gambar 4.28
Rancangan Layar Cetak Nota Perbaikan
83

13. Rancangan Layar Kwitansi

CETAK KWITANSI No. Kwitansi <<autonumber>>

Tgl. Kwitansi dd/MM/yyyy


AHLI GIGI TJOEN PAO JAKARTA BARAT

No. NPB <<display>> CARI NPB


Nama Jasa Nama Plat
Tgl. NPB <<display>> <<display>> <<display>>

Nama <<display>> Biaya Jasa Biaya Plat


<<display>> <<display>>
No. Telepon <<display>>

Nama Gigi Jenis Bagian Warna Ukuran Harga (Rp)


<<display>> <<display>> <<display>> <<display>> <<display>> <<display>>

<<display>> <<display>> <<display>> <<display>> <<display>> <<display>>

Total Bayar Rp <<display>>

Sisa Bayar Rp <<display>>


CETAK BATAL
Status <<display>>
Pelunasan LUNAS

Gambar 4.29
Rancangan Layar Cetak Kwitansi

14. Rancangan Layar Cetak Penanganan Garansi

CETAK PENANGANAN GARANSI


AHLI GIGI TJOEN PAO JAKARTA BARAT

No. Kwitansi <<display>> CARI KWITANSI Nomor PG <<autonumber>>


Kode <<display>> CARI TEKNIKER
Tgl. Kwitansi <<display>> Tanggal PG dd/MM/yyyy
Tekniker <<display>>
Tgl. Akhir Masa Aktif <<display>> Tgl. Selesai PG dd/MM/yyyy

Keluhan Tindakan
x-100-x x-100-x
Nama <<display>>

No. Telepon <<display>>

Alamat <<display>>

CETAK UPDATE BATAL

Gambar 4.30
Rancangan Layar Cetak Penanganan Garansi
84

15. Rancangan Layar Cetak Laporan Perintah Kerja Per Tekniker

CETAK LAPORAN PERINTAH KERJA PER TEKNIKER

Periode Awal : dd/MM/yyyy Kode <<display>>

Periode Akhir : dd/MM/yyyy Nama <<pilih>>


CETAK

Gambar 4.31
Rancangan Layar Cetak Laporan Perintah Kerja Per Tekniker

16. Rancangan Layar Cetak Laporan Pendapatan Pembuatan

CETAK LAPORAN PENDAPATAN PEMBUATAN

Periode Awal : dd/MM/yyyy


Periode Akhir : dd/MM/yyyy
CETAK

Gambar 4.32
Rancangan Layar Cetak Laporan Pendapatan Pembuatan
85

17. Rancangan Layar Cetak Laporan Pendapatan Perbaikan

CETAK LAPORAN PENDAPATAN PERBAIKAN

Periode Awal : dd/MM/yyyy


Periode Akhir : dd/MM/yyyy
CETAK

Gambar 4.33
Rancangan Layar Cetak Laporan Pendapatan Perbaikan

18. Rancangan Layar Cetak Laporan Penanganan Garansi Pembuatan

CETAK LAPORAN PENANGANAN GARANSI PEMBUATAN

Periode Awal : dd/MM/yyyy


Periode Akhir : dd/MM/yyyy
CETAK

Gambar 4.34
Rancangan Layar Cetak Laporan Penanganan Garansi
Pembuatan
86

19. Rancangan Layar Cetak Laporan Rekap Jenis Gigi Palsu Paling
Diminati

CETAK LAPORAN REKAP JENIS GIGI PALSU PALING DIMINATI

Periode Awal : dd/MM/yyyy


Periode Akhir : dd/MM/yyyy
CETAK

Gambar 4.35
Rancangan Layar Cetak Laporan Rekap Jenis Gigi Palsu
Paling Diminati

20. Rancangan Layar Cetak Laporan Status Penanganan Garansi


Pembuatan

CETAK LAPORAN STATUS PENANGANAN GARANSI PEMBUATAN

Periode Awal : dd/MM/yyyy


Periode Akhir : dd/MM/yyyy
CETAK

Gambar 4.36
Rancangan Layar Cetak Laporan Status Penanganan Garansi
Pembuatan
87

4.1.1. Sequence Diagram

a. Sequence Diagram Entry Data Pasien

: Staf : FrmEntryDataPasien : CtrlEntryDataPasien : pasien


Open()

Autonumber()

Autonumber()

Display kd_psn()

InputDataPasien()

InputDataPasien()

Simpan()

Simpan()

Simpan()

Cari()

Cari()

Ambildata()

DisplayDataPasien()

Ubah()

Ubah()

Ubah()

Hapus()

Hapus()

Hapus()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.37
Sequence Diagram Entry Data Pasien
88

b. Sequence Diagram Entry Data Tekniker

: Staf : FrmEntryDataTekniker : CtrlEntryDataTekniker : tekniker

Open()

Autonumber()

Autonumber()

Display kd_tkr()

InputDataTekniker()

InputDataTekniker()

Simpan()

Simpan()

Simpan()

Cari()

Cari()

Ambildata()

DisplayDataTekniker()

Ubah()

Ubah()

Ubah()

Hapus()

Hapus()

Hapus()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.38
Sequence Diagram Entry Data Tekniker
89

c. Sequence Diagram Entry Data Gigi

: Staf : CtrlEntryDataGigi
: FrmEntryDataGigi
open() : gigi

Autonumber()

Autonumber()

Display kd_gigi()

InputDataGigi()

InputDataGigi()

Simpan()

Simpan()

Simpan()

Cari()

Cari()

Ambildata()

DisplayDataGigi()

Ubah()

Ubah()

Ubah()

Hapus()

Hapus()

Hapus()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.39
Sequence Diagram Entry Data Gigi
90

d. Sequence Diagram Entry Data Plat

: Staf : FrmEntryDataPlat : CtrlEntryDataPlat : plat

Open()

Autonumber()

Autonumber()

Display kd_plat()

InputDataPlat()

InputDataPlat()

Simpan()

Simpan()

Simpan()

Cari()

Cari()

Ambildata()

DisplayDataPlat()

Ubah()

Ubah()

ubah()

Hapus()

Hapus()

Hapus()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.40
Sequence Diagram Entry Data Plat
91

e. Sequence Diagram Entry Data Jasa

: Staf : FrmEntryDataJasa : CtrlEntryDataJasa : jasa

Open()

Autonumber()

Autonumber()

Display kd_js()

InputDataJasa()

InputDataJasa()

Simpan()

Simpan()

Simpan()

Cari()

Cari()

Ambildata()

DisplayDataJasa()

Ubah()

Ubah()

Ubah()

Hapus()

Hapus()

Hapus()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.41
Sequence Diagram Entry Data Jasa
92

f. Sequence Diagram Cetak Nota Pembuatan

: Staf : FrmCetakNotaPembuatan : : npb : pasien : jasa : plat : gigi : detil_pembuatan


CtrlCetakNotaPembuatan

Open()

Autonumber()

Autonumber()

Display no_npb()

ShowSysDate()

CariPasien()

CariPasien()

AmbildataPasien()

DisplayDataPasien()

PilihJasa()

PilihJasa()

AmbildataJasa()

DisplayDataJasa()

PilihPlat()

PilihPlat()

AmbildataPlat()

DisplayDataPlat()

Loop() CariGigi()

CariGigi()

AmbildataGigi()

DisplayDataGigi()

TambahGigi()

TambahGigi()

DisplayListView()

DisplayTotal()

TampilJumlahGigi()

PilihJenisBayar()

PilihJenisBayar()

DisplayBayar()

DisplaySisaBayar()

Cetak()

Cetak()

SimpanNPB()

Simpandetil_pembuatan()

ShowNotaPembuatan()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.42
Sequence Diagram Cetak Nota Pembuatan
93

g. Sequence Diagram Cetak Perintah Kerja

: Staf : FrmCetakPerintahKerja : : pk : npb : detil_pembuatan : plat : gigi : pasien : jasa : tekniker


CtrlCetakPerintahKerjaPerTekniker
Open()

Autonumber()

Autonumber()

Display no_pk()

ShowSysDate()

Inputno_npb()

Inputno_npb()

AmbildataNPB()

Ambildatadetil_pembuatan()

AmbildataPlat()

AmbildataGigi()

AmbildataPasien()

AmbildataJasa()

DisplayDataPembuatan()

CariTekniker()

CariTekniker()

AmbildataTekniker()

DisplayDataTekniker

Cetak()

Cetak()

SimpanPK()

ShowPerintahKerja()

Update()

Update()

UpdateTglSelesaiPK()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.43
Sequence Diagram Cetak Perintah Kerja
94

h. Sequence Diagram Cetak Nota Perbaikan

: Staf : FrmCetakNotaPerbaikan : CtrlCetakNotaPerbaikan : npr : pasien : detil_perbaikan : jasa

Open()

Autonumber()

Autonumber()

Display no_npr()

ShowSysDate()

CariPasien()

CariPasien()

AmbildataPasien()

DisplayDataPasien()

InputKeluhan()

InputKeluhan()

Loop() PilihJasa()

PilihJasa()

AmbildataJasa()

DisplayDataJasa()

InputQty()

InputQty()

InputKeterangan()

InputKeterangan()

TambahJasa()

TambahJasa()

DisplayListView()

DisplayTotal()

InputLamaPengerjaan()

InputLamaPengerjaan()

Cetak()

Cetak()

SimpanNPR()

Simpandetil_perbaikan()

ShowNotaPerbaikan()

Update()

Update()

ShowPopUp()

UpdateStatus()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.44
Sequence Diagram Cetak Nota Perbaikan
95

i. Sequence Diagram Cetak Kwitansi

: Staf : FrmCetakKwitansi : kwitansi : npb : detil_pembuatan : pasien : jasa : plat : gigi


: CtrlCetakKwitansi

Open()

Autonumber()

Autonumber()

Display no_kwitansi()

ShowSysDate()

CariNPB()

CariNPB()

AmbildataNPB()

Ambildatadetil_pembuatan()

AmbildataPasien()

AmbildataJasa()

AmbildataPlat()

AmbildataGigi()

DisplayDataNPB()

DisplayListView()

PilihLunas()

PilihLunas()

Cetak()

Cetak()

SimpanKwitansi()

UbahNPB()

ShowKwitansi()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.45
Sequence Diagram Cetak Kwitasi
96

j. Sequence Diagram Cetak Penanganan Garansi

: Staf : FrmCetakPenangananGaransi : : pg : kwitansi : pasien : tekniker


CtrlCetakPenangananGaransiPembuatan
Open()

Autonumber()

Autonumber()

Display no_grs()

ShowSysDate()

CariKwitansi()

CariKwitansi()

AmbildataKwitansi()

AmbildataPasien()

DisplayDataKwitansi()

PilihTekniker()

PilihTekniker()

AmbildataTekniker()

DisplayDataTekniker()

InputKeluhan()

InputKeluhan()

InputTindakan()

InputTindakan()

Cetak()

Cetak()

Simpan()

ShowPenangananGaransi()

Update()

Update()

UpdateTglSelesaiPG()

Batal()

Batal()

Clear()

Keluar()

Keluar()

Gambar 4.46
Sequence Diagram Cetak Penanganan Garansi
97

k. Sequence Diagram Cetak Laporan Perintah Kerja Per Tekniker

: : pk : npb : detil_pembuatan : gigi : plat : pasien : tekniker


: : jasa
: Staf FrmCetakLapPerintahKerjaPerTekniker
CtrlCetakLapPerintahKerjaPerTekniker

Open()

Open()

PilihPeriode()

PilihPeriode()

PilihTekniker()

PilihTekniker()

DisplayNamaTekniker()

Cetak()

Cetak()

AmbildataPK()

AmbildataNPB()

Ambildatadetil_pembuatan()

AmbildataGigi()

AmbildataJasa()

AmbildataPlat()

AmbildataPasien()

AmbildataTekniker()

ShowLaporanPerintahKerjaPerTekniker()

Keluar()

Keluar()

Gambar 4.47
Sequence Diagram Cetak Laporan Perintah Kerja Per Tekniker
98

l. Sequence Diagram Cetak Laporan Pendapatan Pembuatan

: Staf : : : kwitansi : npb : detil_pembuatan : gigi : plat : jasa : pasien


FrmCetakLapPendapatanPembuatan CtrlCetakLapPendapatanPembuatan
Open()

Open()

Pilih Periode()

PilihPeriode()

Cetak()

Cetak()

AmbildataKwitansi()

AmbildataNPB()

Ambildatadetil_pembuatan()

AmbildataGigi()

AmbildataPlat()

AmbildataJasa()

AmbildataPasien()

ShowLaporanPendapatanPembuatan()

Keluar()

Keluar()

Gambar 4.48
Sequence Diagram Cetak Laporan Pendapatan Pembuatan
99

m. Sequence Diagram Cetak Laporan Pendapatan Perbaikan

: Staf : FrmCetakLapPendapatanPerbaikan : : npr : detil_perbaikan : jasa : pasien


CtrlCetakLapPendapatanPerbaikan
Open()

Open()

Pilih Periode()

PilihPeriode()

Cetak()

Cetak()

AmbildataNPR()

Ambildatadetil_perbaikan()

AmbildataJasa()

AmbildataPasien()

ShowLaporanPendapatanPerbaikan()

Keluar()

Keluar()

Gambar 4.49
Sequence Diagram Cetak Laporan Pendapatan Perbaikan
100

n. Sequence Diagram Cetak Laporan Penanganan Garansi Pembuatan

: Staf : : : pg : kwitansi : npb : pasien : tekniker


FrmCetakLapPenangananGaransiPembuatan CtrlCetakLapPenangananGaransiPembuatan
Open()

Open()

PilihPeriode()

PilihPeriode()

Cetak()

Cetak()

AmbildataGaransi()

AmbildataKwitansi()

AmbildataNPB()

AmbildataPasien()

AmbildataTekniker()

ShowLaporanPenangananGaransiPembuatan()

Keluar()

Keluar()

Gambar 4.50
Sequence Diagram Cetak Laporan Penanganan Garansi
Pembuatan
101

o. Sequence Diagram Cetak Laporan Rekap Jenis Gigi Palsu Paling


Diminati

: Staf : : : npb : detil_pembuatan : gigi


FrmCetakLapRekapJenisGigiPalsuPalingDiminati CtrlCetakLapRekapJenisGigiPalsuPalingDiminati

Open()

Open()

PilihPeriode()

PilihPeriode()

Cetak()

Cetak()

AmbildataNPB()

Ambildatadetil_pembuatan()

AmbildataGigi()

ShowLaporan()

Keluar()

Keluar()

Gambar 4.51
Sequence Diagram Cetak Laporan Rekap Jenis Gigi Palsu
Paling Diminati
102

p. Sequence Diagram Cetak Laporan Status Penanganan Garansi


Pembuatan

: Staf : : : pg : kwitansi : npb : pasien : tekniker


FrmCetakLapStatPenangananGaransiPembuatan CtrlCetakLapStatPenangananGaransiPembuatan
Open()

Open()

PilihPeriode()

PilihPeriode()

Cetak()

Cetak()

AmbildataGaransi()

AmbildataKwitansi()

AmbildataNPB()

AmbildataPasien()

AmbildataTekniker()

ShowLapStatPenangananGaransiPembuatan()

Keluar()

Keluar()

Gambar 4.52
Sequence Diagram Cetak Laporan Status Penanganan Garansi
Pembuatan
103

4.3. Rancangan Class Diagram (Entity, Boundary & Control Class)


4.3.1. Entity Class

Gambar 4.53
Entity Class
104

4.3.2. Boundary Class

Gambar 4.54
Boundary Class
105

4.3.3. Control Class

Gambar 4.55
Control Class
106

4.4. Korelasi Masalah dan Solusi

Berdasarkan hasil dari identifikasi dan analisa masalah sistem berjalan, serta
identifikasi kebutuhan sistem usulan pada Ahli Gigi Tjoen Pao maka dibuatlah table
korelasi masalah dan solusi pada Tabel 4.1

Tabel 4.15 Tabel Korelasi Masalah dan Solusi


No. Permasalahan Pendekatan Solusi Modul/Fitur
Penyelesaian
1. Pada proses Fishbone, Adanya modul Modul Cetak
pembuatan gigi Identifikasi pembuatan Perintah
palsu, terjadi Kebutuhan, perintah kerja Kerja
kesalahan dalam Use Case yang dapat Fitur cari
pembuatan gigi palsu Diagram secara rincian data
oleh tekniker, sebab otomatis pembuatan
penulisan perintah menampilkan pada Modul
kerja oleh staf rincian Cetak
kadang kala dirasa pembuatan Perintah
tidak jelas dan tidak gigi palsu yang Kerja
terstruktur dan dilakukan Fitur cetak
bentuk fisik kadang pasien tanpa ulang
kala rusak. adanya perintah
kesalahan kerja
dalam Fitur update
penulisan tanggal
dengan bentuk selesai
terstruktur dan pembuatan
dapat dicetak gigi palsu
ulang
2. Pada proses Fishbone, Adanya modul Modul Cetak
penanganan garansi, Identifikasi pembuatan Penanganan
terjadi kerugian pada Kebutuhan, penanganan Garansi
proses penanganan Use Case garansi yang Fitur lihat
garansi karena Diagram dapat data kwitansi
dikenakan biaya mengetahui pada Modul
normal yang masa aktif Cetak
disebabkan kwitansi data pasien Penanganan
hilang oleh pasien yang ingin Garansi
sehingga staf tidak melakukan Fitur tidak
mengetahui masa penanganan dapat
aktif garansi dan garansi melakukan
tidak mempunyai walaupun penanganan
back up kwitansi. kwitansi garansi jika
sebagai bukti sudah lewat
garansi telah dari 1 tahun
hilang dari tanggal
pemasangan
3. Pada proses Fishbone, Adanya modul Modul Cetak
pemasangan gigi Identifikasi cetak kwitansi Kwitansi
palsu, lama dalam Kebutuhan, yang dapat Fitur lihat
pencocokan nota Use Case otomatis cari data
pembuatan sebagai Diagram mengetahui pasien yang
bukti pembayaran data gigi palsu melakukan
107

dan pesanan yang dibuat pembuatan


pembuatan gigi palsu dan data gigi palsu
saat proses pembayaran dengan
pemasangan gigi pasien memfilter
palsu, sebab hilang walaupun nota berdasarkan
atau tidak dibawa pembuatan nama pasien
oleh pasien, serta hilang atau dan nomor
nota pembuatan tidak dibawa nota
dengan nota pasien pembuatan
perbaikan masih
menjadi satu arsip
yang membuat lama
dalam pencocokan.
4. Pada proses Fishbone, Adanya modul Modul Cetak
menghitung laporan Identifikasi pembuatan Laporan
pendapatan sering Kebutuhan, laporan Pendapatan
terjadi kesalahan Use Case pendapatan Pembuatan
hitung pada laporan Diagram pembuatan Modul Cetak
pendapatan dan laporan Laporan
dikarenakan laporan pendapatan Pendapatan
pendapatan perbaikan Perbaikan
pembuatan dan yang dapat Fitur
perbaikan masih melakukan mencetak
dalam satu laporan perhitungan sesuai
sehingga staf kurang secara periode yang
teliti. otomatis diinginkan
5. Pada proses Fishbone, Adanya modul Modul Cetak
penanganan garansi Identifikasi pembuatan Laporan
pemilik sulit Kebutuhan, laporan Penanganan
mengetahui Use Case penanganan Garansi
permasalahan yang Diagram garansi yang Fitur
sering diajukan dapat mencetak
pasien saat mengetahui sesuai
penanganan garansi siapa saja periode yang
dikarenakan tidak pasien yang diinginkan
adanya laporan melakukan
penanganan garansi. garansi dan
tekniker yang
menanganinya
, serta keluhan
dan
tindakannya.
BAB V
PENUTUP

Setelah melalui beberapa tahap perancangan sistem informasi jasa pembuatan


dan perbaikan gigi palsu pada Ahli Gigi Tjoen Pao - Jakarta Barat, berikut ini adalah
kesimpulan yang diperoleh dan diharapkan saran - saran yang akan memberikan catatan
penting dan kemungkinan perbaikan yang perlu dilakukan untuk pengembangan sistem
yang sudah ada agar lebih optimal.

5.1. Kesimpulan
Berdasarkan analisa yang telah dilakukan maka perancangan sistem
informasi jasa pembuatan dan perbaikan gigi palsu dapat dijadikan sebagai salah
satu solusi yang tepat untuk meningkatkan pelayanan terhadap pasien dan
kinerja staf maupun tekniker.
Sehingga dapat diambil kesimpulan sebagai berikut :
a. Dengan dibuatkan perintah kerja secara terstruktur dan jelas dan dapat
dicetak ulang sehingga tidak terjadi kesalahan dalam pembuatan gigi palsu
dan tidak merugikan instansi ataupun pasien.
b. Dengan dibuatkan cetak penanganan garansi secara tersistem akan
membantu mempermudah dalam proses penanganan garansi dengan
mengetahui masa aktif garansi meskipun kwitansi sebagai bukti penanganan
garansi telah hilang oleh pasien dan pasien tidak dikenakan biaya selama
masa aktif garansi belum habis.
c. Dengan dibuatkan cetak kwitansi secara tersistem akan membantu
mempermudah dalam proses pencocokan nota pembuatan meskipun nota
pembuatan hilang atau tidak dibawa pasien.
d. Dengan dibuatkan laporan pendapatan dan perbaikan secara terpisah akan
mempermudah dalam perhitungan sehingga tidak terjadi kesalahan dalam
jumlah pendapatan dan dapat mengetahui laporan pendapatan pembuatan
maupun perbaikan secara informatif dan terinci.
e. Dengan dibuatkan laporan penanganan garansi pembuatan akan membantu
pemilik untuk mengetahui permasalahan yang sering diajukan saat
penanganan garansi.

5.2. Saran
Selama menjalankan riset pada Ahli Gigi Tjoen Pao penulis mempunyai
saran yang dapat bermanfaat bagi perkembangan dan kemajuan di masa yang
akan datang, maka saran-saran dapat dijadikan pedoman untuk pengembangan
yang lebih baik, adalah :
a. Dalam rangka terciptanya kinerja sistem yang diharapkan, perlu adanya
pelatihan terhadap staf dalam pengoperasian sistem.
b. Sistem yang dirancang hanyalah akan mengkoordinir kebutuhan pada saat ini
dan beberapa prediksi kebutuhan yang akan datang. Sehingga suatu saat
pasti ada kebutuhan baru yang mengharuskan sistem ini untuk diperbaharui
kembali.
c. Melakukan pemeliharaan terhadap peralatan komputer baik dalam segi
perangkat keras maupun perangkat lunak sehingga sistem komputerisasi
dapat berjalan dengan baik.

108
109

DAFTAR PUSTAKA

Angga, Mohamad. Fishbone Diagram . 09 Mei 2016. http://andgaa.web.id/fishbone-


diagram/.

Arief, M.Rudyanto. Pemrograman Web Dinamis Menggunakan Php dan MySQL.


Yogyakarta : ANDI, 2011.

Asmoko, Hendri. Teknik Ilustrasi Masalah Fishbone Diagrams. Magelang : Balai Diklat
Kepemimpinan, 2016.

A.S, Rosa., dan M. Salahudin. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi
Obyek. Bandung: Informatika Bandung, 2013.

Hurriyati, Ratih. Bauran Pemasaran dan Loyalitas Konsumen. Jakarta : Alfabeta CV. 2010

Kotler, Philip. Manajemen Pemasaran di Indonesia : Analisis, Perencanaan, Implementasi


dan Pengendalian. Jakarta: Salemba Empat, 2008.

Prabantini, Dwi. Cracking Creativity The Secret of Creative Genius Edisi 1. Yogyakarta :
Andi, 2010.

Mulyanto, Agus.Sistem Informasi Konsep dan Aplikasi. Yogyakarta: Pustaka Pelajar, 2009.

Riyanto. Sistem Informasi Penjualan Dengan PHP Dan MySQL . Yogyakarta : Gava Media,
2010.

Sadeli, Muhammad. 7 Jam Belajar Interaktif Visual Basic.net 2008 . Palembang :


Maxikom, 2009.

Safira, Nurmala. Bauran Pemasaran Menurut Kotler dan Amstrong. 10 mei 2016.
http://cahtelaga.blogspot.co.id/2013/06/bauran-pemasaran-menurut-menurut-
kotler.html

Satzinger, W, J., Jackson, B, R., dan Burd, D, S. Systems Analysis and


Design In A Changing World. Boston: Cengage Learning. 2009.

Setiawan, F.D. Perawatan Mekanikal Mesin Produksi. Yogyakarta : Maximus. 2008.

Sholiq.Analisa Dan Perancangan Berorientasi Obyek. Bandung: Mutiara Indah, 2010.

Sutabri, Tata, S.Kom.,MM.Analisis Sistem Informasi. Yogyakarta: Andi, 2012.

Susanto, Azhar. Sistem Informasi Akutansi. Bandung : Lingga Jaya, 2013.

Sutarman. Pengantar Teknologi Informasi. Yogyakarta: PT.Bentang Pustaka, 2009

Subhan, Mohamad. Analisa Perancangan Sistem. Jakarta : Lentera Ilmu Cendikia


110

LAMPIRAN A
KELUARAN SISTEM BERJALAN
111

Lampiran A - 1
Keluaran Sistem Berjalan Nota Pembuatan
112

Lampiran A - 2
Keluaran Sistem Berjalan Nota Perbaikan
113

Lampiran A - 3
Keluaran Sistem Berjalan Perintah Kerja
114

Lampiran A - 4
Keluaran Sistem Berjalan Kwitansi
115

Lampiran A - 5
Keluaran Sistem Berjalan Penanganan Garansi
116

Lampiran A - 6
Keluaran Sistem Berjalan Laporan Pendapatan
117

Lampiran A - 7
Keluaran Sistem Berjalan Laporan Perintah Kerja
118

LAMPIRAN - B
MASUKAN SISTEM BERJALAN
119

SUARA

Lampiran B - 1
Masukan Sistem Berjalan Data Pasien
120

SUARA

Lampiran B - 2
Masukan Sistem Berjalan Pesanan Pembuatan
121

SUARA

Lampiran B - 3
Masukan Sistem Berjalan Keluhan Perbaikan
122

SUARA

Lampiran B - 4
Masukan Sistem Berjalan Keluhan Penanganan Garansi Pasien
123

LAMPIRAN - C
RANCANGAN KELUARAN
124

[SEJAK 1958]
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

NOTA PEMBUATAN

Yth No. NPB : x-7-x


Nama : x-30-x Tgl. NPB : dd/MM/yyyy
No. Telp : x-12-x
Alamat : x-125-x

Jasa : x-40-x Plat : x-20-x


Harga : Rp 999.999 Harga : Rp 999.999
Nama Jenis Bagian Warna Ukuran Harga (Rp)
x-40-x x-10-x x-20-x x-20-x x-10-x 999.999

x-40-x x-10-x x-20-x x-20-x x-10-x 999.999

Total Harga : Rp 9.999.999


Bayar : Rp 9.999.999
Sisa Bayar : Rp 9.999.999

Tanda Terima, Hormat Kami,

(..............) (..............)

NOTE :
Bawa nota pembuatan ini saat anda ingin memasang gigi palsu
Pembuatan gigi palsu maksimal 1 minggu
DP wajib 50% dari total harga
Pasien wajib melunasi sisa bayar sebelum gigi palsu dipasang
Gigi palsu yang sudah jadi dan tidak diambil lebih dari 3 bulan dari tanggal
selesai pembuatan bukan menjadi tanggung jawab kami

Lampiran C - 1
Rancangan Keluaran Nota Pembuatan
125

[SEJAK 1958]
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

NOTA PERBAIKAN

Yth No. NPR : x-8-x


Nama : x-30-x Tgl. NPR : dd/MM/yyyy
No. Telp : x-12-x
Alamat : x-125-x

Keluhan : x-100-x Jam Selesai : HH:mm WIB


Jasa Harga (Rp) Qty Jumlah (Rp) Keterangan
x-40-x 999.999 99 999.999 x-100-x

x-40-x 999.9999 99 999.999 x-100-x

Total Harga : Rp 999.999

Tanda Terima, Hormat Kami,

(..............) (..............)

Lampiran C - 2
Rancangan Keluaran Nota Perbaikan
126

PERINTAH KERJA
No. PK Tgl. PK
[ SEJAK 1958 ]
x-6-x dd/MM/yyyy
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

No. NPB : x-7-x

DATA PASIEN DATA TEKNIKER

Nama : x-30-x Nama : x-30-x


No. Telp : x-12-x No. Telp : x-12-x
Alamat : x-125-x

Rincian perintah kerja sebagai berikut :

Jasa : x-40-x
Plat : x-20-x

No. Nama Jenis Bagian Warna Ukuran


99 x-40-x x-10-x x-20-x x-20-x x-10-x

99 x-40-x x-10-x x-20-x x-20-x x-10-x

Tekniker Staf

(..............) (..............)

NOTE : Semua rincian yang tertulis pada perintah kerja ini telah disetujui oleh pasien.

Lampiran C - 3
Rancangan Keluaran Perintah Kerja
127

[SEJAK 1958]
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

KWITANSI
No. Kwitansi : x-7-x No. NPB : x-7-x
Tgl. NPB : dd/MM/yyyy
Telah terima dari : x-30-x

Uang Sejumlah : Rp. 9.999.999

Terbilang : x-50-x

Untuk pembayaran sebagai berikut :

Jasa : x-40-x Plat : x-20-x


Harga : Rp 999.999 Harga : Rp 999.999
Nama Jenis Bagian Warna Ukuran Harga (Rp)
x-40-x x-10-x x-20-x x-20-x x-10-x 999.999

x-40-x x-10-x x-20-x x-20-x x-10-x 999.999


NOTE : Ket :
Kwitansi ini sebagai bukti garansi pembuatan Sisa Bayar : Rp 9.999.999
selama 1 tahun dari tanggal kwitansi Pelunasan : Rp 9.999.999
Kwitansi ini dibawa saat mengajukan garansi
Kwitansi yang hilang tidak dapat dicetak ulang

Jakarta, dd/MM/yyyy

(..............)

Lampiran C - 4
Rancangan Keluaran Kwitansi
128

PENANGANAN GARANSI
No. PG Tgl. PG
[ SEJAK 1958 ]

AHLI GIGI TJOEN PAO x-6-x dd/MM/yyyy


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

Saya yang mengajukan garansi dibawah ini : No. Kwitansi : x-7-x


Nama Pasien : x-30-x Tgl. Kwitansi : dd/MM/yyyy
No. Telp : x-12-x
Alamat : x-125-x

Nama Tekniker : x-30-x


Keluhan Tindakan
x-100-x x-100-x

x-100-x x-100-x

Masa aktif garansi sampai dengan : dd/MM/yyyy

Tekniker Staf

(..............) (..............)

Lampiran C - 5
Rancangan Keluaran Penanganan Garansi
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

[ SEJAK 1958 ] Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

LAPORAN PERINTAH KERJA PER TEKNIKER


Periode : dd/MM/yyyy s/d dd/MM/yyyy

Nama Tekniker : x-30-x

Tgl. Selesai Nama Jasa / Nama Gigi Jenis Gigi Bagian Gigi
No. No. PK Tgl. PK Nama Pasien
PK Nama Plat
99 x-6-x dd/MM/yyyy dd/MM/yyyy x-30-x x-40-x x-40-x x-10-x x-20-x
x-20-x

Lampiran C - 6
x-40-x
99 x-6-x dd/MM/yyyy dd/MM/yyyy x-30-x x-20-x x-40-x x-10-x x-20-x

Mengetahui, Jakarta, dd/MM/yyyy

Rancangan Keluaran Laporan Perintah Kerja Per Tekniker


Pemilik Staf

(...) (...)
129
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

[ SEJAK 1958 ] Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

LAPORAN PENDAPATAN PEMBUATAN

Periode : dd/MM/yyyy s/d dd/MM/yyyy

Nama Jasa / Harga Jasa (Rp)/ Harga Gigi


No. No. Kwitansi Tgl. Kwitansi Nama Pasien Nama Gigi Jenis Gigi Bagian Gigi
Nama Plat Harga Plat (Rp) (Rp)

99 x-7-x dd/MM/yyyy x-30-x x-40-x 999.999 x-40-x x-10-x x-20-x 999.999


x-20-x

Lampiran C - 7
x-40-x
99 x-7-x dd/MM/yyyy x-30-x x-20-x 999.999 x-40-x x-10-x x-20-x 999.999

Total Jumlah Harga Jasa : Rp 99.999.999


Total Jumlah Harga Plat : Rp 99.999.999
Total Jumlah Harga Gigi : Rp 99.999.999

TOTAL PENDAPATAN : Rp 99.999.999

Rancangan Keluaran Laporan Pendapatan Pembuatan


Mengetahui, Jakarta, dd/MM/yyyy
Pemilik Staf

(...) (...)
130
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

[ SEJAK 1958 ] Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

LAPORAN PENDAPATAN PERBAIKAN

Periode : dd/MM/yyyy s/d dd/MM/yyyy

No. No. NPR Tgl. NPR Nama Pasien Nama Jasa Harga Jasa (Rp) Qty Jumlah Harga (Rp)

99 x-8-x dd/MM/yyyy x-30-x x-40-x 999.999 99 9.999.999

Lampiran C - 8
99 x-8-x dd/MM/yyyy x-30-x x-40-x 999.999 99 9.999.999

Total Pendapatan 99.999.999

Rancangan Keluaran Laporan Pendapatan Perbaikan


Mengetahui, Jakarta, dd/MM/yyyy
Pemilik Staf

(...) (...)
131
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

[ SEJAK 1958 ] Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

LAPORAN PENANGANAN GARANSI PEMBUATAN

Periode : dd/MM/yyyy s/d dd/MM/yyyy

No. No. PG Tgl. PG Tgl. Alamat Keluhan


Nama Pasien Tindakan Tekniker Tgl. Aktif Garansi
Selesai PG
99 x-6-x dd/MM/yyyy dd/MM/yyyy x-30-x x-125-x x-100-x x-100-x x-30-x dd/MM/yyyy

Lampiran C - 9
99 x-6-x dd/MM/yyyy dd/MM/yyyy x-30-x x-125-x x-100-x x-100-x x-30-x dd/MM/yyyy

Mengetahui, Jakarta, dd/MM/yyyy


Pemilik Staf

Rancangan Keluaran Laporan Penanganan Garansi Pembuatan


(...) (...)
132
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

[ SEJAK 1958 ] Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

LAPORAN REKAP JENIS GIGI PALSU PALING DIMINATI

Periode : dd/MM/yyyy s/d dd/MM/yyyy

Jenis gigi palsu yang paling diminati :

Jan - 9999 Feb - 9999 Mar - 9999 Apr - 9999 Mei - 9999 Jun - 9999 Jul - 9999 Agt - 9999 Total

X - 20 - X 999 999 999 999 999 999 999 999 9999

X - 20 - X 999 999 999 999 999 999 999 999 9999

Lampiran C - 10
X - 20 - X 999 999 999 999 999 999 999 999 9999
Total 9999 9999 9999 9999 9999 9999 9999 9999 99999

Mengetahui, Jakarta, dd/MM/yyyy


Pemilik Staf

(...) (...)
133
AHLI GIGI TJOEN PAO
JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU

[ SEJAK 1958 ] Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

LAPORAN STATUS PENANGANAN GARANSI PEMBUATAN


Periode : dd/MM/yyyy s/d dd/MM/yyyy

No. No. PG Tgl. PG Status Nama Pasien Alamat Tekniker Tgl. Aktif Garansi

99 x-6-x dd/MM/yyyy x-15-x x-30-x x-125-x x-30-x dd/MM/yyyy

Lampiran C - 11
99 x-6-x dd/MM/yyyy x-15-x x-30-x x-125-x x-30-x dd/MM/yyyy

Mengetahui, Jakarta, dd/MM/yyyy


Pemilik Staf
Rancangan Keluaran Laporan Rekap Jenis Gigi Palsu Paling Diminati

Rancangan Keluaran Laporan Status Penanganan Garansi Pembuatan


(...) (...)
134
135

LAMPIRAN D
RANCANGAN MASUKAN
136

AHLI GIGI TJOEN PAO


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
[ SEJAK 1958 ]
Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

DATA PASIEN

Kode Pasien :
Nama :

No. Telepon :

Alamat :

Jakarta, dd/MM/yyyy

()

Lampiran D - 1
Rancangan Masukan Data Pasien
137

AHLI GIGI TJOEN PAO


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
[ SEJAK 1958 ]
Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

DATA TEKNIKER

Kode Tekniker :
Nama :

No. Telepon :

Alamat :

Jakarta, dd/MM/yyyy

()

Lampiran D - 2
Rancangan Masukan Data Tekniker
138

AHLI GIGI TJOEN PAO


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
[ SEJAK 1958 ]
Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

DATA GIGI

Kode Nama Jenis Bagian Warna Ukuran Harga

x-4-x x-40-x x-10-x x-20-x x-20-x x-10-x 999.999

x-4-x x-40-x x-10-x x-20-x x-20-x x-10-x 999.999

Jakarta, dd/MM/yyyy

()

Lampiran D - 3
Rancangan Masukan Data Gigi
139

AHLI GIGI TJOEN PAO


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
[ SEJAK 1958 ]
Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

DATA PLAT

Kode Nama Plat Harga


x-2-x x-20-x 999.999

x-2-x x-20-x 999.999

Jakarta, dd/MM/yyyy

()

Lampiran D - 4
Rancangan Masukan Data Plat
140

AHLI GIGI TJOEN PAO


JASA PEMBUATAN DAN PERBAIKAN GIGI PALSU
[ SEJAK 1958 ]
Jl. Jembatan 5 No.274 KH. M. Mansyur - Jakarta Barat | Telp. 0857 1753 7760

DATA JASA

Kode Nama Jasa Harga


x-4-x x-40-x 999.999

x-4-x x-40-x 999.999

Jakarta, dd/MM/yyyy

()

Lampiran D - 5
Rancangan Masukan Data Jasa
141

LAMPIRAN E
SURAT KETERANGAN RISET
142

Lampiran E - 1
Surat Keterangan Riset
143

LISTING PROGRAM
144

Form Menu Utama

Public Class FORM_MENU


Private Sub btn_datapasien_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_datapasien.Click
EntryDataPasien.Show()
Me.Hide()
End Sub
Private Sub btn_datatekniker_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_datatekniker.Click
EntryDataTekniker.Show()
Me.Hide()
End Sub
Private Sub btn_datagigi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_datagigi.Click
EntryDataGigi.Show()
Me.Hide()
End Sub
Private Sub btn_dataplat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_dataplat.Click
EntryDataPlat.Show()
Me.Hide()
End Sub
Private Sub btn_datajasa_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_datajasa.Click
EntryDataJasa.Show()
Me.Hide()
End Sub
Private Sub btn_cetaknotapembuatan_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btn_cetaknotapembuatan.Click
CetakNotaPembuatan.Show()
Me.Hide()
End Sub
Private Sub btn_cetakperintahkerja_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetakperintahkerja.Click
CetakPerintahKerja.Show()
Me.Hide()
End Sub
Private Sub btn_cetaknotaperbaikan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetaknotaperbaikan.Click
CetakNotaPerbaikan.Show()
Me.Hide()
End Sub
Private Sub btn_cetakkwitansi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetakkwitansi.Click
CetakKwitansi.Show()
Me.Hide()
End Sub
Private Sub btn_cetakpenanganangaransi_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btn_cetakpenanganangaransi.Click
CetakPenangananGaransi.Show()
Me.Hide()
145

End Sub
Private Sub btn_perintahkerjapertekniker_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btn_perintahkerjapertekniker.Click
PerintahKerjaPerTekniker.Show()
Me.Hide()
End Sub
Private Sub btn_pendapatanpembuatan_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btn_pendapatanpembuatan.Click
PendapatanPembuatan.Show()
Me.Hide()
End Sub
Private Sub btn_pendapatanperbaikan_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btn_pendapatanperbaikan.Click
PendapatanPerbaikan.Show()
Me.Hide()
End Sub
Private Sub btn_penanganangaransi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_penanganangaransi.Click
PenangananGaransiPembuatan.Show()
Me.Hide()
End Sub
Private Sub btn_statusgaransi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_statusgaransi.Click
StatusGaransiPembuatan.Show()
Me.Hide()
End Sub
Private Sub btn_rekappembuatangigipalsu_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btn_rekappembuatangigipalsu.Click
RekapPembuatanGigiPalsu.Show()
Me.Hide()
End Sub
Private Sub FORM_MENU_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If MessageBox.Show("APAKAH ANDA INGIN KELUAR DARI PROGRAM INI?",
"INFORMASI", MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
e.Cancel = False
Else
e.Cancel = True
End If
End Sub
End Class
146

Entry Data Pasien

Imports System.Data.Odbc
Public Class EntryDataPasien
Dim obj_pasien As New cls_pasien
Dim NilaiKembali As Integer
Private Sub EntryDataPasien_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
OpenConn()
bersihobject()
txt_kodepasien.Text = obj_pasien.autonumber
End Sub

Private Sub EntryDataPasien_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Sub bersihobject()
txt_namapasien.Text = ""
txt_notlppasien.Text = ""
txt_alamatpasien.Text = ""
End Sub

Private Sub txt_notlppasien_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txt_notlppasien.KeyPress
If Not (Asc(e.KeyChar) >= Asc("0") And Asc(e.KeyChar) <= Asc("9") Or
Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13) Then
e.KeyChar = Chr(0)
MessageBox.Show("Harap Masukan Angka")
ElseIf Asc(e.KeyChar) = 13 Then
End If
End Sub

Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_simpan.Click
If txt_namapasien.Text = "" Or txt_notlppasien.Text = "" Or txt_alamatpasien.Text
= "" Then
MsgBox("Data yang Anda Entry Belum Lengkap", MsgBoxStyle.Information, "")
Exit Sub
End If
If obj_pasien.validsimpan = True Then
MsgBox("KODE PASIEN SUDAH ADA DIDALAM DATA BASE")
bersihobject()
txt_kodepasien.Text = obj_pasien.autonumber
Exit Sub
End If
obj_pasien.Pkd_psn = txt_kodepasien.Text
obj_pasien.Pnm_psn = txt_namapasien.Text
obj_pasien.Pnotlp_psn = txt_notlppasien.Text
obj_pasien.Palamat_psn = txt_alamatpasien.Text
NilaiKembali = obj_pasien.simpan()
If NilaiKembali = 1 Then
147

MsgBox("DATA BERHASIL DISIMPAN", MsgBoxStyle.Information, "INFORMASI")


End If
bersihobject()
txt_kodepasien.Text = obj_pasien.autonumber
txt_namapasien.Focus()
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_batal.Click
bersihobject()
txt_kodepasien.Text = obj_pasien.autonumber
btn_simpan.Enabled = True
End Sub

Private Sub btn_ubah_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_ubah.Click
If txt_namapasien.Text = "" Or txt_notlppasien.Text = "" Or txt_alamatpasien.Text
= "" Then
MsgBox("Tidak Ada Data yang Diubah Karena Data Belum Lengkap",
MsgBoxStyle.Information, "")
Exit Sub
End If
If MessageBox.Show("Apakah Data Ingin Diubah ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
obj_pasien.Pkd_psn = txt_kodepasien.Text
obj_pasien.Pnm_psn = txt_namapasien.Text
obj_pasien.Pnotlp_psn = txt_notlppasien.Text
obj_pasien.Palamat_psn = txt_alamatpasien.Text
NilaiKembali = obj_pasien.ubah()
MsgBox("DATA BERHASIL DIUBAH", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodepasien.Text = obj_pasien.autonumber
End Sub

Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_hapus.Click
obj_pasien.Pkd_psn = txt_kodepasien.Text
If MessageBox.Show("Apakah Data Ingin Dihapus ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
NilaiKembali = obj_pasien.hapus()
MsgBox("DATA BERHASIL DIHAPUS", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodepasien.Text = obj_pasien.autonumber
148

txt_namapasien.Focus()
End Sub

Private Sub btn_caripasien_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_caripasien.Click
Dim oPop As New PopUpPasien
oPop.ShowDialog()
If oPop.okd_psn <> "" Then
txt_kodepasien.Text = oPop.okd_psn
txt_namapasien.Text = oPop.onm_psn
txt_alamatpasien.Text = oPop.oalamat_psn
txt_notlppasien.Text = oPop.onotlp_psn
End If
End Sub

Private Sub txt_namapasien_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txt_namapasien.TextChanged
Dim i As Integer = txt_namapasien.SelectionStart
txt_namapasien.Text = StrConv(txt_namapasien.Text, VbStrConv.ProperCase)
txt_namapasien.SelectionStart = i
End Sub

Private Sub txt_alamatpasien_TextChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles txt_alamatpasien.TextChanged
Dim i As Integer = txt_alamatpasien.SelectionStart
txt_alamatpasien.Text = StrConv(txt_alamatpasien.Text, VbStrConv.ProperCase)
txt_alamatpasien.SelectionStart = i
End Sub
End Class
149

Entry Data Tekniker

Imports System.Data.Odbc
Public Class EntryDataTekniker
Dim obj_tekniker As New cls_tekniker
Dim NilaiKembali As Integer

Private Sub EntryDataTekniker_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
OpenConn()
bersihobject()
txt_kodetekniker.Text = obj_tekniker.autonumber
End Sub

Private Sub EntryDataTekniker_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Sub bersihobject()
txt_namatekniker.Text = ""
txt_notlptekniker.Text = ""
txt_alamattekniker.Text = ""
End Sub

Private Sub txt_notlptekniker_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txt_notlptekniker.KeyPress
If Not (Asc(e.KeyChar) >= Asc("0") And Asc(e.KeyChar) <= Asc("9") Or
Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13) Then
e.KeyChar = Chr(0)
MessageBox.Show("Harap Masukan Angka")
ElseIf Asc(e.KeyChar) = 13 Then
End If
End Sub

Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_simpan.Click
If txt_namatekniker.Text = "" Or txt_notlptekniker.Text = "" Or
txt_alamattekniker.Text = "" Then
MsgBox("Data yang Anda Entry Belum Lengkap", MsgBoxStyle.Information, "")
Exit Sub
End If
If obj_tekniker.validsimpan = True Then
MsgBox("KODE TEKNIKER SUDAH ADA DIDALAM DATA BASE")
bersihobject()
txt_kodetekniker.Text = obj_tekniker.autonumber
Exit Sub
End If
obj_tekniker.Pkd_tkr = txt_kodetekniker.Text
obj_tekniker.Pnm_tkr = txt_namatekniker.Text
obj_tekniker.Pnotlp_tkr = txt_notlptekniker.Text
obj_tekniker.Palamat_tkr = txt_alamattekniker.Text
NilaiKembali = obj_tekniker.simpan()
If NilaiKembali = 1 Then
150

MsgBox("DATA BERHASIL DISIMPAN", MsgBoxStyle.Information, "INFORMASI")


End If
bersihobject()
txt_kodetekniker.Text = obj_tekniker.autonumber
txt_namatekniker.Focus()
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_batal.Click
bersihobject()
txt_kodetekniker.Text = obj_tekniker.autonumber
btn_simpan.Enabled = True
End Sub

Private Sub btn_ubah_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_ubah.Click
If txt_namatekniker.Text = "" Or txt_notlptekniker.Text = "" Or
txt_alamattekniker.Text = "" Then
MsgBox("Tidak Ada Data yang Diubah Karena Data Belum Lengkap",
MsgBoxStyle.Information, "")
Exit Sub
End If
If MessageBox.Show("Apakah Data Ingin Diubah ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
obj_tekniker.Pkd_tkr = txt_kodetekniker.Text
obj_tekniker.Pnm_tkr = txt_namatekniker.Text
obj_tekniker.Pnotlp_tkr = txt_notlptekniker.Text
obj_tekniker.Palamat_tkr = txt_alamattekniker.Text
NilaiKembali = obj_tekniker.ubah()
MsgBox("DATA BERHASIL DIUBAH", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodetekniker.Text = obj_tekniker.autonumber
End Sub

Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_hapus.Click
obj_tekniker.Pkd_tkr = txt_kodetekniker.Text
If MessageBox.Show("Apakah Data Ingin Dihapus ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
NilaiKembali = obj_tekniker.hapus()
MsgBox("DATA BERHASIL DIHAPUS", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodetekniker.Text = obj_tekniker.autonumber
151

txt_namatekniker.Focus()
End Sub

Private Sub btn_caritekniker_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_caritekniker.Click
Dim oPop As New PopUpTekniker
oPop.ShowDialog()
If oPop.okd_tkr <> "" Then
txt_kodetekniker.Text = oPop.okd_tkr
txt_namatekniker.Text = oPop.onm_tkr
txt_notlptekniker.Text = oPop.onotlp_tkr
txt_alamattekniker.Text = oPop.oalamat_tkr
End If
End Sub

Private Sub txt_namatekniker_TextChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles txt_namatekniker.TextChanged
Dim i As Integer = txt_namatekniker.SelectionStart
txt_namatekniker.Text = StrConv(txt_namatekniker.Text, VbStrConv.ProperCase)
txt_namatekniker.SelectionStart = i
End Sub

Private Sub txt_alamattekniker_TextChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles txt_alamattekniker.TextChanged
Dim i As Integer = txt_alamattekniker.SelectionStart
txt_alamattekniker.Text = StrConv(txt_alamattekniker.Text, VbStrConv.ProperCase)
txt_alamattekniker.SelectionStart = i
End Sub
End Class
152

Entry Data Gigi

Imports System.Data.Odbc
Public Class EntryDataGigi
Dim obj_gigi As New cls_gigi
Dim NilaiKembali As Integer

Private Sub EntryDataGigi_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
OpenConn()
bersihobject()
txt_kodegigi.Text = obj_gigi.autonumber
End Sub

Private Sub EntryDataGigi_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Sub bersihobject()
txt_namagigi.Text = ""
txt_jenisgigi.Text = ""
txt_bagiangigi.Text = ""
txt_warnagigi.Text = ""
txt_ukurangigi.Text = ""
txt_hargagigi.Text = ""
End Sub

Private Sub txt_hargagigi_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txt_hargagigi.KeyPress
If Not (Asc(e.KeyChar) >= Asc("0") And Asc(e.KeyChar) <= Asc("9") Or
Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13) Then
e.KeyChar = Chr(0)
MessageBox.Show("Harap Masukan Angka")
ElseIf Asc(e.KeyChar) = 13 Then
End If
End Sub

Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_simpan.Click
If txt_namagigi.Text = "" Or txt_jenisgigi.Text = "" Or txt_bagiangigi.Text = "" Or
txt_warnagigi.Text = "" Or txt_ukurangigi.Text = "" Or txt_hargagigi.Text = "" Then
MsgBox("Data yang Anda Entry Belum Lengkap", MsgBoxStyle.Information, "")
Exit Sub
End If
If obj_gigi.validsimpan = True Then
MsgBox("KODE GIGI SUDAH ADA DIDALAM DATA BASE")
bersihobject()
txt_kodegigi.Text = obj_gigi.autonumber
Exit Sub
End If
obj_gigi.Pkd_gigi = txt_kodegigi.Text
obj_gigi.Pnm_gigi = txt_namagigi.Text
obj_gigi.Pjns_gigi = txt_jenisgigi.Text
153

obj_gigi.Pbgn_gigi = txt_bagiangigi.Text
obj_gigi.Pwrn_gigi = txt_warnagigi.Text
obj_gigi.Pukr_gigi = txt_ukurangigi.Text
obj_gigi.Phrg_gigi = txt_hargagigi.Text
NilaiKembali = obj_gigi.simpan()
If NilaiKembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN", MsgBoxStyle.Information, "INFORMASI")
End If
bersihobject()
txt_kodegigi.Text = obj_gigi.autonumber
txt_namagigi.Focus()
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_batal.Click
bersihobject()
txt_kodegigi.Text = obj_gigi.autonumber
btn_simpan.Enabled = True
End Sub

Private Sub btn_ubah_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_ubah.Click
If txt_namagigi.Text = "" Or txt_jenisgigi.Text = "" Or txt_bagiangigi.Text = "" Or
txt_warnagigi.Text = "" Or txt_ukurangigi.Text = "" Or txt_hargagigi.Text = "" Then
MsgBox("TIDAK ADA DATA YANG DIUBAH KARENA DATA BELUM LENGKAP",
MsgBoxStyle.Information, "")
Exit Sub
End If
If MessageBox.Show("APAKAH DATA INGIN DIUBAH ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
obj_gigi.Pkd_gigi = txt_kodegigi.Text
obj_gigi.Pnm_gigi = txt_namagigi.Text
obj_gigi.Pjns_gigi = txt_jenisgigi.Text
obj_gigi.Pbgn_gigi = txt_bagiangigi.Text
obj_gigi.Pwrn_gigi = txt_warnagigi.Text
obj_gigi.Pukr_gigi = txt_ukurangigi.Text
obj_gigi.Phrg_gigi = txt_hargagigi.Text
NilaiKembali = obj_gigi.ubah()
MsgBox("DATA BERHASIL DIUBAH", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodegigi.Text = obj_gigi.autonumber
End Sub

Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_hapus.Click
obj_gigi.Pkd_gigi = txt_kodegigi.Text
154

If MessageBox.Show("Apakah Data Ingin Dihapus ?", "INFORMASI",


MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
NilaiKembali = obj_gigi.hapus()
MsgBox("DATA BERHASIL DIHAPUS", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodegigi.Text = obj_gigi.autonumber
txt_namagigi.Focus()
End Sub

Private Sub txt_hargagigi_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txt_hargagigi.TextChanged
Dim X As Long
If txt_hargagigi.Text = "" Or Not IsNumeric(txt_hargagigi.Text) Then
Exit Sub
End If
X = txt_hargagigi.Text
txt_hargagigi.Text = Format(X, "##,##0")
txt_hargagigi.SelectionStart = Len(txt_hargagigi.Text)
End Sub
Private Sub btn_carigigi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_carigigi.Click
Dim oPop As New PopUpGigi
oPop.ShowDialog()
End Sub
End Class
155

Entry Data Plat

Imports System.Data.Odbc
Public Class EntryDataPlat
Dim obj_plat As New cls_plat
Dim nilaikembali As Integer
Private Sub EntryDataPlat_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
OpenConn()
bersihobject()
txt_kodeplat.Text = obj_plat.autonumber
End Sub
Private Sub EntryDataPlat_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Sub bersihobject()
txt_namaplat.Text = ""
txt_hargaplat.Text = ""
End Sub

Private Sub txt_hargaplat_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txt_hargaplat.KeyPress
If Not (Asc(e.KeyChar) >= Asc("0") And Asc(e.KeyChar) <= Asc("9") Or
Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13) Then
e.KeyChar = Chr(0)
MessageBox.Show("Harap Masukan Angka")
ElseIf Asc(e.KeyChar) = 13 Then
End If
End Sub
Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_simpan.Click
If txt_kodeplat.Text = "" Or txt_namaplat.Text = "" Or txt_hargaplat.Text = ""
Then
MsgBox("Data yang Anda Entry Belum Lengkap", MsgBoxStyle.Information, "")
Exit Sub
End If
If obj_plat.validsimpan = True Then
MsgBox("KODE PLAT SUDAH ADA DIDALAM DATA BASE")
bersihobject()
txt_kodeplat.Text = obj_plat.autonumber
Exit Sub
End If
obj_plat.Pkd_plat = txt_kodeplat.Text
obj_plat.Pnm_plat = txt_namaplat.Text
obj_plat.Phrg_plat = txt_hargaplat.Text
nilaikembali = obj_plat.simpan()
If nilaikembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN", MsgBoxStyle.Information, "INFORMASI")
End If
bersihobject()
txt_kodeplat.Text = obj_plat.autonumber
txt_namaplat.Focus()
156

End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_batal.Click
bersihobject()
txt_kodeplat.Text = obj_plat.autonumber
btn_simpan.Enabled = True
End Sub

Private Sub btn_ubah_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_ubah.Click
If txt_kodeplat.Text = "" Or txt_namaplat.Text = "" Or txt_hargaplat.Text = ""
Then
MsgBox("Tidak Ada Data yang Diubah Karena Data Belum Lengkap",
MsgBoxStyle.Information, "")
Exit Sub
End If
If MessageBox.Show("Apakah Data Ingin Diubah ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
obj_plat.Pkd_plat = txt_kodeplat.Text
obj_plat.Pnm_plat = txt_namaplat.Text
obj_plat.Phrg_plat = txt_hargaplat.Text
nilaikembali = obj_plat.ubah()
MsgBox("DATA BERHASIL DIUBAH", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodeplat.Text = obj_plat.autonumber
End Sub

Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_hapus.Click
obj_plat.Pkd_plat = txt_kodeplat.Text
If MessageBox.Show("Apakah Data Ingin Dihapus ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
nilaikembali = obj_plat.hapus()
MsgBox("DATA BERHASIL DIHAPUS", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodeplat.Text = obj_plat.autonumber
txt_namaplat.Focus()
End Sub

Private Sub btn_cariplat_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_cariplat.Click
Dim oPop As New PopUpPlat
157

oPop.ShowDialog()
If oPop.okd_plat <> "" Then
txt_kodeplat.Text = oPop.okd_plat
txt_namaplat.Text = oPop.onm_plat
txt_hargaplat.Text = oPop.ohrg_plat
End If
End Sub

Private Sub txt_hargaplat_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txt_hargaplat.TextChanged
Dim X As Long
If txt_hargaplat.Text = "" Or Not IsNumeric(txt_hargaplat.Text) Then
Exit Sub
End If
X = txt_hargaplat.Text
txt_hargaplat.Text = Format(X, "##,##0")
txt_hargaplat.SelectionStart = Len(txt_hargaplat.Text)
End Sub

Private Sub txt_namaplat_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txt_namaplat.TextChanged
Dim i As Integer = txt_namaplat.SelectionStart
txt_namaplat.Text = StrConv(txt_namaplat.Text, VbStrConv.ProperCase)
txt_namaplat.SelectionStart = i
End Sub
End Class
158

Entry Data Jasa

Imports System.Data.Odbc
Public Class EntryDataJasa
Dim obj_jasa As New cls_jasa
Dim nilaikembali As Integer

Private Sub EntryDataJasa_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
OpenConn()
bersihobject()
txt_kodejasa.Text = obj_jasa.autonumber
End Sub

Private Sub EntryDataJasa_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Sub bersihobject()
txt_namajasa.Text = ""
txt_hargajasa.Text = ""
End Sub

Private Sub txt_hargajasa_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txt_hargajasa.KeyPress
If Not (Asc(e.KeyChar) >= Asc("0") And Asc(e.KeyChar) <= Asc("9") Or
Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 13) Then
e.KeyChar = Chr(0)
MessageBox.Show("Harap Masukan Angka")
ElseIf Asc(e.KeyChar) = 13 Then
End If
End Sub

Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_simpan.Click
If txt_kodejasa.Text = "" Or txt_namajasa.Text = "" Or txt_hargajasa.Text = ""
Then
MsgBox("Data yang Anda Entry Belum Lengkap", MsgBoxStyle.Information, "")
Exit Sub
End If
If obj_jasa.validsimpan = True Then
MsgBox("KODE JASA SUDAH ADA DIDALAM DATA BASE")
bersihobject()
txt_kodejasa.Text = obj_jasa.autonumber
Exit Sub
End If
If obj_jasa.valid_namajasa = True Then
MsgBox("NAMA JASA SUDAH ADA DIDALAM DATA BASE")
bersihobject()
txt_kodejasa.Text = obj_jasa.autonumber
Exit Sub
End If
obj_jasa.Pkd_js = txt_kodejasa.Text
159

obj_jasa.Pnm_js = txt_namajasa.Text
obj_jasa.Phrg_js = txt_hargajasa.Text
nilaikembali = obj_jasa.simpan()
If nilaikembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN", MsgBoxStyle.Information, "INFORMASI")
End If
bersihobject()
txt_kodejasa.Text = obj_jasa.autonumber
txt_namajasa.Focus()
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_batal.Click
bersihobject()
txt_kodejasa.Text = obj_jasa.autonumber
btn_simpan.Enabled = True
End Sub

Private Sub btn_ubah_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_ubah.Click
If txt_kodejasa.Text = "" Or txt_namajasa.Text = "" Or txt_hargajasa.Text = ""
Then
MsgBox("Tidak Ada Data yang Diubah Karena Data Belum Lengkap",
MsgBoxStyle.Information, "")
Exit Sub
End If
If MessageBox.Show("Apakah Data Ingin Diubah ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
obj_jasa.Pkd_js = txt_kodejasa.Text
obj_jasa.Pnm_js = txt_namajasa.Text
obj_jasa.Phrg_js = txt_hargajasa.Text
nilaikembali = obj_jasa.ubah()
MsgBox("DATA BERHASIL DIUBAH", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
btn_simpan.Enabled = True
bersihobject()
txt_kodejasa.Text = obj_jasa.autonumber
End Sub

Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_hapus.Click
obj_jasa.Pkd_js = txt_kodejasa.Text
If MessageBox.Show("Apakah Data Ingin Dihapus ?", "INFORMASI",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
nilaikembali = obj_jasa.hapus()
MsgBox("DATA BERHASIL DIHAPUS", MsgBoxStyle.Information, "")
Else
Exit Sub
End If
160

btn_simpan.Enabled = True
bersihobject()
txt_kodejasa.Text = obj_jasa.autonumber
txt_namajasa.Focus()
End Sub

Private Sub btn_carijasa_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_carijasa.Click
Dim oPop As New PopUpJasa
oPop.ShowDialog()
End Sub

Private Sub txt_hargajasa_TextChanged(ByVal sender As Object, ByVal e As


System.EventArgs) Handles txt_hargajasa.TextChanged
Dim X As Long
If txt_hargajasa.Text = "" Or Not IsNumeric(txt_hargajasa.Text) Then
Exit Sub
End If
X = txt_hargajasa.Text
txt_hargajasa.Text = Format(X, "##,##0")
txt_hargajasa.SelectionStart = Len(txt_hargajasa.Text)
End Sub

Private Sub txt_namajasa_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txt_namajasa.TextChanged
Dim i As Integer = txt_namajasa.SelectionStart
txt_namajasa.Text = StrConv(txt_namajasa.Text, VbStrConv.ProperCase)
txt_namajasa.SelectionStart = i
End Sub
End Class
161

Cetak Nota Pembuatan

Imports System.Data.Odbc
Public Class CetakNotaPembuatan
Dim NilaiKembali As Integer
Dim obj_NPB As New cls_NPB
Dim obj_jasa As New cls_jasa
Dim obj_plat As New cls_plat
Dim obj_gigi As New cls_gigi
Dim obj_detil_pembuatan As New cls_detilpembuatan
Dim X As Long
Dim Cetak As New NotaPembuatan
Private Sub CetakNotaPembuatan_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
OpenConn()
bersihobject()
txt_noNPB.Text = obj_NPB.autonumber
End Sub
Private Sub btn_caripasien_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_caripasien.Click
Dim objpopup As New PopUpPasien
If txt_namapasien.Text = "" Then
objpopup.ShowDialog()
ElseIf MessageBox.Show("APAKAH ANDA INGIN MENGGANTI DATA PASIEN?",
"INFORMASI", MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
objpopup.ShowDialog()
Else
Exit Sub
End If
If objpopup.okd_psn = "" Then
Exit Sub
End If
txt_kodepasien.Text = objpopup.okd_psn
txt_namapasien.Text = objpopup.onm_psn
txt_notlppasien.Text = objpopup.onotlp_psn
txt_alamatpasien.Text = objpopup.oalamat_psn
End Sub

Private Sub CetakNotaPembuatan_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Private Sub btn_tambah_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_tambah.Click
If txt_namapasien.Text = "" Then
MsgBox("PILIHLAH DATA PASIEN TERLEBIH DAHULU")
Exit Sub
ElseIf txt_kodejasa.Text = "" Then
MsgBox("PILIHLAH DATA JASA TERLEBIH DAHULU")
Exit Sub
ElseIf txt_kodegigi.Text = "" Then
MsgBox("TIDAK ADA DATA GIGI YANG DIPILIH")
162

Exit Sub
End If
listdata()
txt_kodegigi.Text = ""
txt_namagigi.Text = ""
txt_jenisgigi.Text = ""
txt_bagiangigi.Text = ""
txt_warnagigi.Text = ""
txt_ukurangigi.Text = ""
txt_hargagigi.Text = ""
Dim total As Integer
For i As Integer = 0 To LV_NPB.Items.Count - 1
total = total + LV_NPB.Items(i).SubItems(6).Text
Next
txt_totalharga.Text = total + txt_hargajasa.Text + txt_hargaplat.Text
txt_buahgigi.Text = LV_NPB.Items.Count()
rbDP.Enabled = True
rbDP.Checked = False
rbLunas.Enabled = True
rbLunas.Checked = False
txt_bayar.Text = "0"
txt_sisabayar.Text = "0"
End Sub
Sub listdata()
Dim list_NPB As New ListViewItem
list_NPB.Text = txt_kodegigi.Text
list_NPB.SubItems.Add(txt_namagigi.Text)
list_NPB.SubItems.Add(txt_jenisgigi.Text)
list_NPB.SubItems.Add(txt_bagiangigi.Text)
list_NPB.SubItems.Add(txt_warnagigi.Text)
list_NPB.SubItems.Add(txt_ukurangigi.Text)
list_NPB.SubItems.Add(txt_hargagigi.Text)
LV_NPB.Items.AddRange(New ListViewItem() {list_NPB})
End Sub
Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_batal.Click
Call bersihobject()
End Sub
Sub bersihobject()
txt_kodepasien.Text = ""
txt_namapasien.Text = ""
txt_notlppasien.Text = ""
txt_alamatpasien.Text = ""
txt_kodejasa.Text = ""
txt_namajasa.Text = ""
txt_hargajasa.Text = ""
txt_kodeplat.Text = ""
txt_namaplat.Text = ""
txt_hargaplat.Text = ""
txt_kodegigi.Text = ""
txt_namagigi.Text = ""
txt_jenisgigi.Text = ""
txt_bagiangigi.Text = ""
163

txt_warnagigi.Text = ""
txt_ukurangigi.Text = ""
txt_hargagigi.Text = ""
txt_totalharga.Text = "0"
txt_bayar.Text = "0"
txt_sisabayar.Text = "0"
txt_buahgigi.Text = ""
rbLunas.Checked = False
rbLunas.Enabled = False
rbDP.Checked = False
rbDP.Enabled = False
LV_NPB.Items.Clear()
End Sub
Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetak.Click
If rbLunas.Checked = False And rbDP.Checked = False Then
MsgBox("ANDA BELUM MELENGKAPI DATA DI FORM NOTA PEMBUATAN")
Exit Sub
End If
If MessageBox.Show("APAKAH ANDA YAKIN DATA ANDA SUDAH BENAR?",
"INFORMASI", MessageBoxButtons.YesNo, MessageBoxIcon.Information) =
Windows.Forms.DialogResult.Yes Then
For x As Integer = 0 To LV_NPB.Items.Count - 1
obj_detil_pembuatan.Pno_npb = txt_noNPB.Text
obj_detil_pembuatan.Pkd_gigi = LV_NPB.Items(x).SubItems(0).Text
obj_detil_pembuatan.Pbiaya_gigi = LV_NPB.Items(x).SubItems(6).Text
NilaiKembali = obj_detil_pembuatan.simpan_detil()
Next
obj_NPB.Pno_npb = txt_noNPB.Text
obj_NPB.Ptgl_npb = dtp_tglNPB.Value
obj_NPB.Pdp = txt_sisabayar.Text
If rbLunas.Checked = True Then
obj_NPB.Pstatus = rbLunas.Text
Else
obj_NPB.Pstatus = rbDP.Text
End If
obj_NPB.Pbiaya_jsnpb = txt_hargajasa.Text
obj_NPB.Pbiaya_plat = txt_hargaplat.Text
obj_NPB.Pkd_psn = txt_kodepasien.Text
obj_NPB.Pkd_js = txt_kodejasa.Text
obj_NPB.Pkd_plat = txt_kodeplat.Text
NilaiKembali = obj_NPB.simpan()
If NilaiKembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN DAN SIAP DICETAK",
MsgBoxStyle.Information, "INFORMASI")
End If
Else
Exit Sub
End If

'cetak nota pembuatan


Cetak.RecordSelectionFormula = "{npb.no_npb} = '" & txt_noNPB.Text & "'"
Cetak.SetParameterValue("no_npb", txt_noNPB.Text)
164

Cetak.SetParameterValue("xbayar", (txt_bayar.Text))
Cetak.SetParameterValue("xsisabayar", (txt_sisabayar.Text))
Dim print As New Cetakan
print.CrystalReportViewer1.ReportSource = Cetak
print.CrystalReportViewer1.Width = 50
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
bersihobject()
txt_noNPB.Text = obj_NPB.autonumber
End Sub
Private Sub dtp_tglnotapembuatan_ValueChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dtp_tglNPB.ValueChanged
dtp_tglNPB.Value = Now
End Sub
Private Sub rbLunas_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles rbLunas.CheckedChanged
If rbLunas.Checked = True Then
txt_sisabayar.Text = "0"
End If
If rbLunas.Checked = True Then
txt_bayar.Text = txt_totalharga.Text
End If
End Sub
Private Sub btn_carigigi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_carigigi.Click
Dim oPop As New PopUpGigi
oPop.ShowDialog()
For i = 0 To LV_NPB.Items.Count - 1
If txt_kodegigi.Text = LV_NPB.Items(i).SubItems(0).Text Then
MsgBox("DATA SUDAH ADA DI DALAM LIST", MsgBoxStyle.Information)
txt_kodegigi.Text = ""
txt_namagigi.Text = ""
txt_jenisgigi.Text = ""
txt_bagiangigi.Text = ""
txt_warnagigi.Text = ""
txt_ukurangigi.Text = ""
txt_hargagigi.Text = ""
Exit Sub
End If
Next
End Sub

Private Sub rbDP_CheckedChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles rbDP.CheckedChanged
txt_bayar.Text = txt_totalharga.Text * 50 / 100
txt_sisabayar.Text = txt_bayar.Text
End Sub
Private Sub txt_totalharga_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txt_totalharga.TextChanged
If txt_totalharga.Text = "" Or Not IsNumeric(txt_totalharga.Text) Then
Exit Sub
End If
X = txt_totalharga.Text
165

txt_totalharga.Text = Format(X, "##,##0")


txt_totalharga.SelectionStart = Len(txt_totalharga.Text)
btn_cetak.Enabled = True
End Sub
Private Sub txt_hargaplat_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txt_hargaplat.TextChanged
If txt_hargaplat.Text = "" Or Not IsNumeric(txt_hargaplat.Text) Then
Exit Sub
End If
X = txt_hargaplat.Text
txt_hargaplat.Text = Format(X, "##,##0")
txt_hargaplat.SelectionStart = Len(txt_hargaplat.Text)
End Sub
Private Sub txt_hargajasa_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txt_hargajasa.TextChanged
If txt_hargajasa.Text = "" Or Not IsNumeric(txt_hargajasa.Text) Then
Exit Sub
End If
X = txt_hargajasa.Text
txt_hargajasa.Text = Format(X, "##,##0")
txt_hargajasa.SelectionStart = Len(txt_hargajasa.Text)
End Sub

Private Sub txt_hargagigi_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txt_hargagigi.TextChanged
If txt_hargagigi.Text = "" Or Not IsNumeric(txt_hargagigi.Text) Then
Exit Sub
End If
X = txt_hargagigi.Text
txt_hargagigi.Text = Format(X, "##,##0")
txt_hargagigi.SelectionStart = Len(txt_hargagigi.Text)
End Sub
Private Sub txt_bayar_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txt_bayar.TextChanged
If txt_bayar.Text = "" Or Not IsNumeric(txt_bayar.Text) Then
Exit Sub
End If
X = txt_bayar.Text
txt_bayar.Text = Format(X, "##,##0")
txt_bayar.SelectionStart = Len(txt_bayar.Text)
End Sub
Private Sub txt_sisabayar_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles txt_sisabayar.TextChanged
If txt_sisabayar.Text = "" Or Not IsNumeric(txt_sisabayar.Text) Then
Exit Sub
End If
X = txt_sisabayar.Text
txt_sisabayar.Text = Format(X, "##,##0")
txt_sisabayar.SelectionStart = Len(txt_sisabayar.Text)
End Sub
Private Sub LV_NPB_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles LV_NPB.DoubleClick
LV_NPB.FocusedItem.Remove()
166

End Sub
Private Sub btn_carijasa_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_carijasa.Click
Dim oPop As New PopUpJasa
oPop.ShowDialog()
End Sub

Private Sub btn_cariplat_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_cariplat.Click
Dim oPop As New PopUpPlat
oPop.ShowDialog()
If oPop.okd_plat <> "" Then
txt_kodeplat.Text = oPop.okd_plat
txt_namaplat.Text = oPop.onm_plat
txt_hargaplat.Text = oPop.ohrg_plat
End If
End Sub
End Class
167

Cetak Nota Perbaikan


Imports System.Data.Odbc
Public Class CetakNotaPerbaikan
Dim NilaiKembali As Integer
Dim Cetak As New NotaPerbaikan
Dim print As New Cetakan
Dim X As Long
Dim obj_NPR As New cls_NPR
Dim obj_detil_perbaikan As New cls_detilperbaikan
Dim obj_jasa As New cls_jasa
Dim obj_all As New Class_all

Private Sub CetakNotaPerbaikan_FormClosing(ByVal sender As


Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)
Handles Me.FormClosing
FORM_MENU.Show()
End Sub

Private Sub CetakNotaPerbaikan_Load(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OpenConn()
txt_kodejasa.Text = ""
txt_hargajasa.Text = ""
txt_noNPR.Text = obj_NPR.autonumber
dtp_tglNPR.Value = Now
Call waktu_selesai()
If Format(dtp_lastwaktu.Value, "dd/MM/yyyy") <
Format(Date.Now, "dd/MM/yyyy") Then
dtp_lastwaktu.Value = Now
ElseIf Format(dtp_lastwaktu.Value, "HH:mm") <
Format(Date.Now, "HH:mm") Then
dtp_lastwaktu.Value = Now
End If
End Sub
Private Sub btn_cetak_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btn_cetak.Click
If txt_totalharga.Text = "0" Then
MsgBox("ANDA BELUM MELENGKAPI DATA DI FORM NOTA
PERBAIKAN")
Exit Sub
End If
If MessageBox.Show("APAKAH ANDA YAKIN DATA ANDA SUDAH
BENAR?", "INFORMASI", MessageBoxButtons.YesNo,
MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
For x As Integer = 0 To LV_NPR.Items.Count - 1
obj_detil_perbaikan.Pno_npr = txt_noNPR.Text
obj_detil_perbaikan.Pkd_js =
LV_NPR.Items(x).SubItems(0).Text
obj_detil_perbaikan.Pbiaya_jsnpr =
LV_NPR.Items(x).SubItems(2).Text
obj_detil_perbaikan.Pqty =
LV_NPR.Items(x).SubItems(3).Text
obj_detil_perbaikan.Pket =
LV_NPR.Items(x).SubItems(5).Text
NilaiKembali = obj_detil_perbaikan.simpan_detil()
Next
168

obj_NPR.Pno_npr = txt_noNPR.Text
obj_NPR.Ptgl_npr = dtp_tglNPR.Value
obj_NPR.Pkd_psn = txt_kodepasien.Text
obj_NPR.Pkeluhan = txt_keluhan.Text
obj_NPR.Pwkt_selesai = dtp_hasil.Value
obj_NPR.Pstatus = "SEDANG DIPERBAIKI"
NilaiKembali = obj_NPR.simpan()
If NilaiKembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN DAN SIAP DICETAK",
MsgBoxStyle.Information, "INFORMASI")
Call waktu_selesai()
End If
Else
Exit Sub
End If

'cetak nota perbaikan


Cetak.SetParameterValue("no_npr", txt_noNPR.Text)
Cetak.RecordSelectionFormula = "{npr.no_npr} = '" &
txt_noNPR.Text & "'"
print.CrystalReportViewer1.ReportSource = Cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
bersihobject()
txt_noNPR.Text = obj_NPR.autonumber
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btn_batal.Click
Call bersihobject()
End Sub

Private Sub txt_hargajasa_TextChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txt_hargajasa.TextChanged
If txt_hargajasa.Text = "" Or Not
IsNumeric(txt_hargajasa.Text) Then
Exit Sub
End If
X = txt_hargajasa.Text
txt_hargajasa.Text = Format(X, "##,##0")
txt_hargajasa.SelectionStart = Len(txt_hargajasa.Text)
End Sub

Private Sub btn_caripasien_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
btn_caripasien.Click
Dim objpopup As New PopUpPasien
If txt_namapasien.Text = "" Then
objpopup.ShowDialog()
ElseIf MessageBox.Show("APAKAH ANDA INGIN MENGGANTI DATA
PASIEN?", "INFORMASI", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
objpopup.ShowDialog()
Else
169

Exit Sub
End If
If objpopup.okd_psn = "" Then
Exit Sub
End If
txt_kodepasien.Text = objpopup.okd_psn
txt_namapasien.Text = objpopup.onm_psn
txt_notlppasien.Text = objpopup.onotlp_psn
txt_alamatpasien.Text = objpopup.oalamat_psn
End Sub

Private Sub btn_carijasa_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs)
Dim objpopup As New PopUpJasa
objpopup.ShowDialog()
btn_tambah.BackColor = Color.RoyalBlue
End Sub

Private Sub btn_tambah_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btn_tambah.Click
If txt_kodepasien.Text = "" Then
MsgBox("DATA PASIEN BELUM TERISI")
Exit Sub
End If
If txt_kodejasa.Text = "" Then
MsgBox("TIDAK ADA DATA JASA YANG DIPILIH")
Exit Sub
End If
If txt_qty.Text = "" And txt_ket.Text = "" Then
MsgBox("DATA YANG ANDA MASUKAN BELUM LENGKAP")
Exit Sub
End If
listdata()
txt_kodejasa.Text = ""
txt_namajasa.Text = ""
txt_hargajasa.Text = ""
txt_qty.Text = ""
txt_ket.Text = ""
Dim total As Integer
For i As Integer = 0 To LV_NPR.Items.Count - 1
total = total + LV_NPR.Items(i).SubItems(4).Text
Next
txt_totalharga.Text = total
End Sub
Sub listdata()
Dim list_NPR As New ListViewItem
list_NPR.Text = txt_kodejasa.Text
list_NPR.SubItems.Add(txt_namajasa.Text)
list_NPR.SubItems.Add(txt_hargajasa.Text)
list_NPR.SubItems.Add(txt_qty.Text)
list_NPR.SubItems.Add(txt_hargajasa.Text * txt_qty.Text)
list_NPR.SubItems.Add(txt_ket.Text)
LV_NPR.Items.AddRange(New ListViewItem() {list_NPR})
End Sub
Sub bersihobject()
txt_kodepasien.Text = ""
170

txt_namapasien.Text = ""
txt_notlppasien.Text = ""
txt_alamatpasien.Text = ""
txt_keluhan.Text = ""
txt_ket.Text = ""
txt_qty.Text = ""
txt_kodejasa.Text = ""
txt_hargajasa.Text = ""
txt_totalharga.Text = "0"
txt_estimasiwaktu.Text = ""
txt_estimasiwaktu.Enabled = True
dtp_hasil.Value = Now
LV_NPR.Items.Clear()
End Sub
Private Sub dtp_tglnotaperbaikan_ValueChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
dtp_tglNPR.ValueChanged
dtp_tglNPR.Value = Now
End Sub

Private Sub CB_namajasa_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs)
If txt_kodepasien.Text = "" Then
MsgBox("HARAP PILIH DATA PASIEN TERLEBIH DAHULU")
btn_caripasien.Focus()
Exit Sub
End If
btn_tambah.Focus()
For i = 0 To LV_NPR.Items.Count - 1
If txt_kodejasa.Text =
LV_NPR.Items(i).SubItems(0).Text Then
MsgBox("DATA SUDAH ADA DI DALAM LIST",
MsgBoxStyle.Information)
txt_kodejasa.Text = ""
txt_hargajasa.Text = ""
Exit Sub
End If
Next
End Sub
Sub DisplayJasa(Optional ByVal kriteria As String = "")
Dim olist As List(Of cls_jasa)
olist = obj_jasa.ambildata_perbaikan(kriteria)
End Sub

Private Sub txt_totalharga_TextChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txt_totalharga.TextChanged
If txt_totalharga.Text = "" Or Not
IsNumeric(txt_totalharga.Text) Then
Exit Sub
End If
X = txt_totalharga.Text
txt_totalharga.Text = Format(X, "##,##0")
txt_totalharga.SelectionStart = Len(txt_totalharga.Text)
btn_cetak.Enabled = True
End Sub
171

Private Sub LV_NPR_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles LV_NPR.Click
LV_NPR.FocusedItem.Remove()
Dim total As Integer
For i As Integer = 0 To LV_NPR.Items.Count - 1
total = total + LV_NPR.Items(i).SubItems(4).Text
Next
txt_totalharga.Text = total
End Sub
Private Sub btn_carijasa_Click_1(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btn_carijasa.Click
Dim oPop As New PopUpJasa
oPop.ShowDialog()
For i = 0 To LV_NPR.Items.Count - 1
If txt_kodejasa.Text =
LV_NPR.Items(i).SubItems(0).Text Then
MsgBox("DATA SUDAH ADA DI DALAM LIST",
MsgBoxStyle.Information)
txt_kodejasa.Text = ""
txt_namajasa.Text = "'"
txt_hargajasa.Text = ""
Exit Sub
End If
Next

End Sub

Sub waktu_selesai()
Dim QUERY As String
Dim mycmd As OdbcCommand
Dim Myread As OdbcDataReader
Dim tmpbaca As New List(Of cls_NPR)
OpenConn()
QUERY = "SELECT wkt_selesai FROM(npr)"
QUERY &= " ORDER BY no_npr DESC LIMIT 1"
mycmd = New OdbcCommand(QUERY, Mycn)
Myread = mycmd.ExecuteReader
If Myread.HasRows Then
While Myread.Read
Dim objTemp As New cls_NPR
dtp_lastwaktu.Text =
Myread("wkt_selesai").ToString
tmpbaca.Add(objTemp)
End While
End If
Myread.Close()
End Sub
Private Sub txt_estimasiwaktu_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles
txt_estimasiwaktu.KeyPress
If (e.KeyChar = Chr(13)) Then
dtp_hasil.Value = DateAdd("n",
Val(txt_estimasiwaktu.Text), dtp_lastwaktu.Value)
txt_estimasiwaktu.Enabled = False
172

Exit Sub
End If
End Sub

Private Sub btn_update_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btn_update.Click
PopUpUpdateNPR.Show()
End Sub
End Class
173

Cetak Perintah Kerja

Imports System.Data.Odbc
Public Class CetakPerintahKerja
Dim NilaiKembali As Integer
Dim obj_PK As New cls_PK
Dim obj_Tekniker As New cls_tekniker
Dim obj_all As New Class_all
Dim cetak As New PerintahKerja
Dim print As New Cetakan
Dim X As Long
Private Sub CetakPerintahKerja_FormClosing(ByVal sender As
Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)
Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Private Sub CetakPerintahKerja_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OpenConn()
txt_noPK.Text = obj_PK.autonumber
End Sub
Private Sub btn_cetak_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btn_cetak.Click
If txt_kodepasien.Text = "" Or txt_kodetekniker.Text = ""
Then
MsgBox("HARAP MASUKAN DATA SECARA LENGKAP")
Exit Sub
End If
If rb_cetakulang.Checked = True Then
cetak.SetParameterValue("no_pk", txt_noPK.Text)
cetak.RecordSelectionFormula = "{pk.no_pk} = '" &
txt_noPK.Text & "'"
print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
bersihobject()
Else
obj_PK.Pno_npb = txt_noNPB.Text
obj_PK.Pno_pk = txt_noPK.Text
obj_PK.Ptgl_pk = dtp_tglPK.Value
obj_PK.Pkd_tkr = txt_kodetekniker.Text
NilaiKembali = obj_PK.simpan()
End If
If NilaiKembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN DAN SIAP DICETAK",
MsgBoxStyle.Information, "INFORMASI")

'cetak perintah kerja


cetak.SetParameterValue("no_pk", txt_noPK.Text)
cetak.RecordSelectionFormula = "{pk.no_pk} = '" &
txt_noPK.Text & "'"
print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
174

bersihobject()
Exit Sub
End If
txt_noPK.Text = obj_PK.autonumber
End Sub
Private Sub txt_noNPB_KeyPress(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyPressEventArgs) Handles
txt_noNPB.KeyPress
If (e.KeyChar = Chr(13)) Then
Call DisplayNPB(txt_noNPB.Text)
txt_noNPB.Enabled = False
txt_noNPB.BackColor = Color.White
End If
If txt_kodetekniker.Text = "" Then
rb_cetakulang.Checked = False
Else
rb_cetakulang.Checked = True
dtp_tglselesaiPK.Enabled = True
Exit Sub
End If
End Sub
Sub DisplayNPB(Optional ByVal kriteria As String = "")
Dim olist As List(Of Class_all)
olist = obj_all.ambildata_PerintahKerja(kriteria)
LV_NPB.Items.Clear()
For baris As Integer = 0 To olist.Count - 1
LV_NPB.Items.Add(olist.Item(baris).Pkd_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pnm_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pjns_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pbgn_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pwrn_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pukr_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pbiaya_gigi)
Next
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btn_batal.Click
bersihobject()
End Sub
Sub bersihobject()
txt_kodepasien.Text = ""
txt_namapasien.Text = ""
txt_notlppasien.Text = ""
txt_alamatpasien.Text = ""
txt_kodetekniker.Text = ""
txt_namatekniker.Text = ""
txt_namajasa.Text = ""
txt_namaplat.Text = ""
txt_noNPB.Enabled = True
txt_noNPB.Text = ""
txt_noNPB.BackColor = Color.Black
dtp_tglPK.Value = Now
dtp_tglselesaiPK.Value = Now
dtp_tglselesaiPK.Enabled = False
dtp_tglPK.Enabled = True
175

btn_cetak.Enabled = True
rb_cetakulang.Checked = False
txt_noPK.Text = obj_PK.autonumber
LV_NPB.Items.Clear()
txt_noNPB.Focus()
End Sub
Private Sub btn_carijasa_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btn_carijasa.Click
Dim oPop As New PopUpTekniker
oPop.ShowDialog()
End Sub
Private Sub btn_update_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btn_update.Click
If dtp_tglselesaiPK.Enabled = False Then
Exit Sub
End If
If MessageBox.Show("APAKAH ANDA INGIN MENGUPDATE TANGGAL
SELESAI PERINTAH KERJA?", "INFORMASI", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
obj_PK.Ptglselesai_pk = dtp_tglselesaiPK.Value
NilaiKembali = obj_PK.update()
MsgBox("TANGGAL SELESAI BERHASIL DIUPDATE",
MsgBoxStyle.Information, "INFORMASI")
Else
Exit Sub
End If
bersihobject()
txt_noPK.Text = obj_PK.autonumber
dtp_tglselesaiPK.Enabled = False
End Sub
End Class
176

Cetak Kwitansi
Imports System.Data.Odbc
Public Class CetakKwitansi
Dim Nilaikembali As Integer
Dim obj_kwitansi As New cls_kwitansi
Dim obj_npb As New cls_NPB
Dim obj_pasien As New cls_pasien
Dim obj_detil_pembuatan As New cls_detilpembuatan
Dim obj_jasa As New cls_jasa
Dim obj_plat As New cls_plat
Dim obj_gigi As New cls_gigi
Dim obj_all As New Class_all
Dim X As Long
Dim adapter As New OdbcDataAdapter
Dim Cetak As New Kwitansi
Private Sub DateTimePicker1_ValueChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
dtp_tglkwitansi.ValueChanged
dtp_tglkwitansi.Value = Now
End Sub

Private Sub CetakKwitansi_FormClosing(ByVal sender As Object,


ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles
Me.FormClosing
FORM_MENU.Show()
End Sub

Private Sub CetakKwitansi_Load(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles MyBase.Load
OpenConn()
txt_nokwitansi.Text = obj_kwitansi.autonumber
End Sub

Private Sub cb_lunas_CheckedChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cb_lunas.CheckedChanged
If cb_lunas.Checked = True Then
txt_sisabayar.Text = "0"
txt_status.Text = "LUNAS"
cb_lunas.Enabled = False
End If
End Sub

Private Sub txt_sisabayar_TextChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs)
If txt_sisabayar.Text = "" Or Not
IsNumeric(txt_sisabayar.Text) Then
Exit Sub
End If
X = txt_sisabayar.Text
txt_sisabayar.Text = Format(X, "##,##0")
txt_sisabayar.SelectionStart = Len(txt_sisabayar.Text)
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btn_batal.Click
177

Call bersihobject()
End Sub
Sub bersihobject()
txt_status.Text = ""
txt_notlppasien.Text = ""
txt_nonotapembuatan.Text = ""
dtp_tglkwitansi.Value = Now
txt_namapasien.Text = ""
txt_namajasa.Text = ""
txt_biayajasa.Text = "0"
txt_namaplat.Text = ""
txt_biayaplat.Text = "0"
txt_sisabayar.Text = "0"
txt_totalbayar.Text = "0"
cb_lunas.Checked = False
LV_NPB.Items.Clear()
txt_nokwitansi.Text = obj_kwitansi.autonumber
End Sub
Private Sub btn_cetak_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btn_cetak.Click
If cb_lunas.Checked = 0 Then
MsgBox("ANDA BELUM MENCEKLIS LUNAS")
Exit Sub
End If
If MessageBox.Show("APAKAH ANDA YAKIN INGIN MELAKUKAN
CETAK KWITANSI?", "INFORMASI", MessageBoxButtons.YesNo,
MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
obj_kwitansi.Pno_kwt = txt_nokwitansi.Text
obj_kwitansi.Ptgl_kwt = dtp_tglkwitansi.Value
obj_kwitansi.Pno_npb = txt_nonotapembuatan.Text
Nilaikembali = obj_kwitansi.simpan()
obj_npb.Pdp = txt_sisabayar.Text
obj_npb.Pstatus = txt_status.Text
Nilaikembali = obj_npb.ubah()
If Nilaikembali = 1 Then
MsgBox("DATA SIAP DICETAK",
MsgBoxStyle.Information, "INFORMASI")
End If
Else
Exit Sub
End If

'cetak kwitansi
Cetak.RecordSelectionFormula = "{kwitansi.no_kwt} = '" &
txt_nokwitansi.Text & "'"
Cetak.SetParameterValue("no_kwt", txt_nokwitansi.Text)
Cetak.SetParameterValue("xTERBILANG",
TERBILANG(txt_totalbayar.Text))
Cetak.SetParameterValue("dp", txt_DP.Text)
Dim print As New Cetakan
print.CrystalReportViewer1.ReportSource = Cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
bersihobject()
End Sub
178

Private Sub txt_status_TextChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txt_status.TextChanged
btn_batal.Focus()
btn_batal.Enabled = True
btn_cetak.Enabled = True

End Sub

Private Sub btn_carinota_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btn_carinota.Click
Dim objpopup As New PopUpNPB
objpopup.ShowDialog()
Dim total As Integer
For i As Integer = 0 To LV_NPB.Items.Count - 1
total = total + LV_NPB.Items(i).SubItems(6).Text
Next
txt_totalbayar.Text = total + txt_biayajasa.Text +
txt_biayaplat.Text
txt_nonotapembuatan.ReadOnly = True
End Sub

Private Sub txt_totalbayar_TextChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txt_totalbayar.TextChanged
If txt_status.Text = "LUNAS" Then
cb_lunas.Checked = True
cb_lunas.Enabled = False
Else
cb_lunas.Checked = False
cb_lunas.Enabled = True
End If
If txt_totalbayar.Text = "" Or Not
IsNumeric(txt_totalbayar.Text) Then
Exit Sub
End If
X = txt_totalbayar.Text
txt_totalbayar.Text = Format(X, "##,##0")
txt_totalbayar.SelectionStart = Len(txt_totalbayar.Text)
End Sub
Sub LoadList(Optional ByVal kriteria As String = "")
Dim olist As List(Of Class_all)
olist = obj_all.ambildata_NPB(kriteria)
LV_NPB.Items.Clear()
For baris As Integer = 0 To olist.Count - 1
LV_NPB.Items.Add(olist.Item(baris).Pkd_gigi)

LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pnm_gigi)

LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pjns_gigi)

LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pbgn_gigi)

LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pwrn_gigi)
179

LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pukr_gigi)

LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pbiaya_gigi)
Next
End Sub

Private Sub txt_nonotapembuatan_TextChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txt_nonotapembuatan.TextChanged
Call LoadList(txt_nonotapembuatan.Text)

'validasi 1 NOMOR NPB hanya mempunyai 1 NO KWITANSI :


obj_kwitansi.Pno_npb = txt_nonotapembuatan.Text
If obj_kwitansi.validkwitansi = True Then
MsgBox("NOMOR NPB tersebut sudah mencetak KWITANSI",
MsgBoxStyle.Information)
bersihobject()
Exit Sub
End If
End Sub

Private Sub txt_biayajasa_TextChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txt_biayajasa.TextChanged
If txt_biayajasa.Text = "" Or Not
IsNumeric(txt_biayajasa.Text) Then
Exit Sub
End If
X = txt_biayajasa.Text
txt_biayajasa.Text = Format(X, "##,##0")
txt_biayajasa.SelectionStart = Len(txt_biayajasa.Text)
End Sub
Private Sub txt_biayaplat_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
txt_biayaplat.TextChanged
If txt_biayaplat.Text = "" Or Not
IsNumeric(txt_biayaplat.Text) Then
Exit Sub
End If
X = txt_biayaplat.Text
txt_biayaplat.Text = Format(X, "##,##0")
txt_biayaplat.SelectionStart = Len(txt_biayaplat.Text)
End Sub

Private Sub txt_sisabayar_TextChanged_1(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txt_sisabayar.TextChanged
X = txt_sisabayar.Text
txt_sisabayar.Text = Format(X, "##,##0")
txt_sisabayar.SelectionStart = Len(txt_sisabayar.Text)
End Sub

Private Sub txt_DP_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txt_DP.TextChanged
X = txt_DP.Text
180

txt_DP.Text = Format(X, "##,##0")


txt_DP.SelectionStart = Len(txt_DP.Text)
End Sub
End Class
181

Cetak Penanganan Garansi

Imports System.Data.Odbc
Public Class CetakPenangananGaransi
Dim obj_garansi As New cls_PG
Dim obj_all As New Class_all
Dim NilaiKembali As Integer
Dim adapter As New OdbcDataAdapter
Dim Mydt As New DataTable
Dim Cetak As New PenangananGaransi
Dim QUERY As String

Private Sub CetakPenangananGaransi_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Private Sub CetakPenangananGaransi_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
OpenConn()
txt_nomorgaransi.Text = obj_garansi.autonumber
bersihobject()
End Sub

Sub bersihobject()
txt_namapasien.Text = ""
txt_alamatpasien.Text = ""
txt_notlppasien.Text = ""
txt_nokwitansi.Text = ""
txt_kodetekniker.Text = ""
txt_namatekniker.Text = ""
txt_keluhan.Text = ""
txt_tindakan.Text = ""
txt_nomorgaransi.Enabled = True
dtp_tglselesaipenananganan.Enabled = False
txt_nomorgaransi.Text = obj_garansi.autonumber
dtp_tglselesaipenananganan.Value = Now
dtp_tanggalakhirmasaaktif.Value = Now
dtp_tanggalkwitansi.Value = Now
rb_on.Checked = False
btn_cetak.Enabled = True
End Sub

Private Sub dtp_tanggalkwitansi_ValueChanged(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles dtp_tanggalkwitansi.ValueChanged
dtp_tanggalakhirmasaaktif.Value = DateAdd(DateInterval.Year, 1,
dtp_tanggalkwitansi.Value.Date)
If dtp_tanggalakhirmasaaktif.Value < dtp_tglpenanganangaransi.Value Then
MsgBox("MAAF STATUS GARANSI ANDA SUDAH TIDAK AKTIF",
MsgBoxStyle.Information, "INFORMASI")
bersihobject()
Exit Sub
End If
End Sub
182

Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_batal.Click
bersihobject()
End Sub

Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_cetak.Click
If txt_namapasien.Text = "" Or txt_kodetekniker.Text = "" Or txt_keluhan.Text = ""
Or txt_tindakan.Text = "" Then
MsgBox("ANDA BELUM MELENGKAPI DATA DI FORM PENANGANAN GARANSI")
Exit Sub
End If
If MessageBox.Show("APAKAH ANDA YAKIN DATA ANDA SUDAH BENAR?",
"INFORMASI", MessageBoxButtons.YesNo, MessageBoxIcon.Information) =
Windows.Forms.DialogResult.Yes Then
obj_garansi.Pno_pg = txt_nomorgaransi.Text
obj_garansi.Ptgl_pg = dtp_tglpenanganangaransi.Value
obj_garansi.Pkeluhan = txt_keluhan.Text
obj_garansi.Ptindakan = txt_tindakan.Text
obj_garansi.Pstatus = "PROSES"
obj_garansi.Pno_kwt = txt_nokwitansi.Text
obj_garansi.Pkd_tkr = txt_kodetekniker.Text
NilaiKembali = obj_garansi.Simpan()
If NilaiKembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN DAN SIAP DICETAK",
MsgBoxStyle.Information, "INFORMASI")
End If
Else
Exit Sub
End If
Cetak.SetParameterValue("no_pg", (txt_nomorgaransi.Text))
Cetak.RecordSelectionFormula = "{pg.no_pg} = '" & Me.txt_nomorgaransi.Text &
"'"
Cetak.SetParameterValue("xtglmasaaktif", (dtp_tanggalakhirmasaaktif.Value))
Dim print As New Cetakan
print.CrystalReportViewer1.ReportSource = Cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
txt_nomorgaransi.Text = obj_garansi.autonumber
bersihobject()
Me.Close()
FORM_MENU.Show()
End Sub
Private Sub btn_carikwitansi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_carikwitansi.Click
Dim objpopup As New PopUpKwitansi
objpopup.ShowDialog()
End Sub

Private Sub btn_carijasa_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_carijasa.Click
183

Dim oPop As New PopUpTekniker


oPop.ShowDialog()
End Sub
Sub DisplayGaransi(Optional ByVal kriteria As String = "")
Dim olist As List(Of Class_all)
olist = obj_all.ambildata_Garansi(kriteria)
End Sub
Private Sub btn_update_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_update.Click
If dtp_tglselesaipenananganan.Enabled = False Then
Exit Sub
End If
If MessageBox.Show("APAKAH ANDA INGIN MENGUPDATE TANGGAL SELESAI
PENANGANAN GARANSI?", "INFORMASI", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
obj_garansi.Ptglselesai_pg = dtp_tglselesaipenananganan.Value
obj_garansi.Pstatus = "SELESAI"
NilaiKembali = obj_garansi.update()
MsgBox("TANGGAL SELESAI BERHASIL DIUPDATE", MsgBoxStyle.Information,
"INFORMASI")
Else
Exit Sub
End If
bersihobject()
txt_nomorgaransi.Text = obj_garansi.autonumber
dtp_tglselesaipenananganan.Enabled = False
End Sub

Private Sub txt_nomorgaransi_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txt_nomorgaransi.KeyPress
If (e.KeyChar = Chr(13)) Then
Call DisplayGaransi(txt_nomorgaransi.Text)
txt_nomorgaransi.Enabled = False
btn_cetak.Enabled = False
btn_update.Focus()
End If
If txt_keluhan.Text = "" Or txt_tindakan.Text = "" Then
rb_on.Checked = False
Else
rb_on.Checked = True
dtp_tglselesaipenananganan.Enabled = True
Exit Sub
End If
End Sub

Private Sub dtp_tglselesaipenananganan_ValueChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
dtp_tglselesaipenananganan.ValueChanged
If dtp_tglselesaipenananganan.Value > Date.Now Then
MsgBox("TANGGAL SELESAI TIDAK DAPAT MELEBIHI TANGGAL SEKARANG")
dtp_tglselesaipenananganan.Value = Now
Exit Sub
End If
184

End Sub
End Class
185

Cetak Laporan Perintah Kerja Per Tekniker

Imports System.Data.Odbc
Public Class CetakPerintahKerja
Dim NilaiKembali As Integer
Dim obj_PK As New cls_PK
Dim obj_Tekniker As New cls_tekniker
Dim obj_all As New Class_all
Dim cetak As New PerintahKerja
Dim print As New Cetakan
Dim X As Long
Private Sub CetakPerintahKerja_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
Private Sub CetakPerintahKerja_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
OpenConn()
txt_noPK.Text = obj_PK.autonumber
End Sub
Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetak.Click
If txt_kodepasien.Text = "" Or txt_kodetekniker.Text = "" Then
MsgBox("HARAP MASUKAN DATA SECARA LENGKAP")
Exit Sub
End If
If rb_cetakulang.Checked = True Then
cetak.SetParameterValue("no_pk", txt_noPK.Text)
cetak.RecordSelectionFormula = "{pk.no_pk} = '" & txt_noPK.Text & "'"
print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
bersihobject()
Else
obj_PK.Pno_npb = txt_noNPB.Text
obj_PK.Pno_pk = txt_noPK.Text
obj_PK.Ptgl_pk = dtp_tglPK.Value
obj_PK.Pkd_tkr = txt_kodetekniker.Text
NilaiKembali = obj_PK.simpan()
End If
If NilaiKembali = 1 Then
MsgBox("DATA BERHASIL DISIMPAN DAN SIAP DICETAK",
MsgBoxStyle.Information, "INFORMASI")

'cetak perintah kerja


cetak.SetParameterValue("no_pk", txt_noPK.Text)
cetak.RecordSelectionFormula = "{pk.no_pk} = '" & txt_noPK.Text & "'"
print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
bersihobject()
186

Exit Sub
End If
txt_noPK.Text = obj_PK.autonumber
End Sub
Private Sub txt_noNPB_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txt_noNPB.KeyPress
If (e.KeyChar = Chr(13)) Then
Call DisplayNPB(txt_noNPB.Text)
txt_noNPB.Enabled = False
txt_noNPB.BackColor = Color.White
End If
If txt_kodetekniker.Text = "" Then
rb_cetakulang.Checked = False
Else
rb_cetakulang.Checked = True
dtp_tglselesaiPK.Enabled = True
Exit Sub
End If
End Sub
Sub DisplayNPB(Optional ByVal kriteria As String = "")
Dim olist As List(Of Class_all)
olist = obj_all.ambildata_PerintahKerja(kriteria)
LV_NPB.Items.Clear()
For baris As Integer = 0 To olist.Count - 1
LV_NPB.Items.Add(olist.Item(baris).Pkd_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pnm_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pjns_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pbgn_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pwrn_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pukr_gigi)
LV_NPB.Items(baris).SubItems.Add(olist.Item(baris).Pbiaya_gigi)
Next
End Sub

Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_batal.Click
bersihobject()
End Sub
Sub bersihobject()
txt_kodepasien.Text = ""
txt_namapasien.Text = ""
txt_notlppasien.Text = ""
txt_alamatpasien.Text = ""
txt_kodetekniker.Text = ""
txt_namatekniker.Text = ""
txt_namajasa.Text = ""
txt_namaplat.Text = ""
txt_noNPB.Enabled = True
txt_noNPB.Text = ""
txt_noNPB.BackColor = Color.Black
dtp_tglPK.Value = Now
dtp_tglselesaiPK.Value = Now
dtp_tglselesaiPK.Enabled = False
187

dtp_tglPK.Enabled = True
btn_cetak.Enabled = True
rb_cetakulang.Checked = False
txt_noPK.Text = obj_PK.autonumber
LV_NPB.Items.Clear()
txt_noNPB.Focus()
End Sub
Private Sub btn_carijasa_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_carijasa.Click
Dim oPop As New PopUpTekniker
oPop.ShowDialog()
End Sub
Private Sub btn_update_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_update.Click
If dtp_tglselesaiPK.Enabled = False Then
Exit Sub
End If
If MessageBox.Show("APAKAH ANDA INGIN MENGUPDATE TANGGAL SELESAI
PERINTAH KERJA?", "INFORMASI", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
obj_PK.Ptglselesai_pk = dtp_tglselesaiPK.Value
NilaiKembali = obj_PK.update()
MsgBox("TANGGAL SELESAI BERHASIL DIUPDATE", MsgBoxStyle.Information,
"INFORMASI")
Else
Exit Sub
End If
bersihobject()
txt_noPK.Text = obj_PK.autonumber
dtp_tglselesaiPK.Enabled = False
End Sub
End Class
188

Cetak Laporan Pendapatan Pembuatan

Imports System.Data.Odbc
Public Class PendapatanPembuatan
Dim cetak As New Lap_PendapatanPembuatan
Dim QUERY As String
Dim Mydt As New DataTable
Dim print As New Cetakan
Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetak.Click
OpenConn()
QUERY = " SELECT pasien.kd_psn, pasien.nm_psn, pasien.notlp_psn,
pasien.alamat_psn,"
QUERY &= " jasa.kd_js, jasa.nm_js, jasa.hrg_js,"
QUERY &= " plat.kd_plat, plat.nm_plat, plat.hrg_plat,"
QUERY &= " npb.no_npb, npb.tgl_npb, npb.dp, npb.status, npb.biaya_plat,
npb.biaya_jsnpb,"
QUERY &= " detil_pembuatan.biaya_gigi,"
QUERY &= " gigi.kd_gigi, gigi.nm_gigi, gigi.jns_gigi, gigi.bgn_gigi, gigi.wrn_gigi,
gigi.ukr_gigi, gigi.hrg_gigi,"
QUERY &= " kwitansi.no_kwt, kwitansi.tgl_kwt FROM NPB"
QUERY &= " INNER JOIN pasien on npb.kd_psn = pasien.kd_psn"
QUERY &= " INNER JOIN plat on npb.kd_plat = plat.kd_plat"
QUERY &= " INNER JOIN jasa on npb.kd_js = jasa.kd_js"
QUERY &= " INNER JOIN detil_pembuatan on npb.no_npb =
detil_pembuatan.no_npb"
QUERY &= " INNER JOIN gigi on detil_pembuatan.kd_gigi = gigi.kd_gigi"
QUERY &= " INNER JOIN kwitansi on npb.no_npb = kwitansi.no_npb"
QUERY &= " WHERE kwitansi.tgl_kwt between '" & dtp_1.Value.ToString("yyyy-
MM-dd") & "' and '" & dtp_2.Value.ToString("yyyy-MM-dd") & "' "

adapter = New OdbcDataAdapter(QUERY, Mycn)


adapter.Fill(Mydt)
cetak.SetDataSource(Mydt)

cetak.SetParameterValue("tglawal", dtp_1.Value.ToString("yyyy-MM-dd"))
cetak.SetParameterValue("tglakhir", dtp_2.Value.ToString("yyyy-MM-dd"))
print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
Me.Close()
FORM_MENU.Show()
End Sub

Private Sub PendapatanPembuatan_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
End Class
189

Cetak Laporan Pendapatan Perbaikan

Imports System.Data.Odbc
Public Class PendapatanPerbaikan
Dim cetak As New Lap_PendapatanPerbaikan
Dim QUERY As String
Dim Mydt As New DataTable
Dim print As New Cetakan
Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetak.Click
OpenConn()
QUERY = " SELECT pasien.kd_psn, pasien.nm_psn, pasien.notlp_psn,
pasien.alamat_psn, "
QUERY &= " jasa.kd_js, jasa.nm_js, jasa.hrg_js,"
QUERY &= " npr.no_npr, npr.tgl_npr, npr.keluhan,"
QUERY &= " detil_perbaikan.biaya_jsnpr, detil_perbaikan.qty, detil_perbaikan.ket
FROM NPR"
QUERY &= " INNER JOIN pasien on npr.kd_psn = pasien.kd_psn"
QUERY &= " INNER JOIN detil_perbaikan on npr.no_npr = detil_perbaikan.no_npr"
QUERY &= " INNER JOIN jasa on detil_perbaikan.kd_js = jasa.kd_js"
QUERY &= " WHERE npr.tgl_npr between '" & dtp_1.Value.ToString("yyyy-MM-dd")
& "' and '" & dtp_2.Value.ToString("yyyy-MM-dd") & "' "

adapter = New OdbcDataAdapter(QUERY, Mycn)


adapter.Fill(Mydt)
cetak.SetDataSource(Mydt)

cetak.SetParameterValue("tglawal", dtp_1.Value.ToString("yyyy-MM-dd"))
cetak.SetParameterValue("tglakhir", dtp_2.Value.ToString("yyyy-MM-dd"))
print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
Me.Close()
End Sub

Private Sub PendapatanPerbaikan_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
End Class
190

Cetak Laporan Penanganan Garansi Pembuatan

Imports System.Data.Odbc
Public Class PenangananGaransiPembuatan
Dim cetak As New Lap_PenangananGaransiPembuatan
Dim QUERY As String
Dim Mydt As New DataTable
Dim print As New Cetakan
Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetak.Click
OpenConn()
QUERY = " SELECT kwitansi.no_kwt, kwitansi.tgl_kwt,"
QUERY &= " pg.no_pg, pg.tgl_pg, pg.tglselesai_pg, pg.keluhan, pg.tindakan,"
QUERY &= " tekniker.kd_tkr, tekniker.nm_tkr, tekniker.notlp_tkr,
tekniker.alamat_tkr ,"
QUERY &= " pasien.nm_psn, pasien.notlp_psn, pasien.alamat_psn"
QUERY &= " FROM pg"
QUERY &= " INNER JOIN kwitansi on pg.no_kwt = kwitansi.no_kwt"
QUERY &= " INNER JOIN tekniker on pg.kd_tkr = tekniker.kd_tkr"
QUERY &= " INNER JOIN npb on kwitansi.no_npb = npb.no_npb"
QUERY &= " INNER JOIN pasien on npb.kd_psn = pasien.kd_psn"
QUERY &= " WHERE pg.tglselesai_pg between '" & dtp_1.Value.ToString("yyyy-
MM-dd") & "' and '" & dtp_2.Value.ToString("yyyy-MM-dd") & "' "

adapter = New OdbcDataAdapter(QUERY, Mycn)


adapter.Fill(Mydt)
cetak.SetDataSource(Mydt)

cetak.SetParameterValue("tglawal", dtp_1.Value.ToString("yyyy-MM-dd"))
cetak.SetParameterValue("tglakhir", dtp_2.Value.ToString("yyyy-MM-dd"))
Print.CrystalReportViewer1.ReportSource = cetak
Print.CrystalReportViewer1.Zoom(100)
Print.WindowState = FormWindowState.Maximized
Print.ShowDialog()
Me.Close()
Exit Sub
End Sub

Private Sub PenangananGaransiPembuatan_FormClosing(ByVal sender As Object,


ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
End Class
191

Cetak Laporan Rekap Jenis Gigi Palsu Paling Diminati

Imports System.Data.Odbc
Public Class RekapPembuatanGigiPalsu
Dim cetak As New Lap_RekapJenisGigiPalsu
Dim print As New Cetakan
Private Sub CetakLapRekapPembuatanGigiPalsuTerlaris_FormClosing(ByVal sender As
Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles
Me.FormClosing
FORM_MENU.Show()
End Sub

Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_cetak.Click
cetak.RecordSelectionFormula = "{npb.tgl_npb} >= #" & _
Format(Me.dtp_1.Value, "yyyy-MM-dd") & "#" & _
" and {npb.tgl_npb} <= #" & Format(Me.dtp_2.Value, "yyyy-MM-dd") & "#"

cetak.SetParameterValue("tglawal", dtp_1.Value.ToString("yyyy-MM-dd"))
cetak.SetParameterValue("tglakhir", dtp_2.Value.ToString("yyyy-MM-dd"))
print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
Me.Close()
FORM_MENU.Show()
End Sub
End Class
192

Cetak Laporan Status Penanganan Garansi Pembuatan

Imports System.Data.Odbc
Public Class StatusGaransiPembuatan
Dim cetak As New Lap_StatusGaransi
Dim print As New Cetakan
Private Sub btn_cetak_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cetak.Click
cetak.RecordSelectionFormula = "{pg.tgl_pg} >= #" & _
Format(Me.dtp_1.Value, "yyyy-MM-dd") & "#" & _
" and {pg.tgl_pg} <= #" & Format(Me.dtp_2.Value, "yyyy-MM-dd") & "#"

cetak.SetParameterValue("tglawal", dtp_1.Value.ToString("yyyy-MM-dd"))
cetak.SetParameterValue("tglakhir", dtp_2.Value.ToString("yyyy-MM-dd"))

print.CrystalReportViewer1.ReportSource = cetak
print.CrystalReportViewer1.Zoom(100)
print.WindowState = FormWindowState.Maximized
print.ShowDialog()
Me.Close()
FORM_MENU.Show()
End Sub

Private Sub StatusGaransiPembuatan_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
FORM_MENU.Show()
End Sub
End Class

Anda mungkin juga menyukai