pengembangan sistem informasi pelayanan …
TRANSCRIPT
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 Ketua Program Studi Sistem Informasi UIN Syarif Hidayatullah Jakarta Dr. Syopiansyah Jaya Putra, M.Sis M. Qomarul Huda, M.Kom NIP. 150 317 956 NIP. 150326908
58
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN
Jakarta, 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............................................................................................ xvi
BAB I 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 Sistematika Penulisan................................................... 8
BAB II 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.2.1 Sejarah Klinik................................................. 54
4.2.2 Visi , Misi dan Tujuan Klinik......................... 55
4.2.3 Struktur Organisasi dan Fungsi...................... 56
4.3 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 Implementasi............................................................... 111
4.6.1 Spesifikasi Komputer...................................... 111
4.6.2 Konversi Sistem.............................................. 112
4.7 Pemeliharaan Sistem................................................... 113
BAB V 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 Keterangan
Proses
Menunjukan kegiatan proses operasi dari
sistem.
Entitas luar
Entitas yang memberi dan menerima data.
Data Storage
Tempat penyimpanan dan pengambilan file
data.
Arus Data
Menunjukan arah/arus dari data yang diproses.
67
Simbol-simbol Bagan Alir (Flow Map) Jogiyanto, HM
Simbol Arti Keterangan
Start Off
Awal/akhir dari sebuah proses.
Manual Operation
Operasi sistem secara manual.
Proses Komputerisasi
Proses secara komputerisasi.
Decision
Keputusan.
Arsip
Dokumen dalam bentuk file-file.
Dokumen
Dokumen dalam komputer.
Arus Data
Aliran data.
Data Storage
Simpanan dalan database.
68
Simbol-simbol ERD (Entity Relationship Diagram) Fathansyah, Ir
Simbol Arti Keterangan
Entitas
Komponen yang berupa file-file data untuk
diproses oleh sistem.
Relasi
Penghubung antar entitas satu dengan entitas lain.
Atribut
Penjelasan secara detail tentang entitas.
Link
Penjelasan tentang hubungan.
One-to-one
Relasi satu ke satu
One-to-many
Relasi satu ke banyak
Many-to-many
Relasi banyak ke banyak
1 1
1 m
m m
69
DAFTAR TABEL
Halaman Tabel 4.1 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 SISTEM YANG BARU
1
2
3
- Tidak dapat mendata pasien secara
sistematis, tidak dapat mencetak
laporan-laporan baik pembayaran
yang ada, data diagnosa pasien
maupun pasien yang datang ke klinik.
- Proses pelayanan terhadap 1 pasien
memakan waktu 10 s.d 15 menit
Hanya bisa melayani 25 s.d 50
pasien / hari
- Menghasilkan informasi
yang diinginkan dengan
cepat dan mudah.
- Hanya membutuhkan
waktu kurang dari 5 menit
- Bisa melayani pasien
sebanyak 50 s.d 150 / hari
Dari 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 dalam proses Pendataan
pasien, pengambilan dan 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 diperusahaan-
perusahaan 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 pemikiran-
pemikiran 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 kesalahan-
kesalahan 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 hal-
hal 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). Kesempatan-
kesempatan 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 (DFD) dalam
menggambarkan atau membuat model sistem
DFD mempunyai empat komponen yaitu:
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).
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 :
Atau
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 [ ]
N { } M Iterasi (elemen data di dalam kurung) beriterasi
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 perubahan-
perubahan 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 oleh bagian pendaftaran tentang
identitasnya, agar petugas bagian pendaftaran 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)
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):
id_pas iennam a_pas ien
a lam a ttangga l_ lah ir
jenke lte lepon
id _dok te rnam a _dok te r
a lam a tte lepon
spes ia lisno _ resep
tangga l_ resepjum la_ bayar
id_pas ienid_ d iagnosano _d iagnosajum lah_harga
kd_ oba tnam a_oba t
ha rgajen is_ oba tno _ resepkd_ oba t
jum lah _oba tjum lah_harga
Id_d iagnosanam a _d iagnosa
ha rgake te rangan
no _d iagnosatangga l_d iagnosa
jum lah_ bayarid_pas ienid _dok te rno _ fak tu r
tangga l_ fak tu rno _ resep
155
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.
* id_pasiennama_pasien
alamattanggal_lahir
jenkelTelepon
* id_dokternama_dokter
alamattelepon
spesialis
* no_reseptanggal_resepjumla_bayar
id_pasien
id_diagnosano_diagnosajumlah_harga
* kd_obatnama_obat
hargajenis_obat
no_resepkd_obat
jumlah_obatjumlah_harga
* id_diagnosanama_diagnosa
hargaketerangan
* no_diagnosatanggal_diagnosa
jumlah_bayarid_pasienid_dokter
* no_fakturtanggal_faktur
no_resep
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
Gambar 4.15 : ERD (Entity Relationship Diagram) yang sudah dinormalisasikan
pas ien M enerim a transaks i D iberikan dokte r
M endapa tkan
resep
M eng is i
oba tde ta il_ resep
* id _pas ie n
jenke l
tangga l_ lah ir
a lam at
nam aid_dokte r
tg l_d iagnosa
no_ d iagnosa
id_pas ien
ke te rangan
te lepon* id _dokte r
spes ia lisnam a _dok te r
a lam at
tg l_ resep
id_ pas ien
jum lah_bayar
jum lah _harga
jum lah _oba t
kd_oba t
no_ resep
jen is_oba t
harga
nam a_ oba t
* kd_oba t
M endapa tkanfak tu r
tangga l_ fak tu r
N o_ resep
no_ fak tu r
te lepon
*no_resep
de til_d iagnosa
jum lah _harga
no _d iagnosa
id_d iagnosa
d iagnosa
ke te rangan
harga
nam a_ d iagnosa
*id_d iagnosa
M e lakukan
Is i
I M M I
I
MM I
I
MIM I
MM eng is iM I
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 : Pasien
Isi : Data Pasien
Primary Key : id_pasien
Foreign Key :
No Field Name Type Field Size Keterangan 1 id_pasien* Text 5 Identitas Pasien 2 nama_pasien Text 50 Nama Pasien 3 alamat Text 50 Alamat Pasien 4 tanggal_lahir Date/time Short Date Tanggal Lahir 5 Jenkel Text 50 Jenis Kelamin 6 Telepon Text 50 Telepon
Tabel 4.1 : Basis Data Pasien
b. Nama File : Transaksi
Isi : Data Transaksi
Primary Key : no_diagnosa
Foreign Key : id_pasien, id_dokter
No Field Name Type Field Size Keterangan 1 no_diagnosa* Text 5 Nomor Diagnosa 2 tanggal_diagnosa Text 6 Tanggal
Diagnosa 3 jumlah_bayar Number Double Jumlah Bayar 4 id_pasien** Text 5 Identitas pasien 5 id_dokter** Text 5 Identitas Dokter
Tabel 4.2 Basis Data transaksi
90
c. Nama File : dokter
Isi : Data Dokter
Primary Key : id_dokter
Foreign Key : -
No Field Name Type Field Size Keterangan 1 Id_dokter* Text 5 Identitas Dokter 2 nama_dokter Text 50 Nama Dokter 3 alamat Text 50 Alamat Dokter 4 telepon Text 50 Telepon Dokter 5 sepesialis Text 50 Spesalis
Tabel 4.3 : Basis Data Dokter
d. Nama File : Resep
Isi : Data Resep
Primary Key : no_resep
Foreign Key : id_pasien
No Field Name Type Field Size Keterangan 1 no_resep* Text 5 Nomor Resep 2 tanggal_resep Date/time Short Date Tanggal Resep 3 jumlah_bayar Number Double Jumlah Bayar 4 id_pasien** Text 5 Identitas Pasien
Tabel 4.4 : Basis Data Resep
91
e. Nama File : Faktur
Isi : Data Faktur
Primary Key : no_faktur
Foreign Key : no_resep
No Field Name Type Field Size Keterangan 1 No_faktur* Text 5 Nomor Faktur 2 tanggal_faktur Date / Time Short Date Tanggal Faktur 3 No_resep** Text 5 Nomor Resep
Tabel 4.5 : Basis Data Faktur
f. Nama File : detil_diagnosa
Isi : Data dari Diagnosa
Primary Key : -
Foreign Key : id_diagnosa, no_diagnosa
No
Field Name Type Field Size Keterangan
1 id_diagnosa** Text 5 Identitas Diagnosa 2 no_diagnosa** Text 5 Nomor Diagnosa 3 jumlah_harga Number Double Jumlah Diagnosa
Tabel 4.6 : Basis detil_diagnosa
92
g. Nama File : Diagnosa
Isi : Data Diagnosa
Primary Key : id_diagnosa
Foreign Key : -
No Field Name Type Field Size Keterangan 1 Id_diagnosa* Text 5 Identitas Diagnosa 2 nama_diagnosa Text 50 Nama Diagnosa 3 harga Number Double Harga Pengobatan 4 keterangan Text 50 Keterangan
Tabel 4.7 : Basis Data Diagnosa
h. Nama File : detil_resep
Isi : Data Obat Yang Dipesan
Primary Key : -
Foreign Key : no_resep, kd_obat
No Field Name Type Field Size Keterangan 1 no_resep** Text 5 Nomor Resep 2 kd_obat** Text 5 Kode Obat 3 jumlah_obat Number Double Jumlah Obat 4 jumlah_harga Number Double Jumlah Harga
Tabel 4.8 : Basis Data detil_resep
93
i Nama File : Obat
Isi : Data Obat
Primary Key : Kd_Obat
Foreign Key :
No Field Name Type Field Size Keterangan 1 kd_obat* Text 5 Kode Obat 2 nama_obat Text 50 Nama Obat 3 harga_obat Number Double Harga Obat 4 jenis_Obat Text 50 Jenis Obat
Tabel 4.9 : Basis Data Obat
4.5.2.4 Rancangan Kode
1) Rancangan kode untuk pasien
PS001 PS = kode_pasien
001 = No urut kode pasien
2) Rancangan kode untuk Dokter
DK001 DK = Identitas Dokter
001 = No urut Identitas Dokoter
3) Rancangan kode untuk Resep
00001 00 = Resep
001 = No urut Resep
94
4) Rancangan kode untuk Faktur
FK001 F = Kode Faktur
001 = No urut kode Faktur
5) Rancangan kode untuk Detil_Diagnosa
DG001 DG = Kode tanda Hasil Diagnosa
001 = No urut kode tanda Hasil Diagnosa
6) Rancangan kode untuk Diagnosa
DG001 DG = Kode Diagnosa
001 = No urut diagnosa
7) Rancangan kode untuk Obat
OB001 OB =Kode Obat
001 = No urut kode obat
8) Rancangan kode untuk Detil_Resep
00001 00 = Kode Detil_resep
00001 = 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 +
id_pasien} Faktur =*File faktur*
{@no_faktur + tanggal_faktur + no_resep} Diagnosa =*File diagnosa*
{@id_diagnosa + nama_diagnosa + harga + Detil_Diagnosa =*File detil_diagnosa*
{@id_diagnosa + no_diagnosa + jumlah_harga ) Detil_Resep =*File detil_resep*
{@no_resep + kode_obat + jumlah_obat + Obat =*File 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 SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
DAFTAR PASIEN
Id_pasien Tanggal_lahirAlamat Nama_pasien Telepon Jenis Kelamin
Gambar 4.31 : Rancangan Layar daftar pasien
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
DAFTAR DOKTER
id_dokter teleponalamatnama_dokter spesialis
Gambar 2.32 : Rancangan Layar daftar dokter
106
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
DAFTAR DOKTER
id_dokter teleponalamatnama_dokter spesialis
Gambar 4.33 : Rancangan Layar daftar obat
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
DAFTAR DIAGNOSA
Id Diagnosa KeteranganHargaNama Diagnosa
Gambar 4.34 : Rancangan Layar daftar diagnosa
107
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
LAPORAN RESEP
No resep Kode ObatNama PasienTanggal
Dari Tanggal : Sampai Dengan :dd:mm:yy dd:mm:yy
Nama Obat Jumlah Obat Jenis
Gambar 4.35 : Rancangan Layar laporan resep
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
LAPORAN FAKTUR
Id Faktur Nama ObatNama PasienTanggal faktur
Dari Tanggal : Sampai Dengan :dd:mm:yy dd:mm:yy
Jml Harga Satuan Jumlah harga
Gambar 4.36 : Rancangan Layar laporan faktur
108
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
LAPORAN DIAGNOSA
No Diagnosa Nama DokterNama PasienTanggal Diagnosa
Dari Tanggal : Sampai Dengan :dd:mm:yy dd:mm:yy
Nama Diagnosa Keterangan Jumlah Harga
Gambar 4.37 : Rancangan Layar laporan diagnosa
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
CETAK RESEP
Kode obat
Nomor Resep Id PasienX-5-X X-5-X
Nama Obat Jenis Obat Jumlah Obat
Tanggal ResepNama Pasien
Alamat
dd:mm:yy X-50-X
X-50-X
Gambar 4.38 : Rancangan Layar cetak resep
109
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
CETAK FAKTUR
Kode obat
Nomor Resep Id PasienX-5-X X-5-X
Nama Obat Jenis Obat Harga
Nomor fakturNama Pasien
Alamat
X-5-X X-50-X
X-50-X
Tanggal Faktur DD:MM:YY
Jumlah Obat Jumlah harga
JUMLAH
Gambar 4.39 : Rancangan Layar cetak faktur
KLINIK DOKTER KELUARGA SUARDITAJl. Raya Lapan Kp . Suradita Desa Suradita
Kecamatan Cisauk Kabupaten Tangerang Banten15343
021- 75791443
LOGOKLINIK
CETAK BIAYA PENGOBATAN
Id Diagnosa
Id Transaksi TanggalX-5-X X-5-X
Nama Diagnosa Keterangan
Id Pasien Id Dokter
Nama Dokter
X-5-X X-50-X
X-50-XNama Pasien DD:MM:YY
Harga Jumlah harga
JUMLAH TOTAL
Spesialis X-50-XAlamat DD:MM:YY
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 bersama-
sama 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 : Sistem Informasi Pelayanan Kesehatan Programmer 1 : Prabowo Programmer 2 : 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