pengembangan sistem informasi pelayanan kesehatan pada klinik

advertisement
53
PENGEMBANGAN
SISTEM INFORMASI PELAYANAN KESEHATAN
PADA KLINIK DOKTER KELUARGA SURADITA
STUDY KASUS DESA SURADITA KEC. CISAUK
TANGERANG
Muhammad Irfan
102093026436
JURUSAN SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
54
UIN SYARIF HIDAYATULLAH JAKARTA
1428 H / 2007 M
55
PENGEMBANGAN
SISTEM INFORMASI PELAYANAN KESEHATAN
PADA KLINIK DOKTER KELUARGA SURADITA
STUDI KASUS DESA SURADITA KEC. CISAUK TANGERANG
Oleh
Muhammad Irfan
102093026436
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
Fakultas Sains Dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH JAKARTA
56
2007 M / 1428 H
PENGEMBANGAN
SISTEM INFORMASI PELAYANAN KESEHATAN
PADA KLINIK DOKTER KELUARGA SURADITA
STUDI KASUS DESA SURADITA KEC. CISAUK TANGERANG
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Pada Fakultas Sains Dan Teknologi UIN Jakarta
Oleh
Muhammad Irfan
102093026436
Menyetujui
Pembimbing 1
Pembimbing 11
Ir. Bakri La Katjong, MT, MKom
Khodijah Hulliyah, MSi
Mengetahui,
Ketua Program Studi Sistem Informasi
M. Qomarul Huda, M.Kom
NIP. 150326908
57
Dengan ini menyatakan bahwa skripsi yang ditulis oleh :
Nama
: Muhammad Irfan
NIM
: 102093026436
Program Studi : Sistem Informasi
Judul Skripsi : PENGEMBANGAN
SISTEM INFORMASI
PELAYANAN
KESEHATAN PADA KLNIK DOKTER
KELUARGA SURADITA STUDY KASUS DESA
SURADITA KEC. CISAUK TANGERANG
Dapat diterima sebagai syarat kelulusan untuk memperoleh gelar sarjana
komputer pada jurusan Sistem Informasi, Fakultas Sains dan Teknologi UIN
Syarif Hidayatullah Jakarta.
Jakarta, Agustus 2007
Menyetujui
Dosen Pembimbing
Penguji I
Penguji II
( Nurhayati, M. Kom )
(Nur Aeni Hidayah, MMSI)
Mengetahui,
Dekan Fakultas Sains dan Teknologi
Informasi
UIN Syarif Hidayatullah Jakarta
Dr. Syopiansyah Jaya Putra, M.Sis
NIP. 150 317 956
Ketua Program Studi Sistem
M. Qomarul Huda, M.Kom
NIP. 150326908
58
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN
Jakarta, Agustus 2007
Muhammad Irfan
102093026436
59
ABSTRAK
MUHAMMAD IRFAN, Pengembangan Sistem Informasi Pelayanan
Kesehatan Pada Klinik Dokter Keluarga Suradita (Dibawah bimbingan Ir. Bakri
La Katjong, MT, Mkom, dan Khodijah Hulliyah, MSi).
Klinik Dokter Keluarga Suradita merupakan sebuah klinik yang
memberikan pelayanan kesehatan pada masyarakat Desa Suradita khususnya.
Untuk meningkatkan pelayanan yang lebih baik terhadap pasien yang berobat
diperlukan suatu penanganan dan pengolahan data yang baik dalam usaha yang
sedang berkembang.
Dari hasil analisis yang dilakukan, pada sistem berjalan yang selama ini
digunakan oleh bagian pendaftaran dan bagian kasir kurang memadai dan kurang
menunjang akan kebutuhan sistem yang diinginkan. Didalam memberikan
pelayanannya
kepada
pasien,
Klinik
Dokter
Keluarga
Suradita
masih
menggunakan sistem manual dalam pengadministrasiannya, yang meliputi
penulisan, penginputan, penyimpanan data pasien, Biaya pembayaran pasien, serta
laporan-laporan yang diinginkan seperti laporan data pasien yang berobat, laporan
data diagnosa pasien. Untuk mengatasi persoalan tersebut diatas, maka diperlukan
suatu sistem informasi berbasis komputer. Dimana dalam penelitian ini
perancangan sistem yang digunakan menggunakan metodologi SDLC serta dibuat
pemrograman dengan Visual Basic 6.0 dan Microsoft Access 2003 sebagai basis
datanya.
Kata Kunci : Sistem Informasi, Pelayanan Kesehatan, SDLC, Normalisasi
xviii + 119 Halaman + 10 Tabel + 40 Gambar +
11 Daftar Pustaka (1990-2005)
60
KATA PENGANTAR
Assalamu’alaikum Wr.Wb
Dengan mengucapkan syukur alhamdulillah, penulis panjatkan ke hadirat
ALLAH SWT atas rahmat dan hidayah-nya sehingga skripsi ini dapat selesai
sebagaimana mestinya.
Penulis menyadari bahwa tanpa bantuan dan bimbingan dari berbagai
pihak, skripsi ini tidak akan selesai dengan baik. Pada kesempatan ini, penulis
ingin mengucapkan terima kasih yang sebesar-besarnya atas bimbingan dan
pengarahan yagn diberikan pada penulis selama menyusun skripsi ini. Oleh
karena itu, izinkanlah penulis menyampaikan ucapan terima kasih kepada :
1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains
Dan Teknologi UIN Syarif Hidayatullah Jakarta.
2. Bapak M. Qomarul Huda M.Kom selaku Ketua Program Studi Sistem
Informasi.
3. Bapak Ir. Bakri La Katjong, MT. Mkom Selaku Dosen Pembimbing I dan
Ibu Khodijah Hulliyah, MSi Selaku Dosen Pembimbing II.
4. Bapak dr. Dean Handi Mulya Selaku Pimpinan Klinik Dokter Keluarga
serta seluruh Dokter dan staf yang ada pada Klinik Dokter Keluarga
Suradita yang tidak dapat penulis sebutkan satu persatu. Terima kasih atas
kerjasama dan bantuannya.
61
5. Ayahanda H. Mahpud dan Ibunda Hj. Fatriyah selaku orang tua serta
saudara
penulis, yang telah memberikan doa dan semangat sehingga
skripsi ini dapat terselesaikan.
penulis menyadari bahwa penyususnan skripsi ini masih jauh dari
sempurna sehingga segala saran dan kritik yang membangun sangat penulis
harapkan demi kesempurnaan skripsi ini. Penulis berharap, skripsi ini dapat
berguna dan bermanfaat bagi yang membutuhkanya khususnya penulis sendiri,
rekan-rekan mahasiswa dan masyarakat pada umumnya.
Semoga segala bantuan yang diberikan kepada penulis akan mendapatkan
balasan yang setimpal dari Allah SWT, Amin.
Wassalamu’alaikum Wr.Wb
Jakarta, Agustus 2007
Muhammad Irfan
Penulis
62
DAFTAR ISI
Halaman
Lembar Judul................................................................................................. i
Lembar Persetujuan....................................................................................... ii
Lembar Pengesahan....................................................................................... iii
Lembar Pernyataan........................................................................................ iv
Abstrak........................................................................................................... v
Kata Pengantar............................................................................................... vi
Daftar Isi........................................................................................................ viii
Daftar Simbol................................................................................................. xii
Daftar Tabel................................................................................................... xv
Daftar Gambar............................................................................................
BAB I
xvi
PENDAHULUAN................................................................ 1
1.1
Latar Belakang.............................................................. 1
1.2
Rumusan Masalah...................................................... 3
1.3
Batasan Masalah........................................................... 4
1.4
Tujuan dan Manfaat Penelitian..................................... 4
1.5
Metode Penelitian......................................................... 6
1.5.1 Metode Pengumpulan Data................................. 6
1.5.2 Metode Perancangan........................................... 7
1.6
BAB II
Sistematika Penulisan................................................... 8
LANDASAN TEORI........................................................... 10
2.1
Konsep Dasar Sistem.................................................... 10
2.1.1 Karakteristik Sistem............................................ 11
2.1.2 Klasifikasi Sistem............................................... 13
2.1.3 Pengertian Informasi........................................... 14
2.2
Pengembangan Sistem ................................................. 18
2.3 Pengertian Pelayanan Kesehatan.................................. 18
63
2.3.1 Pelayanan Kesehatan di Indonesia...................... 19
2.4 Pengertian Klinik.......................................................... 20
2.4.1 Tujuan Klinik...................................................... 20
2.4.2 Manfaat Klinik.................................................... 20
2.5
Database........................................................................ 21
2.5.1 Operasi-operasi Database....................................22
2.5.2 Tujuan Database..................................................22
2.5.3 Sistem Database.................................................. 22
2.6
Peralatan Pendukung................................................... 23
2.6.1 Bagan Alir Dokumen........................................ 23
2.6.2 Data Flow Diagram............................................ 25
2.6.3 ERD (Entity Relationship Diagram).................. 28
2.6.4 Normalisasi........................................................ 31
2.6.5 Kamus Data....................................................... 34
2.6.6 Sistem Pengkodean............................................ 39
2.6.7 Perancangan Input / output................................ 41
2.6.7.1 Perancangan Input................................. 41
2.6.7.2 Perancangan Output............................... 42
2.6.8 Microsoft Visual Basic 6.0................................ 42
2.6.9 Microsoft Access 2003...................................... 43
BAB III
METODOLOGI PENELITIAN....................................... 45
3.1
Metode Pengumpulan Data......................................... 45
3.1.1 Metode Observasi............................................. 45
3.1.2 Metode Wawancara........................................... 45
3.1.3 Metode Studi Pustaka....................................... 47
3.2
Waktu dan Tempat Penelitian..................................... 47
3.3
MetodePengembangan Sistem.................................... 47
3.3.1 Perencanaan Sistem......................................... 49
3.3.2 Analisis Sistem................................................ 49
3.3.2 Perancangan Sistem......................................... 51
64
3.3.3 Implementasi Sistem........................................ 52
3.3.4 Pemeliharaan Sistem........................................ 52
BAB IV
PENGEMBANGAN SISTEM INFORMASI
PELAYANAN KESEHATAN ......................................... 53
4.1
Umum......................................................................... 53
4.2
Tinjauan Masalah....................................................... 54
4.3
4.2.1
Sejarah Klinik................................................. 54
4.2.2
Visi , Misi dan Tujuan Klinik......................... 55
4.2.3
Struktur Organisasi dan Fungsi...................... 56
Analisis Sistem Berjalan............................................ 59
4.3.1
Prosedur Sistem Berjalan............................... 59
4.3.2
Analisis Kebutuhan Sistem yang Berjalan..... 62
4.3.3
Kelemahan Sistem yang Berjalan................... 64
4.3.4
Kelebihan Sistem yang Berjalan..................... 68
4.3.5
Analisis Masalah............................................ 68
4.3.6
Solusi Pemecahan Masalah............................ 69
4.4 Usulan Rancangan Sistem Pelayanan Kesehatan........ 71
4.4.1 Diagram Arus Dokumen Usulan..................... 73
4.5 Perancangan Sistem.................................................... 74
4.5.1
Perancangan Proses........................................ 74
4.5.2
Perancangan Basis Data................................. 82
4.5.2.1 ERD yang belum dinormalisasikan.... 82
4.5.2.2 Normalisasi........................................ 83
4.5.2.3 ERD yang sudah dinormalisasikan.... 88
4.5.3.4 Struktur Data..................................... 89
4.5.3.5 Rancangan Kode................................ 93
4.5.3.6 Kamus Data....................................... 95
4.5.3
Perancangan Input / Output............................ 96
4.5.3.1 Perancangan Struktur
Menu Tampilan.................................. 96
65
4.5.3.2 Perancangan Layar Tampilan............ 98
4.6
4.7
BAB V
Implementasi............................................................... 111
4.6.1
Spesifikasi Komputer...................................... 111
4.6.2
Konversi Sistem.............................................. 112
Pemeliharaan Sistem................................................... 113
PENUTUP........................................................................... 114
5.1
Kesimpulan.................................................................. 114
5.2
Saran............................................................................ 115
DAFTAR PUSTAKA................................................................................. 116
LAMPIRAN I WAWANCARA................................................................ 117
LAMPIRAN II TAMPILAN APLIKASI ................................................ 120
LAMPIRAN III LISTING PROGRAM .................................................. 133
LAMPIRAN IV DOKUMEN .................................................................... 164
66
DAFTAR SIMBOL
Simbol-simbol DFD (Data Flow Diagram) DeMarco dan Gane Sarson
Simbol
Arti
Proses
Keterangan
Menunjukan kegiatan
proses operasi dari
sistem.
Entitas yang memberi
dan menerima data.
Entitas luar
Data Storage
Tempat penyimpanan
dan pengambilan file
data.
Menunjukan arah/arus
dari data yang diproses.
Arus Data
67
Simbol-simbol Bagan Alir (Flow Map) Jogiyanto, HM
Simbol
Arti
Keterangan
Awal/akhir dari sebuah
proses.
Start Off
Operasi sistem secara
manual.
Manual Operation
Proses secara
komputerisasi.
Proses Komputerisasi
Keputusan.
Decision
Dokumen dalam bentuk
file-file.
Arsip
Dokumen dalam
komputer.
Dokumen
Aliran data.
Arus Data
Simpanan dalan database.
Data Storage
68
Simbol-simbol ERD (Entity Relationship Diagram) Fathansyah, Ir
Simbol
Arti
Entitas
Keterangan
Komponen yang berupa
file-file data untuk
diproses oleh sistem.
Penghubung antar entitas
satu dengan entitas lain.
Relasi
Penjelasan secara detail
tentang entitas.
Atribut
Penjelasan tentang
hubungan.
Link
Relasi satu ke satu
1
1
One-to-one
1
Relasi satu ke banyak
m
One-to-many
m
Relasi banyak ke banyak
m
Many-to-many
69
DAFTAR TABEL
Tabel 4.1
Halaman
Basis Data Pasien……………………………………..….. 89
Tabel 4.2
Basis Data Transaksi…………………………………....... 89
Tabel 4.3
Basis Data Dokter……………………………………….... 90
Tabel 4.4
Basis Data Resep………………………………………….. 90
Tabel 4.5
Basis Data Faktur………….…………………………........ 91
Tabel 4.6
Basis Data Detil Dagnosa………………………………..... 91
Tabel 4.7
Basis Data Diagnosa……………………………………..... 92
Tabel 4.8
Basis Data Detil Resep…………………………………..... 92
Tabel 4.9
Basis Data Obat………………………………………….... 93
Tabel 4.10
Kamus Data……………………………………………....... 95
70
DAFTAR GAMBAR
Halaman
Gambar 4.1
Struktur Organisasi Klinik Dokter Keluarga Suradita…......... 57
Gambar 4.2
Diagram Arus Dokumen Sistem Berjalan................................ 67
Gambar 4.3
Diagram Arus Dokumen Sistem Usulan................................ .. 73
Gambar 4.4
Diagram Konteks Sistem Informasi Pelayanan Kesehatan...... 74
Gambar 4.5
Diagram Level 1 Sistem Informasi Pelayanan Kesehatan........ 76
Gambar 4.6
Diagram Detail Proses 1.0 Level 2 Proses Pendaftaran ........... 78
Gambar 4.7
Diagram Detail Proses 4.0 Level 2 Proses Input Data
Diagnosa………………………………………........................ 79
Gambar 4.8
Diagram Detail Proses 5.0 Level 2 Proses Pembayaran
Biaya Pengobatan dan Obat..……….………………………... 80
Gambar 4.9
Diagram Detail Proses 6.0 Level 2 Proses
Pembuatan Laporan................................................................... 81
Gambar 4.10 Entity Relationship Diagram (ERD) yang belum
dinormalisasikan ....................................................................... 82
Gambar 4.11 Normalisasi Tidak Normal (Unnormalized)...................……... 83
Gambar 4.12 Bentuk Normal Pertama (1NF)...........………………………..
84
Gambar 4.13 Bentuk Normal Kedua (2NF)..………………………………..
86
Gambar 4.14 Bentuk Normal Ketiga (3NF)....................…………………....
87
Gambar 4.15 Entity Relationship Diagram (ERD) yang sudah
dinormalisasikan .......................................................................
88
Gambar 4.16 Perancangan Struktur Menu Tampilan……………………….. 97
71
Gambar 4.17 Rancangan Layar Password……………..…………..………... 98
Gambar 4.18 Rancangan Layar Menu Utama Pelayanan Kesehatan………... 98
Gambar 4.19 Rancangan File Master Data Pasien……………………......... 99
Gambar 4.20 Rancangan File Master Data Obat………………………........ 99
Gambar 4.21 Rancangan File Master Data Diagnosa……………………..... 100
Gambar 4.22 Rancangan File Master Data Dokter………………………..... 100
Gambar 4.23 Rancangan Menu Resep………………………………............ 101
Gambar 4.24 Rancangan Menu Faktur……………………………............... 101
Gambar 4.25 Rancangan Menu Transaksi Diagnosa……………………...... 102
Gambar 4.26 Rancangan Layar Laporan Resep ………………………........ 102
Gambar 4.27 Rancangan Layar Laporan Faktur…………………………..... 103
Gambar 4.28 Rancangan Layar Laporan Transaksi……………………........ 103
Gambar 4.29 Rancangan Layar Ganti Password………………………….... 104
Gambar 4.30 Rancangan Layar tambah User……………………………..... 104
Gambar 4.31 Rancangan Layar Daftar Pasien…………………………….... 105
Gambar 4.32 Rancangan Layar Daftar Dokter…………………………....... 105
Gambar 4.33 Rancangan Layar Daftar Obat…………………………........... 106
Gambar 4.34 Rancangan Layar Daftar Diagnosa……….........…………....... 106
Gambar 4.35 Rancangan Layar Laporan Resep…………………………...... 107
Gambar 4.36 Rancangan Layar Laporan Faktur…………………………..... 107
Gambar 4.37 Rancangan Layar Laporan Diagnosa………………………..... 108
Gambar 4.38 Rancangan Layar Cetak Resep……………………………..... 108
Gambar 4.39 Rancangan layer Cetak Faktur……………………………...... 109
72
Gambar 4.40 Rancangan Layar Cetak Biaya Pengobatan………………....... 109
Gambar 4.41 Rancangan Layar Kartu Pasien……………………………..... 110
73
BAB I
PENDAHULUAN
1.1
Latar Belakang
Dalam teknologi yang maju, makin terasa diperlukan suatu alat
yang mempunyai kemampuan untuk melaksanakan pekerjaan rutin,
menghitung, menyimpan informasi dalam jumlah besar, mengambil data
dengan random (acak) maupun squensial (urut) dalam waktu yang cepat.
Dalam hal ini, komputer merupakan alat yang memainkan peranan yang
sangat penting.
Pada dasarnya komputer adalah suatu peralatan mekanik yang
digunakan untuk pengolahan data berdasarkan program yang dibuat oleh
manusia sehingga menghasilkan informasi yang diinginkan dengan cepat
dan mudah. Komputer juga mempunyai aspek-aspek tertentu diantaranya
adalah hardware, software, brainware.
Pada saat ini komputer sudah banyak digunakan sebagai alat
pengolah data pada berbagai kegiatan, namun pada awalnya kegiatan
pengolahan data mungkin hanya sekedar untuk pencatatan, tetapi dengan
adanya perkembangan dapat dijadikan sebagai kegiatan pembuatan
penyajian laporan.
Komputer merupakan salah satu penerapan nyata dari kemajuan
ilmu pengetahuan dan teknologi. Kalangan bisnis dan perkantoran
semakin menyadari pentingnya kehadiran komputer ditengah-tengah
74
aktifitas mereka. Demikian pula halnya dengan badan usaha Klinik
Kesehatan, walaupun termasuk badan usaha yang kecil kehadiran
komputer sangat membantu dalam setiap kegiatannya.
Sejalan dengan perkembangan ilmu dan teknologi, segala sesuatu
yang berhubungan dengan informasi berjalan dengan cepat. Begitu juga di
Klinik-klinik kesehatan yang merupakan suatu tempat pelayanan
kesehatan masyarakat. Adapun Klinik Dokter Keluarga Suradita,
merupakan
salah satu klinik yang memberikan pelayanan kesehatan
kepada masyarakat, tidak terlepas dari kebutuhan akan teknologi ini.
Selanjutnya Klinik Dokter Keluarga Suradita tersebut mengalami kendala
dalam memberikan pelayanan kesehatan kepada masyarakat, karena sistem
yang ada, tidak dapat mendata pasien secara sistematis, terkadang
membuat kesulitan kepada petugas klinik dalam melacak data pasien dan
mencari data pasien yang sudah terdaftar.
Dalam hal sistem yang terdapat pada Klinik Dokter Keluarga
Suradita, walaupun sudah menggunakan komputer akan tetapi masih
berjalan secara manual dan standalone. Sistem yang ada tidak dapat
mendata pasien secara sistematis dan didalam proses keuangan
pembayaran-pembayaran berjalan masih secara global sehingga tidak
diketahui rincian dari pembayaran yang berlaku. Sistem yang ada tidak
dapat mencetak laporan-laporan baik pembayaran yang ada, diagnosa
pasien maupun pasien yang datang ke klinik.
75
NO
SISTEM YANG LAMA
1
- Tidak dapat mendata pasien secara
sistematis,
tidak
laporan-laporan
yang
ada,
data
dapat
baik
SISTEM YANG BARU
- Menghasilkan
mencetak
yang diinginkan dengan
pembayaran
diagnosa
informasi
cepat dan mudah.
pasien
maupun pasien yang datang ke klinik.
2
- Proses pelayanan terhadap 1 pasien
- Hanya membutuhkan
memakan waktu 10 s.d 15 menit
3
waktu kurang dari 5 menit
Hanya bisa melayani 25 s.d 50
-
pasien / hari
Dari
Bisa
melayani
pasien
sebanyak 50 s.d 150 / hari
permasalahan-permasalahan
yang
ada,
penulis
ingin
memberikan suatu solusi untuk mengatasi kekurangan yang ada dengan
membuat sistem yang dapat mengatasi kendala-kendala diatas , dalam
skripsi yang berjudul :“ PENGEMBANGAN SISTEM INFORMASI
PELAYANAN
KESEHATAN
PADA
KLINIK
DOKTER
KELUARGA SURADITA STUDI KASUS DESA SURADITA KEC.
CISAUK TANGERANG"
1.2
Rumusan Masalah
Klinik Dokter Keluarga Suradita merupakan salah satu tempat
pelayan kesehatan kepada masyarakat di Desa Suradita dan sekitarnya
dalam memeriksa berbagai macam penyakitnya.
76
Berdasarkan latar belakang masalah yang telah dikemukakan
diatas, maka pokok-pokok masalah yang akan diteliti dalam penulisan
skripsi ini dapat dirumuskan sebagai berikut :
1. Apakah pengembangan Sistem informasi dapat membantu klinik
dalam melayani pasien di Klinik Dokter Keluarga Suradita ?
2. Bagaimana mengembangkan suatu sistem informasi yang dapat
digunakan untuk melayani pasien di klinik Dokter Keluarga Suradita ?
3. Bagaimana mengimplementasikan sistem ini didalam Klinik Dokter
Keluarga Suradita?
1.3
Batasan Masalah
Sesuai dengan rumusan permasalahan diatas, uraian yang akan
penulis sampaikan dibatasi hanya pada pengembangan sistem informasi
pelayanan kesehatan pada klinik dokter keluarga Suradita, yang
mencakup:
1. Proses pendaftaran pasien agar data pasien dapat di simpan.
2. Proses pendataan data diagnosa pasien agar dapat disimpan dengan
baik dan mudah untuk dicari.
3. Proses Pembayaran obat dan biaya pengobatan
secara rinci agar
diketahui rincian dari pembayaran obat tersebut.
4. Laporan pasien yang berobat perhari dan perbulan, Data Diagnosa
Pasien serta laporan pembayaran resep obat dan biaya pengobatan
yang ada pada klinik dokter keluarga Suradita.
77
1.4
Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah membantu memecahkan masalah
yang dihadapi oleh Klinik Dokter Keluarga Suradita dengan cara
mewujudkan sebuah software dan merancang sistem informasi untuk
pendataan pasien secara sistematis agar data pasien dapat disimpan secara
sistematis, pembayaran obat dan biaya pengobatan secara jelas sehingga
dapat diketahui rincian dari pembayaran obat dan biaya pengobatan
tersebut, mencetak laporan yang diperlukan seperti laporan pasien yang
berobat, laporan data diagnosa pasien serta laporan pembayaran resep obat
dan biaya pengobatan yang ada pada klinik dokter keluarga Suradita.
Sedangkan manfaat penelitian, yaitu :
Sesuai dengan permasalahan dan tujuan penelitian yang telah
disebutkan diatas, maka manfaat peneltian dapat dirumuskan sebagai
berikut :
A ) Manfaat bagi Klinik.
Membantu memudahkan petugas klinik
pasien,
pengambilan
dan
dalam proses Pendataan
pembayaran
obat
pasien
serta
meminimalisir penggunaan kertas.
B)
Manfaat bagi Pasien.
Memberikan kemudahan dan kenyamanan kepada pasien dalam
melakukan proses pengobatan karena mendapatkan pelayanan cepat,
tepat dan memuaskan.
78
C)
Manfaat bagi Penulis
Dapat mengaplikasikan disiplin ilmu yang telah diperoleh selama
kuliah dan sebagai syarat kelulusan sarjana komputer pada jurusan
Sistem Informsi Fakultas sains dan teknologi UIN Syarif
Hidayatullah Jakarta.
1.5
Metodologi Penelitian
Dalam rangka penulisan skripsi ini tahapan metodologi penelitian
yang dilakukan oleh penulis adalah :
1.5.1 Metode Pengumpulan Data.
Didalam metode pengumpulan data yang penulis gunakan
dalam pembahasan masalah skripsi ini adalah :
A. Observasi
Metode ini dilakukan dengan menggunakan pengamatan
secara langsung terhadap proses kerja yang ada dalam kasus
yang sedang diamati.
B. Wawancara
Metode ini dilakukan dengan mengajukan tanya jawab secara
langsung dengan pihak yang bersangkutan didalam penulisan
skripsi ini.
C. Studi Pustaka
Metode ini dilakukan melalui pendekatan-pendekatan yang
mempelajari buku yang berisi teori-teori sebagai bahan
79
pertimbangan atau referensi yang
berhubungan dengan
permasalahan yang akan dibahas dalam skripsi.
1.5.2
Metode Perancangan
Metode perancangan yang dilakukan dalam penelitian ini,
penulis melakuakan pengembangan sistem menggunakan metode
daur hidup pengembangan sistem. Tahapan yang dilakukan adalah:
a) Perencanaan Sistem
Tahap perencanaan merupakan kegiatan merencanakan sebuah
sistem baru/perbaharuan yang lebih baik dari sistem yang ada
saat ini.
b) Analisis Sistem
Menghubungkan laporan hasil metode studi lapangan dan
kebijakan pemakai menjadi spesifiksi yang terstruktur dengan
menggunakan pemodelan. Alat yang digunakan System
Procedure Diagram dan Data Flow Diagram.
c) Perancangan Sistem
Mengimplementasikan model yang diinginkan pemakai. Alat
yang digunakan adalah :
1. Data Flow Diagram dan Kamus Data sebagai alat
perancangan sistem.
2. ERD, Normalisasi dan Spesifikasi Database sebagai alat
perancangan database.
3. Perancangan layar tampilan input output.
80
4. STD sebagai alat perancangan struktur tampilan.
d) Implementasi Sistem.
Dalam implementasi terdiri dari 4 tahap yaitu :
1. Membangun sistem yang sesuai dengan perencanaan.
2. Melakuakn testing pada sistem yang telah dibangun sesuai
dengan perencanaan.
3. Penginstalan sistem aplikasi yang dibangun.
4. Mengoperasikan sistem yang dibangun dan memberikan
training kepada operator/ petugas klinik.
e) Operasi dan Pendukung Sistem
Tahap ini bertujuan untuk memelihara dan meningkatkan kerja
sistem.
1.6.
Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun dengan tujuan agar
semua kegiatan dalam pengembangan sistem informasi pelayanan
kesehatan pada Klinik Dokter Keluarga di Desa Suradita dapat disusun
dengan jelas dan sistematis. Dalam rangka penyusunan tugas akhir ini,
penulis membagi sistematika penulisan kedalam lima bab, yaitu :
BAB I
PENDAHULUAN
Dalam bab ini diuraikan tentang latar belakang
dan
permasalahan, rumusan masalah, batasan masalah, tujuan
81
dan manfaat penelitian, metodologi penelitian, serta
sistematika penulisan.
BAB II
LANDASAN TEORI
Penguraian kerangka teoritis yang digunakan dalam
penyusunan dan penulisan skripsi ini.
BAB III
METODOLOGI PENELITIAN
Bab yang membahas metode yang digunakan penulis dalam
melakukan penelitian. Membahas tahapan pengembangan
sistem dengan metode pendekatan terstruktur.
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
INFORMASI PELAYANAN KESEHATAN
Bab ini berisi tentang sejarah, visi dan misi, serta tujuan
klinik Dokter Keluarga, perancangan dan konstruksi,
Implementasi serta pengujian sistem yang dibangun dengan
menggunakan Microsoft Visual Basic 6.0 dengan mengacu
pada siklus daur hidup pengembangan sistem (SDLC).
BAB V
PENUTUP
Pada bab ini penulis membahas tentang kesimpulan dari
bab-bab sebelumnya dan saran-saran dari penulis
82
BAB II
LANDASAN TEORI
2.1.
Konsep Dasar Sistem
Menurut Jogiyanto (1999: 1), terdapat dua kelompok pendekatan di dalam
mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan
yang menekankan pada komponen atau elemennya.
1. Pendekatan
sistem
yang
lebih
menekankan
pada
prosedur
mendefinisikan sistem sebagai berikut: “Sistem adalah suatu jaringan
kerja dari prosedur-prosedur yang saling berhubungan, berkumpul
bersama-sama
untuk
melakukan
suatu
kegiatan
atau
untuk
menyelesaikan suatu sasaran tertentu”.
2. Pendekatan sistem yang lebih menekankan pada elemen atau
komponennya mendefinisikan sistem sebagai berikut : “Sistem adalah
kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu
tujuan tertentu”.
Secara sederhana suatu sistem dapat diartikan sebagai suatu kumpulan
atau himpunan dari unsur-unsur komponen atau variabel-variabel yang
terorganisir, saling berinteraksi, saling ketergantungan satu sama lainnya
dan terpadu.
Istilah-istilah “SISTEM” banyak dipakai baik diperusahaanperusahaan atau organisasi, diantaranya adalah : sistem perbankan, sistem
83
akuntansi, sistem perangkat lunak, sistem tata surya, sistem teologi dan
masih banyak lagi bentuk sistem yang ada sekarang ini.
Dari semua uraian-urain diatas dapat diambil suatu kesimpulan bahwa
sistem adalah sekelompok unsur-unsur atau komponen-komponen yang
saling berhubungan erat satu dengan yang lainnya yang berfungsi
bersama-sama untuk mencapai tujuan.
2.1.1. Karakteristik Sistem
Menurut Jogiyanto (1999 : 3), pada dasarnya sistem
mempunyai karakteristik atau sifat-sifat tertentu, yaitu:
a. Komponen Sistem (Components)
Suatu sistem terdiri dari sejumlah komponen yang saling
berinteraksi,
yang artinya saling bekerja sama membentuk
suatu kesatuan.
b. Batas Sistem (Boundary)
Batas sistem (boundary) merupakan daerah yang membatasi
antara suatu sistem dengan sistem yang lainnya atau dengan
lingkungan luarnya.
c. Lingkungan Luar Sistem (Environments)
Lingkungan luar sistem (environment) dari suatu sistem adalah apapun diluar batas dari sistem
yang mempengaruhi operasi sistem.
d. Penghubung Sistem (Interface)
84
Penghubung (interface) merupakan media penghubung antara
satu subsistem dengan subsistem yang lainnya.
e. Masukan Sistem (Input)
Masukan (input) adalah energi yang dimasukan ke dalam
sistem.
f. Keluaran Sistem (Output)
Keluaran (output) adalah hasil dari energi yang diolah dan
diklasifikasikan menjadi keluaran yang berguna dan sisa
pembuangan.
g. Pengolah Sistem (Process)
Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi
keluaran.
h. Sasaran Sistem (Objectives)
Suatu sistem pasti mempunyai tujuan (Goal) atau sasaran
(Objective). Kalau suatu sistem tidak mempunyai sasaran,
maka operasi sistem tidak akan ada gunanya. Sasaran dari
sistem sangat menentukan sekali masukan yang dibutuhkan
sistem dan keluaran yang dihasilkan sistem. Suatu sistem
dikatakan berhasil bila mengenai sasaran dan tujuannya.
2.1.2. Klasifikasi Sistem
85
Sistem dapat diklasifikasikan dari beberapa sudut
pandangan, diantaranya adalah sebagai berikut ini :
1. Sistem Abstrak (Abstract System) dan Sistem fisik (physical
System).
Sistem Abstrak (Abstract System) adalah sistem yang berupa
pemikiran atau ide-ide yang tidak tampak secara fisik.
Misalnya sistem teologi, yaitu sistem yang berupa pemikiranpemikiran hubungan antar manusia dengan tuhan.
Sistem fisik (physical System) adalah sistem yang ada secara
fisik. Misalnya sistem komputer, sistem akuntansi, sistem
produksi, dan lain sebagainya.
2. Sistem Alamiah (Natural System) dan Sistem buatan Manusia
(Human made System).
Sistem Alamiah (Natural System) adalah Sistem yang terjadi
melalui proses alam, tidak dibuat manusia. Misalnya Sistem
perputaran bumi.
Sistem Buatan Manusia (Human Made System) adalah Sistem
yang dirancang oleh manusia.
3. Sistem Tertentu (Deterministic System) Dan Sistem Tak
Tertentu (Probabilistic System).
Sistem Tertentu (Deterministic System) adalah Sistem Tertentu
beroperasi dengan tingkah laku yang sudah dapat diprediksi.
Misalnya sistem komputer.
86
Sistem Tak Tertentu adalah sistem yang kondisi masa
depannya tidak dapat diprediksi
karena mengandung unsur
probabilitas.
4. Sistem Tertutup (Closed System) dan Sistem Terbuka (Open
System).
Sistem Tertutup (Closed System) adalah sistem yang tidak
berhubungan dan tidak berpengaruh dengan lingkungan
luarnya.
Sistem
Terbuka
(Open
System)
adalah
sistem
yang
berhubungan dan terpengaruh dengan lingkungan luarnya.
2.1.3. Pengertian Informasi
Menurut Jogiyanto (1999:8), “Informasi adalah data
yang diolah menjadi bentuk yang lebih berguna dan lebih berarti
bagi yang menerimanya”.
A. Kualitas Informasi
Kualitas dari suatu informasi tergantung dari tiga hal,
yaitu informasi harus akurat, tepat pada waktunya dan
relevan.
1. Akurat, berarti informasi harus bebas dari kesalahankesalahan dan tidak bias atau menyesatkan. Akurat juga
berarti informasi harus jelas mencerminkan maksudnya,
karena memungkinkan terjadinya gangguan yang dapat
merubah atau merusak informasi tersebut.
87
2. Tepat pada waktunya, berarti informasi yang datang pada
penerima tidak boleh terlambat. Informasi yang sudah
usang tidak akan mempunyai nilai lagi. Karena informasi
merupakan landasan di dalam pengambilan keputusan.
3. Relevan, berarti informasi tersebut mempunyai manfaat
untuk pemakainya. Relevansi informasi untuk tiap satu
orang dengan yang lainnya berbeda.
B. Pengertian Sistem Informasi
Sistem informasi dapat merupakan kombinasi teratur
apapun dan orang-orang, hardware, software, jaringan
komunikasi, dan sumber daya data yang mengumpulkan,
mengubah, dan menyebarkan informasi dalam sebuah
organisasi. Orang bergantung pada sistem informasi untuk
berkomunikasi antara satu sama lain dengan menggunakan
berbagai jenis alat fisik (hardware), perintah dan prosedur
pemrosesan
informasi
(software),
saluran
komunikasi
(jaringan), dan data yang disimpan (sumber daya data) sejak
permulaan peradaban. James A.O’brein (2005:211).
C. Komponen Sistem Informasi
88
Menurut Jogiyanto (1999:12), komponen sistem
informasi yang terdiri dari beberapa blok diuraikan sebagai
berikut:
1. Blok Masukan
Input mewakili data yang masuk ke dalam sistem
informasi. Input disini termasuk metode-metode dan
media untuk menangkap data yang akan dimasukkan,
yang dapat berupa dokumen-dokumen dasar.
2. Blok Model
Blok ini terdiri dari kombinasi prosedur, logika dan
model matematik yang akan memanipulasi data input dan
data yang tersimpan di database dengan cara yang sudah
tertentu untuk menghasilkan keluaran yang diinginkan.
3. Blok Keluaran
Produk dari sistem informasi adalah keluaran yang
merupakan informasi yang berkualitas dan dokumentasi
yang berguna untuk semua tingkatan manajemen serta
semua pemakai sistem.
4. Blok Teknologi
Teknologi merupakan kotak alat (tool box) dalam sistem
informasi. Teknologi digunakan untuk menerima input,
menjalankan model, menyimpan dan mengakses data,
89
menghasilkan dan mengirimkan keluaran dan membantu
pengendalian dari sistem secara keseluruhan.
5. Blok Database
Database (database) merupakan kumpulan dari data yang
saling berhubungan satu dengan yang lainnya, tersimpan
di perangkat keras komputer dan digunakan perangkat
lunak untuk memanipulasinya. Data perlu disimpan di
dalam database untuk keperluan penyediaan informasi
lebih lanjut. Database diakses atau dimanipulasi dengan
menggunakan perangkat lunak paket yang disebut dengan
DBMS (Database Management System).
6. Blok Kendali
Banyak hal yang dapat merusak sistem informasi, seperti
halnya bencana alam, kecurangan-kecurangan, kegagalan
sistem dan lain sebagainya. Beberapa pengendalian perlu
dirancang dan diterapkan untuk meyakinkan bahwa halhal yang dapat merusak sistem dapat dicegah ataupun bila
terlanjur terjadi kesalahan-kesalahan dapat langsung cepat
diatasi.
2.2.
Pengembangan Sistem
Pengembangan sistem dapat berarti menyusun atau membuat
suatu sistem baru untuk menggantikan atau memperbaiki sistem lama ,baik
secara keseluruhan atau sebagian dari sistem yang telah ada dengan
90
mengintegrasikan dan memadukan prosedur, sarana dan sumber daya
manusia yang dimiliki. Sistem yang lama perlu diperbaiki atau diganti
disebabkan karena beberapa hal sebagai berikut :
1. Adanya permasalahan-permasalahan (problems) yang timbul di sistem
yang lama seperti : adanya ketidakberesan atau adanya pertumbuhan
organisasi.
2. Adanya intruksi-intruksi (directives) dari atasan atau pimpinan atau
dari luar organisasi, seperti peratuaran pemerintah.
3. Untuk meraih kesempatan-kasempatan (opportunities). Kesempatankesempatan ini dapat berupa peluang-peluang pasar, pelayanan yang
meningkat pada pelayan.
Menurut Sutabri Tata, (2004:63) Pendekatan daur hidup
sistem
adalah
sebuah
alat
manajemen
yang
digunakan
untuk
merencanakan dan mengontrol kegiatan pengembangan sistem.
2.3.
Pengertian Pelayanan Kesehatan
Pelayanan Kesehatan menurut DR. Dr. Azrul Azwar M.P.H
(1990:71) adalah bagian dari pelayanan kedokteran (medical services)
yang tujuan utamanya adalah untuk menyembuhkan penyakit dan
memulihkan kesehatan, serta sasaran utamanya adalah perseorangan dan
ataupun keluarga.
2.3.1. Pelayanan Kesehatan di Indonesia
Sesuai dengan ketentuan sebagaimana yang tercantum
dalam UU Kesehatan No 23 tahun 1992 serta yang tercantum
dalam Sistem Kesehatan Nasional terutama dalam uraian tentang
bentuk-bentuk Pokok SKN bab IV, maka pelayanan kesehatan di
Indonesia dapat dibedakan atas dua macam. Pertama, yang di
selenggarakan oleh pemerintah. Kedua, yang di selenggarakan oleh
swasta
91
Sarana pelayanan kesehatan yang di selenggarakan oleh
pemerintah di Indonesia adalah PUSKESMAS, sebagai sarana
pelayanan kesehatan tingkat pertama serta Rumah Sakit dengan
berbagai jenjangnya, sebagai sarana pelayanan kesehatan tingkat
kedua dan ketiga.
Sedangkan pelayanan kesehatan yang di selenggarakan oleh
swasta di Indonesia banyak macamnya. Antara lain praktek bidan,
praktek dokter gigi dan praktek dokter umum (perseorangan atau
berkelompok), poliklinik, Balai pengobatan dan lain sebagainya
yang seperti ini, sebagai sarana pelayanan kesehatan tingkat
pertama. Serta, praktek dokter spesialis dan rumah sakit dengan
berbagai jenjangnya, sebagai sarana pelayanan kesehatan tingkat
kedua dan ketiga.
2.4.
Pengertian Klinik
Pengertian Klinik menurut Dr. Med. Ahmad Ramali (1993:51)
dalam kamus Kedokteran adalah Rumah Sakit atau tempat untuk merawat
oang sakit, guna diperiksa, diamati dan diobati oleh sekelompok dokter.
2.4.1
Tujuan Klinik menurut DR. Dr. Azrul Azwar M.P.H (1990:108)
dalam kamus kedokteran adalah :
ƒ
Terwujudnya keadaan sehat bagi setiap anggota keluarga.
ƒ
Terpenuhinya kebutuhan keluarga akan pelayanan kesehatan
yang lebih efektif dan efisien.
2.4.2
Manfaat Klinik menurut DR. Dr. Azrul Azwar M.P.H (1990:114)
adalah :
1. Apabila dibutuhkan pelayanan spesialis, maka pengaturannya
akan lebih baik dan terarah, terutama ditengah-tengah
komplesksitas pelayanan kesehatan yang ada saat ini.
2. Akan dapat diselenggarakan penanganan khusus penyakit
dengan tata cara yang lebih sederhana dan tidak begitu mahal
dan karena itu akan meringankan biaya kesehatan.
3. Akan dapat dicegah pemakaian sebagai peralatan kedokteran
canggih yang memeberatkan biaya kesehatan.
4. Akan dapat diselenggarakan pelayananan kesehatan yang
terpadu sehingga penanganan satu masalah kesehatan tidak
menimbulkan berbagai masalah lainnya.
5. Akan dapat diselenggarakan pelayanan pencegahan penyakit
dan di jamin kesinambungan pelayanan kesehatan.
92
2.5.
Database
Database terdiri atas dua kata yaitu basis dan data. Basis dapat
diartikan sebagai tempat atau gudang. Sedangkan data adalah fakta dunia
nyata yang mewakili suatu objek seperti manusia, barang, hewan,
peristiwa, konsep, keadaan dan sebagainya, yang direkam dalam bentuk
angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.
Menurut Fathansyah, Ir. (1999: 2), database dapat diartikan
sebagai berikut:
1. Himpunan kelompok data (arsip) yang saling berhubungan yang
diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali
dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara
bersama sedemikian rupa dan tanpa pengulangan atau redudansi yang
tidak perlu, untuk memenuhi berbagai kebutuhan.
3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan
dalam media penyimpanan elektronik.
Yang sangat penting dalam database adalah pengaturan dan
pengelompokan data berdasarkan fungsi atau jenisnya.
2.5.1. Operasi-operasi Database
93
Setiap database pada umumnya dibuat untuk mewakili
sebuah data yang spesifik. Oleh karena itu, operasi-operasi dasar
yang dapat kita lakukan berkenaan dengan database, meliputi:
1. Menambah file baru ke sistem database.
2. Mengosongkan berkas.
3. Menyisipkan data ke suatu berkas.
4. Mengambil data yang ada pada suatu berkas.
5. Mengubah data pada suatu berkas.
6. Menyajikan suatu informasi yang diambil dari sejumlah berkas.
2.5.2. Tujuan Database
Pemanfaatan database dapat dilakukan untuk memenuhi
sejumlah
tujuan
(objektif)
seperti
berikut:
kecepatan
dan
kemudahan, efisiensi ruang penyimpanan (space), keakuratan,
ketersediaan, kelengkapan, keamanan dan kebersamaan.
2.5.3. Sistem Database
Menurut Fathansyah, Ir. (1999: 9), Sistem database
merupakan sistem yang terdiri atas kumpulan file (tabel) yang
saling berhubungan (dalam sebuah database di sebuah sistem
komputer) dan sekumpulan program (DBMS) yang memungkinkan
beberapa pemakai dan/atau program lain untuk mengakses dan
memanipulasi file-file tabel tersebut.
94
2.6.
Peralatan Pendukung (Tools System)
Tools Sistem adalah alat yang digunakan untuk menggambarkan
bentuk logika model dari suatu sistem yang menggunakan simbol-simbol,
lambang-lambang, diagram-diagram yang menunjukan secara tepat arti
dan fungsinya.
Dalam penulisan Tugas Akhir ini peralatan pendukung yang
digunakan oleh penulis, adalah :
2.6.1. Bagan Alir Dokumen (Flow of Document)
Bagan Alir Dokumen (Flow of Document) merupakan
bagan alir yang menunjukkan arus dari laporan dan formulir
termasuk tembusan-tembusannya (Jogiyanto: 1990). Bagan alir
dokumen menggunakan simbol-simbol antara lain:
1. Simbol dokumen yang menunjukkan dokumen input dan output
baik untuk proses manual, mekanik atau komputer. Seperti
pada (Gambar 2.1.) berikut ini:
Gambar 2.1 : Simbol Dokumen
2. Simbol kegiatan manual yang menunjukkan pekerjaan manual.
Seperti pada (Gambar 2.2.) berikut ini:
95
Gambar 2.2 : Simbol Kegiatan Manual
3. Simbol Simpanan Offline yang menunjukkan pengarsipan file.
Seperti pada (Gambar 2.3.) berikut ini:
Gambar 2.3 : Simbol Simpanan Offline
4. Simbol Proses yang menunjukkan kegiatan proses dari operasi
program komputer. Seperti pada (Gambar 2.4.) berikut ini :
Gambar 2.4 : Simbol Proses
5.
Simbol Hardisk menunjukan input / output menggunakan
hardisk. Seperti pada (Gambar 2.5.) berikut ini :
Gambar 2.5 : Simbol Hardisk
6. Simbol Garis Alir yang menunjukkan arus dari proses. Seperti
pada (Gambar 2.6.) berikut ini :
Gambar 2.6 : Simbol Garis Alir
Lebih lanjut FOD (Flow Of Document) digunakan terutama
untuk
alat
bantu
komunikasi
dan
dokumentasi.
Untuk
menggambarkan suatu FOD yang baik, pedoman yang dapat
diikuti adalah:
1. Digambar dari atas ke bawah dan mulai dari bagian kiri dari
suatu halaman.
96
2. Kegiatan dalam FOD harus ditunjukkan dengan jelas.
3. Harus ditunjukkan dari mana kegiatan akan dimulai dan
dimana akan berakhirnya.
4. Masing-masing kegiatan dalam FOD sebaiknya digunakan
suatu kata yang mewakili suatu pekerjaan.
5. Masing-masing kegiatan dalam FOD harus dalam urutan yang
semestinya.
6. Kegiatan yang terpotong akan disambung ke tempat lain harus
ditunjukkan dengan jelas menggunakan simbol penghubung.
7. Gunakan simbol-simbol FOD yang standar.
2.6.2. DFD (Data Flow Diagram)
Menurut Sutabri Tata (2004 : 163) Data Flow Diagram
(DFD) adalah suatu network yang menggambarkan suatu sistem
komputerisasi, manualisasi atau gabungan dari keduanya yang
penggambarannya disusun dalam bentuk kumpulan komponen
sistem yang saling berhubungan sesuai dengan aturan mainnya.
Pendekatan
analisis
terstruktur
diperkenalkan
oleh
DeMarco (1978) dan Gane Sarson (1979) melalui buku metodologi
struktur analisis dan desain sistem informasi. Mereka menyarankan
untuk
menggunakan
data
flow
diagram
menggambarkan atau membuat model sistem
DFD mempunyai empat komponen yaitu:
(DFD)
dalam
97
1. Terminator
Terminator digunakan untuk menggambarkan elemen-elemen
lingkungan yang menandai titik-titik berakhirnya sistem. Suatu
terminator dapat berupa orang, organisasi atau sistem lainnya
yang berada di lingkungan luarnya yang akan memberikan
input atau menerima output dari sistem. (Gambar 2.7) :.
Gambar 2.7 : Simbol Terminator
2. Proses
Proses adalah sesuatu yang mengubah input menjadi output.
Proses dapat digambarkan dengan lingkaran, segi empat
horizontal, atau segi empat tegak dengan sudut-sudut yang
membulat. Tiap simbol proses diidentifikasikan dengan label.
Simbol proses terdapat pada (Gambar 2.8).
Atau
Gambar 2.8 : Simbol Proses
3. Arus Data
Arus data mengalir diantara proses, penyimpanan data dan
elemen-elemen lingkungan. Tanda panah digunakan untuk
menggambarkan
arus
itu.
Arus
data
dapat
menyebar
(bercabang), memusat, ataupun dua arah. Seperti pada
(Gambar 2.9.) berikut ini :
98
Gambar 2.9 : Simbol Arus Data
4. Penyimpanan Data
Dalam istilah DAD, penyimpanan data (data store) adalah
suatu penampungan data. Penyimpanan data disimbolkan
dengan sepasang garis horizontal paralel yang tertutup disalah
satu ujungnya. Seperti pada (Gambar 2.10.) berikut ini :
Gambar 2.10 : Simbol Penyimpanan Data
A. Tingkatan Diagram pada DFD
Untuk memudahkan membaca DFD, maka diperlukan
proses penggambaran yang disusun secara bertingkat dari atas
ke bawah. Tingkatan tersebut adalah:
1. Diagram Konteks
Diagram konteks merupakan level tertinggi dari DFD yang
mewakili proses dari seluruh sistem hanya mengandung
suatu proses kerja. Diagram konteks menggambarkan
hubungan input/output antara sistem dengan lingkungan
luarnya.
2. Diagram Zero
Diagram Zero Menggambarkan tahapan proses yang ada
didalam diagram konteks, yang penjabarannya secara lebih
99
terperinci. Kemudian diagram Zero juga menggambarkan
kegiatan pokok atau proses utama dari sistem yang
dihubungkan dengan entity, proses, arus data dan
penyimpanan data.
3. Diagram Rinci
Diagram rinci menggambarkan keseluruhan dari sistem
yaitu sistem dan tujuan dari setiap proses data menjadi
dokumen yang ada. Proses dalam diagram rinci sudah tidak
dapat dipecah kembali.
2.6.3
ERD (Entity Relationship Diagram)
Pada Model Entity-Relationship, semesta data yang ada di
‘dunia nyata’ diterjemahkan dengan memanfaatkan sejumlah
perangkat konseptual menjadi sebuah diagram data, yang umum
disebut sebagai Diagram Entity-Relationship (Diagram E-R).
Model Entity-Relationship dibentuk dari dua komponen yaitu
entitas (entity) dan relasi (relation). Kedua komponen ini
dideskripsikan lebih jauh melalui sejumlah atribut Fathansyah, Ir.
(2002 : 72).
Langkah-langkah pembuatan ERD:
1. Menentukan entitas yang diperlukan.
2. Menentukan hubungan antar entitas.
100
3. Menentukan Cardinality Ratio.
4. Menentukan atribut yang diperlukan dari tiap entitas.
5. Menentukan kunci diantara atribut.
ERD adalah suatu diagram yang menggambarkan relasi
antar entitas yang dihubungkan oleh suatu field atau lebih, yang
disebut key. Tujuan utama penggunaan ERD adalah untuk
menunjukkan objek data (entity) dan relationship yang ada pada
objek tersebut. ERD mempunyai tiga komponen yaitu entitas,
relationship dan atribut.
1. Entitas atau objek data
Entitas menyatakan objek atau kejadian yang dapat
disebabkan atau diidentifikasi secara unik. Simbol entitas yang
berbentuk kotak terdapat pada (Gambar 2.11).
Gambar 2.11 : Simbol Entitas
2. Relationship atau hubungan
Relationship adalah asosiasi atau ikatan antara entitas satu
dengan entitas yang lainnya. Simbol Relationship yang berbentuk
terdapat pada (Gambar 2.12).
Gambar 2.12 : Simbol Ralationship
101
3. Atribut atau property
Atribut adalah elemen data yang menunjukkan ciri atau
karakter dari entitas atau item data yang menjadi bagian dari suatu
entitas. Atribut menggambarkan informasi apa saja yang terdapat
di dalam suatu entitas. Simbol Atribut yang berbentuk elips
terdapat pada (Gambar 2.13.).:
Gambar 2.13 : Simbol Atribut
Hubungan antar entitas menyangkut dua komponen yang
menyatakan jalinan ikatan yang terjadi, yaitu derajat dan pertisipasi
hubungan. Derajat hubungan menyatakan jumlah anggota entitas
yang terlibat di dalam ikatan yang terjadi. Sedangkan partisipasi
hubungan menyatakan sifat keterlibatan tiap anggota entitas dalam
ikatan terjadinya hubungan.
Derajat hubungan antar entitas dapat dikategorikan dalam tiga
jenis, yaitu:
1. Derajat hubungan 1 : 1 (One to one)
Derajat hubungan antar entitas 1: 1 terjadi bila entitas A hanya
boleh berpasangan dengan satu anggota dari entitas B.
Demikian pula sebaliknya.
2. Derajat hubungan 1 : m (One to many) atau m :1 (Many to one)
Derajat hubungan ini terjadi bila tiap anggota entitas A boleh
berpasangan dengan lebih dari satu anggota entitas B.
102
Sebaliknya setiap anggota entitas B hanya boleh berpasangan
dengan satu anggota entitas A.
3. Derajat hubungan m : n (Many to many)
Terjadi bila tiap anggota entitas A boleh berpasangan dengan
lebih dari satu anggota entitas B. Demikian pula sebaliknya.
2.6.4 Normalisasi
Menurut Kroenke dalam Abdul Kadir (1999: 65),
Normalisasi adalah proses untuk mengubah suatu relasi yang
memiliki masalah tertentu kedalam dua buah relasi atau lebih yang
tidak memiliki masalah tersebut. Masalah yang dimaksud biasa
disebut dengan istilah anomali. Anomali adalah proses database
yang memberikan efek samping yang tidak diharapkan (misalnya
menyebabkan ketidakkonsistenan data atau membuat data hilang
ketika data lain di hapus).
Dalam normalisasi harus ada field-field yang harus
digunakan antara lain:
a.
Candidat Key (Kunci Calon) : yaitu suatu atribut atau satu set
minimal atribut yang mengindentifikasikaan secara unik suatu
kejadian yang spesifik dari suatu entity.
b. Primary Key (Kunci Utama) : yaitu suatu atribut atau satu set
minimal atribut yang tidak hanya mengindentifikasikan secara
103
unik suatu kejadian yang spesifik, tetapi juga dapat mewakili
setiap kejadiaan dari suatu entity.
c.
Alternate Key (Kunci Alternatif) : candidate key yang tidak
terpilih sebagai Primary key.
d. Foreign Key (Kunci Tamu) : satu atribut atau satu set atribut
yang melengkapi satu relationship atau hubungan yang
menunjukan ke induknya
Menurut Abdul Kadir (1996: 73), beberapa level yang
biasa digunakan pada normalisasi adalah sebagai berikut:
1. Bentuk Normal Pertama “First Normal Form” (1NF)
Bentuk normal pertama biasa dikenakan pada tabel yang belum
ternormalisasi. Tabel yang belum ternormalisasi adalah tabel
yang memiliki atribut yag berulang, atau definisi bentuk
normal pertama adalah sebagai berikut: “Suatu relasi
dikatakan dalam bentuk normal pertama jika dan hanya jika
setiap atribut bernilai tunggal untuk setiap baris”.
2. Bentuk Normal Kedua “Second Normal Form” (2NF)
Bentuk nomal kedua didefinisikan berdasarkan dependensi
fungsional. Suatu relasi berada dalam bentuk normal kedua jika
dan hanya jika:
1. Berada pada bentuk normal pertama.
2.
Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer.
3. Bentuk Normal Ketiga “Third Normal Form” (3NF)
Suatu relasi dikatakan dalam bentuk normal ketiga jika:
104
1. Berada dalam bentuk normal kedua.
2.
Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer.
4. Bentuk Normal Boyce-Codd (BCNF)
Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika
dan hanya jika semua penentu (determinan) adalah kunci
kandidat (atribut yang bersifat unik). BCNF merupakan bentuk
normal sebagai perbaikan terhadap 3NF.
5. Dependensi Nilai Banyak dan Bentuk Normal Keempat (4NF)
Dependensi
nilai
banyak
merupakan
terjemahan
dari
multivalued dependency (MVD). Dependensi ini dipakai pada
bentuk normal keempat (4NF) untuk menyatakan hubungan
satu ke banyak (One to many).
6. Dependensi Gabungan dan Bentuk Normal Kelima (5NF)
Bentuk normal kelima (5NF), yang terkadang disebut PJ/NF
(Projection
Join/Normal
Form),
menggunakan
acuan
dependensi gabungan. Suatu relasi berada dalam 5NF jika dan
hanya jika setiap dependensi gabungan dalam R tersirat oleh
kunci kandidat relasi R. Secara praktis dapat dikatakan bahwa
suatu relasi R barada dalam 5NF jika data yang ada padanya
tak dapat lagi didekomposisi manjadi relasi-relasi yang lebih
kecil dengan kunci kandidat relasi-relasi yang lebih kecil ini
tidak sama dengan kunci kandidat relasi.
2.6.5 Kamus Data
105
Kamus Data (Data Dictionary) adalah suatu aplikasi khusus
dari jenis kamus-kamus yang digunakan sebagai referensi kehidupan
setiap hari. Kendall & Kendall (2003 : 333). Kamus data
merupakan hasil referensi data mengenai data (maksudnya
metadata), suatu data yang disusun oleh penganalisis sistem untuk
membimbing mereka selama melakukan analisis dan desain. Sebagai
suatu dokumen, kamus data mengumpulkan dan mengkoordinasikan
istilah-istilah data tertentu dan menjelaskan apa arti setiap istilah
yang ada.
Menurut Jogiyanto (1999: 725), kamus data adalah katalog
fakta tentang data dan kebutuhan-kebutuhan dari suatu sistem
informasi. Dengan menggunakan kamus data analis sistem dapat
mendefinisikan data yang mengalir di sistem dengan lengkap dan
terstruktur. Kamus data dibuat pada tahap analisis sistem dan
perancangan suatu sistem.
Kamus data harus dapat menjelaskan lebih detail lagi
tentang DFD yang mencakup proses, data flow dan data store.
Kamus data dibuat dan digunakan baik pada analisis maupun pada
tahap perancangan sistem.
Pada tahap analisis kamus data
digunakan sebagai alat komunikasi antara sistem analis dengan
user tentang data
yang mengalir pada sistem tersebut serta
informasi yang dibutuhkan oleh pemakai sistem. Sedangkan pada
106
tahap perancangan sistem kamus data digunakan untuk merancang
input, output, atau laporan dan database.
Kamus data harus dapat mencerminkan keterangan yang
jelas tentang data yang dicatatnya,
maka kamus data harus
memuat hal-hal sebagai berikut :
b. Nama Arus Data
Nama arus data dibuat berdasarkan arus data yang mengalir.
c. Alias
Alias atau nama lain dari data yang dituliskan.
Karena
terkadang data sama tetapi nama berbeda untuk orang atau
departement satu dengan lainnya.
d. Tipe Data
Tipe data menunjukan bagaimana arus data mengalir dari hasil
suatu proses ke proses yang lain. Data yang mengalir ini dapat
berupa suatu dokumen dasar atau formulir,
serta dokumen
hasil cetakan komputer.
e. Arus Data
Arus data ini menunjukan dari mana data mengalir dan dari
mana data akan menuju.
f. Penjelasan
107
Penjelasan digunakan untuk memperjelas lagi tentang makna
dari arus data yang dicatat di kamus data. Bagian penjelasan
dapat diisi dengan keterangan arus data tersebut.
g. Periode
Periode ini menunjukan kapan terjadinya arus data dan untuk
mengidentifikasi kapan input data dapat dimasukan kedalam
sistem,
kapan proses program dapat dilakukan dan kapan
laporan-laporan dapat dihasilkan.
h. Struktur Data
Struktur data menunjukan arus data yang dicatat pada kamus
data yang terdiri dari elemen-elemen atau item-item data.
Narasi dari simbol yang digunakan dibagi menjadi 2 (dua)
macam yaitu sebagai berikut :
a) Notasi Tipe Data yang digunakan dalam kamus data adalah sebagai
bentuk pada Tabel 2.1. berikut :
Notasi
Keterangan
108
X
Setiap karakter
9
Angka numerik
A
Karakter alphabet
Z
.
,
-
Angka nol yang di tampilkan dalam spasi kosong
Titik, sebagai pemisah ribuan
Koma, sebagai pemisah pecahan
Hypen, sebagai tanda penghubung
/
Slash, sebagai tanda pembagi
Tabel 2.1. Notasi Tipe Data
b) Notasi Tipe Struktur Data yang digunakan dalam kamus data adalah
sebagai bentuk pada Tabel 2.2. berikut :
NOTASI
ARTI
109
Terbentuk dari (IS COMPOSED) atau terdiri dari
=
(CONSIST
OF)
atau
sama
dengan
(IS
EQUIVALENT OF).
+
AND
Salah satu dari (memilih salah satu dari elemen-
[]
elemen data dalam bracket ini).
|
Sama dengan simbol [ ]
Iterasi (elemen data di dalam kurung) beriterasi
N{}M
mulai minimum N kali dan maksimum M kali.
Optimal
()
(elemen
data
didalam
kurung
parenthesis sifatnya optimal, dapat ada dan
dapat tidak ada).
* atau **
@
Keterangan atau catatan
Petunjuk (key field)
Tabel 2.2. Notasi Struktur Data
2.6.6
Sistem Pengkodean
Kode digunakan untuk tujuan mengklasifikasikan data,
memasukan data kedalam komputer dan untuk mengambil
bermacam-macam informasi yang berhubungan dengannya.
110
Didalam merancang
suatu
kode harus diperhatikan
beberapa hal antara lain:
a. Harus mudah diingat
Supaya kode mudah diingat, maka dapat dilakukan dengan cara
menghubungkan kode tersebut dengan obyek yang diwakili
dengan kodenya.
b. Harus Unik
Kode harus unik untuk masing-masing item yang diwakilinya.
Unik berarti tidak ada kode yang kembar.
c. Harus Fleksibel
Kode harus fleksibel sehingga memungkinkan perubahanperubahan atau penembahan item baru dapat tetap diwakili oleh
kode.
d. Harus Efisien
Kode harus sependek mungkin, selain mudah diingat juga akan
efisien bila direkam di simpan luar komputer.
e. Harus Konsisten
Bilamana mungkin, kode harus konsisten dengan kode yang
telah dipergunakan.
f. Harus Distandarisasi
Kode harus distandarisasi untuk seluruh tingkatan dan
departemen dalam organisasi.
g. Spasi Dihindari
111
Spasi didalam kode sebaiknya dihindari, karena dapat
menyebabkan kesalahan didalam menggunakannya.
h. Hindari Karakter Yang Mirip
Karakter-karakter yang hampir serupa bentuk dan bunyi
pengucapannya sebaiknya tidak digunakan didalam kode.
i. Panjang Kode Harus Sama
Masing-masing kode yang sejenis harus mempunyai panjang
yang sama.
Ada beberapa macam tipe dari kode yang dapat digunakan antara
lain :
1. Kode Mnemonik (Mnemonic code)
Kode mnemonik digunakan digunakan untuk tujuan supaya
mudah diingat.
2. Kode Urut (sequential code)
Kode Urut disebut juga dengan kode seri (serial code)
merupakan kode yang nilainya urut antara satu kode dengan
kode yang berikutnya.
3. Kode Blok (block code)
Kode Blok mengklasifikasikan item kedalam kelompok blok
tertentu yang mencerminkan satu klasifikasi tertentu atas dasar
pemakain maksimum yang diharapkan.
112
4. Kode Group (group code)
Kode Group merupakan kode yang berdasarkan field-field dan
tiap-tiap field kode mempunyai arti.
5. Kode Desimal (desimal code)
Kode desimal mengklasifikasikan kode atas dasar 10 unit
angka desimal dimulai dari angka 0 sampai dengan angka 9
ataudari 9 atau dari 00 sampai dengan 99 tergantung dari
banyaknya kelompok.
2.6.7
Perancangan Input / Output
2.6.7.1 Perancangan Input
Input adalah informasi dalam bentuk formulir input,
tampilan layar, dokumen-dokumen jaringan interaktif.
Yang mana bentuk-bentuk tersebut didasarkan pada hal-hal
yang menurut pikiran kita merupakan suatu hal yang
penting untuk bentuk. Adapun bentuk dari suatu input yang
baik dapat dilihat dari keefektifan, ketepatan, serta
kemudahan dalam penggunaan dan tampilan layar yang
sederhana dan menarik.
2.6.7.2 Perancangan Output
Output adalah informasi yang telah dikirim kepada
pengguna melalui sistem informasi lewat intranet, extranet,
atau World Wide Web. Output dapat diwujudkan dalam
113
beberapa bentuk, misalnya hard copy tradisional dari
laporan cetakan atau soft copy seperti layar komputer.
Output tersebut dapat berupa Output catakan dan Output
layar.
2.6.8
Microsoft Visual Basic 6.0
Microsoft Access 2003 merupakan salah satu software yang
tercakup dalam satu paket Microsoft Office 2003, yang digunakan
untuk mengolah basis data. Microsoft Access 2003 merupakan
pengolah basis data yang berjalan dibawah sistem operasi
Windows. Microsoft Access 2003 merupakan program aplikasi
basis data (database) paling mudah, lengkap, dan canggih saat ini.
Dengan
menggunakan
Microsoft
access
2003
kita
dapat
merancang, mengelola, dan mengolah basis data dengan mudah.
Andi (2005 : 1).
2.6.9 Microsft Access 2003
A. Mengenal Database Access 2003
Microsoft Access 2003 yang disingkat menjadi Access
2003 merupakan salah satu program database (Database) yang
114
memberikan fasilitas lengkap. Dengan menggunakan Microsoft
Access 2003 kita dapat merancang , membuat dan mengolah
Database dengan mudah.
Pada Microsoft Access 2003 kita dapat mengelola
seluruh data yang kita miliki kedalam sebuah file database .
Database pada Access 2003 dapat terdiri atas beberapa tables,
query, form, report, page, macro, module, field, dan record
yang semuanya saling berhubungan atau terkait.
a. Tables
Merupakan kumpulan data yang merupakan komponen
utama dari sebuah Database yang terdiri dari baris dan
kolom.
b. Queries
Queries digunakan untuk mencari dan menampilkan data
yang memenuhi syarat tertentu dari suatu tabel atau lebih.
c. Form
Form digunakan untuk menampilkan data, mengisi /
menginput data dan mengubah data yang ada dalam tabel.
d. Report
Report digunakan untuk menampilkan laporan hasil analisis
data.
e. Pages
115
Pages digunakan untuk membuat halaman web berupa data
Access.
f. Macros
Macros digunakan untuk mengotomisasi perintah-perintah
yang sering kita gunakan dalam mengolah data modules.
Modules digunakan untuk perancangan berbagai modul
aplikasi pengolahan Database untuk tingkat lanjut sesuai
dengan kebutuhan kita.
g. Field
Merupakan tempat dimana data atau informasi dalam
kelompok yang sama atau sejenis dimasukan. Field pada
umumnya tersimpan dalam bentuk kolom secara vertical
pada tabel..
h. Records
Merupakan kumpulan isi data dari beberapa field yang
dikelompokan menjadi satu dalam tabel yang dinyatakan
dalam baris.
116
BAB III
METODOLOGI PENELITIAN
3.1.
Metode Pengumpulan Data
Untuk mendapatkan data yang dibutuhkan dalam penelitian ini
penulis menggunakan teknik metode pengumpulan data yang terdiri dari :
3.1.1. Metode Observasi
Untuk mendapatkan data sebagai bahan penulisan skripsi, penulis melakukan observasi langsung ke
Klinik Dokter Keluarga Suradita, karena penulis menganggap dengan melakukan observasi langsung
akan memudahkan penulis dalam mengumpulkan data yang di butuhkan dengan akurat dan mudah di
pahami. Dalam observasi hal-hal yang dilakukan adalah :
a.
Mengikuti pelayanan kesehatan kepada masyarakat bersama petugas klinik.
b.
Memantau sistem yang berjalan pada klinik dokter keluarga.
3.1.2. Metode Wawancara
Wawancara merupakan sebuah tindakan pengumpulan
informasi dengan cara mengajukan pertanyaan secara lisan dan
dijawab secara lisan pula. Dalam hal ini penulis mengadakan tanya
jawab dengan nara sumber yang mengerti tentang sistem informasi.
Untuk mendapatkan data yang lebih jelas dan akurat, yang
dijadikan sebagai bahan penulisan skripsi, penulis melakukan
teknik wawancara terstruktur yaitu langsung dengan pihak klinik,
karena penulis menganggap dengan melakukan wawancara secara
langsung akan lebih memudahkan penulis dalam megumpulkan
data-data sehingga penulis akan lebih mudah memahami mengenai
sistem yang ada.
117
Instrumen yang digunakan penulis dalam mengumpulkan
data-data yaitu dengan menggunakan media alat tulis diantaranya
buku dan pulpen untuk mencatat hasil dari wawancara dengan
pihak yang terkait.
Adapun pertanyaan dan hasil dari wawancara dengan pihak
klinik dapat dilihat pada lampiran.
Personil yang diwawancara oleh penulis ketika melakukan
proses wawancara adalah :
a. Kepala Klinik yaitu Dr. Dean Handimulya.
b.Dokter Klinik yaitu Dr. Ade.
c. Petugas Klinik bagian Pendaftaran yaitu Aditya.
d.Petugas Klinik bagian Kasir yaitu siti.
3.1.3. Metode Studi Pustaka
Merupakan
pengumpulan
data
yang
diperoleh
dari
perpustakaan baik berupa artikel, buku-buku, surat kabar, majalah,
jurnal, bulletin, maupun sumber informasi lain yang ada kaitannya
dengan permasalahan yang akan dibahas.
118
3.2.
Waktu dan Tempat Penelitian
Penelitian ini dilaksanakan pada klinik yang menjadi sumber data
yang di butuhkan. Pelaksanaan penelitian sebagai berikut :
Waktu
Waktu pelaksanaan adalah hari kerja, yaitu : senin s.d Jumat, Pukul
08.00-16.00
Tempat
Tempat yang menjadi obyek penelitian adalah :
Nama Klinik
: Klinik Dokter Keluarga Suradita
Alamat Klinik
: Jl. Raya Lapan Desa Suradita Kecamatan Ciasuk
Tangerang Banten 15343.
3.3.
Metode Pengembangan Sistem
Metode perancangan yang digunakan penulis adalah metode SDLC
(System Development Life Cycle). Karena dengan menggunakan metode
SDLC bisa membuat proses yang direkayasa secara logik untuk
mengembangkan sistem dari tahap perencanaan sampai penerapan.
Disebut SDLC karena sistem dapat diperbaharui sesuai dengan kebutuhan.
Siklus hidup pengembangan sistem atau yang sering disebut System
Depelovment Life Sycle (SDLC) Merupakan suatu metode pengembangan
sistem yang terdiri dari tahapan-tahapan yang membentuk siklus. Aktifitas
dari siklus hidup ini disebut tahapan (fase).
Adapun tahapan-tahapan dari SDLC (Shelly Cashman, 2001)
adalah sebagai berikut (Gambar 2.2) :
119
Gambar 2.2 Tahapan System Development Life Cycle (Waterfall)
Seperti yang telah diuraikan pada bab satu, dalam merancang
sistem informasi pelayanan kesehatan penulis menerapkan lima tahap yang
ada pada siklus hidup pengembangan sistem (System Development Life
Cycle), yaitu tahap perencanaan, analisis, perancangan, implementasi
program dan Operasi dan pendukung sistem.
3.3.1. Perencanaan Sistem
Tujuan dari tahap ini adalah membuat sistem permintaan
(request), menjelaskan masalah-masalah atau keinginan perubahan
dalam sebuah sistem informasi atau proses bisnis. Membuat
persiapan penelitian (preliminary investigation) atau yang disebut
studi kelayakan (Feasibility Study).
3.3.2. Analisis Sistem
120
Tahap analisis merupakan tahap penelitian sistem yang
sedang berjalan. Dari hasil studi lapangan yang telah dilakukan
pada sistem yang berjalan di Klinik Dokter Keluarga Suradita
terdapat masalah dalam mendata pasien secara sistematis,
terkadang membuat kesulitan kepada petugas klinik dalam melacak
data pasien dan mencari data pasien yang sudah terdaftar, dalam
proses keuangan pembayaran-pembayaran berjalan masih secara
global sehingga tidak diketahui rincian dari pembayaran yang
berlaku, dan dalam melakukan penendataan Diagnosa pasien,
masih dilakukan secara manual sehingga setiap pasien selesai
melakukan pemeriksaan, dalam setiap penginputan data diagnosa
pasien memerlukan banyak kertas dalam menyimpan data diagnosa
pasien tersebut. Serta sistem yang ada tidak bisa mencetak
laporan-laporan baik , data Pasien yang datang ke klinik, data
diagnosa pasien, maupun data biaya pembayaran yang ada pada
klinik dokter keluarga suradita.
Selain kegiatan penelitian sistem yang sedang berjalan,
tujuan lain dari analisis ini adalah untuk memahami kebutuhan dari
sistem.
Membuat
dokumen
kebutuhan
sistem
(System
Requirements Documents), model fisik (Physical Model) dan
121
model
logika
(Logical
Models)
dari
sistem
yang
baru.
Pada tahap ini akan diuraikan mengenai :
A. Profil Klinik
Profil klinik ini akan menguraikan tentang latar belakang, Visi,
Misi, tujuan, Struktur organisasi tugas dan tanggung jawab
masing-masing pegawai.
B. Analisis Sistem Berjalan
Analisis sitem berjalan akan menguraikan tentang analisis
penyimpanan, dokumen, prosedur dan keamanan data.
C. Analisis Pemecahan Masalah
Analisis pemecahan masalah akan menguraikan tentang
beberapa
usulan
alternatif
yang
dapat
membantu
menyelesaikan permasalahan yang ada dalam sistem pelayanan
kesehatan.
3.3.3. Perancangan Sistem (Desain)
Tahap perancangan merupakan tahapan yang bertujuan
untuk mengatasi permasalahan yang ada.
Tujuan tahap perancangan (design) adalah
Mendesain
sistem baru yang dapat menyelesaikan masalah-masalah yang
dihadapi klinik.. Dalam tahap ini penulis menggunakan beberapa
tools (alat) untuk membuat rancangan sistem, diantaranya adalah
sebagai berikut:
122
a. Perancangan Proses Sistem
Pada tahapan ini perancangan dari proses sistem yang baru
dengan menggunakan tools berupa Context Diagram dan DFD
yang akan menggambarkan aliran proses sistem yang baru.
b. Perancangan Input
Pada tahapan ini peneliti akan merancang form yang diperlukan
dengan menentukan kebutuhan input dari sistem baru dan
menentukann parameter dari input seperti bentuk input, sumber
input periode input, dan lain-lain.
c. Perancangan Output
Pada tahapan ini akan dilakukan perancangan output yang
berupa laporan-laporan terinci. Dengan menentukan kebutuhan
output dari sistem yang baru dan menentukan paramater dari
output.
d. Perancangan Database
Perancangan basisdata dengan menggunakaan tools Entity
Relationship Diagram (ERD), menggambarkan hubungan antar
entity yang ada pada DFD. Kemudian dilakukan normalisasi
dengan tujuan membentuk tabel normal untuk menghindari
redundansi data yang dilakukan sampai bentuk normal ketiga.
3.3.4. Implementasi Sistem
123
Pada tahap implementasi ini, penulis melakukan kegiatan
secara rinci mengenai rancangan logical ke dalam kegiatan yang
sebenarnya dari sistem informasi yang akan dibangunnya atau
dikembangkannya, Mengimplementasikan sistem yang baru, dan
Bahasa pemrograman yang penulis gunakan adalah Microsoft
Visual basic 6.0 dan Microsoft Access 2003 sebagai databasenya.
3.3.5. Tahap Operasi dan Pemeliharaan Sistem
Tahap ini bertujuan untuk memelihara dan meningkatkan
kerja sistem, dengan memperbaiki kesalahan dan mengadaptasikan
sistem dengan lingkungan.
124
BAB IV
PENGEMBANGAN SISTEM INFORMASI
PELAYANAN KESEHATAN
4.1
Umum
Pembangunan dibidang kesehatan bertujuan untuk mewujudkan
derajat kesehatan setingi-tinginya bagi seluruh warga Indonesia. Didalam
mencapai pembangunan manusia seutuhnya untuk mencapai tujuan
tersebut pemeintah mengembangkan sesuatu yaitu sistem kesehatan
nasional.
Klinik adalah suatu kesatuan organisasi kesehatan yang langsung
memberikan pelayanan kesehatan secara menyeluruh dan terintegrasi
kepada masyarakat diwilayah tertentu. Dalam rangka meningkatkan mutu
pelayanan dan sistem Informasi perlu diperhatikan peningkatan upaya
pencatatan diklinik , agar data yang dicatat dapat memenuhi berbagai
kebutuhan. Karena segala bentuk pencatatan merupakan sumber dari data.
Pengolahan data pada Klinik Dokter
Keluarga Suradita sudah
menggunakan komputer akan tetapi menggunakan cara manual. Oleh
sebab itu, sangat diperlukannya sistem komputerisai untuk membantu
pekerjaan disegala bagian terutama dibagian pendaftaran dan kasir.
125
4.2
Tinjauan Perusahaan
Tinjauan
terhadap
organisasi
menjelaskan
tentang
tujuan
dibentuknya organisasi, sejarah organisasi, pemimpin, lokasi dan ruang
lingkup kegiatan organisasi serta pola pembagian kerja dan hubungan
kerja antar personil.
4.2.1 Sejarah Berdirinya Klinik Dokter Keluarga Suradita
Pada awalnya Klinik Dokter Keluarga Suradita merupakan
praktek dokter umum perseorangan yang dilakukan oleh dr. Dean
Handimulya. Praktek ini mulai dirintis pada tanggal 17 September
2001. Salah satu tujuan dari praktek dokter umum di daerah
Suradita adalah ikut memberikan pelayan kesehatan yang
dilakukan oleh dokter untuk masyarakat di desa Suradita dan
sekitarnya. Dimana pada saat itu hingga sekarang pelayanan
kesehatan yang diberikan oleh dokter masih sangat jarang. Tujuan
lainnya adalah untuk memberikan pelayanan kesehatan yang
berkualitas yang sesuai dengan kaidah – kaidah pengobatan
menurut ilmu kedokteran. Oleh karena semakin berkembang,
dimana jumlah kunjungan pasien dari bulan ke bulan semakin
banyak, sementara jam pelayanan yang diberikan sangat pendek,
yaitu mulai pukul 16.00 sampai dengan pukul 20.00, maka untuk
memberikan pelayanan yang lebih optimal dengan waktu
pelayanan yang lebih panjang, dibuat klinik dokter keluarga yang
126
dapat memberikan pelayanan tersebut, dimana jam pelayanannya
menjadi pukul 08.00 sampai dengan pukul 20.00.
Dinamakan klinik dokter keluraga, karena tujuan
utama
dari
didirikannya
klinik
ini
adalah
pelayanan
kedokteran yang menyeluruh yang memusatkan pelayanannya
kepada keluarga sebagai suatu unit, dimana tanggung jawab
dokter terhadap pelayanan kesehatan tidak dibatasi oleh
golongan umur atau jenis kelamin pasien, juga tidak oleh
organ tubuh atau jenis penyakit tertentu saja.
4.2.2
Visi, Misi dan Tujuan Klinik
A. Visi Klinik
Menjadi pusat pelayanan kesehatan primer yang
profesional yang selalu berpedoman pada ilmu kedokteran
B. Misi Klinik
1.
Memberikan pelayanan kesehatan professional.
2. Selalu berpedoman pada kode etik kedokteran.
3.
Selalu memberikan yang terbaik untuk pasien.
4.
Menyediakan pengobatan bermutu yang terjangkau.
C. Tujuan Klinik
Tujuan utama dari didirikannya klinik ini adalah pelayanan kedokteran yang
menyeluruh yang memusatkan pelayanannya kepada keluarga sebagai suatu unit, dimana
tanggung jawab dokter terhadap pelayanan kesehatan tidak dibatasi oleh golongan umur atau
jenis kelamin pasien, juga tidak oleh organ tubuh atau jenis penyakit tertentu saja.
4.2.3 Struktur Organisasi dan Fungsi
127
Struktur organisasi dari suatu perusahaan sangat penting
sekali karena organisasi ini merupakan struktur yang bekerja secara
vertical maupun horizontal. Sehinga tercipta iklim kerja yang
dinamis dan menunjang kegiatan perusahaan dapat terwujud
dengan baik. Karena struktur organisasi merupakan suatu hal yang
sangat menentukan dari suatu perusahaan.
Struktur organisasi merupakan suatu pengaturan tugas yang
dalam mengkoordinir dan mengopersasikan para karyawan dalam
suatu perusahaan yang dibagi-bagi menjadi beberapa bagian sesuai
dengan fungsi-fungsi yang telah diberikan sebelumnya. Struktur
dari suatu organisasi sangat diperlukan sekali dalam pembagian
tugas dan wewenang yang diterima dan dipertanggungjawabkan
sesuai dengan ketentuan perusahaan. Adapun bentuk struktur
organisasi yang ada pada Klinik Dokter Keluarga Suradita,
sebagaimana dapat dilihat pada (Gambar 4.1) berikut :
128
Gambar 4.1 : Struktur Organisasi Klinik Dokter Keluarga Suradita
Adapun fungsi / tugas dari bagian yang ada pada Klinik
Dokter Keluarga Suradita adalah sebagai berikut :
1. Kepala Klinik
a. Bertanggungjawab terhadap kegiatan yang ada di klinik
dokter keluarga Suradita.
b. Menetapkan kebijakan dalam bidang medis, yang berguna
bagi peningkatan pelayanan medik pada Klinik Dokter
Keluarga Suradita.
c. Melakukan pemeriksaan laporan pembukuan.
d. Menandatangani dokumen penting dan menyusun program
kerja klinik.
e. Mengatur dan mengontrol terhadap semua kegiatan yang
dipimpinnya melalui staf-stafnya.
2. Kepala Bagian Medis
a. Membantu kepala klinik dalam koordinasi pemberian
pelayanan medis.
129
b.
Bertanggung jawab atas pelayanan pengobatan umum,
pencegahan penyakit menular dan kesehatan ibu dan anak.
3. Seksi Pengobatan umum
Bertanggungjawab dalam melayani pasien yang berobat.
4. Seksi Pencegahan Penyakit Menular
Bertanggung jawab dalam melayani pasien secara teliti dan
hati-hati.
5. Seksi Kesehatan Ibu dan Anak
Melayani dan memperhatikan tingkat kesehatan ibu dan anak.
6. Bagian Kasir
a. Memberikan pelayanan kepada pasien yang melakukan
pembayaran-pembayaran.
b. Sebagai tempat pembayaran atas pemeriksaan yang
diberikan Dokter yaitu pembayaran biaya pengobatan dan
biaya pembayaran resep obat atau.
7. Bagian Administrasi
a. Membuat laporan dan bertanggung jawab masalah
pembukuan.
b. Menginput data diagnosa pasien setelah berobat untuk
mengetahui biaya pengobatan pasien.
8. Bagian Pendaftaran
a. Sebagai tempat mendaftar bagi pasien yang berobat
b. Memberikan pelayanan terhadap pasien yang berobat.
130
c. Menginput dan mendata data disgnosa pasien yang selesai
berobat.
9. Bendahara
a. Menagtur pengeluaran dan pemasukan pada klinik Dokter
Keluarga.
b. Mengatur dan merencanakan inventarisasi penyediaan
barang.
10. Bagian Farmasi
a. Sebagai tempat pelayanan yang memberikan obat kepada
pasien yang sudah mendapatkan resep obat dari dokter.
b. Sebagai tempat pengadaan obat untuk keperluan klinik.
c. Mengatur Persediaan Obat
4.3
Analisis Sistem Berjalan
Analisa sistem adalah penelitian atas sistem yang telah ada dengan
tujuan untuk merancang sistem baru atau diperbaharui. Pada tahap ini
dilakukan investigasi awal terhadap sistem yang sudah berjalan. Maka
penulis melakukan analisa pada klinik dokter keluarga suradita sebagai
berikut :
4.3.1
Prosedur Sistem Berjalan
Prosedur yang ada pada Klinik Dokter Keluarga Suradita
adalah sebagai berikut :
131
1. Prosedur Pendaftaran
Saat pertama datang, pasien langsung menuju bagian
pendaftaran, untuk mendaftarkan diri. Selanjutnya pasien yang
berobat
ditanyakan
identitasnya,
agar
oleh
petugas
bagian
bagian
pendaftaran
pendaftaran
tentang
dapat
mengetahui apakah pasien tersebut sudah pernah berobat atau
belum. Jika pasien belum pernah berobat, maka petugas akan
membuatkan status berobat pasien baru dengan nomor urut
khusus. Setelah itu pasien akan terdaftar dan mempunyai
nomor status baru, Kemuadian pasien akan diberikan kartu
berobat dan siap untuk diperiksa oleh dokter yang akan
memeriksanya.
2. Prosedur Pencatatan data diagnosa
Pada proses ini pasien memberikan kartu berobat
kepada dokter sebagai kartu pencatatan diagnosa penyakit.
Setelah diperiksa oleh dokter, kemudian dokter menulis nama
penyakit yang sedang diderita oleh pasien dan memberikan
resep obat kepada pasien selain memberikan resep kepada
pasien, dokter memberikan data diagnosa pasien kepada bagian
administrasi untuk mengetahui harga biaya pengobatan pasien,
dan data diagnosa pasien yang telah diberikan oleh dokter
kemudian disimpan sebagai data diagnosa pasien.
132
3. Prosedur Pengambilan obat
Setelah pasien mendapatkan resep dari dokter kemudian
pasien membawa resep obat tersebut kepada bagian farmasi
untuk mendapatkan obat, kemudian setelah resep diterima oleh
bagian farmasi, maka pihak farmasi akan memberikan biaya
obat yang harus dibayar oleh pasien pada bagian kasir.
4. Prosedur Pembayaran Biaya Obat dan Biaya Pengobatan
Setelah pasien mendapatkan biaya obat dari bagian
farmasi kemudian pasien memberikan biaya obat tersebut
kepada bagian kasir untuk melakukan pembayaran obat
tersebut. Selain itu juga pasien harus membayar biaya
pengobatan sesuai dengan pengobatan yang telah dilakukannya
pada klinik dokter keluarga suradita. Setelah melakukan
pembayaran maka bagian kasir akan memberikan kwitansi
kepada pasien sebagai bukti dari biaya pembayaran yang telah
di bayar oleh pasien.
5. Prosedur Pembuatan Laporan
Proses Pembuatan laporan dilakukan oleh bagian
administrasi dengan cara mengambil data dari arsip data pasien
sebagai data untuk membuat laporan mengenai pasien yang
telah berobat pada klinik, kemudian mengambil data dari arsip
data diagnosa pasien sebagai data untuk membuat laporan
mengenai membuat laporan data diagnosa pasien, serta
133
mengambil data dari arsip data pembayaran sebagai data untuk
membuat laporan mengenai laporan pembayaran yang ada pada
klinik dokter keluarga suradita. Didalam proses pengambilan
seluruh data untuk proses pembuatan laporan, cara yang
dilakukan masih secara manual karena harus mengumpulkan
dan menghitung data arsip yang ada dan membutuhkan waktu
yang cukup lama.
4.3.2
Analisis Kebutuhan Sistem yang berjalan
Analisis sistem Informasi Pelayanan Kesehatan yang
sedang berjalan pada Klinik Dokter Keluarga Suradita ini
dilakukan untuk memperoleh suatu gambaran yang jelas mengenai
kelemahan dan kelebihan sistem yang sedang berjalan. Pada tahap
ini dilakukan penelitian terhadap permasalahan yang ada yaitu
dengan cara mengamati dan melihat langsung sistem yang berjalan
pada Klinik Dokter Keluarga Suradita.
Sistem Informasi Pelayanan Kesehatan pada Klinik
Dokter Keluarga Suradita ini masih mengalami permasalahan
diantaranya pada bagian pendaftaran dan kasir yaitu pada proses
penginputan data pasien, pendataan diagnosa pasien, pembayaran
obat dan biaya pengobatan, serta pembuatan laporan-laporan. Hal
tersebut memperlambat proses kerja petugas klinik dalam
menginput data pasien secara sistematis, walaupun sudah
134
menggunakan komputer tetapi masih menggunakan banyak kertas
untuk menginput data pasien tersebut karena komputer yang ada
pada klinik di bagian pendaftaran hanya sekedar memasukan nama
pasien secara global tanpa ada database yang membuat sistem
menjadi teratur. Selain itu, walaupun pasien sudah terdaftar,
mempersulit petugas klinik dalam mencari data pasien yang akan
berobat, dikarenakan harus mencari data-data pasien yang
dibutuhkan, diantaranya harus mencari kartu berobat pasien /
nomor status pasien yang bertumpuk dalam kumpulan arsip-arsip
yang tersimpan didalam lemari. Dalam proses pendataan diagnosa
pasien masih dilakukan secara manual sehingga membutuhkan
banyak kertas untuk menginput data diagnosa, dan apabila akan
mencari data diagnosa yang dibutuhkan harus mencari terlebih
dahulu di dalam tumpukan dan kumpulan kertas yang cukup
banyak. Dalam proses pembayaran sistem tidak dapat memberikan
kemudahan petugas klinik sehingga menimbulkan kelambatan
dalam
proses
pembayaran
dikarenakan
sistem
tidak
bisa
memberikan pelayanan pembayaran secara sistematis, sehingga
petugas harus menulis biaya pembayaran yang harus dibayar oleh
pasien kemudian menjumlahkannya secara manual. Dan didalam
proses pembuatan laporan, sistem tidak dapat memberikan laporan
yang diinginkan dengan cepat dikarenakan masih menggunakan
cara yang manual, harus menghitung dan menjumlahkan sendiri
135
proses pembuatan laporan tersebut. Dan didalam pembuatan
laporan ini membutuhkan waktu yang cukup lama. Sehingga pada
saat kepala klinik membutuhkan laporan yang diinginkan, petugas
tidak dapat memberikan laporan dengan cepat dikarenakan harus
mencari data dalam lembaran kertas yang bertumpuk, Disamping
itu penyajian laporan harus terpisah dan tersusun rapih agar mudah
dalam memberikan laporan pasien yang datang perhari dan
perbulan serta dapat memberikan laporan data diagnosa pasien
dengan mudah, serta dapat memberikan laporan pembayaran yang
ada pada klinik dokter keluarga suradita dengan detail dan teratur.
Dengan adanya permasalahan tersebut diatas, diharapkan
adanya jalan keluar untuk memecahkan masalah yang ada pada
Klinik Dokter Keluarga Suradita dalam menginput data, mencari
data pasien yang berobat dan data diagnosa pasien, pembayaran
yang ada pada klinik serta mengupdate data.
4.3.3
Kelemahan Sitem Berjalan
Dari hasil analisis sistem yang sedang berjalan pada
Klinik Dokter Keluarga Suradita, Penulis menguraikan beberapa
kelemahan pada proses sistem, diantaranya :
1. Sering menimbulkan kesalahan dan keterlambatan Informasi
yang diinginkan dengan tepat waktu dikarenakan banyaknya
136
data-data yang tertumpuk serta hilang atau tidak terkntrol data
yang ada.
2. Pada bagian pendaftaran sudah terdapat komputer akan tetapi
hanya sekedar untuk penginputan nama pasien secara global
saja, tidak ada database yang bisa mengatur input data dengan
baik dan terperinci. Sehingga dalam menginput data pasien
yang baru dan mencari data pasien yang sudah terdaftar, masih
dilakukan secara manual, dimana petugas harus memberikan
formulir kepada pasien untuk diisi dan kemudian disimpan oleh
petugas data pasien tersebut didalam lemari arsip yang ada
pada bagian pendaftaran, sehingga ketika petugas melakukan
pencarian data pasien, petugas harus mencari data dari sekian
banyak data yang ada, yang telah disimpan didalam lemari
arsip
3. Pada
bagian
Kasir,
ketika
pasien
hendak
melakukan
pembayaran petugas harus menghitung dan menjumlahkan
secara manual, dimana petugas klinik harus menulis anggaran
yang harus dibayar oleh pasien ketika pasien akan melakukan
pembayaran.
4. Terjadinya penumpukan dokumen data pasien.
5. Pada bagian kepala klinik harus menunggu terlebih dahulu
untuk meminta laporan mengenai data pasien yang berobat
pada klinik dan data pembayaran yang ada pada klinik, Karena
137
untuk mendapatkan Informasi pelayanan kesehatan yang ada
dan yang dibutuhkan harus dicari pada tumpukan dokumen
yang jumlahnya cukup banyak.
Dari uraian kelemahan-kelemahan yang ada pada klinik
dokter keluarga suradita tersebut, dapat penulis simpulkan bahwa
untuk memperoleh Informasi yang diinginkan baik ketika
memasukan data, pencarian data, update data, menghitung data
maupun membuat laporan, memungkinkan terjadinya kesalahan
dan keterlambatan Informasi yang diinginkan pada waktunya,
sehingga nantinya akan menghambat proses kerja petugas klinik
pada Klinik Dokter Keluarga Suradita tersebut.
Berikut ini adalah hasil analisa sistem yang berjalan dengan
menggunakan diagram arus dokumen,sebagaimana dapat dilihat
pada (Gambar 4.2) :
138
Gambar 4.2 : Diagram Arus Dokumen Sistem Berjalan
139
4.3.4
Kelebihan Sistem berjalan
Disamping kelemahan sistem yang ada, sistem yang sedang
berjalan terdapat beberapa kelebihan diantaranya adalah :
1. Tidak memerlukan biaya yang mahal untuk pembelian program
aplikasi yang semestinya dipesan atau didesain.
2. Tidak memeerlukan biaya tambahan untuk pemrograman,
karena membutuhkan programmer yang terlatih.
4.3.5 Analisis Masalah
Berdasarkan hasil ananlisis terhadap sistem Informasi
pelayanan kesehatan yang sedang berjalan pada Klinik Dokter
Keluarga
Suradita,
ada
beberapa
masalah
yang
dihadapi
diantaranya : Ketika bagian pendaftaran mencari data pasien, maka
bagian pendaftaran harus mencari data pasien didokumen berupa
arsip yang berbentuk kertas yang jumlahnya cukup banyak didalam
lemari arsip data pasien, dan pada bagian kasir didalam menginput
dan menyimpan data diagnosa pasien yang sudah berobat, petugas
harus menulis didalam kertas dan menyimpannya didalam lemari
arsip data diagnosa, sehingga memungkinkan mempersulit sendiri
bagian kasir ketika melakukan pencarian data diagnosa pasien
tersebut karena berada didalam tumpukan kertas yang sangat
banyak, dan didalam menentukan biaya pengobatan petugas harus
menulis terlebih dahulu dan menjumlahkan semua anggaran yang
140
harus dibayar oleh pasien karena tidak ada sistem yang langsung
memberikan bukti pembayaran obat, dan pada proses pembuatan
laporan bagian kepala klinik harus menunggu terlebih dahulu untuk
mendapatkan laporan-laporan tentang pasien yang berobat pada
klinik, data diagnosa pasien setelah berobat, dan data pembayaran
yang ada pada klinik dokter keluarga suradita. pada bagian kasir
didalam proses pembayaran baik pembayaran biaya pengobatan
maupun biaya obat harus menjumlahkan secara manual dari semua
biaya yang harus dibayar oleh pasien sehingga membutuhkan
waktu yang cukup lama pada proses pembayaran tersebut.
4.3.6 Solusi Pemecahan Masalah
Dengan melihat segala permasalahan dan berdasarkan hasil
analisa di atas, maka diperlukan solusi pemecahan masalah
terhadap kelemahan dan kendala yang dihadapi tersebut. Solusi
pemecahannya
yaitu
dengan
memfasilitasi
klinik
dengan
komputerisasi. Dalam hal ini diperlukan suatu program aplikasi
pelayanan kesehatan berbasis komputer yang diharapkan dapat
membatu mengatasi masalah yang dihadapi klinik. Pengembangan
sistem aplikasi pelayanan kesehatan yang terintegrasi antara bagian
pendaftaran, bagian kasir dan bagian administrasi dimulai dari
proses pendaftaran pasien, penyimpanan data pasien, pencarian
data pasien, update data, penghitungan data sampai pada proses
141
pembayaran dan pembuatan laporan yang dibutuhkan. Sistem
aplikasi ini diharapkan dapat membantu memperlancar kinerja
klinik secara keseluruhan tanpa menyulitkan bagi user untuk
menggunakannya. Karena pada aplikasi ini menggunakan proses
sederhana dimana disesuaikan dengan pengoperasian secara
manual sehingga tidak terlalu sulit untuk menyesuaikannya dengan
program aplikasi ini.
Adapun sistem aplikasi yang ingin penulis ajukan yaitu
dengan
menggunakan
program
Visual
Basic
6.0
disertai
penggunaan database Microsoft Access 2003. Alasan penulis
menggunakan Visual Basic 6.0 ini karena dapat memanfaatkan
kemampuan Microsoft Windows secara optimal, kemampuannya
dapat
dipakai
untuk
merancang
program
aplikasi
yang
berpenampilan seperti program aplikasi lainnya berbasis Microsoft
Windows, Visual Basic 6.0 dapat memanfaatkan hampir semua
kemudahan dan kecanggihan yang disediakan sistem operasi
Microsoft Windows, dan dapat menghasilkan program akhir
berekstensi EXE, yang sifatnya program dapat langsung dijalankan.
Penulis menggunakan Ms Access 2003 sebagai basis datanya,
karena Ms Access dapat berjalan pada kebutuhan hardware yang
kecil.
142
4.4
Usulan Rancangan Sistem Pelayanan Kesehatan
Dalam membahas sistem yang berjalan, yang terdiri dari prosedur
dalam melakukan berbagai kegiatan dan dalam penyusunan laporan pada
sistem pendaftaran pasien, pendataaan data diagnosa pasien dan data
pembayaran pasien pada klinik dokter keluarga suradita dalam lima proses
yang akan dijelaskan sebagai berikut :
a. Pendaftaran Pasien
Bagian pendaftaran merupakan tempat yang memberikan
pelayanan kepada pasien ketika pasien hendak melakukan pengobatan,
pertama pasien harus mendaftarkan telebih dahulu pada bagian
pendaftaran apabila pasien belum pernah berobat pada klinik maka
bagian pendaftaran menginput data pasien yang baru untuk disimpan
didalam database bagian pendaftran, setelah terdaftar kemudian pasien
diberikan kartu pasien untuk memudahkan pasien apabila melakukan
pengobatan dan sebagai tanda bukti pasien sudah terdaftar pada klinik.
Setelah
proses
pendaftaran
selesai
kemudian
petugas
bagian
pendaftaran memberikan kartu berobat untuk diberikan kepada dokter
ketika pasien diperiksa oleh dokter.
b. Penerimaan resep obat
Setelah melakukan pemeriksaan oleh dokter, kemudian
pasien mendapatkan resep obat dari dokter yang sesuai dengan
penyakit yang diderita oleh pasien, kemudian pasien memberikan
resep obat kepada bagian farmasi untuk mengetahui biaya obat.
143
c. Penerimaan biaya pengobatan dan biaya obat
Setelah melakukan pemeriksaan kemudian bagian kasir
mendapatkan biaya pengobatan dari bagian administrasi, sesuai
dengan data yang diterima dari dokter yaitu dari data diagnosa
pasien setelah berobat, kemudian setelah pasien mendapatkan
biaya obat dari bagian farmasi kemudian pasien harus dibayar pada
bagian kasir.
d. Pembayaran Biaya pengobatan dan biaya obat
Setelah pasien mengetahui dan mendapatkan biaya obat
dari bagian farmasi dan diketahui biaya pengobatan dari bagian
administrasi kemudian pasien harus membayar semua biaya
tersebut.
e. Laporan
Semua Laporan baik laporan transaksi maupun laporan
pasien yang berobat dan data diagnosa pasien, dibuat setiap bulan
untuk diserahkan kepada kepala klinik.
144
4.4.1
Diagram Arus Dokumen Usulan
Berikut ini adalah hasil analisa sistem usulan dengan
menggunakan diagram arus dokumen yang terdapat pada (Gambar
4.3) :
Gambar 4.3 : Diagram arus dokumen sistem usulan
145
4.5
Perancangan Sistem
4.5.1
Perancangan Proses
Beberapa tahapan yang dilakukan penulis dalam merancang proses
adalah :
a. Diagram Konteks Sistem Informasi Pelayanan Kesehatan
b. Diagram Level 1 Sistem Informasi Pelayanan Kesehatan
c. Diagram Detail Proses 1.0 Level 2 Proses Pendaftaran
d. Diagram Detail Proses 4.0 Level 2 Proses Input Data Diagnosa
e. Diagram Detail Proses 5.0 Level 2 Proses Pembayaran Biaya
Pengobatan dan Obat
f. Diagram Detail Proses 6.0 Level 2 Proses Pembuatan Laporan
a. Diagram Konteks Sistem Informasi Pelayanan Kesehatan, terdapat pada
(Gambar 4.4) berikut :
Gambar 4.4 : Diagram Konteks Sistem Informasi Pelayanan Kesehatan
146
Keterangan :
Pasien akan mendaftar kepada proses sistem informasi pelayanan
kesehatan jika belum terdaftar sistem akan menginput data pasien yang
baru dan memberikan kartu pasien, jika sudah sistem memberikan kartu
berobat pasien kemudian diberikan kepada entitas dokter untuk diperiksa,
setelah itu entitas dokter memberikan resep obat dan data diagnosa pasien
kepada sistem informasi pelayanan kesehatan, kemudian proses sistem
informasi pelayanan kesehatan memberikan resep obat kepada entitas
farmasi untuk mengetahui biaya obat, setelah diketahui biaya obat
kemudian entitas farmasi memberikan biaya obat kepada proses sistem
informasi pelayanan kesehatan. Proses sistem informasi pelayanan
kesehatan memberikan data diagnosa pasien untuk mengetahui biaya
pengobatann dan memberikan data-data kepada entitas administrasi,
kemudian entitas administrasi memberikan biaya pengobatan dan laporan
kepada proses sistem informasi pelayanan kesehatan. Entitas pasien
mendapatkan biaya pengobatan dari proses sistem informasi pelayanan
kesehatan kemudian entitas pasien membayar biaya obat dan biaya
pengobatan kepada proses sistem informasi pelayanan kesehatan
kemudian entitas pasien mendapatkan faktur pembayaran dari peoses
sistem informasi pelayanan kesehatan. Proses sistem informasi pelayanan
kesehatan memberikan laporan kepada entitas kepala klinik yaitu laporan
data pasien yang berobat, laporan data diagnosa pasien dan laporan
transaksi.
147
b. Diagram Level 1 Sistem Informasi Pelayanan Kesehatan, terdapat pada
(Gambar 4.5) berikut :
Gambar 4.5 : Diagram Level 1 Sistem Informasi Pelayanan Kesehatan
Keterangan :
Pasien melakukan pendaftaran kepada proses pendaftaran, data pasien
dibaca pada database pasien apabila pasien belum terdaftar maka akan
mengeluarkan kartu pasien, apabila sudah terdaftar akan mengeluarkan
kartu berobat pasien. Pada proses pendaftaran database dokter dibaca
untuk mengetahui data dokter. Entitas dokter melakukan proses
penanganan kemudian mengeluarkan resep obat untuk diberikan kepada
pasien dan data diagnosa pasien yang diberikan kepada entitas
148
administrasi. Pasien memberikan resep obat kepada entitas farmasi,
kemudian entitas farmasi melakukan proses hitung biaya obat,
pada
proses hitung biaya obat database obat dibaca untuk mengetahui harga
obat dan biaya obat, kemudian proses hitung biaya obat memberikan biaya
obat kepada pasien. Pada proses input data diagnosa, data diagnosa
disimpan kedalam database detil diagnosa kemudian database diagnosa
dibaca untuk mengetahui harga biaya pengobatan pasien. Proses input data
diagnosa memberikan biaya pengobatan kepada proses pebayaran biaya
pengobatan dan obat, kemudian entitas pasien mendapatkan biaya
pengobatan dari proses pembayaran biaya pengobatan dan obat,
memberikan biaya obat kepada proses pembayaran biaya pengobatan dan
obat setelah itu entitas pasien melakukan pembayaran biaya pengobatan
dan biaya obat kepada proses pembayaran biaya pengobatan dan obat
yang disimpan kedalam database transaksi. Proses pembayaran biaya obat
dan biaya pengobatan memberikan faktur pembayaran kepada pasien. pada
proses pembuatan laporan, yang diambil dari data pasien, data transaksi
dan data detil diagnosa dibaca dari database masing-masing untuk
diberikan kepada entiatas administrasi kemudian dijadikan laporan untuk
diberikan kepada kepala klinik, laporan yang diberikan adalah laporan data
pasien yang berobat, laporan data diagnosa pasien dan laporan transaksi.
Entitas administrasi melakukan Proses update data pada database master
yang ada pada sistem informasi pelayanan kesehatan yaitu data dokter,
data transaksi dan data diagnosa.
149
c. Diagram Detail Proses 1.0 Level 2 Proses Pendaftaran, terdapat pada
(Gambar 4.6) berikut :
Gambar 4.6 : Diagram Detail Proses 1.0 Level 2 Proses Pendaftaran
Keterangan :
Pasien daftar dan melakukan proses cek data pasien, apabila pasien belum
terdaftar maka dilakukan proses catat data pasien dan disimpan kedalam
database pasien, proses cetak kartu pasien mengambil data dari database
pasien kemudian kartu pasien diberikan kepada pasien, Pada proses catat
data pasien database dokter dibaca untuk mengetahui data dokter, jika
pasien sudah terdaftar maka dilakukan proses cetak kartu berobat pasien
untuk diberikan kepada dokter. Database dokter di update oleh proses
update data
150
d. Diagram Detail Proses 4.0 Level 2 Proses Input Data Diagnosa, terdapat
pada (Gambar 4.7) berikut :
Gambar 4.7 : Diagram Detail Proses 4.0 Level 2 Proses Input Data Diagnosa
Keterangan :
Entitas administrasi memberikan data diagnosa pasien pada proses
pencatatan data diagnosa untuk mengetahui biaya pengobatan pasien yang
diambil dari database diagnosa, kemudian proses pencatatan data
diagnosa memberikan data diagnosa kepada proses biaya pengobatan
pasien untuk disimpan kedalam database detil diagnosa dan proses biaya
pengobatan pasien memberikan biaya pengobatan kepada proses
pembayaran biaya pengobatan dan obat, kemudian database detil
diagnosa memberikan data diagnosa kepada proses pembuatan laporan
untuk dibuat laporan. Database diagnosa diupdate oleh proses update data
proses.
151
e. Diagram Detail Proses 5.0 Level 2 Proses pembayaran biaya pengobatan
dan obat, terdapat pada (Gambar 4.8) berikut :
Gambar 4.8 : Diagram Detail Proses 5.0 Level 2 Proses Pembayaran Biaya
Pengobatan dan Obat.
Keterangan :
Entitas pasien memberikan biaya obat kepada proses pembayaran biaya
pengobatan dan biaya obat kemudian proses pembayaran biaya
pengobatan dan biaya obat memberikan informasi biaya pengobatan yang
harus dibayar oleh pasien. Entitas pasien melakukan pembayaran biaya
pengobatan dan obat kepada prsoes pembayaran biaya pengobatan dan
obat, yang disimpan kedalam database transaksi, kemudian database
transaksi membrikan data transaksi kepada proses pembuatan laporan
untuk dibuat laporan. Pada proses pembayaran biaya pengobatan dan obat
memberikan data pembayaran kepada proses cetak faktur pembayaran
untuk memberikan faktur pembayaran kepada pasien.
152
f. Diagram Detail Proses 6.0 Level 2 Proses pembuatan laporan, terdapat
pada (Gambar 4.9) berikut :
Gambar 4.9 : Diagram Detail Proses 6.0 Level 2 Proses Pembuatan Laporan
Keterangan :
Data pasien yang berobat, data diagnosa pasien dan data transaksi diambil
dari database masing-masing, kemudian entitas administrasi memberikan
data laporan kepada proses pemberian laporan yaitu laporan data pasien
yang berobat, laporan transaksi dan laporan data diagnosa pasien.
Kemudian laporan tersebut diberikan kepada kepala klinik.
153
4.5.2
Perancangan Basis Data
Rancangan sistem dilakukan untuk menghasilkan suatu
desain sistem informasi yang sistematis sehingga mampu
mengantisipasi masalah-masalah yang ada. Penulis melakukan
beberapa tahapan dalam merancang sistem informasi Pelayanan
kesehatan pada klinik dokter keluarga suradita. Tahapan-tahapan
tersebut adalah sebagai berikut :
4.5.2.1 ERD yang belum dinormalisasikan
Gambar 4.10 : ERD (Entity Relationship Diagram) yang yang belum dinormalisasikan
154
4.5.2.2 Normalisasi
A. Normalisai Tidak Normal (Unnormalized)
Bentuk tidak normal terdiri dari: (Gambar 4.10)
id _ p a s ie n
n a m a _ p a s ie n
a la m a t
ta n g g a l_ la h ir
je n k e l
te le p o n
id _ d o k te r
n a m a _ d o k te r
a la m a t
te le p o n
s p e s ia lis
n o _ re s e p
ta n g g a l _ re s e p
ju m la _ b a y a r
id _ p a s ie n
id _ d ia g n o s a
n o _ d ia g n o s a
ju m la h _ h a rg a
kd_obat
nam a_obat
h a rg a
je n is _ o b a t
n o _ re s e p
kd_obat
ju m la h _ o b a t
ju m la h _ h a rg a
Id _ d ia g n o s a
n a m a _ d ia g n o s a
h a rg a
k e te ra n g a n
n o _ d ia g n o s a
ta n g g a l _ d ia g n o s a
ju m la h _ b a y a r
id _ p a s ie n
id _ d o k te r
n o _ fa k tu r
ta n g g a l _ fa k tu r
n o _ re s e p
Gambar 4.11 : Normalisasi Tidak Normal (Unnormalized)
Bentuk ini merupakan bentuk awal yang dipakai dalam proses
perancangan database.
B. Bentuk Normal Pertama (1NF)
Dari bentuk unnormalized akan menjadi bentuk
1NF yaitu dengan memisahkan data pada field-field yang tepat.
(Gambar 4.11):
155
* id_pasien
nama_pasien
alamat
tanggal_lahir
jenkel
Telepon
* id_dokter
nama_dokter
alamat
telepon
spesialis
* no_resep
tanggal_resep
jumla_bayar
id_pasien
id_diagnosa
no_diagnosa
jumlah_harga
* kd_obat
nama_obat
harga
jenis_obat
no_resep
kd_obat
jumlah_obat
jumlah_harga
* id_diagnosa
nama_diagnosa
harga
keterangan
* no_diagnosa
tanggal_diagnosa
jumlah_bayar
id_pasien
id_dokter
* no_faktur
tanggal_faktur
no_resep
Gambar 4.12 : Bentuk Normal Pertama (1NF)
Namun
dalam
bentuk
normal
kesatu
masih
banyak
kekurangannya yaitu :
1. Tabel Resep, detil resep, diagnosa, detil diagnosa, belum
terpisah.
2. Masih saling ketergantungan fungsi.
156
C. Bentuk Normal Kedua (2NF)
Pembentukan normal kedua dengan mencari kunci-kunci
field yang dapat dipakai sebagai patokan dalam pencarian dan
sifatnya unik.
Melihat kondisi dari permasalahan diatas dapat diambil
kunci kandidat sebagai berikut: (Gambar 4.12)
1. id_pasien
2. no_diagnosa
3. id_dokter
4. id_diagnosa
5. no_resep
6. kd_obat
7. no_faktur
Pasien
: id_pasien, nama_pasien, alamat, tanggal_lahir,
jenkel, telepon
Transaksi
: no_diagnosa, tanggal_diagnosa,
jumlah_bayar, id_pasien, id_dokter
Dokter
: id_dokter, nama_dokter, alamat, telepon,
spesialis
Diagnosa
: id_diagnosa, nama_diagnosa, harga,
keterangan, no_diagnosa, jumlah_harga
157
Resep
: no_resep, tanggal_resep, jumlah_bayar,
id_pasien, kd_obat, jumlah_obat,
jumlah_harga
Obat
: kd_obat, nama_obat, harga, jenis_obat
Faktur
: no_faktur, tanggal_faktur, no_resep
Gambar 4.13. bentuk normal kedua (2NF)
Dalam
bentuk
normal
kedua
(2NF)
masih
ada
permasalahan yaitu :
terdapatnya hubungan many to many dari tabel resep dengan
tabel
obat
sehingga
terbentuklah
tabel
baru
untuk
menghubungkan kedua tabel tersebut. Pada tabel diagnosa field
id_diagnosa masih bergantung pada field no_diagnosa pada tabel
diagnosa. Hal ini disebut ketergantungan yang transitif dan harus
dipisah untuk membentuk tabel baru.
158
D. Bentuk Normal ketiga (3NF)
Bentuk normal ketiga (3NF) mempunyai syarat
setiap tabel tidak mempunyai field yang bergantungan transitif,
harus bergantung penuh pada kunci utama. Terdapat pada
(Gambar 4.13) :
Gambar 4.14. bentuk normal ketiga (3NF)
88
4.5.2.2 ERD (Entity Relationship Diagram) yang sudah dinormalisasikan
* id _ p a s ie n
nam a
n o _ d ia g n o s a
a la m a t
id _ d o k te r
id _ p a s ie n
ta n g g a l_ la h ir
tg l_ d ia g n o s a
* id _ d o k te r
te le p o n
je n k e l
k e te ra n g a n
n a m a _ d o k te r
s p e s ia lis
a la m a t
te le p o n
p a s ie n
I
M
M e n e rim a
M
tra n s a k s i
I
D ib e rik a n
d o k te r
I
I
M e la k u k a n
M e n d a p a tk a n
M
d e til_ d ia g n o s a
M
Is i
I
d ia g n o s a
id _ d ia g n o s a
*id _ d ia g n o s a
n o _ d ia g n o s a
n a m a _ d ia g n o s a
M
fa k tu r
M
I
M e n d a p a tk a n
re s e p
I
ju m la h _ h a rg a
h a rg a
M e n g is i
n o _ fa k tu r
*n o _ re s e p
ta n g g a l_ fa k tu r
ju m la h _ b a y a r
N o _ re s e p
id _ p a s ie n
tg l_ re s e p
k e te ra n g a n
M
d e ta il_ re s e p
M
n o _ re s e p
kd_obat
M e n g is i
I
obat
* kd_obat
nam a_obat
ju m la h _ o b a t
h a rg a
ju m la h _ h a rg a
je n is _ o b a t
Gambar 4.15 : ERD (Entity Relationship Diagram) yang sudah dinormalisasikan
89
4.5.2.3 Struktur Data
Berdasarkan normalisasi yang dilakukan, maka dihasilkan
basis data yang terstruktur. Adapun basis data yang dihasilkan adalah:
a. Nama File
Isi
: Pasien
: Data Pasien
Primary Key : id_pasien
Foreign Key :
No
1
2
3
4
5
6
Field Name
id_pasien*
nama_pasien
alamat
tanggal_lahir
Jenkel
Telepon
Type
Text
Text
Text
Date/time
Text
Text
Field Size
5
50
50
Short Date
50
50
Keterangan
Identitas Pasien
Nama Pasien
Alamat Pasien
Tanggal Lahir
Jenis Kelamin
Telepon
Tabel 4.1 : Basis Data Pasien
b. Nama File
Isi
: Transaksi
: Data Transaksi
Primary Key : no_diagnosa
Foreign Key : id_pasien, id_dokter
No
Field Name
1
no_diagnosa*
2
tanggal_diagnosa
3
4
5
jumlah_bayar
id_pasien**
id_dokter**
Type
Text
Text
Field Size
5
6
Number
Text
Text
Double
5
5
Tabel 4.2 Basis Data transaksi
Keterangan
Nomor Diagnosa
Tanggal
Diagnosa
Jumlah Bayar
Identitas pasien
Identitas Dokter
90
c. Nama File
Isi
: dokter
: Data Dokter
Primary Key : id_dokter
Foreign Key : No
1
2
3
4
5
Field Name
Id_dokter*
nama_dokter
alamat
telepon
sepesialis
Type
Text
Text
Text
Text
Text
Field Size
5
50
50
50
50
Keterangan
Identitas Dokter
Nama Dokter
Alamat Dokter
Telepon Dokter
Spesalis
Tabel 4.3 : Basis Data Dokter
d. Nama File
Isi
: Resep
: Data Resep
Primary Key : no_resep
Foreign Key : id_pasien
No
1
2
3
4
Field Name
no_resep*
tanggal_resep
jumlah_bayar
id_pasien**
Type
Text
Date/time
Number
Text
Field Size
5
Short Date
Double
5
Tabel 4.4 : Basis Data Resep
Keterangan
Nomor Resep
Tanggal Resep
Jumlah Bayar
Identitas Pasien
91
e. Nama File
Isi
: Faktur
: Data Faktur
Primary Key : no_faktur
Foreign Key : no_resep
No
1
2
3
Field Name
Type
No_faktur*
Text
tanggal_faktur Date / Time
No_resep**
Text
Field Size
5
Short Date
5
Keterangan
Nomor Faktur
Tanggal Faktur
Nomor Resep
Tabel 4.5 : Basis Data Faktur
f. Nama File
Isi
: detil_diagnosa
: Data dari Diagnosa
Primary Key : Foreign Key : id_diagnosa, no_diagnosa
Field Name
No
1 id_diagnosa**
2 no_diagnosa**
3
jumlah_harga
Type
Field Size
Keterangan
Text
Text
Number
5
5
Double
Identitas Diagnosa
Nomor Diagnosa
Jumlah Diagnosa
Tabel 4.6 : Basis detil_diagnosa
92
g. Nama File
Isi
: Diagnosa
: Data Diagnosa
Primary Key : id_diagnosa
Foreign Key : No
1
2
3
4
Field Name
Id_diagnosa*
nama_diagnosa
harga
keterangan
Type
Text
Text
Number
Text
Field Size
5
50
Double
50
Keterangan
Identitas Diagnosa
Nama Diagnosa
Harga Pengobatan
Keterangan
Tabel 4.7 : Basis Data Diagnosa
h. Nama File
Isi
: detil_resep
: Data Obat Yang Dipesan
Primary Key : Foreign Key : no_resep, kd_obat
No
1
2
3
4
Field Name
no_resep**
kd_obat**
jumlah_obat
jumlah_harga
Type
Text
Text
Number
Number
Field Size
5
5
Double
Double
Tabel 4.8 : Basis Data detil_resep
Keterangan
Nomor Resep
Kode Obat
Jumlah Obat
Jumlah Harga
93
i Nama File
Isi
: Obat
: Data Obat
Primary Key : Kd_Obat
Foreign Key :
No
1
2
3
4
Field Name
kd_obat*
nama_obat
harga_obat
jenis_Obat
Type
Text
Text
Number
Text
Field Size
5
50
Double
50
Tabel 4.9 : Basis Data Obat
4.5.2.4 Rancangan Kode
1) Rancangan kode untuk pasien
PS001
PS
001
= kode_pasien
= No urut kode pasien
2) Rancangan kode untuk Dokter
DK001
DK
001
= Identitas Dokter
= No urut Identitas Dokoter
3) Rancangan kode untuk Resep
00001
001
00
= Resep
= No urut Resep
Keterangan
Kode Obat
Nama Obat
Harga Obat
Jenis Obat
94
4) Rancangan kode untuk Faktur
FK001
F
001
= Kode Faktur
= No urut kode Faktur
5) Rancangan kode untuk Detil_Diagnosa
DG001
DG
001
= Kode tanda Hasil Diagnosa
= No urut kode tanda Hasil Diagnosa
6) Rancangan kode untuk Diagnosa
DG001
DG
001
= Kode Diagnosa
= No urut diagnosa
7) Rancangan kode untuk Obat
OB001
OB
001
=Kode Obat
= No urut kode obat
8) Rancangan kode untuk Detil_Resep
00001
00001
00
= Kode Detil_resep
= No urut Detil_Resep
95
4.5.2.5 Kamus Data
Pasien
= *File pasien*
{@id_pasien
+
nama_pasien
+
alamat
+
tanggal_lahir + jenkel + telepon}
Transaksi
= *File transaksi*
{@no_diagnosa + tanggal_diagnosa + jumlah_bayar
+ id_pasien + id_dokter }
Dokter
=*File dokter*
{@id_dokter+ nama_dokter + alamat + telepon +
spesialis}
Resep
=*File resep*
{@no_resep+ tanggal_resep + jumlah_bayar +
Faktur
id_pasien}
=*File faktur*
Diagnosa
{@no_faktur + tanggal_faktur + no_resep}
=*File diagnosa*
Detil_Diagnosa
{@id_diagnosa + nama_diagnosa
=*File detil_diagnosa*
Detil_Resep
{@id_diagnosa + no_diagnosa + jumlah_harga )
=*File detil_resep*
Obat
{@no_resep
=*File obat*
+
kode_obat
+
+
harga
jumlah_obat
{@kd_obat + nama_obat + harga + jenis_obat }
Tabel 4.10 : Kamus Data
+
+
96
4.5.3
Perancangan Input/Output
Perancangan input/output merupakan rancang bangun dari
percakapan antar pemakai sistem dengan komputer. Percakapan ini
dapat terdiri dari proses pemasukan data ke sistem dan menampilkan
hasil informasi kepada pemakai (user).
Perancangan input/output ini antara lain terdiri dari:
1. Perancangan menu, dalam hal ini perancangan menu menggunakan
metode STD (State Transition Diagram).
2. Perancangan layar tampilan, layar tampilan terdiri dari:
a. Desain Dialog yang terdiri dari layar password, layar menu utama.
b. Desain Input yang terdiri dari input data pasien, input data dokter,
input data diagnosa, input resep, input faktur, input data obat, input
detil resep,input detil diagnosa.
c. Desain Output yang terdiri dari daftar pasien, dokter, obat, diagnosa,
laporan resep, faktur, transaksi.
4.5.3.1 Perancangan Struktur Menu Tampilan
Perancangan menu sistem informasi pelayanan kesehatan
pada klinik dokter keluarga suradita dengan manggunakan STD
(State Transition Diagram) adalah sebagai berikut (Gambar
4.15):
97
Gambar 4.16 : Perancangan Struktur Menu Tampilan
98
4.5.3.2 Perancangan Layar Tampilan
A. Desain dialog yang terdiri dari layar password dan layar menu utama.
Gambar 4.17 : Layar Password
Gambar 4.18 : Rancangan Mneu Utama Pelayanan Kesehatan
99
B. Desain input yang terdiri dari, input data pasien, input data obat, input
data diagnosa, input data dokter, input data resep, input faktur,input data
hasil diagnosa.
Gambar 4.19 : Rancangan file master data pasien
Gambar 4.20 : Rancangan file master data obat
100
Gambar 4.21 : Rancangan file master data diagnosa
Gambar 4.22 : Rancangan file master data dokter
101
Gambar 4.23 : Rancangan menu resep
Gambar 4.24 : Rancangan menu faktur
102
Gambar 4.25 : Rancangan menu transaksi diagnosa
Gambar 4.26 : Rancangan Layar laporan resep
103
Gambar 4.27 : Rancangan Layar laporan faktur
Gambar 4.28 : Rancangan Layar laporan transaksi
104
Gambar 4.29 : Rancangan Layar ganti password
Gambar 4.30 : Rancangan Layar tambah user
C. Desain Output yang terdiri dari daftar pasien, daftar dokter, daftar obat,
laporan resep, laporan faktur, laporan laporan diagnosa, cetak resep, cetak
faktur, cetak biaya pengobatan, cetak kartu pasien.
105
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021 - 75791443
LOGO
KLINIK
Id_pasien
Nama_pasien
Alamat
Tanggal_lahir
Jenis Kelamin
DAFTAR PASIEN
Telepon
Gambar 4.31 : Rancangan Layar daftar pasien
LOGO
KLINIK
id_dokter
KLINIK DOKTER KELUARGA SUARD ITA
Jl. Raya Lapan Kp . Suradita D esa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021 - 75791443
nama_dokter
alamat
telepon
DAFTAR DOKTER
spesialis
Gambar 2.32 : Rancangan Layar daftar dokter
106
LOGO
KLINIK
id_dokter
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021 - 75791443
nama_dokter
alamat
DAFTAR DOKTER
telepon
spesialis
Gambar 4.33 : Rancangan Layar daftar obat
LOGO
KLINIK
Id Diagnosa
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021 - 75791443
Nama Diagnosa
Harga
DAFTAR DIAGNOSA
Keterangan
Gambar 4.34 : Rancangan Layar daftar diagnosa
107
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021 - 75791443
LOGO
KLINIK
Dari Tanggal :
No resep
Tanggal
Nama Pasien
LAPORAN RESEP
Sampai Dengan :
dd:mm:yy
Kode Obat
Nama Obat
dd:mm:yy
Jumlah Obat
Jenis
Gambar 4.35 : Rancangan Layar laporan resep
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021 - 75791443
LOGO
KLINIK
Dari Tanggal :
Id Faktur
Tanggal faktur
Nama Pasien
LAPORAN FAKTUR
Sampai Dengan :
dd:mm:yy
Nama Obat
Jml
Harga Satuan
dd:mm:yy
Jumlah harga
Gambar 4.36 : Rancangan Layar laporan faktur
108
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021- 75791443
LOGO
KLINIK
Dari Tanggal :
No Diagnosa
Tanggal
Diagnosa
Nama Pasien
LAPORAN DIAGNOSA
Sampai Dengan :
dd:mm:yy
Nama Dokter
Nama Diagnosa
dd:mm:yy
Keterangan
Jumlah Harga
Gambar 4.37 : Rancangan Layar laporan diagnosa
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021 - 75791443
LOGO
KLINIK
Nomor Resep
X-5-X
Tanggal Resep
dd:mm:yy
CETAK RESEP
Id Pasien
X -5-X
Nama Pasien
X-50-X
X-50-X
Alamat
Kode obat
Nama Obat
Jenis Obat
Jumlah Obat
Gambar 4.38 : Rancangan Layar cetak resep
109
KLIN IK DOKTER KELU ARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan C isauk Kabupaten Tangerang Banten
15343
021 - 75791443
LOGO
KLINIK
Nomor Resep
X-5-X
Nomor faktur
X-5-X
Tanggal Faktur
DD:MM:YY
Kode obat
Nama Obat
CETAK FAKTUR
Id Pasien
X -5-X
Nama Pasien
X-50-X
Alamat
Jenis Obat
Harga
X-50-X
Jumlah Obat
Jumlah harga
JUMLAH
Gambar 4.39 : Rancangan Layar cetak faktur
KLINIK DOKTER KELUARGA SUARDITA
Jl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten
15343
021- 75791443
LOGO
KLINIK
Id Transaksi
X-5-X
Id Pasien
X-5-X
Nama Pasien
DD:MM:YY
Alamat
DD:MM:YY
Id Diagnosa
Nama Diagnosa
CETAK BIAYA PENGOBATAN
Tanggal
X-50-X
Nama Dokter
X-50-X
Spesialis
Keterangan
X-5-X
Id Dokter
Harga
X-50-X
Jumlah harga
JUMLAH TOTAL
Gambar 4.40 : Rancangan Layar cetak biaya pengobatan
110
Gambar 4. 41 : Rancangan Layar kartu pasien
4.6
Implementasi
Setelah tahap analisa dan perancangan selesai, maka tahap ini
dilakukan implementasi hasil rancangan kedalam baris-baris kode program
(lihat lampiran) yang dapat dimengerti oleh komputer. Bahasa pemrograman
111
yang penulis gunakan adalah Microsoft Visual basic 6.0 dan Microsoft Access
2003 sebagai databasenya. Selain itu juga membahas sarana-sarana
pendukung yang diperlukan agar sistem dapat berjalan sesuai yang
diharapkan.
Pada tahap ini penulis menentukan spesifikasi komputer yang
dibutuhkan oleh sistem dan juga proses pengujian program sistem informasi
pelayanan kesehatan pada klinik dokter keluarga suradita yang dirancang
penulis agar dapat dilihat seluruh kemampuan dari sistem tersebut.
4.6.1
Spesifikasi Komputer
Perangkat komputer digunakan sebagai alat pengolahan data
yang meliputi perangkat keras dan pendukungnya yaitu perangkat yang
menjalankan aplikasinya. Spesifikasi minimal dari perangkat keras dan
perangkat lunak yang diusulkan adalah :
a. Perangkat Keras (Hardware)
1) Prosessor yang berkapasitas 1.50 GB
2) Memory RAM yang berkapasitas sebesar 128 MB
3) Hard Disk yang berkapasitas sebesar 40 GB
4) Monitor SVGA 15”
5) 1.44 MB Disk Drive
6) Mouse, Keyboard
7) CD ROM 52 x
8) Printer
9) Topologi Star
b. Perangkat Lunak (Software)
1) MS Office 2003
112
2) MS Windows XP Profesional
3) MS Visual Studio
c. Brainware
1) Petugas Pendaftaran pada Bagian Pendaftran pada Klinik
Dokter Keluarga Suradita.
2) Petugas Kasir di Bagian Kasir pada Klinik Dokter Keluarga
Suradita.
4.6.2
Konversi Sistem
Tahap konversi sistem yang penulis gunakan adalah tahap
konversi pararel, yaitu dengan mengoperasikan sistem baru bersamasama dengan sistem yang lama selama satu periode waktu tertentu.
Kedua sistem ini dioperasikan untuk meyakinkan bahwa sistem yang
baru telah benar-benar beroperasi dengan baik sebelum sistem yang
lama dihentikan dan untuk menghindari kepada organisasi terhadap
kegagalan sistem yang baru dan memproteksi sistem lama.
4.7
Pemeliharaan Sistem
Menurut Lientz dan Swason (1993) pemeliharaan bukanlah perbaikan
sistem, namun aktivitas pemeliharaan adalah menambah daya fungsi
(peningkatan) ke program.
Pemeliharaan sistem ini sendiri biasanya dilakukan oleh seorang admin
yang memahami sistem pelayanan kesehatan ini.
113
BAB V
PENUTUP
5.1
Kesimpulan
Dari pembahasan yang sudah diuraikan maka penulis mencoba
membuat kesimpulan dan saran berikut ini :
a. Dengan adanya sistem komputerisasi Sistem pelayanan kesehatan pada
klinik dokter keluarga suradita dapat
membantu peningkatan kinerja
dalam memberikan pelayanan kesehatan kepada masyarakat atau pasien
yang akan berobat.
b. Dengan menggunakan prinsip SDLC, Sistem informasi pelayanan
kesehatan dapat dikembangkan dengan lebih baik dalam proses
memberikan pelayanannya kepada pasien.
c. Dengan sistem terkomputerisasi akan mendukung dihasilkannya informasi
yang akurat serta cepat kepada semua pihak yang membutuhkannya
terutama pimpinan dalam mengambil keputusan. Dengan adanya sistem
pelayanan kesehatan pada bagian pendaftaran dan bagian kasir,
mempermudah petugas klinik dalam memberikan palayanannya kepada
pasien yang berobat karena data dan informasi dapat disimpan secara
teratur. Beban tenaga yang ada menjadi lebih ringan karena pengarsipan
dan pengolahan data yang masuk telah terkomputerisasi.
5.2
Saran
Saran-saran yang diberikan pada penelitian ini adalah sebagai berikut :
114
a. Dalam memasukkan data perlu diperhatikan ketelitian guna mengurangi
kesalahan-kesalahan yang mungkin terjadi dalam melakukan pekerjaan.
b. Sumber daya manusia atau tenaga kerja pelaksana dalam mengoperasikan
sistem komputer ini lebih ditingkatkan dan dikembangkan kemampuan
dalam merawat sistem dan pemeliharaan perangkat kerasnya secara
berkala.
c. Diperlukan back-up data, di dalam sistem untuk mencegah hal-hal yang
tidak diinginkan.
d. Koordinasi dan kerja sama turut menentukan agar sistem ini bisa berjalan
dengan baik.
115
DAFTAR PUSTAKA
Andi, 2003. Microsoft Access 2003, Wahana Komputer, Semarang, 2003
Fathansyah, Ir., 2002. Basis Data, Informatika, Bandung.
Jogiyanto H.M, 2005. Sistem Teknologi Informasi Edisi Ke II, Andi Yogyakarta.
Jogiyanto H.M, 2001. Analisa dan Desain Sistem Informasi, Andi, Yogyakarta.
Kadir, A, 1999. Konsep Dan Tuntunan Praktis Basis Data, Andi,
Yogyakarta.
Kendal & Kendal, 2003. Analisa Dan Perancangan Sistem, Intan Sejati, Klaten,
Yogyakarta.
Kurniadi Adi, 1999. Pemprograman Microsoft Visual Basic 6.0, PT Elex Media
Komputindo, Jakarta.
M.P.H. Azwar Azrul Dr. DR., 1990, Pengantar Administrasi Kesehatan, Jakarta.
O’brein James, 2005. Pengantar Sistem Informasi Perspektif Bisnis Dan
Manajerial, Salemba Empat, Jakarta
Ramali Ahmad Dr. Med., 1993. Kamus Kedokteran, Jakarta
Sutabri Tata, 2004. Analisa Sistem Informasi, Andi, Yogyakarta.
116
LAMPIRAN I
WAWANCARA I
Responden
: dr. Dean Hadi Mulya.
Jabatan
: Kepala Klinik
Tanggal Wawancara : 07 November 2006
Hal
: Profil Klinik.
Tujuan dari wawancara ini peneliti ingin mengetahui latar belakang berdirinya
Klinik Dokter Keluarga Suradita, visi dan misi Klinik dan struktur organisasi.
Pertanyaan Wawancara I
1. Bagaimanakah dan kapankah berdirinya Klinik Dokter Keluarga Suradita ?
2. Apa yang melatar belakangi berdirinya Klinik Dokter Keluarga Suradita ?
3. Bagaimanakah profile Klinik Dokter Keluarga Suradita ?
Hasil Wawancara I
Dari hasil wawancara yang diajukan, peneliti dapat mengetahui tentang
sejarah berdirinya, latar belakang, dan profil Klinik. Selain itu peneliti dapat
mengetahui visi dan misi, struktur organisasi pada Klinik Dokter Keluarga Suradita.
Sebagaimana diuraikan pada Bab IV Analisa dan Perancangan Sistem.
117
WAWANCARA II
Responden
: dr. Ade, Dita, Siti.
Jabatan
: Kepala Bagian Medis, Bagian Pendaftaran, Bagian Kasir.
Tanggal Wawancara : 04 Januari 2007.
Hal
: Sistem pelayanan kesehatan yang berjalan pada Klinik.
Tujuan dari wawancara ini peneliti ingin mengetahui alur proses pelayanan
kesehatan yang berjalan pada klinik, masalah-masalah yang dihadapi pada sistem
pelayanan kesehatan.
Pertanyaan Wawancara II
1. Bagaimanakah alur proses sistem pelayanan kesehatan pada klinik dokter keluarga
suradita ?
2. Adakah masalah-masalah yang dihadapi pada sistem pelayanan kesehatan yang
berjalan ?
3. Bagaimanakah ruang lingkup sistem pelayanan kesehatan yang berjalan ?
4. Bagaimana teknis pendaftaran pasien lama dan baru ?
Hasil Wawancara II
Dari hasil wawancara ini, peneliti dapat mengetahui alur proses sistem
pelayanan kesehatan yang berjalan pada Klinik Dokter Keluarga Suradita. Peneliti
mengetahui masalah-masalah yang dihadapi sistem pelayanan kesehatan yang
berjalan dan ruang lingkup sistem pelayanan kesehatan yang berjalan pada klinik.
Dengan hasil wawancara tersebut peneliti mendapatkan data yang dibutuhkan untuk
pengembangan sistem pelayanan kesehatan. Adapun data-data yang diperoleh untuk
pengembangan sistem secara tersirat dapat diketahui dari pembahasan Bab IV Analisa
dan Perancangan Sistem.
118
LAMPIRAN III
LISTING PROGRAM
Nama Aplikasi
Programmer 1
Programmer 2
: Sistem Informasi Pelayanan Kesehatan
: Prabowo
: Muhammad Irfan
1.
Coding Login
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Single
Private Sub cmdcancel_Click()
End
End Sub
Private Sub cmdOK_Click()
If Len(txtuser.Text) = 0 Then
MsgBox "User ID Masih Kosong", vbCritical, "User ID"
txtuser.SetFocus
Exit Sub
End If
If Len(txtpas.Text) = 0 Then
MsgBox "Password Masih Kosong", vbCritical, "Password"
txtpas.SetFocus
Exit Sub
End If
cekpassword
End Sub
Private Sub Form_Activate()
txtuser.Text = ""
txtpas.Text = ""
txtuser.SetFocus
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub Timer1_Timer()
lblJudul.Left = lblJudul.Left - 30
If lblJudul.Left = -9000 Then
lblJudul.Left = 9000
lblJudul.Left = lblJudul.Left - 30
End If
End Sub
Private Sub txtpas_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
cmdok.SetFocus
End If
End Sub
Sub cekpassword()
Dim sql As String
sql = " SELECT * FROM user " & _
" WHERE userid='" & txtuser.Text & "'"
Set rs = conn.Execute(sql)
If rs.EOF Then
MsgBox "User Id Tidak Terdaftar", vbOKOnly + vbExclamation, "User ID"
txtuser.Text = ""
txtuser.SetFocus
Else
If rs.Fields("password") <> txtpas.Text Then
MsgBox "Password Anda Salah", vbOKOnly + vbExclamation, "Password"
i=i+1
If i = 3 Then
MsgBox "Password Salah, Please Contact Your Administrator", vbCritical, "ERROR ON PASSWORD"
End
End If
txtpas.Text = ""
txtpas.SetFocus
Else
frmutama.mnuganti.Enabled = True
frmutama.mnulogoff.Enabled = True
If rs.Fields("mndokter") = 1 Then
frmutama.mnudatadokter.Enabled = True
Else
frmutama.mnudatadokter.Enabled = False
End If
If rs.Fields("mnpasien") = 1 Then
frmutama.mnudatapasien.Enabled = True
119
Else
frmutama.mnudatapasien.Enabled = False
End If
If rs.Fields("mnobat") = 1 Then
frmutama.mnudataobat.Enabled = True
Else
frmutama.mnudataobat.Enabled = False
End If
If rs.Fields("mndiagnosa") = 1 Then
frmutama.mnudatadiagnosa.Enabled = True
Else
frmutama.mnudatadiagnosa.Enabled = False
End If
If rs.Fields("mnresep") = 1 Then
frmutama.mnudataresep.Enabled = True
Else
frmutama.mnudataresep.Enabled = False
End If
If rs.Fields("mnfaktur") = 1 Then
frmutama.mnudatafaktur.Enabled = True
Else
frmutama.mnudatafaktur.Enabled = False
End If
If rs.Fields("mntransaksi") = 1 Then
frmutama.mnudatatransaksidiagnosa.Enabled = True
Else
frmutama.mnudatatransaksidiagnosa.Enabled = False
End If
If rs.Fields("mndafpasien") = 1 Then
frmutama.mnudafpasien.Enabled = True
Else
frmutama.mnudafpasien.Enabled = False
End If
If rs.Fields("mndafdokter") = 1 Then
frmutama.mnudafdokter.Enabled = True
Else
frmutama.mnudafdokter.Enabled = False
End If
If rs.Fields("mndafobat") = 1 Then
frmutama.mnudafobat.Enabled = True
Else
frmutama.mnudafobat.Enabled = False
End If
If rs.Fields("mndafdiagnosa") = 1 Then
frmutama.mnudafdiagnosa.Enabled = True
Else
frmutama.mnudafdiagnosa.Enabled = False
End If
If rs.Fields("mnlapfaktur") = 1 Then
frmutama.mnudatalapfaktur.Enabled = True
Else
frmutama.mnudatalapfaktur.Enabled = False
End If
If rs.Fields("mnlapresep") = 1 Then
frmutama.mnudatalapresep.Enabled = True
Else
frmutama.mnudatalapresep.Enabled = False
End If
If rs.Fields("mnlaptransaksi") = 1 Then
frmutama.mnudatalaptransaksi.Enabled = True
Else
frmutama.mnudatalaptransaksi.Enabled = False
End If
If rs.Fields("mntambah") = 1 Then
frmutama.mnutambah.Enabled = True
Else
frmutama.mnutambah.Enabled = False
End If
pasword.Visible = False
frmutama.Visible = True
frmutama.Enabled = True
frmutama.SetFocus
End If
End If
rs.Close
End Sub
Private Sub txtuser_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
txtpas.SetFocus
End If
End Sub
2. Coding Menu Utama
Private Sub mnudafdiagnosa_Click()
rptdiagnosa.Refresh
rptdiagnosa.Show
End Sub
Private Sub mnudafdokter_Click()
rptdokter.Refresh
rptdokter.Show
End Sub
Private Sub mnudafobat_Click()
rptobat.Refresh
rptobat.Show
End Sub
Private Sub mnudafpasien_Click()
rptpasien.Refresh
rptpasien.Show
End Sub
Private Sub mnudatadiagnosa_Click()
frmdiagnosa.Show
frmutama.Visible = False
End Sub
Private Sub mnudatadokter_Click()
frmdokter.Show
frmutama.Visible = False
End Sub
Private Sub mnudatafaktur_Click()
frmfaktur.Show
frmutama.Visible = False
End Sub
120
Private Sub mnudatalapfaktur_Click()
frmlapfaktur.Show
frmutama.Visible = False
End Sub
Private Sub mnudatalapresep_Click()
frmlapresep.Show
frmutama.Visible = False
End Sub
Private Sub mnudatalaptransaksi_Click()
frmlaptransaksi.Show
frmutama.Visible = False
End Sub
Private Sub mnudataobat_Click()
frmobat.Show
frmutama.Visible = False
End Sub
Private Sub mnudatapasien_Click()
frmpasien.Show
frmutama.Visible = False
End Sub
Private Sub mnudataresep_Click()
frmresep.Show
frmutama.Visible = False
End Sub
Private Sub mnudatatransaksidiagnosa_Click()
frmtransaksi.Show
frmutama.Visible = False
End Sub
Private Sub mnuganti_Click()
frmganti.Show
frmutama.Visible = False
End Sub
Private Sub mnukeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmutama.Show
End If
End Sub
Private Sub mnulogoff_Click()
X = MsgBox("Anda Yakin Ingin LogOff...???", vbOKCancel + vbQuestion, "LogOff")
If X = vbOK Then
frmutama.mnudatadokter.Enabled = False
frmutama.mnudataobat.Enabled = False
frmutama.mnudatadiagnosa.Enabled = False
frmutama.mnudatapasien.Enabled = False
frmutama.mnudataresep.Enabled = False
frmutama.mnudatafaktur.Enabled = False
frmutama.mnudatatransaksidiagnosa.Enabled = False
frmutama.mnudafpasien.Enabled = False
frmutama.mnudafdokter.Enabled = False
frmutama.mnudafobat.Enabled = False
frmutama.mnudafdiagnosa.Enabled = False
frmutama.mnudatalapresep.Enabled = False
frmutama.mnudatalapfaktur.Enabled = False
frmutama.mnudatalaptransaksi.Enabled = False
frmutama.mnutambah.Enabled = False
'frmutama.Visible = False
pasword.Visible = True
pasword.Enabled = True
pasword.SetFocus
Else
frmutama.SetFocus
End If
End Sub
Private Sub mnutambah_Click()
frmuser.Show
frmutama.Visible = False
End Sub
Private Sub Timer1_Timer()
hari = Format(Date, "w")
Select Case hari
Case 1: hr = "Minggu, "
Case 2: hr = "Senin, "
Case 3: hr = "Selasa, "
Case 4: hr = "Rabu, "
Case 5: hr = "Kamis, "
Case 6: hr = "Jumat, "
Case 7: hr = "Sabtu, "
End Select
bulan = Format(Date, "mm")
Select Case bulan
Case 1: bln = "Januari"
Case 2: bln = "Februari"
Case 3: bln = "Maret"
Case 4: bln = "April"
Case 5: bln = "Mei"
Case 6: bln = "Juni"
Case 7: bln = "Juli"
Case 8: bln = "Agustus"
Case 9: bln = "September"
Case 10: bln = "Oktober"
Case 11: bln = "November"
Case 12: bln = "Desember"
End Select
SB.Panels(2) = hr + Format(Date, "dd") + " " + bln + " " + Format(Date, "yyyy")
SB.Panels(3) = Format(Time(), "hh:mm:ss")
End Sub
Private Sub Timer2_Timer()
lblJudul.Left = lblJudul.Left - 30
If lblJudul.Left = -9000 Then
lblJudul.Left = 9000
lblJudul.Left = lblJudul.Left - 30
End If
121
End Sub
Private Sub Timer3_Timer()
n = n + 100
AA = "Aplikasi Pelayanan Kesehatan"
frmutama.Caption = Left(AA, n)
If n = 123 Then
n=1
End If
End Sub
Private Sub Timer4_Timer()
DTPicker1 = Time
End Sub
3. Coding Pasien
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub cmdcetak_Click()
idpasien = InputBox("Masukkan ID pasien!", "ID pasien")
dtenv.cetak_kartu idpasien
rptkartupasien.Refresh
rptkartupasien.Show
dtenv.rscetak_kartu.Close
End Sub
Private Sub cmdbatal_Click()
bersih
tidaksiap
End Sub
Private Sub cmdhapus_Click()
Dim sql As String
X = MsgBox("Apakah Data Ingin Dihapus?", vbYesNo + vbExclamation, "Hapus Data")
If X = vbYes Then
sql = " SELECT * FROM resep " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Data Pasien Ini Telah Masuk Resep" + Chr(13), vbCritical + vbOKOnly, "FATAL ERROR"
Else
sql = " DELETE * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
conn.Execute (sql)
MsgBox "Data Sudah Dihapus", vbInformation, "Hapus Data"
bersih
tidaksiap
Adodc1.Refresh
End If
Else
txtnmpasien.SetFocus
End If
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmpasien.Show
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Private Sub cmdrefresh_Click()
Adodc1.Refresh
End Sub
Private Sub cmdsimpan_Click()
If Len(txtidpasien.Text) = 0 Then
MsgBox "ID Pasien Belum Diisi", vbInformation, "ID Pasien"
txtidpasien.SetFocus
Exit Sub
ElseIf Len(txtnmpasien.Text) = 0 Then
MsgBox "Nama Pasien Belum Diisi", vbInformation, "Nama Pasien"
txtnmpasien.SetFocus
Exit Sub
ElseIf Len(txtalamat.Text) = 0 Then
MsgBox "Alamat Belum Diisi", vbInformation, "Alamat"
txtalamat.SetFocus
Exit Sub
ElseIf Len(txttelepon.Text) = 0 Then
MsgBox "Telepon Belum Diisi", vbInformation, "Telepon"
txttelepon.SetFocus
Exit Sub
ElseIf Len(txtjenkel.Text) = 0 Then
MsgBox "Jenis Kelamin Belum Diisi", vbInformation, "Jenis Kelamin"
txtjenkel.SetFocus
Exit Sub
End If
Dim sql As String
sql = "SELECT * FROM pasien " & _
"WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "ID Pasien Sudah Ada", vbCritical + vbOKOnly, "Duplikat"
Else
txttgllahir.Text = DTPicker1.Value
X = MsgBox("Data yang akan masuk sebagai berikut:" + Chr(13) + _
"ID Pasien : " + txtidpasien.Text + Chr(13) + _
"Nama Pasien : " + txtnmpasien.Text + Chr(13) + _
"Alamat: " + txtalamat.Text + Chr(13) + _
"Jenis Kelamin: " + txtjenkel.Text + Chr(13) + _
"Tanggal Lahir : " + txttgllahir.Text + Chr(13) + _
"Telepon : " + txttelepon.Text + Chr(13), vbYesNo, "Konfirmasi")
If X = vbYes Then
sql = "INSERT INTO pasien (id_pasien,nama_pasien,alamat,tanggal_lahir,telepon,jenkel)" & _
"VALUES('" & txtidpasien & "','" & txtnmpasien & "','" & txtalamat & "'," & _
"'" & DTPicker1.Value & "','" & txttelepon & "','" & txtjenkel & "')"
122
conn.Execute (sql)
MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk"
bersih
tidaksiap
Else
txtidpasien.SetFocus
End If
End If
Adodc1.Refresh
rs.Close
End Sub
Private Sub cmdubah_Click()
If Len(txtidpasien.Text) = 0 Then
MsgBox "ID Pasien Belum Diisi", vbInformation, "ID Pasien"
txtidpasien.SetFocus
Exit Sub
ElseIf Len(txtnmpasien.Text) = 0 Then
MsgBox "Nama Pasien Belum Diisi", vbInformation, "Nama Pasien"
txtnmpasien.SetFocus
Exit Sub
ElseIf Len(txtalamat.Text) = 0 Then
MsgBox "Alamat Belum Diisi", vbInformation, "Alamat"
txtalamat.SetFocus
Exit Sub
ElseIf Len(txttelepon.Text) = 0 Then
MsgBox "Telepon Belum Diisi", vbInformation, "Telepon"
txttelepon.SetFocus
Exit Sub
ElseIf Len(txtjenkel.Text) = 0 Then
MsgBox "Jenis Kelamin Belum Diisi", vbInformation, "Jenis Kelamin"
txtjenkel.SetFocus
Exit Sub
End If
X = MsgBox("Ubah Data?", vbYesNo + vbExclamation, "Ubah Data")
If X = vbYes Then
Dim sql As String
sql = " UPDATE pasien SET " & _
" nama_pasien='" & txtnmpasien.Text & "'," & _
" alamat='" & txtalamat.Text & "'," & _
" jenkel='" & txtjenkel.Text & "'," & _
" tanggal_lahir='" & DTPicker1.Value & "'," & _
" telepon='" & txttelepon.Text & "'" & _
" WHERE id_pasien='" & txtidpasien.Text & "'"
conn.Execute (sql)
MsgBox "Data Sudah Diubah", vbInformation, "Ubah Data"
bersih
tidaksiap
Adodc1.Refresh
Else
txtnmpasien.SetFocus
End If
End Sub
Private Sub Form_Activate()
bersih
tidaksiap
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
DTPicker1 = Date
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub optid_Click()
Dim sql As String
If optid.Value = True Then
X = InputBox("Masukkan ID Pasien Yang Dicari")
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien like '%" & X & "%'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
Adodc2.RecordSource = sql
Adodc2.Refresh
DataGrid2.Visible = True
Else
MsgBox "pasien Belum terdaftar", vbInformation, "ID Pasien"
End If
End If
optid.Value = False
End Sub
Private Sub optnama_Click()
Dim sql As String
If optnama.Value = True Then
X = InputBox("Masukkan Nama Pasien Yang Dicari")
sql = " SELECT * FROM pasien " & _
" WHERE nama_pasien like '%" & X & "%'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
Adodc2.RecordSource = sql
Adodc2.Refresh
DataGrid2.Visible = True
Else
MsgBox "Pasien belum terdaftar", vbInformation, "Nama Pasien"
End If
End If
optnama.Value = False
End Sub
Private Sub Timer1_Timer()
txttgl.Text = Date
txtjam.Text = Time
End Sub
Sub bersih()
txtidpasien.Text = ""
123
txtnmpasien.Text = ""
txtalamat.Text = ""
txttelepon.Text = ""
txtidpasien.Enabled = True
txtidpasien.SetFocus
End Sub
Sub tidaksiap()
cmdsimpan.Enabled = False
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtnmpasien.Enabled = False
txtalamat.Enabled = False
txttelepon.Enabled = False
End Sub
Sub siap()
txtnmpasien.Text = ""
txtalamat.Text = ""
txttelepon.Text = ""
txtnmpasien.SetFocus
End Sub
Private Sub txtalamat_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtalamat.Text) = 0 Then
MsgBox "Alamat Pasien Harus Diisi", vbCritical, "Alamat Pasien"
Else
txttelepon.Enabled = True
txttelepon.SetFocus
End If
End If
End Sub
Private Sub txtidpasien_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtidpasien.Text) = 0 Then
MsgBox "ID Pasien Belum Diisi", vbInformation, "ID Pasien"
Else
Dim sql As String
sql = "SELECT * FROM pasien " & _
"WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
txttelepon = rs.Fields("telepon")
DTPicker1.Value = rs.Fields("tanggal_lahir")
txtjenkel = rs.Fields("jenkel")
cmdsimpan.Enabled = False
cmdubah.Enabled = True
cmdhapus.Enabled = True
txtnmpasien.Enabled = True
txtalamat.Enabled = True
txttelepon.Enabled = True
DTPicker1.Enabled = True
txtidpasien.Enabled = False
txtnmpasien.SetFocus
Else
cmdsimpan.Enabled = True
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtnmpasien.Enabled = True
txtalamat.Enabled = True
txttelepon.Enabled = True
DTPicker1.Enabled = True
Call siap
End If
End If
End If
End Sub
Private Sub txtnmpasien_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtnmpasien.Text) = 0 Then
MsgBox "Nama Pasien Harus Diisi", vbCritical, "Nama Pasien"
Else
txtalamat.SetFocus
End If
End If
End Sub
Private Sub txttelepon_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txttelepon.Text) = 0 Then
MsgBox "Telepon Pasien Harus Diisi", vbCritical, "Telepon Pasien"
Else
DTPicker1.Enabled = True
DTPicker1.SetFocus
End If
End If
End Sub
4.
Coding Obat
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmobat.Show
End If
End Sub
Private Sub cmdkembali_Click()
124
frmutama.Show
Unload Me
End Sub
Private Sub cmdbatal_Click()
bersih
tidaksiap
End Sub
Private Sub cmdhapus_Click()
Dim sql As String
X = MsgBox("Apakah Data Ingin Dihapus?", vbYesNo + vbExclamation, "Hapus Data")
If X = vbYes Then
sql = " SELECT * FROM detil_resep " & _
" WHERE kd_obat='" & txtkdobat & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Data Obat Ini Telah Masuk Resep" + Chr(13), vbCritical + vbOKOnly, "FATAL ERROR"
Else
sql = " DELETE * FROM obat " & _
" WHERE kd_obat='" & txtkdobat & "'"
conn.Execute (sql)
MsgBox "Data Sudah Dihapus", vbInformation, "Hapus Data"
bersih
tidaksiap
Adodc1.Refresh
End If
Else
txtnmobat.SetFocus
End If
End Sub
Private Sub cmdrefresh_Click()
Adodc1.Refresh
End Sub
Private Sub cmdsimpan_Click()
If Len(txtkdobat.Text) = 0 Then
MsgBox "ID Obat Belum Diisi", vbInformation, "ID Obat"
txtkdobat.SetFocus
Exit Sub
ElseIf Len(txtnmobat.Text) = 0 Then
MsgBox "Nama Obat Belum Diisi", vbInformation, "Nama Obat"
txtnmobat.SetFocus
Exit Sub
ElseIf Len(txtjenis.Text) = 0 Then
MsgBox "Jenis Obat Belum Diisi", vbInformation, "Jenis Obat"
txtjenis.SetFocus
Exit Sub
ElseIf Len(txtharga.Text) = 0 Then
MsgBox "Harga Obat Belum Diisi", vbInformation, "Harga Obat"
txtharga.SetFocus
Exit Sub
End If
Dim sql As String
sql = "SELECT * FROM obat " & _
"WHERE kd_obat='" & txtkdobat & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "ID Obat Sudah Ada", vbCritical + vbOKOnly, "Duplikat"
Else
X = MsgBox("Data yang akan masuk sebagai berikut:" + Chr(13) + _
"ID Obat : " + txtkdobat.Text + Chr(13) + _
"Nama Obat : " + txtnmobat.Text + Chr(13) + _
"Jenis Obat : " + txtjenis.Text + Chr(13) + _
"Harga Obat : " + txtharga.Text + Chr(13), vbYesNo, "Konfirmasi")
If X = vbYes Then
sql = "INSERT INTO obat (kd_obat,nama_obat,jenis_obat,harga)" & _
"VALUES('" & txtkdobat & "','" & txtnmobat & "','" & txtjenis & "'," & _
"'" & txtharga & "')"
conn.Execute (sql)
MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk"
bersih
tidaksiap
Else
txtkdobat.SetFocus
End If
End If
Adodc1.Refresh
rs.Close
End Sub
Private Sub cmdubah_Click()
If Len(txtkdobat.Text) = 0 Then
MsgBox "ID Obat Belum Diisi", vbInformation, "ID Obat"
txtkdobat.SetFocus
Exit Sub
ElseIf Len(txtnmobat.Text) = 0 Then
MsgBox "Nama Obat Belum Diisi", vbInformation, "Nama Obat"
txtnmobat.SetFocus
Exit Sub
ElseIf Len(txtjenis.Text) = 0 Then
MsgBox "Jenis Obat Belum Diisi", vbInformation, "Jenis Obat"
txtjenis.SetFocus
Exit Sub
ElseIf Len(txtharga.Text) = 0 Then
MsgBox "Harga Obat Belum Diisi", vbInformation, "Harga Obat"
txtharga.SetFocus
Exit Sub
End If
X = MsgBox("Ubah Data?", vbYesNo + vbExclamation, "Ubah Data")
If X = vbYes Then
Dim sql As String
sql = " UPDATE obat SET " & _
" nama_obat='" & txtnmobat.Text & "'," & _
" jenis_obat='" & txtjenis.Text & "'," & _
" harga='" & txtharga.Text & "'" & _
" WHERE kd_obat='" & txtkdobat.Text & "'"
conn.Execute (sql)
MsgBox "Data Sudah Diubah", vbInformation, "Ubah Data"
bersih
tidaksiap
Adodc1.Refresh
Else
txtnmobat.SetFocus
End If
125
End Sub
Private Sub Form_Activate()
bersih
tidaksiap
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub Timer1_Timer()
txttgl.Text = Date
txtjam.Text = Time
End Sub
Sub bersih()
txtkdobat.Text = ""
txtnmobat.Text = ""
txtjenis.Text = ""
txtharga.Text = ""
txtkdobat.Enabled = True
txtkdobat.SetFocus
End Sub
Sub tidaksiap()
cmdsimpan.Enabled = False
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtnmobat.Enabled = False
txtjenis.Enabled = False
txtharga.Enabled = False
End Sub
Sub siap()
txtnmobat.Text = ""
txtjenis.Text = ""
txtharga.Text = ""
txtnmobat.SetFocus
End Sub
Private Sub txtjenis_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtjenis.Text) = 0 Then
MsgBox "Jenis Obat Harus Diisi", vbCritical, "Jenis Obat"
Else
txtharga.SetFocus
End If
End If
End Sub
Private Sub txtkdobat_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtkdobat.Text) = 0 Then
MsgBox "ID Obat Belum Diisi", vbInformation, "ID Obat"
Else
Dim sql As String
sql = "SELECT * FROM obat " & _
"WHERE kd_obat='" & txtkdobat & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmobat = rs.Fields("nama_obat")
txtjenis = rs.Fields("jenis_obat")
txtharga = rs.Fields("harga")
cmdsimpan.Enabled = False
cmdubah.Enabled = True
cmdhapus.Enabled = True
txtnmobat.Enabled = True
txtjenis.Enabled = True
txtharga.Enabled = True
txtkdobat.Enabled = False
txtnmobat.SetFocus
Else
cmdsimpan.Enabled = True
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtnmobat.Enabled = True
txtjenis.Enabled = True
txtharga.Enabled = True
siap
End If
End If
End If
End Sub
Private Sub txtnmobat_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtnmobat.Text) = 0 Then
MsgBox "Nama Obat Harus Diisi", vbCritical, "Nama Obat"
Else
txtjenis.SetFocus
End If
End If
End Sub
Private Sub txtharga_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtharga.Text) = 0 Then
MsgBox "Harga Obat Harus Diisi", vbCritical, "Harga Obat"
Else
If cmdsimpan.Enabled = True Then
cmdsimpan.SetFocus
Else
126
cmdubah.SetFocus
End If
End If
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
5. Coding Diagnosa
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmdiagnosa.Show
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Private Sub cmdbatal_Click()
bersih
tidaksiap
End Sub
Private Sub cmdhapus_Click()
Dim sql As String
X = MsgBox("Apakah Data Ingin Dihapus?", vbYesNo + vbExclamation, "Hapus Data")
If X = vbYes Then
sql = " SELECT * FROM detil_diagnosa " & _
" WHERE id_diagnosa='" & txtiddiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Data Diagnosa Ini Telah Masuk Transaksi" + Chr(13), vbCritical + vbOKOnly, "FATAL ERROR"
Else
sql = " DELETE * FROM diagnosa " & _
" WHERE id_diagnosa='" & txtiddiagnosa & "'"
conn.Execute (sql)
MsgBox "Data Sudah Dihapus", vbInformation, "Hapus Data"
bersih
tidaksiap
Adodc1.Refresh
End If
Else
txtnmdiagnosa.SetFocus
End If
End Sub
Private Sub cmdrefresh_Click()
Adodc1.Refresh
End Sub
Private Sub cmdsimpan_Click()
If Len(txtiddiagnosa.Text) = 0 Then
MsgBox "ID Obat Belum Diisi", vbInformation, "ID Obat"
txtiddiagnosa.SetFocus
Exit Sub
ElseIf Len(txtnmdiagnosa.Text) = 0 Then
MsgBox "Nama Obat Belum Diisi", vbInformation, "Nama Obat"
txtnmdiagnosa.SetFocus
Exit Sub
ElseIf Len(txtketerangan.Text) = 0 Then
MsgBox "keterangan Obat Belum Diisi", vbInformation, "keterangan Obat"
txtketerangan.SetFocus
Exit Sub
ElseIf Len(txtharga.Text) = 0 Then
MsgBox "Harga Obat Belum Diisi", vbInformation, "Harga Obat"
txtharga.SetFocus
Exit Sub
End If
Dim sql As String
sql = "SELECT * FROM diagnosa " & _
"WHERE id_diagnosa='" & txtiddiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "ID diagnosa Sudah Ada", vbCritical + vbOKOnly, "Duplikat"
Else
X = MsgBox("Data yang akan masuk sebagai berikut:" + Chr(13) + _
"ID Obat : " + txtiddiagnosa.Text + Chr(13) + _
"Nama Obat : " + txtnmdiagnosa.Text + Chr(13) + _
"keterangan Obat : " + txtketerangan.Text + Chr(13) + _
"Harga : " + txtharga.Text + Chr(13), vbYesNo, "Konfirmasi")
If X = vbYes Then
sql = "INSERT INTO diagnosa (id_diagnosa,nama_diagnosa,keterangan,harga)" & _
"VALUES('" & txtiddiagnosa & "','" & txtnmdiagnosa & "','" & txtketerangan & "'," & _
"'" & txtharga & "')"
conn.Execute (sql)
MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk"
bersih
tidaksiap
Else
txtiddiagnosa.SetFocus
End If
End If
Adodc1.Refresh
rs.Close
End Sub
Private Sub cmdubah_Click()
If Len(txtiddiagnosa.Text) = 0 Then
MsgBox "ID Obat Belum Diisi", vbInformation, "ID Obat"
txtiddiagnosa.SetFocus
Exit Sub
ElseIf Len(txtnmdiagnosa.Text) = 0 Then
MsgBox "Nama Obat Belum Diisi", vbInformation, "Nama Obat"
txtnmdiagnosa.SetFocus
Exit Sub
127
ElseIf Len(txtketerangan.Text) = 0 Then
MsgBox "keterangan Obat Belum Diisi", vbInformation, "keterangan Obat"
txtketerangan.SetFocus
Exit Sub
ElseIf Len(txtharga.Text) = 0 Then
MsgBox "Harga Obat Belum Diisi", vbInformation, "Harga Obat"
txtharga.SetFocus
Exit Sub
End If
X = MsgBox("Ubah Data?", vbYesNo + vbExclamation, "Ubah Data")
If X = vbYes Then
Dim sql As String
sql = " UPDATE diagnosa SET " & _
" nama_diagnosa='" & txtnmdiagnosa.Text & "'," & _
" keterangan='" & txtketerangan.Text & "'," & _
" harga='" & txtharga.Text & "'" & _
" WHERE id_diagnosa='" & txtiddiagnosa.Text & "'"
conn.Execute (sql)
MsgBox "Data Sudah Diubah", vbInformation, "Ubah Data"
bersih
tidaksiap
Adodc1.Refresh
Else
txtnmdiagnosa.SetFocus
End If
End Sub
Private Sub Form_Activate()
bersih
tidaksiap
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub Timer1_Timer()
txttgl.Text = Date
txtjam.Text = Time
End Sub
Sub bersih()
txtiddiagnosa.Text = ""
txtnmdiagnosa.Text = ""
txtharga.Text = ""
txtketerangan.Text = ""
txtiddiagnosa.Enabled = True
txtiddiagnosa.SetFocus
End Sub
Sub tidaksiap()
cmdsimpan.Enabled = False
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtketerangan.Enabled = False
txtnmdiagnosa.Enabled = False
txtharga.Enabled = False
End Sub
Sub siap()
txtnmdiagnosa.Text = ""
txtketerangan.Text = ""
txtharga.Text = ""
txtnmdiagnosa.SetFocus
End Sub
Private Sub txtketerangan_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtketerangan.Text) = 0 Then
MsgBox "keterangan diagnosa Harus Diisi", vbCritical, "keterangan diagnosa"
Else
If cmdsimpan.Enabled = True Then
cmdsimpan.SetFocus
Else
cmdubah.Enabled = True
cmdubah.SetFocus
End If
End If
End If
End Sub
Private Sub txtiddiagnosa_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtiddiagnosa.Text) = 0 Then
MsgBox "ID diagnosa Belum Diisi", vbInformation, "ID diagnosa"
Else
Dim sql As String
sql = "SELECT * FROM diagnosa " & _
"WHERE id_diagnosa='" & txtiddiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdiagnosa = rs.Fields("nama_diagnosa")
txtketerangan = rs.Fields("keterangan")
txtharga = rs.Fields("harga")
cmdsimpan.Enabled = False
cmdubah.Enabled = True
cmdhapus.Enabled = True
txtnmdiagnosa.Enabled = True
txtketerangan.Enabled = True
txtharga.Enabled = True
txtiddiagnosa.Enabled = False
txtnmdiagnosa.SetFocus
Else
cmdsimpan.Enabled = True
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtnmdiagnosa.Enabled = True
128
txtketerangan.Enabled = True
txtharga.Enabled = True
siap
End If
End If
End If
End Sub
Private Sub txtnmdiagnosa_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtnmdiagnosa.Text) = 0 Then
MsgBox "Nama diagnosa Harus Diisi", vbCritical, "Nama diagnosa"
Else
txtharga.Enabled = True
txtharga.SetFocus
End If
End If
End Sub
Private Sub txtharga_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtharga.Text) = 0 Then
MsgBox "Harga Obat Harus Diisi", vbCritical, "Harga Obat"
Else
txtketerangan.Enabled = True
txtketerangan.SetFocus
End If
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
6. Coding Dokter
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmdokter.Show
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Private Sub cmdbatal_Click()
bersih
tidaksiap
End Sub
Private Sub cmdhapus_Click()
Dim sql As String
X = MsgBox("Apakah Data Ingin Dihapus?", vbYesNo + vbExclamation, "Hapus Data")
If X = vbYes Then
sql = " SELECT * FROM transaksi " & _
" WHERE id_dokter='" & txtiddokter & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Data Dokter Ini Telah Masuk Diagnosa" + Chr(13), vbCritical + vbOKOnly, "FATAL ERROR"
Else
sql = " DELETE * FROM dokter " & _
" WHERE id_dokter='" & txtiddokter & "'"
conn.Execute (sql)
MsgBox "Data Sudah Dihapus", vbInformation, "Hapus Data"
bersih
tidaksiap
Adodc1.Refresh
End If
Else
txtnmdokter.SetFocus
End If
End Sub
Private Sub cmdrefresh_Click()
Adodc1.Refresh
End Sub
Private Sub cmdsimpan_Click()
If Len(txtiddokter.Text) = 0 Then
MsgBox "ID Dokter Belum Diisi", vbInformation, "ID Dokter"
txtiddokter.SetFocus
Exit Sub
ElseIf Len(txtnmdokter.Text) = 0 Then
MsgBox "Nama Dokter Belum Diisi", vbInformation, "Nama Dokter"
txtnmdokter.SetFocus
Exit Sub
ElseIf Len(txtalamat.Text) = 0 Then
MsgBox "Alamat Belum Diisi", vbInformation, "Alamat"
txtalamat.SetFocus
Exit Sub
ElseIf Len(txttelepon.Text) = 0 Then
MsgBox "Telepon Belum Diisi", vbInformation, "Telepon"
txttelepon.SetFocus
Exit Sub
ElseIf Len(txtspesialis.Text) = 0 Then
MsgBox "Spesialis Belum Diisi", vbInformation, "Spesialis"
txtspesialis.SetFocus
Exit Sub
End If
Dim sql As String
sql = "SELECT * FROM dokter " & _
"WHERE id_dokter='" & txtiddokter & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "ID Dokter Sudah Ada", vbCritical + vbOKOnly, "Duplikat"
129
Else
X = MsgBox("Data yang akan masuk sebagai berikut:" + Chr(13) + _
"ID Dokter : " + txtiddokter.Text + Chr(13) + _
"Nama Dokter : " + txtnmdokter.Text + Chr(13) + _
"Alamat : " + txtalamat.Text + Chr(13) + _
"Telepon : " + txttelepon.Text + Chr(13) + _
"Spesialis : " + txtspesialis.Text + Chr(13), vbYesNo, "Konfirmasi")
If X = vbYes Then
sql = "INSERT INTO dokter(id_dokter,nama_dokter,alamat,telepon,spesialis)" & _
"VALUES('" & txtiddokter & "','" & txtnmdokter & "','" & txtalamat & "'," & _
"'" & txttelepon & "','" & txtspesialis & "')"
conn.Execute (sql)
MsgBox "Data Sudah Masuk", vbInformation, "Data Masuk"
bersih
tidaksiap
Else
txtiddokter.SetFocus
End If
End If
Adodc1.Refresh
rs.Close
End Sub
Private Sub cmdubah_Click()
If Len(txtiddokter.Text) = 0 Then
MsgBox "ID Dokter Belum Diisi", vbInformation, "ID Dokter"
txtiddokter.SetFocus
Exit Sub
ElseIf Len(txtnmdokter.Text) = 0 Then
MsgBox "Nama Dokter Belum Diisi", vbInformation, "Nama Dokter"
txtnmdokter.SetFocus
Exit Sub
ElseIf Len(txtalamat.Text) = 0 Then
MsgBox "Alamat Belum Diisi", vbInformation, "Alamat"
txtalamat.SetFocus
Exit Sub
ElseIf Len(txttelepon.Text) = 0 Then
MsgBox "Telepon Belum Diisi", vbInformation, "Telepon"
txttelepon.SetFocus
Exit Sub
ElseIf Len(txtspesialis.Text) = 0 Then
MsgBox "Spesialis Belum Diisi", vbInformation, "Spesialis"
txtspesialis.SetFocus
Exit Sub
End If
X = MsgBox("Ubah Data?", vbYesNo + vbExclamation, "Ubah Data")
If X = vbYes Then
Dim sql As String
sql = " UPDATE dokter SET " & _
" nama_dokter='" & txtnmdokter.Text & "'," & _
" alamat='" & txtalamat.Text & "'," & _
" telepon='" & txttelepon.Text & "'," & _
" spesialis='" & txtspesialis.Text & "'" & _
" WHERE id_dokter='" & txtiddokter.Text & "'"
conn.Execute (sql)
MsgBox "Data Sudah Diubah", vbInformation, "Ubah Data"
bersih
tidaksiap
Adodc1.Refresh
Else
txtnmdokter.SetFocus
End If
End Sub
Private Sub Form_Activate()
bersih
tidaksiap
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Sub bersih()
txtiddokter.Text = ""
txtnmdokter.Text = ""
txtalamat.Text = ""
txttelepon.Text = ""
txtspesialis.Text = ""
txtiddokter.Enabled = True
txtiddokter.SetFocus
End Sub
Sub tidaksiap()
cmdsimpan.Enabled = False
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtnmdokter.Enabled = False
txtalamat.Enabled = False
txttelepon.Enabled = False
txtspesialis.Enabled = False
End Sub
Sub siap()
txtnmdokter.Text = ""
txtalamat.Text = ""
txttelepon.Text = ""
txtspesialis.Text = ""
txtnmdokter.SetFocus
End Sub
Private Sub optid_Click()
Dim sql As String
If optid.Value = True Then
X = InputBox("Masukkan ID Dokter Yang Dicari")
sql = " SELECT * FROM dokter " & _
" WHERE id_dokter like '%" & X & "%'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
Adodc2.RecordSource = sql
Adodc2.Refresh
130
DataGrid2.Visible = True
Else
MsgBox "Data Dokter tidak ada", vbInformation, "ID Dokter"
End If
End If
optid.Value = False
End Sub
Private Sub optnama_Click()
Dim sql As String
If optnama.Value = True Then
X = InputBox("Masukkan Nama Dokter Yang Dicari")
sql = " SELECT * FROM dokter " & _
" WHERE nama_dokter like '%" & X & "%'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
Adodc2.RecordSource = sql
Adodc2.Refresh
DataGrid2.Visible = True
Else
MsgBox "Data Dokter tidak ada", vbInformation, "Nama Dokter"
End If
End If
optnama.Value = False
End Sub
Private Sub Timer1_Timer()
txttgl.Text = Date
txtjam.Text = Time
End Sub
Private Sub txtalamat_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtalamat.Text) = 0 Then
MsgBox "Alamat Harus Diisi", vbCritical, "Alamat"
Else
txttelepon.SetFocus
End If
End If
End Sub
Private Sub txtiddokter_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtiddokter.Text) = 0 Then
MsgBox "ID Dokter Belum Diisi", vbInformation, "ID Dokter"
Else
Dim sql As String
sql = "SELECT * FROM dokter " & _
"WHERE id_dokter='" & txtiddokter & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdokter = rs.Fields("nama_dokter")
txtalamat = rs.Fields("alamat")
txttelepon = rs.Fields("telepon")
txtspesialis = rs.Fields("spesialis")
cmdsimpan.Enabled = False
cmdubah.Enabled = True
cmdhapus.Enabled = True
txtnmdokter.Enabled = True
txtalamat.Enabled = True
txttelepon.Enabled = True
txtspesialis.Enabled = True
txtiddokter.Enabled = False
txtnmdokter.SetFocus
Else
cmdsimpan.Enabled = True
cmdubah.Enabled = False
cmdhapus.Enabled = False
txtnmdokter.Enabled = True
txtalamat.Enabled = True
txttelepon.Enabled = True
txtspesialis.Enabled = True
siap
End If
End If
End If
End Sub
Private Sub txtnmdokter_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtnmdokter.Text) = 0 Then
MsgBox "Nama Dokter Harus Diisi", vbCritical, "Nama Dokter"
Else
txtalamat.SetFocus
End If
End If
End Sub
Private Sub txtspesialis_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtspesialis.Text) = 0 Then
MsgBox "Spesialis Harus Diisi", vbCritical, "Spesialis"
Else
If cmdsimpan.Enabled = True Then
cmdsimpan.SetFocus
Else
cmdubah.SetFocus
End If
End If
End If
End Sub
131
Private Sub txttelepon_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txttelepon.Text) = 0 Then
MsgBox "Telepon Harus Diisi", vbCritical, "Telepon"
Else
txtspesialis.SetFocus
End If
End If
End Sub
Sub verifikasi()
If Len(txtiddokter.Text) = 0 Then
MsgBox "ID Dokter Belum Diisi", vbInformation, "ID Dokter"
txtiddokter.SetFocus
Exit Sub
ElseIf Len(txtnmdokter.Text) = 0 Then
MsgBox "Nama Dokter Belum Diisi", vbInformation, "Nama Dokter"
txtnmdokter.SetFocus
Exit Sub
ElseIf Len(txtalamat.Text) = 0 Then
MsgBox "Alamat Belum Diisi", vbInformation, "Alamat"
txtalamat.SetFocus
Exit Sub
ElseIf Len(txttelepon.Text) = 0 Then
MsgBox "Telepon Belum Diisi", vbInformation, "Telepon"
txttelepon.SetFocus
Exit Sub
ElseIf Len(txtspesialis.Text) = 0 Then
MsgBox "Spesialis Belum Diisi", vbInformation, "Spesialis"
txtspesialis.SetFocus
Exit Sub
End If
End Sub
7. Coding Resep
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub cmdbatal_Click()
If cmdtambah.Enabled = True Then
txtnmobat.Text = ""
txtjenis.Text = ""
txtwarna.Text = ""
txthrg.Text = ""
txtjml.Text = ""
txtsub.Text = ""
txtkdobat.Enabled = True
txtkdobat.SetFocus
Else
bersih
tidaksiap
End If
End Sub
Private Sub cmdcetak_Click()
If Len(txtnoresep.Text) = 0 Then
MsgBox "Nomor Resep Masih Kosong", vbInformation, "Nomor Resep"
txtnoresep.Enabled = True
txtnoresep.SetFocus
Exit Sub
End If
sql = " SELECT * FROM resep " & _
" WHERE no_resep='" & txtnoresep & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
rptcetakresep.Sections("section4").Controls.Item("idresep").Caption = txtnoresep.Text
rptcetakresep.Sections("section4").Controls.Item("tglresep").Caption = txttglresep
rptcetakresep.Sections("section4").Controls.Item("nmpasien").Caption = txtnmpasien.Text
rptcetakresep.Sections("section4").Controls.Item("alamat").Caption = txtalamat.Text
rptcetakresep.Sections("section4").Controls.Item("idpasien").Caption = txtidpasien.Text
dtenv.cetak_resep txtnoresep
rptcetakresep.Refresh
rptcetakresep.Show
dtenv.rscetak_resep.Close
txtnoresep.Text = ""
txtidpasien.Text = ""
txtnmpasien.Text = ""
txtalamat.Text = ""
DataGrid1.Visible = False
Else
MsgBox "Nomor Resep Tidak Ada", vbInformation, "Nomor Resep"
txtnoresep.Enabled = True
txtnoresep.SetFocus
End If
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbYesNo + vbQuestion, "Keluar")
If X = vbYes Then
End
Unload Me
Else
frmresep.Show
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Private Sub cmdrefresh_Click()
Adodc1.Refresh
Adodc2.Refresh
End Sub
Private Sub cmdselesai_Click()
bersih
DataGrid1.Visible = False
cmdbatal.Enabled = True
cmdkembali.Enabled = True
cmdkeluar.Enabled = True
cmdselesai.Enabled = False
cmdtambah.Enabled = False
End Sub
132
Private Sub cmdsimpan_Click()
Dim sql As String
If Len(txtnoresep.Text) = 0 Then
MsgBox "Nomor Resep Masih Kosong", vbInformation, "Nomor Resep"
txtnoresep.SetFocus
Exit Sub
ElseIf Len(txtnmpasien.Text) = 0 Then
MsgBox "Identitas Pasien Belum Lengkap", vbInformation, "Identitas Pasien"
txtidpasien.Enabled = True
txtidpasien.SetFocus
Exit Sub
ElseIf Len(txtnmobat.Text) = 0 Then
MsgBox "Data Obat Belum Lengkap", vbInformation, "Data Obat"
txtkdobat.Enabled = True
txtkdobat.SetFocus
Exit Sub
ElseIf Len(txtjml.Text) = 0 Then
MsgBox "Jumlah Obat Belum Diisi", vbInformation, "Jumlah Obat"
txtjml.SetFocus
Exit Sub
ElseIf txtsub.Text = "0" Then
MsgBox "Sub Total Harga Masih Kosong", vbInformation, "Sub Total"
txtjml.SetFocus
Exit Sub
End If
sql = " SELECT * FROM resep " & _
" WHERE no_resep='" & txtnoresep & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Nomor Resep Sudah Terdaftar", vbCritical + vbOKOnly, "Nomor Resep"
txtnoresep.Enabled = True
txtnoresep.SetFocus
Else
txthartot.Text = txtsub.Text
sql = " INSERT INTO resep (no_resep,tanggal_resep,id_pasien,jumlah_bayar) " & _
" VALUES('" & txtnoresep & "','" & DTPicker1 & "'," & _
" '" & txtidpasien & "','" & Val(txthartot.Text) & "')"
conn.Execute (sql)
sql = " INSERT INTO detil_resep(no_resep,kd_obat,jumlah_obat,jumlah_harga) " & _
" VALUES('" & txtnoresep & "','" & txtkdobat & "'," & _
" " & Val(txtjml) & "," & Val(txtsub) & ")"
conn.Execute (sql)
txtnoresep.Enabled = False
txtidpasien.Enabled = False
txtkdobat.Enabled = True
cmdsimpan.Enabled = False
cmdtambah.Enabled = True
cmdkembali.Enabled = False
cmdkeluar.Enabled = False
cmdselesai.Enabled = True
isilagi
sql = " SELECT * FROM vwresep " & _
" WHERE no_resep='" & txtnoresep & "'"
Adodc1.RecordSource = sql
Adodc1.Refresh
DataGrid1.Visible = True
End If
End Sub
Private Sub cmdtambah_Click()
Dim sql As String
If Len(txtnmobat.Text) = 0 Then
MsgBox "Data Obat Belum Lengkap", vbInformation, "Data Obat"
txtkdobat.Enabled = True
txtkdobat.SetFocus
Exit Sub
ElseIf Len(txtjml.Text) = 0 Then
MsgBox "Jumlah Obat Belum Diisi", vbInformation, "Jumlah Obat"
txtjml.SetFocus
Exit Sub
ElseIf txtsub.Text = "0" Then
MsgBox "Sub Total Harga Masih Kosong", vbInformation, "Sub Total"
txtjml.SetFocus
Exit Sub
End If
sql = " SELECT * FROM detil_resep " & _
" WHERE no_resep='" & txtnoresep & "'" & _
" AND kd_obat='" & txtkdobat & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Obat Sudah Ada Di Resep Ini", vbInformation, "Duplikat"
isilagi
Else
a = Val(txtsub)
b = Val(txthartot)
c=a+b
txthartot = a + b
sql = " UPDATE resep SET " & _
" jumlah_bayar='" & Val(txthartot.Text) & "'" & _
" WHERE no_resep='" & txtnoresep.Text & "'"
conn.Execute (sql)
sql = " INSERT INTO detil_resep(no_resep,kd_obat,jumlah_obat,jumlah_harga) " & _
" VALUES('" & txtnoresep & "','" & txtkdobat & "'," & _
" " & Val(txtjml) & "," & Val(txtsub) & ")"
conn.Execute (sql)
isilagi
Adodc1.Refresh
Adodc2.Refresh
End If
End Sub
Private Sub Form_Activate()
bersih
tidaksiap
End Sub
Private Sub Form_Load()
133
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
DTPicker1 = Date
loadidobat
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub Timer1_Timer()
txttgl.Text = Date
txtjam.Text = Time
DTPicker1 = Date
End Sub
Private Sub txtkdobat_Click()
Dim sql As String
sql = " SELECT * FROM obat " & _
" WHERE kd_obat='" & txtkdobat & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmobat = rs.Fields("nama_obat")
txtjenis = rs.Fields("jenis_obat")
txthrg = rs.Fields("harga")
txtjml.Enabled = True
txtjml.SetFocus
Else
MsgBox "ID Obat Tidak Terdaftar!" + Chr(13) + "Silahkan Daftarkan Terlebih Dahulu", vbOKOnly + vbCritical, "ID Obat"
txtkdobat.SetFocus
End If
End Sub
Private Sub txtkdobat_Scroll()
Dim sql As String
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtkdobat.Text) = 0 Then
MsgBox "ID Obat Masih Kosong", vbInformation, "ID Obat"
Else
sql = " SELECT * FROM obat " & _
" WHERE kd_obat='" & txtkdobat & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmobat = rs.Fields("nama_obat")
txtjenis = rs.Fields("jenis_obat")
txthrg = rs.Fields("harga")
txtkdobat.Enabled = False
txtjml.Enabled = True
txtjml.SetFocus
Else
MsgBox "ID Obat Tidak Terdaftar!" + Chr(13) + "Silahkan Daftarkan Terlebih Dahulu", vbOKOnly + vbCritical, "ID Obat"
txtkdobat.SetFocus
End If
End If
End If
End Sub
Private Sub txtjml_Change()
If Len(txtjml.Text) = 0 Then
txtsub.Text = ""
Else
txtsub.Text = Val(txthrg.Text) * Val(txtjml.Text)
End If
End Sub
Private Sub txtjml_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If cmdtambah.Enabled = True Then
cmdtambah.SetFocus
Else
cmdsimpan.SetFocus
End If
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtkdobat_KeyPress(KeyAscii As Integer)
Dim sql As String
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtkdobat.Text) = 0 Then
MsgBox "ID Obat Masih Kosong", vbInformation, "ID Obat"
Else
sql = " SELECT * FROM obat " & _
" WHERE kd_obat='" & txtkdobat & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmobat = rs.Fields("nama_obat")
txtjenis = rs.Fields("jenis_obat")
txthrg = rs.Fields("harga")
txtjml.Enabled = True
txtjml.SetFocus
Else
MsgBox "ID Obat Tidak Terdaftar!" + Chr(13) + "Silahkan Daftarkan Terlebih Dahulu", vbOKOnly + vbCritical, "ID Obat"
txtkdobat.SetFocus
End If
End If
End If
End Sub
Private Sub txtidpasien_KeyPress(KeyAscii As Integer)
Dim sql As String
KeyAscii = Asc(UCase(Chr(KeyAscii)))
134
If KeyAscii = 13 Then
If Len(txtidpasien.Text) = 0 Then
MsgBox "ID Pasien Masih Kosong", vbInformation, "ID Pasien"
txtidpasien.SetFocus
Else
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien = '" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
txtidpasien.Enabled = False
txtkdobat.Enabled = True
txtkdobat.SetFocus
Else
MsgBox "ID Pasien Tidak Terdaftar!" + Chr(13) + "Silahkan Daftarkan Pasien Terlebih Dahulu", vbOKOnly + vbCritical, "ID Pasien"
txtidpasien.Text = ""
txtidpasien.SetFocus
End If
End If
End If
End Sub
Sub bersih()
txtnoresep.Text = ""
txtidpasien.Text = ""
txtnmpasien.Text = ""
txtalamat.Text = ""
txtnmobat.Text = ""
txtjenis.Text = ""
txthrg.Text = ""
txtjml.Text = ""
txtsub.Text = ""
txthartot.Text = ""
DataGrid1.Visible = False
txtnoresep.Enabled = True
txtnoresep.SetFocus
End Sub
Private Sub txtnoresep_KeyPress(KeyAscii As Integer)
Dim sql As String
If KeyAscii = 13 Then
If Len(txtnoresep.Text) = 0 Then
MsgBox "Nomor Resep Masih Kosong", vbInformation, "Nomor Resep"
txtnoresep.SetFocus
Else
sql = " SELECT * FROM resep " & _
" WHERE no_resep='" & txtnoresep.Text & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtidpasien = rs.Fields("id_pasien")
txttglresep = rs.Fields("tanggal_resep")
txtnoresep.Enabled = False
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
cmdhapus.Enabled = True
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
End If
sql = " SELECT * FROM vwresep " & _
" WHERE no_resep='" & txtnoresep & "'"
Adodc1.RecordSource = sql
Adodc1.Refresh
DataGrid1.Visible = True
Else
cmdsimpan.Enabled = True
txtidpasien.Enabled = True
txtidpasien.Text = ""
txtnmpasien.Text = ""
txtalamat.Text = ""
txtidpasien.SetFocus
End If
End If
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Sub tidaksiap()
cmdsimpan.Enabled = False
cmdtambah.Enabled = False
cmdhapus.Enabled = False
cmdselesai.Enabled = False
txtidpasien.Enabled = False
txtkdobat.Enabled = False
txtjml.Enabled = False
txtkdobat.Enabled = False
End Sub
Sub isilagi()
txtnmobat.Text = ""
txtjenis.Text = ""
txthrg.Text = ""
txtsub.Text = ""
txtjml.Text = ""
txtkdobat.Enabled = True
txtkdobat.SetFocus
End Sub
Sub loadidobat()
Dim sql As String
sql = " SELECT * FROM obat ORDER by kd_obat "
Adodc3.RecordSource = sql
Adodc3.Refresh
If Adodc3.Recordset.RecordCount > 0 Then
Adodc3.Recordset.MoveFirst
While Not Adodc3.Recordset.EOF
txtkdobat.AddItem (Adodc3.Recordset.Fields("kd_obat").Value)
Adodc3.Recordset.MoveNext
Wend
End If
End Sub
8. Coding Faktur
Dim conn As New ADODB.Connection
135
Dim rs As New ADODB.Recordset
Private Sub cmdbatal_Click()
bersih
tidaksiap
End Sub
Private Sub cmdcetak_Click()
Dim sql As String
nomorfaktur = InputBox("Masukkan Nomor faktur!", "Nomor faktur")
sql = " SELECT * FROM faktur " & _
" WHERE no_faktur='" & nomorfaktur & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnofaktur = rs.Fields("no_faktur")
txttglfaktur = rs.Fields("tanggal_faktur")
txtnoresep = rs.Fields("no_resep")
sql = " SELECT * FROM resep " & _
" WHERE no_resep='" & txtnoresep & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtidpasien = rs.Fields("id_pasien")
End If
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
End If
rptcetakfaktur.Sections("section4").Controls.Item("idresep").Caption = txtnoresep.Text
rptcetakfaktur.Sections("section4").Controls.Item("idfaktur").Caption = txtnofaktur.Text
rptcetakfaktur.Sections("section4").Controls.Item("tglfaktur").Caption = txttglfaktur
rptcetakfaktur.Sections("section4").Controls.Item("idresep").Caption = txtnoresep.Text
rptcetakfaktur.Sections("section4").Controls.Item("nmpasien").Caption = txtnmpasien.Text
rptcetakfaktur.Sections("section4").Controls.Item("alamat").Caption = txtalamat.Text
rptcetakfaktur.Sections("section4").Controls.Item("idpasien").Caption = txtidpasien.Text
dtenv.cetak_faktur txtnofaktur.Text
rptcetakfaktur.Refresh
rptcetakfaktur.Show
dtenv.rscetak_faktur.Close
txtnoresep.Text = ""
txtidpasien.Text = ""
txtnmpasien.Text = ""
txtalamat.Text = ""
DataGrid1.Visible = False
Else
MsgBox "Nomor faktur Tidak Ada", vbInformation, "Nomor Resep"
txtnoresep.Enabled = True
txtnoresep.SetFocus
End If
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar")
If X = vbYes Then
End
Unload Me
Else
frmfaktur.Show
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Private Sub cmdrefresh_Click()
Adodc1.Refresh
Adodc2.Refresh
End Sub
Private Sub cmdsimpan_Click()
Dim sql As String
sql = " INSERT INTO faktur(no_faktur,tanggal_faktur,no_resep) " & _
" VALUES('" & txtnofaktur & "','" & DTPicker1 & "'," & _
" '" & txtnoresep & "')"
conn.Execute (sql)
MsgBox "Data faktur Sudah Masuk", vbInformation, "faktur"
Adodc2.Refresh
bersih
tidaksiap
autonumber
End Sub
Private Sub Form_Activate()
bersih
tidaksiap
autonumber
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
DTPicker1 = Date
autonumber
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Sub bersih()
txtnoresep.Enabled = True
txtnoresep.SetFocus
txttglresep.Text = ""
txtnoresep.Text = ""
txtidpasien.Text = ""
txtnmpasien.Text = ""
txtalamat.Text = ""
DataGrid1.Visible = False
End Sub
Sub tidaksiap()
cmdsimpan.Enabled = False
txtnofaktur.Enabled = False
End Sub
136
Private Sub Timer1_Timer()
txttgl.Text = Date
txtjam.Text = Time
DTFicker1 = Date
End Sub
Private Sub txtnoresep_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(txtnoresep.Text) = 0 Then
MsgBox "Nomor Resep Masih Kosong", vbInformation, "Nomor Resep"
txtnoresep.SetFocus
Exit Sub
End If
Dim sql As String
sql = " SELECT * FROM faktur " & _
" WHERE no_resep='" & txtnoresep & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Nomor Resep Sudah Ada Dalam faktur", vbInformation, "Nomor Resep"
txtnoresep.Text = ""
txtnoresep.SetFocus
Exit Sub
End If
sql = " SELECT * FROM resep " & _
" WHERE no_resep='" & txtnoresep & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txttglresep = rs.Fields("tanggal_resep")
txtidpasien = rs.Fields("id_pasien")
Else
MsgBox "Nomor Resep Tidak Ada", vbInformation, "Nomor Resep"
txtnoresep.Text = ""
txtnoresep.SetFocus
Exit Sub
End If
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
End If
sql = " SELECT * FROM vwresep " & _
" WHERE no_resep='" & txtnoresep & "'"
Adodc1.RecordSource = sql
Adodc1.Refresh
DataGrid1.Visible = True
cmdsimpan.Enabled = True
cmdsimpan.SetFocus
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtnofaktur_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(txtnofaktur.Text) = 0 Then
MsgBox "Nomor faktur Masih Kosong", vbInformation, "Nomor faktur"
txtnofaktur.SetFocus
Exit Sub
End If
sql = " SELECT * FROM faktur " & _
" WHERE no_faktur='" & txtnofaktur & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Nomor faktur Sudah Ada", vbInformation, "Nomor faktur"
txtnofaktur.SetFocus
Exit Sub
Else
End If
cmdsimpan.Enabled = True
txtnofaktur.Enabled = False
cmdsimpan.SetFocus
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Sub autonumber()
Dim sql As String
Dim nilaifaktur As Double
sql = " SELECT * FROM faktur ORDER BY no_faktur"
Set rs = conn.Execute(sql)
Adodc3.RecordSource = sql
Label2.Caption = Adodc3.Recordset.RecordCount
If Adodc3.Recordset.RecordCount > 0 Then
Adodc3.Refresh
sql = "SELECT * FROM faktur ORDER BY no_faktur"
Adodc3.RecordSource = sql
Adodc3.Recordset.MoveLast
txtnofaktur.Text = DataGrid3.Columns(0).Text
txtnomorfaktur.Text = Right(txtnofaktur, 3)
nilaifaktur = Val(txtnomorfaktur.Text) + 1
txtnilaifaktur.Text = nilaifaktur
If Len(txtnilaifaktur.Text) < 2 Then
txtnofaktur.Text = "FK" & "00" & nilaifaktur
Exit Sub
End If
If Len(txtnilaifaktur.Text) < 3 Then
txtnofaktur.Text = "FK" & "0" & nilaifaktur
Exit Sub
End If
Else
txtnofaktur = "FK001"
Exit Sub
End If
137
End Sub
9. Coding Transaksi
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub cmdbatal_Click()
bersih
tidaksiap
End Sub
Private Sub cmdcetak_Click()
Dim sql As String
nomordiag = InputBox("Masukkan Nomor Penanganan!", "Nomor Penanganan")
sql = " SELECT * FROM transaksi " & _
" WHERE no_diagnosa='" & nomordiag & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnodiagnosa = rs.Fields("no_diagnosa")
txtiddokter = rs.Fields("id_dokter")
txttgldiag = rs.Fields("tanggal_diagnosa")
txtidpasien = rs.Fields("id_pasien")
sql = " SELECT * FROM dokter " & _
" WHERE id_dokter='" & txtiddokter & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdokter = rs.Fields("nama_dokter")
txtspesialis = rs.Fields("spesialis")
End If
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
End If
rptcetaktransaksi.Sections("section4").Controls.Item("idtransaksi").Caption = txtnodiagnosa.Text
rptcetaktransaksi.Sections("section4").Controls.Item("tanggal").Caption = txttgldiag.Text
rptcetaktransaksi.Sections("section4").Controls.Item("iddokter").Caption = txtiddokter.Text
rptcetaktransaksi.Sections("section4").Controls.Item("nmpasien").Caption = txtnmpasien.Text
rptcetaktransaksi.Sections("section4").Controls.Item("alamat").Caption = txtalamat.Text
rptcetaktransaksi.Sections("section4").Controls.Item("idpasien").Caption = txtidpasien.Text
rptcetaktransaksi.Sections("section4").Controls.Item("nmdokter").Caption = txtnmdokter.Text
rptcetaktransaksi.Sections("section4").Controls.Item("spesialis").Caption = txtspesialis.Text
dtenv.cetak_transaksi txtnodiagnosa.Text
rptcetaktransaksi.Refresh
rptcetaktransaksi.Show
dtenv.rscetak_transaksi.Close
txtnodiagnosa.Text = ""
txtiddokter.Text = ""
txtidpasien.Text = ""
txtnmpasien.Text = ""
txtalamat.Text = ""
txtnmdokter.Text = ""
txtspesialis.Text = ""
DataGrid1.Visible = False
Else
MsgBox "Nomor Penanganan Tidak Ada", vbInformation, "Nomor Penanganan"
txtnodiagnosa.Enabled = True
txtnodiagnosa.SetFocus
End If
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar")
If X = vbYes Then
End
Unload Me
Else
frmtransaksi.Show
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Private Sub cmdrefresh_Click()
Adodc1.Refresh
Adodc2.Refresh
End Sub
Private Sub cmdselesai_Click()
bersih
DataGrid1.Visible = False
cmdbatal.Enabled = True
cmdkembali.Enabled = True
cmdkeluar.Enabled = True
cmdselesai.Enabled = False
cmdtambah.Enabled = False
End Sub
Private Sub cmdsimpan_Click()
If Len(txtnodiagnosa.Text) = 0 Then
MsgBox "ID Diagnosa Masih Kosong", vbInformation, "ID Diagnosa"
txtnodiagnosa.SetFocus
Exit Sub
ElseIf Len(txtnmpasien.Text) = 0 Then
MsgBox "Identitas Pasien Belum Lengkap", vbInformation, "Identitas Pasien"
txtidpasien.Enabled = True
txtidpasien.SetFocus
Exit Sub
ElseIf Len(txtnmdokter.Text) = 0 Then
MsgBox "Data Dokter Belum Lengkap", vbInformation, "Data Dokter"
txtiddokter.Enabled = True
txtiddokter.SetFocus
Exit Sub
ElseIf Len(txtnmdiagnosa.Text) = 0 Then
MsgBox "Data Diagnosa Belum Diisi", vbInformation, "Data Diagnosa"
txtiddiagnosa.Enabled = True
txtiddiagnosa.SetFocus
Exit Sub
End If
txttotal.Text = txtharga.Text
Dim sql As String
sql = " INSERT INTO transaksi(no_diagnosa,tanggal_diagnosa,id_dokter,id_pasien,jumlah_bayar) " & _
" VALUES('" & txtnodiagnosa & "','" & DTPicker1 & "','" & txtiddokter & "','" & txtidpasien & "','" & Val(txttotal.Text) & "')"
138
conn.Execute (sql)
sql = " INSERT INTO detil_diagnosa(no_diagnosa,id_diagnosa,jumlah_harga)" & _
" VALUES('" & txtnodiagnosa & "','" & txtiddiagnosa & "'," & Val(txtharga.Text) & ")"
conn.Execute (sql)
cmdsimpan.Enabled = False
cmdtambah.Enabled = True
cmdselesai.Enabled = True
cmdkembali.Enabled = False
cmdkeluar.Enabled = False
MsgBox "Data Diagnosa Sudah Masuk", vbInformation, "Diagnosa"
Adodc1.Refresh
sql = " SELECT * FROM vwdiagnosa " & _
" WHERE id_diagnosa ='" & txtiddiagnosa & "'"
Adodc2.RecordSource = sql
Adodc2.Refresh
DataGrid1.Visible = True
isilagi
End Sub
Private Sub cmdtambah_Click()
Dim sql As String
If Len(txtnodiagnosa.Text) = 0 Then
MsgBox "ID Diagnosa Masih Kosong", vbInformation, "ID Diagnosa"
txtnodiagnosa.SetFocus
Exit Sub
ElseIf Len(txtnmpasien.Text) = 0 Then
MsgBox "Identitas Pasien Belum Lengkap", vbInformation, "Identitas Pasien"
txtidpasien.Enabled = True
txtidpasien.SetFocus
Exit Sub
ElseIf Len(txtnmdokter.Text) = 0 Then
MsgBox "Data Dokter Belum Lengkap", vbInformation, "Data Dokter"
txtiddokter.Enabled = True
txtiddokter.SetFocus
Exit Sub
ElseIf Len(txtnmdiagnosa.Text) = 0 Then
MsgBox "Data Diagnosa Belum Diisi", vbInformation, "Data Diagnosa"
txtiddiagnosa.Enabled = True
txtiddiagnosa.SetFocus
Exit Sub
End If
sql = " SELECT * FROM detil_diagnosa" & _
" WHERE no_diagnosa='" & txtnodiagnosa & "'" & _
" AND id_diagnosa='" & txtiddiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Diagnosa Sudah Ada Di Transaksi Ini", vbInformation, "Duplikat"
isilagi
Exit Sub
Else
a = Val(txtharga)
b = Val(txttotal)
c=a+b
txttotal = a + b
sql = " INSERT INTO detil_diagnosa(no_diagnosa,id_diagnosa,jumlah_harga)" & _
" VALUES('" & txtnodiagnosa & "','" & txtiddiagnosa & "'," & Val(txtharga.Text) & ")"
conn.Execute (sql)
sql = " UPDATE transaksi SET " & _
" jumlah_bayar='" & Val(txttotal.Text) & "'" & _
" WHERE no_diagnosa='" & txtnodiagnosa.Text & "'"
conn.Execute (sql)
sql = " SELECT * FROM vwdiagnosa " & _
" WHERE no_diagnosa ='" & txtnodiagnosa & "'"
Adodc2.RecordSource = sql
Adodc2.Refresh
isilagi
Adodc1.Refresh
End If
End Sub
Private Sub Form_Activate()
bersih
tidaksiap
loadiddiagnosa
loadiddokter
loadidpasien
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
DTPicker1 = Date
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Sub bersih()
txtnodiagnosa.Enabled = True
txtiddokter.Text = ""
txtnmdokter.Text = ""
txtspesialis.Text = ""
txtnodiagnosa.SetFocus
txtnodiagnosa.Text = ""
txtidpasien.Text = ""
txtnmpasien.Text = ""
txtalamat.Text = ""
txtiddiagnosa.Text = ""
txtnmdiagnosa.Text = ""
txtharga.Text = ""
txtketerangan.Text = ""
txttotal.Text = ""
DataGrid1.Visible = False
End Sub
Sub tidaksiap()
cmdsimpan.Enabled = False
cmdtambah.Enabled = False
cmdselesai.Enabled = False
End Sub
Private Sub Timer1_Timer()
txttgl.Text = Date
139
txtjam.Text = Time
DTPicker1 = Date
End Sub
Private Sub txtiddokter_Click()
sql = " SELECT * FROM dokter " & _
" WHERE id_dokter='" & txtiddokter & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdokter = rs.Fields("nama_dokter")
txtspesialis = rs.Fields("spesialis")
End If
End Sub
Private Sub txtidpasien_Click()
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
End If
End Sub
Private Sub txtidpasien_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(txtidpasien.Text) = 0 Then
MsgBox "Id Pasien Masih Kosong", vbInformation, "ID Pasien"
txtidpasien.SetFocus
Exit Sub
End If
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
txtiddokter.Enabled = True
txtiddokter.SetFocus
Else
MsgBox "ID Pasien Tidak Ada", vbInformation, "ID Pasien"
txtidpasien.Text = ""
txtidpasien.SetFocus
Exit Sub
End If
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtnodiagnosa_KeyPress(KeyAscii As Integer)
Dim sql As String
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtnodiagnosa.Text) = 0 Then
MsgBox "Nomor Diagnosa Masih Kosong", vbInformation, "Nomor Diagnosa"
txtnodiagnosa.SetFocus
Exit Sub
End If
sql = " SELECT * FROM transaksi " & _
" WHERE no_diagnosa='" & txtnodiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "Nomor Diagnosa Sudah Ada", vbInformation, "Nomor Diagnosa"
txtnodiagnosa.Text = ""
txtnodiagnosa.SetFocus
Exit Sub
End If
sql = " SELECT * FROM transaksi " & _
" WHERE no_diagnosa='" & txtnodiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txttglpeng = rs.Fields("tanggal_diagnosa")
txtidpasien = rs.Fields("id_pasien")
txtiddokter = rs.Fields("id_dokter")
sql = " SELECT * FROM pasien " & _
" WHERE id_pasien='" & txtidpasien & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmpasien = rs.Fields("nama_pasien")
txtalamat = rs.Fields("alamat")
End If
sql = " SELECT * FROM dokter " & _
" WHERE id_dokter='" & txtiddokter & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdokter = rs.Fields("nama_dokter")
txtspesialis = rs.Fields("spesialis")
End If
sql = " SELECT * FROM vwdiagnosa " & _
" WHERE no_diagnosa='" & txtnodiagnosa & "'"
Adodc2.RecordSource = sql
Adodc2.Refresh
DataGrid1.Visible = True
Else
txtidpasien.Enabled = True
txtidpasien.SetFocus
End If
End If
End Sub
Private Sub txtiddokter_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(txtiddokter.Text) = 0 Then
MsgBox "Id Dokter Masih Kosong", vbInformation, "ID Dokter"
txtiddokter.SetFocus
Exit Sub
End If
140
sql = " SELECT * FROM dokter " & _
" WHERE id_dokter='" & txtiddokter & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdokter = rs.Fields("nama_dokter")
txtspesialis = rs.Fields("spesialis")
txtiddiagnosa.Enabled = True
txtiddiagnosa.SetFocus
Else
MsgBox "ID Dokter Tidak Ada", vbInformation, "ID Dokter"
txtiddokter.Text = ""
txtiddokter.SetFocus
Exit Sub
End If
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtiddiagnosa_Click()
sql = " SELECT * FROM diagnosa " & _
" WHERE id_diagnosa='" & txtiddiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdiagnosa = rs.Fields("nama_diagnosa")
txtketerangan = rs.Fields("keterangan")
txtharga = rs.Fields("harga")
End If
End Sub
Private Sub txtketerangan_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(txtketerangan.Text) = 0 Then
MsgBox "Keterangan Masih Kosong", vbInformation, "Keterangan"
txtketerangan.SetFocus
Exit Sub
Else
txtketerangan.Enabled = True
txtketerangan.SetFocus
End If
End If
End Sub
Private Sub txtiddiagnosa_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(txtiddiagnosa.Text) = 0 Then
MsgBox "Id Diagnosa Masih Kosong", vbInformation, "ID Diagnosa"
txtiddiagnosa.SetFocus
Exit Sub
End If
sql = " SELECT * FROM diagnosa " & _
" WHERE id_diagnosa='" & txtiddiagnosa & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
txtnmdiagnosa = rs.Fields("nama_diagnosa")
txtketerangan = rs.Fields("keterangan")
txtharga = rs.Fields("harga")
If cmdtambah.Enabled = True Then
cmdtambah.SetFocus
Else
cmdsimpan.Enabled = True
cmdsimpan.SetFocus
End If
Else
MsgBox "ID Diagnosa Tidak Ada", vbInformation, "ID Diagnosa"
txtiddiagnosa.Text = ""
txtiddiagnosa.SetFocus
Exit Sub
End If
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Sub isilagi()
txtiddiagnosa.Text = ""
txtnmdiagnosa.Text = ""
txtharga.Text = ""
txtketerangan.Text = ""
txtiddiagnosa.Enabled = True
txtiddiagnosa.SetFocus
End Sub
Sub loadiddiagnosa()
Dim sql As String
sql = " SELECT * FROM diagnosa ORDER by id_diagnosa"
Adodc3.RecordSource = sql
Adodc3.Refresh
If Adodc3.Recordset.RecordCount > 0 Then
Adodc3.Recordset.MoveFirst
While Not Adodc3.Recordset.EOF
txtiddiagnosa.AddItem (Adodc3.Recordset.Fields("id_diagnosa").Value)
Adodc3.Recordset.MoveNext
Wend
End If
End Sub
Sub loadiddokter()
Dim sql As String
sql = " SELECT * FROM dokter ORDER by id_dokter "
Adodc4.RecordSource = sql
Adodc4.Refresh
If Adodc4.Recordset.RecordCount > 0 Then
Adodc4.Recordset.MoveFirst
While Not Adodc4.Recordset.EOF
txtiddokter.AddItem (Adodc4.Recordset.Fields("id_dokter").Value)
Adodc4.Recordset.MoveNext
Wend
End If
End Sub
141
Sub loadidpasien()
Dim sql As String
sql = " SELECT * FROM pasien ORDER by id_pasien "
Adodc5.RecordSource = sql
Adodc5.Refresh
If Adodc5.Recordset.RecordCount > 0 Then
Adodc5.Recordset.MoveFirst
While Not Adodc5.Recordset.EOF
txtidpasien.AddItem (Adodc5.Recordset.Fields("id_pasien").Value)
Adodc5.Recordset.MoveNext
Wend
End If
End Sub
10. Coding Laporan Resep
Private Sub cmdcetak_Click()
rptcetaklapresep.Sections("section4").Controls.Item("lblawal").Caption = dtawal.Value
rptcetaklapresep.Sections("section4").Controls.Item("lblakhir").Caption = dtakhir.Value
dtenv.cetak_lap_resep dtawal.Value, dtakhir.Value
rptcetaklapresep.Refresh
rptcetaklapresep.Show
dtenv.rscetak_lap_resep.Close
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmlapresep.Visible = True
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Visible = True
Unload Me
End Sub
Private Sub Form_Load()
Me.Top = 2000
Me.Left = 2000
Me.Width = 11000
Me.Height = 7500
dtawal.Value = Date
dtakhir.Value = Date
End Sub
11. Coding Laporan Faktur
Private Sub cmdcetak_Click()
rptcetaklapfaktur.Sections("section4").Controls.Item("lblawal").Caption = dtawal.Value
rptcetaklapfaktur.Sections("section4").Controls.Item("lblakhir").Caption = dtakhir.Value
dtenv.cetak_lap_faktur dtawal.Value, dtakhir.Value
rptcetaklapfaktur.Refresh
rptcetaklapfaktur.Show
dtenv.rscetak_lap_faktur.Close
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmlapfaktur.Visible = True
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Visible = True
Unload Me
End Sub
Private Sub Form_Load()
Me.Top = 2000
Me.Left = 2000
Me.Width = 11000
Me.Height = 7500
dtawal.Value = Date
dtakhir.Value = Date
End Sub
12. Coding Laporan Transaksi
Private Sub cmdcetak_Click()
rptcetaklaptransaksi.Sections("section4").Controls.Item("lblawal").Caption = dtawal.Value
rptcetaklaptransaksi.Sections("section4").Controls.Item("lblakhir").Caption = dtakhir.Value
dtenv.cetak_lap_transaksi dtawal.Value, dtakhir.Value
rptcetaklaptransaksi.Refresh
rptcetaklaptransaksi.Show
dtenv.rscetak_lap_transaksi.Close
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar?")
If X = vbYes Then
End
Unload Me
Else
frmlaptransaksi.Visible = True
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Visible = True
Unload Me
End Sub
Private Sub Form_Load()
Me.Top = 2000
Me.Left = 2000
Me.Width = 11000
Me.Height = 7500
dtawal.Value = Date
dtakhir.Value = Date
End Sub
13. Coding Ganti Password
Dim conn As New ADODB.Connection
142
Dim rs As New ADODB.Recordset
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbYesNo + vbExclamation, "Keluar")
If X = vbYes Then
End
Unload Me
Else
txtid.SetFocus
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Private Sub cmdubah_Click()
Dim sql As String
sql = " SELECT * FROM user " & _
" WHERE userid='" & Trim(txtid.Text) & "'"
Set rs = conn.Execute(sql)
If rs.EOF Then
MsgBox "User ID Tidak Terdaftar", vbInformation, "User ID"
txtid.SetFocus
Else
If rs.Fields("password") <> Trim(txtpasswordlama.Text) Then
MsgBox "Password anda salah", vbOKOnly + vbExclamation, "Salah password"
txtpasswordlama.SetFocus
txtpasswordlama.Text = ""
Else
If txtpassword.Text <> txtkonfirmasi.Text Then
MsgBox "Password Baru Anda Tidak Sesuai", vbInformation, "Password"
txtpassword.SetFocus
Else
sql = " UPDATE user SET " & _
" password='" & txtpassword.Text & "'" & _
" WHERE userid='" & txtid.Text & "'"
conn.Execute (sql)
MsgBox "Password Anda Sukses Diubah", vbInformation + vbOKOnly, "Password"
txtid.Text = ""
txtpasswordlama.Text = ""
txtpassword.Text = ""
txtkonfirmasi.Text = ""
txtid.SetFocus
End If
End If
End If
End Sub
Private Sub Form_Activate()
txtid.Text = ""
txtpasswordlama.Text = ""
txtpassword.Text = ""
txtkonfirmasi = ""
txtid.SetFocus
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "tugasakhir"
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub txtid_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtid.Text) = 0 Then
MsgBox "User ID Masih Kosong", vbInformation, "User ID"
Else
txtpasswordlama.SetFocus
End If
End If
End Sub
Private Sub txtkonfirmasi_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtkonfirmasi.Text) = 0 Then
MsgBox "Password Tidak Boleh Kosong", vbInformation, "Password"
Else
cmdubah.SetFocus
End If
End If
End Sub
Private Sub txtpassword_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtpassword.Text) = 0 Then
MsgBox "Password Tidak Boleh Kosong", vbInformation, "Password"
Else
txtkonfirmasi.SetFocus
End If
End If
End Sub
Private Sub txtpasswordlama_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtpasswordlama.Text) = 0 Then
MsgBox "Password Masih Kosong", vbInformation, "Password"
Else
txtpassword.SetFocus
End If
End If
End Sub
14. Coding Tambah User
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub cmdbatal_Click()
bersih
End Sub
Private Sub cmdhapus_Click()
Dim sql As String
143
If Len(txtid.Text) = 0 Then
MsgBox "User ID Masih Kosong", vbCritical, "User ID"
txtid.SetFocus
Exit Sub
End If
sql = " SELECT * FROM user " & _
" WHERE userid='" & txtid & "'"
Set rs = conn.Execute(sql)
If rs.EOF Then
MsgBox "User ID " + txtid.Text + " Tidak Terdaftar", vbInformation, "User ID"
txtid.Text = ""
txtid.SetFocus
Exit Sub
End If
X = MsgBox("Yakin Hapus User ID?", vbQuestion + vbYesNo, "Hapus User ID")
If X = vbYes Then
sql = " DELETE * FROM user " & _
" WHERE userid='" & txtid & "'"
conn.Execute (sql)
MsgBox "User ID Sudah Dihapus", vbInformation, "User ID"
bersih
Else
bersih
End If
End Sub
Private Sub cmdkeluar_Click()
X = MsgBox("Yakin Ingin Keluar?", vbQuestion + vbYesNo, "Keluar")
If X = vbYes Then
End
Unload Me
Else
txtid.SetFocus
End If
End Sub
Private Sub cmdkembali_Click()
frmutama.Show
Unload Me
End Sub
Sub bersih()
txtid.Text = ""
txtpassword.Text = ""
txtkonfirmasi.Text = ""
chkdokter.Value = 0
chkobat.Value = 0
chkpasien.Value = 0
chkdiagnosa.Value = 0
chkresep.Value = 0
chkfaktur.Value = 0
chktransaksi.Value = 0
chkdafpasien.Value = 0
chkdafdokter.Value = 0
chkdafobat.Value = 0
chkdafdiagnosa.Value = 0
chklapresep.Value = 0
chklapfaktur.Value = 0
chklaptransaksi.Value = 0
chktambah.Value = 0
txtid.SetFocus
End Sub
Private Sub cmdsimpan_Click()
Dim sql As String
If Len(txtid.Text) = 0 Then
MsgBox "User ID Masih Kosong", vbCritical, "User ID"
txtid.SetFocus
Exit Sub
ElseIf Len(txtpassword.Text) = 0 Then
MsgBox "Password Masih Kosong", vbCritical, "Password"
txtpassword.SetFocus
Exit Sub
ElseIf Len(txtkonfirmasi.Text) = 0 Then
MsgBox "Konfirmasi Password Masih Kosong", vbCritical, "Konfirmasi Password"
txtkonfirmasi.SetFocus
Exit Sub
End If
sql = " SELECT * FROM user " & _
" WHERE userid='" & txtid & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "User ID " + txtid.Text + " Sudah Terdaftar", vbInformation, "User ID"
txtid.Text = ""
txtid.SetFocus
Exit Sub
End If
If txtpassword.Text <> txtkonfirmasi.Text Then
MsgBox "Password Anda Tidak Sesuai", vbInformation, "Password"
txtpassword.SetFocus
txtkonfirmasi.Text = ""
txtpassword.Text = ""
Exit Sub
End If
sql = " INSERT INTO user (userid,password,mnpasien,mndokter,mnobat,mndiagnosa,mnresep,mnfaktur,mntransaksi," & _
" mndafpasien,mndafdokter,mndafobat,mndafdiagnosa,mnlapresep,mnlapfaktur,mnlaptransaksi,mntambah)" & _
" VALUES('" & txtid & "','" & txtpassword & "','" & chkpasien.Value & "','" & chkdokter.Value & "'," & _
" '" & chkobat.Value & "','" & chkdiagnosa.Value & "','" & chkresep.Value & "'," & _
" '" & chkfaktur.Value & "','" & chktransaksi.Value & "','" & chkdafpasien.Value & "'," & _
" '" & chkdafdokter.Value & "','" & chkdafobat.Value & "','" & chkdafdiagnosa.Value & "'," & _
" '" & chklapresep.Value & "','" & chklapfaktur.Value & "','" & chklaptransaksi.Value & "','" & chktambah.Value & "')"
conn.Execute (sql)
MsgBox "User ID Baru Sukses Dibuat", vbInformation, "User ID"
bersih
End Sub
Private Sub Form_Activate()
bersih
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
144
conn.Open "tugasakhir"
End Sub
Private Sub Form_Unload(Cancel As Integer)
conn.Close
Set conn = Nothing
End Sub
Private Sub txtid_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtid.Text) = 0 Then
MsgBox "User ID Masih Kosong", vbCritical, "User ID"
txtid.SetFocus
Else
txtpassword.SetFocus
End If
End If
End Sub
Private Sub txtkonfirmasi_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtkonfirmasi.Text) = 0 Then
MsgBox "Konfirmasi Password Masih Kosong", vbCritical, "Konfirmasi Password"
txtkonfirmasi.SetFocus
Else
cmdsimpan.SetFocus
End If
End If
End Sub
Private Sub txtpassword_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
If Len(txtpassword.Text) = 0 Then
MsgBox "Password Masih Kosong", vbCritical, "Password"
txtpassword.SetFocus
Else
txtkonfirmasi.SetFocus
End If
End If
End Sub
145
LAMPIRAN I
WAWANCARA I
Responden
: dr. Dean Hadi Mulya.
Jabatan
: Kepala Klinik
Tanggal Wawancara : 07 November 2006
Hal
: Profil Klinik.
Tujuan dari wawancara ini peneliti ingin mengetahui latar belakang berdirinya
Klinik Dokter Keluarga Suradita, visi dan misi Klinik dan struktur organisasi.
Pertanyaan Wawancara I
1. Bagaimanakah dan kapankah berdirinya Klinik Dokter Keluarga Suradita ?
2. Apa yang melatar belakangi berdirinya Klinik Dokter Keluarga Suradita ?
3. Bagaimanakah profile Klinik Dokter Keluarga Suradita ?
Hasil Wawancara I
146
Dari hasil wawancara yang diajukan, peneliti dapat mengetahui tentang
sejarah berdirinya, latar belakang, dan profil Klinik. Selain itu peneliti dapat
mengetahui visi dan misi, struktur organisasi pada Klinik Dokter Keluarga Suradita.
Sebagaimana diuraikan pada Bab IV Analisa dan Perancangan Sistem.
WAWANCARA II
Responden
: dr. Ade, Dita, Siti.
Jabatan
: Kepala Bagian Medis, Bagian Pendaftaran, Bagian Kasir.
Tanggal Wawancara : 04 Januari 2007.
Hal
: Sistem pelayanan kesehatan yang berjalan pada Klinik.
Tujuan dari wawancara ini peneliti ingin mengetahui alur proses pelayanan
kesehatan yang berjalan pada klinik, masalah-masalah yang dihadapi pada sistem
pelayanan kesehatan.
Pertanyaan Wawancara II
1. Bagaimanakah alur proses sistem pelayanan kesehatan pada klinik dokter keluarga
suradita ?
2. Adakah masalah-masalah yang dihadapi pada sistem pelayanan kesehatan yang
berjalan ?
3. Bagaimanakah ruang lingkup sistem pelayanan kesehatan yang berjalan ?
4. Bagaimana teknis pendaftaran pasien lama dan baru ?
Hasil Wawancara II
Dari hasil wawancara ini, peneliti dapat mengetahui alur proses sistem
pelayanan kesehatan yang berjalan pada Klinik Dokter Keluarga Suradita. Peneliti
mengetahui masalah-masalah yang dihadapi sistem pelayanan kesehatan yang
147
berjalan dan ruang lingkup sistem pelayanan kesehatan yang berjalan pada klinik.
Dengan hasil wawancara tersebut peneliti mendapatkan data yang dibutuhkan untuk
pengembangan sistem pelayanan kesehatan. Adapun data-data yang diperoleh untuk
pengembangan sistem secara tersirat dapat diketahui dari pembahasan Bab IV Analisa
dan Perancangan Sistem.
148
Download