sistem informasi pembayaran biaya perawatan … · 2.3 contoh dari e -r diagram 12 2.4 contoh dari...
TRANSCRIPT
i
SISTEM INFORMASI PEMBAYARAN BIAYA PERAWATANPASIEN YANG MENGGUNAKAN ASURANSI KESEHATAN
PADA SEBUAH PERUSAHAAN
(Studi Kasus : Rumah Sakit Santa Maria Pekanbaru)
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
Disusun Oleh:
Vinsensius Hartanto
015314077
JURUSAN TEKNIK INFORMATIKAFAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMAYOGYAKARTA
2008
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
INFORMATION SYSTEM OF THE PAYMENT OF PATIENT
CARE COST THAT USES HEALTH INSURANCE FROM
COMPANY
(Case Study : Rumah Sakit Santa Maria Pekanbaru)
A Thesis
Presented as Partial Fulfillment of the Requirements
to Obtain the Sarjana Teknik Degree
in Informatics Engineering
By :
Vinsensius Hartanto
015314077
DEPARTMENT OF INFORMATICS ENGINEERINGFACULTY OF TECHNOLOGY AND SAINS
SANATA DHARMA UNIVERSITYYOGYAKARTA
2008
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN MOTTO
Tak ada sesuatupun di dunia ini yang dapat menggantikan keuletan. Talenta tidak; tak
ada yang lebih umum daripada orang-orang bertalenta yang tidak sukses. Kejeniusan
tidak; kejeniusan yang sia-sia sudah hampir menjadi peribahasa. Pendidikan tidak; dunia
ini penuh dengan pecundang yang berpendidikan. Keuletan dan tekat kuat saja yang
selamanya ampuh.
Untuk bertahan hidup, bersabarlah –pasang mata, pasang telinga dan jangan banyak
omomg. Untuk menang, bersabarlah –bertahan hidup, mengatur rencana, dan
menyerang dengan cepat.
Kamu bisa mendapatkan hasil lebih banyak dengan kata-kata manis dan sepucuk senjata
daripada hanya dengan kata-kata manis.
Jangan sekali-kali menggunakan logika dan nalar untuk mengatur masalah manusia.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRAKSI
Sistem informasi pembayaran biaya perawatan pasien yang menggunakan
asuransi kesehatan dari perusahaan merupakan salah satu bagian dari system
informasi rumah sakit yang digunakan untuk membantu proses penyelesaian
tagihan perawatan pasien yang menggunakan asuransi kesehatan perusahaan.
Sistem informasi ini dibuat ditujukan khususnya bagi bagian penagihan di
rumah sakit Santa Maria Pekanbaru. Seperti halnya system informasi rumah sakit
lainnya, sistem informasi ini memberikan beberapa manfaat antara lain membantu
proses penyelesaian tagihan perawatan pasien yang menggunakan asuransi
kesehatan perusahaan, mempermudah perincian biaya asuransi kesehatan, dan
menghasilkan laporan penagihan yang akan dikirimkan bagian penagihan kepada
pihak perusahaan atau instansi. Sistem informasi ini diharapkan dapat
meningkatkan efisiensi dalam pengelolaan tarif, pembayaran dan penagihan.
Sistem ini dibuat dengan menggunakan teknologi perangkat lunak Visual
Basic.Net dengan dukungan database SQL SERVER 2000 yang diharapkan
mampu dan dapat memberikan kemudahan untuk pengembangan sistem informasi
rumah sakit yang lebih kompleks lagi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
ABSTRACT
Information system of the payment of patient care cost that uses health
insurance from company is one of the parts of the hospital information system
which is applied to help the finishing process of patient care claim that uses the
company health insurance.
This information system is created especially for the sector of claiming at
Saint Mary Hospital, Pekanbaru. Like the other information systems in many
hospitals, this information system gives some advantages such as to help the
finishing process of patient care claim that uses the company health insurance, to
facilitate the details of the health insurance cost, and to produce the report of
claiming which will be sent by the sector of claiming to the company or
institution. This information system is expected to be able to increase the
efficiency in managing the cost, payment, and claim.
This system is created by applying the technology of software Visual
Basic.Net which is supported by the database SQL Server 2000 that is expected to
be able to give facility for the development of more complex hospital information
system.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa
yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan
Laporan Tugas Akhir ini. Penulisan tugas akhir ini ditujukan untuk memenuhi
salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.
Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta
beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena
itu, penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut
membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan,
petunjuk, kerjasama, kritikan, maupun saran, antara lain kepada:
1. Bapak Albertus Agung Hadhiatma, S.T., M.T., selaku Dosen Pembimbing ,
yang telah banyak membantu dalam memberikan bimbingan, dukungan,
terutama atas pengertian dan kebijaksanaannya kepada penulis sehingga
penulis dapat menyelesaikan tugas akhir ini.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma.
3. Seluruh Dosen Universitas Sanata Dharma, khususnya Dosen yang mengajar
di Teknik Informatika, yang telah memberikan dan mengajarkan banyak ilmu
kepada penulis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
4. Kepada Bapak dan Ibu yang telah dengan sabar memberikan kesempatan yang
tiada batasnya dan doa yang tiada hentinya. Terima kasih atas semua perhatian
dan kasih sayang yang tidak ternilai.
5. My Little Sister, Vinsensia Harsanty yang telah dengan ikhlas
menyumbangkan dana nya demi kelangsungan hidup penulis.
6. Teman-teman kost Amarta 21 B, Pringgolayan ( GTO Community ): Singgih,
B-Ronc, Neo, Anton, Yeye, Heru, Ndok, Budi, Bayu yang telah memberikan
warna-warna baru bagi penulis dengan anomali masing-masing yang
terkadang sangat sulit dicerna dan diterima oleh akal sehat manusia normal.
7. Teman-teman seperjuangan Daus, Yoseph, Jabrix, Nares, Andri, Celenx,
Petrus yang dengan semangat dan tiada hentinya mendukung kelangsungan
produksi PT. Industri Semak dan Bapak Djenggot.
8. Terima kasih juga buat Ayu (Ndut), Hana, Monic yang terus memberikan
support berupa snack dan makanan-makanan ringan yang bisa didapatkan
segera di warung-warung terdekat di kota anda.
9. Terima kasih juga buat Diaz dan Ajuz sebagai senior-senior dari GTO
Community.
Seperti kata pepatah, “Tak ada gading yang tak retak”, maka penulis
menyadari segala keterbatasan dalam menyelesaikan laporan tugas akhir ini. Oleh
karena itu, penulis ingin menyampaikan mohon maaf apabila terdapat kesalahan
dan kekurangan. Untuk itu, penulis mengharapkan kritik dan saran yang
membangun dari seluruh pihak yang membutuhkan laporan tugas akhir ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
Semoga laporan tugas akhir ini dapat memberikan manfaat bagi siapa
saja yang membutuhkannya. Atas segala perhatiannya dan kerjasamanya, penulis
ucapkan terima kasih.
Yogyakarta, Juli 2008
Vinsensius Hartanto
( Penulis )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR ISI
HALAMAN JUDUL ..……………………………………………………….. i
HALAMAN JUDUL ...............………………………………………………. ii
HALAMAN PERSETUJUAN ......................................................................... iii
HALAMAN PENGESAHAN .......................................................................... iv
HALAMAN MOTTO ...................................................................................... v
HALAMAN PERSEMBAHAN ………………………….………………….. vi
HALAMAN PERNYATAAN KEASLIAN KARYA ..................................... vii
HALAMAN PERNYATAAN PUBLIKASI .................................................... viii
ABSTRAKSI .................................................................................................... ix
ABSTRACT ..................................................................................................... x
KATA PENGANTAR ...................................................................................... xi
DAFTAR ISI .................................................................................................... xiv
DAFTAR GAMBAR ........................................................................................ xix
DAFTAR TABEL ............................................................................................ xxii
BAB I . PENDAHULUAN ............................................................................. 1
1.1 Latar Belakang Masalah .................................................................... 1
1.2 Batasan Masalah ................................................................................ 2
1.3 Tujuan Dan Manfaat Penelitian ......................................................... 3
1.4 Rumusan Masalah .............................................................................. 3
1.5 Metodologi Penelitian ........................................................................ 4
1.6 Sistematika Penulisan ........................................................................ 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
BAB II. LANDASAN TEORI ........................................................................ 7
2.1 Sistem ................................................................................................ 7
2.1.1 Konsep Dasar Sistem ................................................................ 7
2.2 Informasi ............................................................................................ 9
2.2.1 Konsep Dasar Informasi ........................................................... 9
2.2.2 Siklus Informasi ........................................................................ 9
2.2.3 Kualitas Informasi .................................................................... 10
2.2.4 Nilai Informasi .......................................................................... 10
2.3 Sistem Informasi ................................................................................ 10
2.4 Metodologi Pengembangan Sistem ................................................... 11
2.4.1 Use Case Diagram .................................................................... 11
2.4.2 ERD ( Entity Relationship Diagram ) ....................................... 12
2.4.3 DFD (Data Flow Diagram ) ..................................................... 16
2.5 .NET Framework Dan Visual Basic.Net ............................................ 17
2.5.1 .NET Framework ...................................................................... 17
2.5.2 Visual Basic.Net ........................................................................ 19
2.5.2.1 Objek-objek Kontrol Visual Basic.Net ......................... 20
2.5.2.2 ADO.NET ...................................................................... 22
2.5.2.2.1 Objek Connection .......................................... 23
2.5.2.2.2 Objek Command ............................................ 23
2.5.2.2.3 Objek DataAdapter ........................................ 23
2.5.2.2.4 Objek DataReader ......................................... 23
2.5.2.2.5 Objek DataSet ................................................ 24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
2.5.2.2.6 Collection DataTable Dan DataRelation....... 24
2.6 Database Dan Microsoft SQL Server 2000 ....................................... 24
2.6.1 Database ................................................................................... 24
2.6.2 Microsoft SQL Server 2000 ...................................................... 25
2.6.2.1 Transact –SQL ............................................................. 26
2.6.2.2 Stored Procedure Dan Trigger ..................................... 26
2.6.2.2.1 Stored Procedure ........................................... 26
2.6.2.2.2 Trigger ........................................................... 26
2.7 Asuransi Kesehatan ........................................................................... 27
2.7.1 Batasan ...................................................................................... 27
2.7.2 Bentuk Pokok ............................................................................ 27
2.7.3 Macam Asuransi Kesehatan ..................................................... 28
2.7.4 Pendekatan Baru ....................................................................... 32
2.7.5 Manajemen Peserta Asuransi .................................................... 34
2.7.6 Isi Perjanjian Asuransi .............................................................. 35
2.7.7 Manajemen Keuangan .............................................................. 37
BAB III. ANALISIS DAN PERANCANGAN SISTEM ............................. 43
3.1 Analisis Sistem .................................................................................. 43
3.1.1 Gambaran Umum Sistem Yang Lama ...................................... 43
3.1.2 Gambaran Umum Sistem Yang Dikembangkan ....................... 44
3.2 Requirement Analysist ....................................................................... 46
3.2.1 Use Case Diagram .................................................................... 46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
3.3 Logical Design ................................................................................... 48
3.3.1 ER Diagram .............................................................................. 48
3.3.2 Proses Modelling ( DFD Diagram ) .......................................... 49
3.3.2.1 Context Diagram .......................................................... 49
3.3.2.2 Diagram Berjenjang ...................................................... 50
3.3.2.3 Overview Diagram ........................................................ 53
3.3.2.4 Data Flow Diagram ( DFD ) ........................................ 54
3.3.2.5 Tabel Entity, Input, Output ........................................... 62
3.4 Relasi Antar Tabel ............................................................................. 64
3.5 Desain Database ................................................................................ 65
3.6 Desain Input Dan Output Sistem ....................................................... 70
BAB IV. IMPLEMENTASI SISTEM ........................................................... 77
4.1 Karakteristik Sistem ........................................................................... 77
4.2 Kebutuhan Sistem .............................................................................. 78
4.3 User Interface .................................................................................... 78
4.3.1 User Interface Proses Transaksi Administrator ........................ 79
4.3.1.1 User Interface Splash Screen ........................................ 79
4.3.1.2 User Interface Welcome Screen ................................... 80
4.3.1.3 User Interface Proses Login ......................................... 82
4.3.1.4 User Interface Halaman Utama Administrator ............. 88
4.3.1.5 User Interface Detail Data User ................................... 93
4.3.1.6 User Interface Detail Data Perusahaan ......................... 103
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
4.3.1.7 User Interface Halaman Pasien Rawat Jalan ................ 106
4.3.1.8 User Interface Halaman Biaya Pasien Rawat Jalan ...... 111
4.3.1.9 User Interface Halaman Detail Pembayaran Pasien
Rawat Jalan ................................................................... 116
4.3.1.10 User Interface Halaman Detail Penagihan Biaya
Pasien Rawat Jalan .................................................... 123
4.3.1.11 User Interface Halaman Detail Data Dokter .............. 126
4.3.1.12 User Interface Halaman Detail Poliklinik .................. 129
4.3.1.13 User Interface Laporan ............................................... 132
4.3.2 User Interface Proses Transaksi Kasir ..................................... 137
4.3.3 User Interface Proses Transaksi Penagihan ............................. 139
BAB V. ANALISIS HASIL ............................................................................ 141
5.1 Analisis Hasil Perangkat Lunak ......................................................... 141
5.2 Kelebihan Dan Kekurangan Sistem ................................................... 148
5.2.1 Kelebihan Sistem ...................................................................... 148
5.2.2 Kekurangan Sistem ................................................................... 148
BAB. VI PENUTUP ........................................................................................ 150
6.1 Kesimpulan ........................................................................................ 150
6.2 Saran .................................................................................................. 150
DAFTAR PUSTAKA ....................................................................................... 151
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Simbol Use Case 11
2.2 Simbol Aktor 11
2.3 Contoh dari E-R Diagram 12
2.4 Contoh dari Entity 12
2.5 Contoh dari Atribut 13
2.6 Contoh dari identifier atau key 14
2.7 Contoh dari Relasi 14
2.8 Notasi dari Cardinality 15
2.9 Simbol Proses menurut Gane dan Sarson 16
2.10 Simbol dari arus data 16
2.11 Simbol kesatuan luar menurut Gane dan Sarson 17
2.12 Simbol penyimpanan data menurut Gane dan Sarson 17
3.1 Use Case Admin 46
3.2 Use Case Kasir 47
3.3 Use Case Penagihan 47
3.4 Entity Relational Model 48
3.5 Context Diagram 49
3.6 Diagram Berjenjang bagian 1 50
3.7 Diagram Berjenjang bagian 2 51
3.8 Diagram Berjenjang bagian 3 52
3.9 Overview Diagram 53
3.10 DFD Level 1 Proses 1 54
3.11 DFD Level 1 Proses 2 55
3.12 DFD Level 1 Proses 2.2 56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xx
3.13 DFD Level 2 Proses 1.2 56
3.14 DFD Level 2 Proses 1.4 57
3.15 DFD Level 2 Proses 1.6 57
3.16 DFD Level 2 Proses 1.8 58
3.17 DFD Level 2 Proses 1.10 58
3.19 DFD Level 2 Proses 1.14 59
3.20 DFD Level 2 Proses 1.16 60
3.21 DFD Level 2 Proses 2.4 60
3.22 DFD Level 2 Proses 3.2 61
3.23 Relasi Antar Tabel 64
3.24 Desain Splash Screen 70
3.25 Desain Menu Form Utama 70
3.26 Desain Form Login 71
3.27 Desain Form Data User 71
3.28 Desain Form Data Perusahaan 72
3.29 Desain Form Pasien 72
3.30 Desain Form Biaya Pasien Pasien 73
3.31 Desain Form Data Pembayaran Pasien Rawat Jalan 74
3.32 Desain Form Data Penagihan Biaya Pasien 75
3.33 Desain Form Data Dokter 75
3.34 Desain Form Poliklinik 76
4.1 User Interface untuk Splash Screen 79
4.2 User Interface untuk Welcome Screen 81
4.3 User Interface Proses Login 82
4.4 Kotak Pesan Konfirmasi Data Tidak Lengkap 86
4.5 Kotak Pesan Konfirmasi Data Tidak Terdaftar 86
4.6 Kotak pesan Konfirmasi Akses Ditolak 87
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xxi
4.7 Halaman Utama Administrator 88
4.8 Halaman Detail Data User 93
4.9 Halaman Data User 99
4.10 Halaman Detail Data Perusahaan 104
4.11 Halaman Data Perusahaan 105
4.12 Halaman Detail Data Pasien 107
4.13 Halaman Data Pasien 109
4.14 Halaman Detail Biaya Pasien 112
4.15 Halaman Biaya Pasien Rawat Jalan 113
4.16 Halaman Detail Pembayaran Pasien Rawat Jalan 117
4.17 Halaman Data Pembayaran Pasien Rawat Jalan 118
4.18 Halaman Detail Penagihan Pasien Rawat Jalan 124
4.19 Halaman Data Penagihan Pasien Rawat Jalan 125
4.20 Halaman Detail Data Dokter 127
4.21 Halaman Pengelolaan Dokter 128
4.22 Halaman Detail Poliklinik 129
4.23 Halaman Pengelolaan Poliklinik 130
4.24 Laporan User 133
4.25 Laporan Perusahaan 133
4.26 Laporan Pasien Rawat Jalan 134
4.27 Laporan Biaya Pasien Rawat Jalan 134
4.28 Laporan Pembayaran Pasien Rawat Jalan 135
4.29 Laporan Penagihan Pasien Rawat Jalan 135
4.30 Laporan Dokter 136
4.31 Laporan Poliklinik 136
4.32 Halaman Utama Kasir 138
4.33 Halaman Utama Penagihan 140
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xxii
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Namespace Database dalam .NET Framework 19
2.2 Objek –objek Kontrol dalam Visual Basic.Net 20
2.3 Fitur Akses Database ADO.NET 22
3.1 Tabel Entity, Input, Output 62
3.2 Tabel User1 65
3.3 Tabel Role 65
3.4 Tabel Poliklinik 65
3.5 Tabel Perusahaan 66
3.6 Tabel Pembayaran 67
3.7 Tabel Pasien 68
3.8 Tabel Dokter 69
3.9 Tabel Biaya 69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Pesatnya perkembangan teknologi informasi saat ini memberikan dampak
positif bagi dunia usaha dan masyarakat luas. Salah satu implementasinya yaitu
pada sistem informasi rumah sakit yang difokuskan sebagai sarana untuk
meningkatkan dan merampingkan proses pelayanan di rumah sakit.
Rumah Sakit Santa Maria Pekanbaru merupakan instansi yang bergerak di
bidang pelayanan kesehatan bagi masyarakat luas. Kompleksitas operasional
rumah sakit kerap kali menimbulkan masalah-masalah yang berakibat pada
penurunan kualitas dan efisiensi pelayanan rumah sakit. Salah satu masalah yang
dialami adalah kurangnya efisiensi pada sistem administrasi dan keuangan pada
bagian proses penyelesaian tagihan perawatan khususnya tagihan perawatan yang
menggunakan restitusi kesehatan. Hal ini disebabkan banyaknya perusahaan dan
instansi yang bekerjasama dengan pihak rumah sakit dalam memberikan
tunjangan kesehatan dalam bentuk asuransi kesehatan kepada karyawannya.
Untuk mengatasi masalah ini, maka salah satu alternatif yang dapat
dilakukan adalah menyediakan suatu sistem informasi pembayaran biaya
perawatan pasien yang menggunakan asuransi kesehatan dari perusahaan atau
instansi. Sistem informasi tersebut merupakan salah satu bagian dari sistem
informasi rumah sakit yang digunakan untuk membantu proses penyelesaian
tagihan perawatan pasien yang menggunakan asuransi kesehatan perusahaan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
mempermudah perincian biaya asuransi kesehatan, dan menghasilkan laporan
penagihan yang akan dikirimkan bagian penagihan kepada pihak perusahaan atau
instansi. Sistem informasi ini diharapkan dapat meningkatkan efisiensi dalam
pengelolaan tarif, pembayaran dan penagihan.
1.2 Batasan Masalah
Agar perancangan ini dapat dilakukan secara tepat maka dilakukan
pembatasan cakupan sistem yang meliputi:
1. Studi kasus yang dipilih adalah Rumah Sakit Santa Maria Pekanbaru.
2. Sistem Informasi hanya dibuat bagi instansi, perusahaan atau lembaga
yang sudah tercatat memiliki kontrak kerja dengan pihak Rumah Sakit
Santa Maria Pekanbaru.
3. Sistem Informasi ini hanya menangani pembayaran biaya perawatan yang
menggunakan jasa asuransi kesehatan perusahaan pada pasien rawat jalan
saja.
4. Sistem Informasi ini tidak membahas perhitungan akuntasi biaya
perawatan yang dibayarkan secara tunai.
5. Sistem Informasi ini tidak membahas proses dan cara pembayaran tagihan
oleh instansi, perusahaan atau lembaga yang sudah tercatat memiliki
kontrak kerja dengan pihak rumah sakit.
6. Sistem Informasi yang dibuat meliputi perincian dan total biaya asuransi
kesehatan perusahaan, dan pembuatan laporan penagihan untuk bagian
penagihan yang digunakan untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
7. proses penagihan biaya ke instansi, perusahaan atau lembaga yang sudah
tercatat memiliki kontrak kerja dengan pihak rumah sakit.
8. Sistem Informasi ini tidak membahas rekam medis.
9. Sistem Informasi ini tidak membahas keamanan jaringan.
10. Sistem Informasi ini dibuat dengan menggunakan perangkat lunak Visual
Basic.Net untuk user interface-nya dan SQL SERVER 2000 sebagai basis
data sistemnya.
1.3 Tujuan Dan Manfaat Penelitian
Tujuan penelitian yang dilakukan adalah untuk membangun suatu aplikasi
Sistem Informasi Pembayaran Biaya Perawatan Rumah Sakit yang dapat
membantu proses penyelesain tagihan, perincian biaya tagihan, dan pembuatan
laporan tagihan biaya perawatan pasien yang melakukan pembayaran dengan
menggunakan asuransi kesehatan perusahaan. Sistem Informasi ini diharapkan
dapat memberikan informasi biaya perawatan pasien yang menggunakan asuransi
kesehatan perusahaan untuk bagian penagihan. Sistem informasi yang akan dibuat
ini meggunakan bahasa pemrograman Visual Basic.Net dan database SQL Server
2000.
1.4 Rumusan Masalah
Sistem informasi ini diimplementasikan untuk membantu beberapa proses
dalam penyelesaian tagihan pembayaran biaya pasien rawat jalan yang
menggunakan asuransi kesehatan perusahaan antara lain:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1. Membantu proses perhitungan biaya tagihan biaya perawatan pasien rawat
jalan khususnya yang menggunakan asuransi kesehatan perusahaan.
2. Sistem informasi ini mempermudah perincian biaya yang akan ditagihkan
ke instansi, perusahaan, dan lembaga.
3. Sistem informasi ini menghasilkan keluaran berupa detail laporan biaya
keseluruhan perawatan pasien rawat jalan berupa biaya yang harus
ditanggung pasien dan biaya yang akan ditanggung oleh instansi,
perusahaan,lembaga.
1.5 Metodologi Penelitian
Metodologi Penelitian yang digunakan untuk membuat aplikasi Sistem
Informasi Pembayaran Biaya Rumah Sakit yang Menggunakan Asuransi
Kesehatan dengan Suatu Perusahaan adalah metodologi terstruktur pada tahap
analisis dan perancangan sistem. Sedangkan untuk tahap implementasinya
menggunakan pemrograman berorientasi objek. Adapun alat-alat dan teknik yang
digunakan dalam penelitian ini adalah:
1. Observasi
Yaitu pengamatan pada objek dan kegiatan secara langsung dilapangan
sehingga diperoleh kebenaran data.
2. Wawancara
Melakukan wawancara dengan pihak yang bersangkutan dalam hal ini bagian
administrasi dan keuangan rumah sakit Santa Maria, Pekanbaru.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
3. Studi Literatur
Mengumpulkan data dan informasi dari buku-buku, laporan-laporan ,
dokumen, karya ilmiah dan makalah yang dapat dijadikan sebagai bahan
masukkan atau informasi yang berkaitan dengan topik.
4. Analisis
Menggunakan use case diagram, diagram arus data ( DFD ) dan diagram relasi
entitas ( ERD ) dalam perancangan sistem.
5. Penulisan Program
Translasi disain yang lebih detail yaitu dengan penulisan program sesuai
dengan disain yang telah dibuat dengan menggunakan pemrograman
berorientasi objek.
6. Implementasi Perancangan
Melakukan pengimplementasian program untuk menguji program berjalan
dengan baik atau terjadi kekurangan.
1.6 Sistematika Penulisan
BAB I PENDAHULUAN
Pada Bab ini berisi tentang latar belakang masalah, rumusan masalah,
batasan masalah, tujuan dan manfaat penelitian, dan metodologi penelitian
yang digunakan serta sistematika isi penulisan laporan.
BAB II LANDASAN TEORI
Pada bab ini berisi tentang dasar teori yang akan digunakan untuk
pembahasan dalam penulisan skripsi ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB III ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini berisi tentang cara penerapan konsep dasar yang telah
diuraikan pada bab sebelumnya untuk menganalisa dan merancang sebuah
aplikasi sistem informasi rumah sakit yang baik berupa perancangan database,
perancangan input, perancangan output maupun perancangan user interface.
BAB IV IMPLEMENTASI SISTEM
Pada bab ini akan berisi tentang implementasi dari perancangan yang
telah dibuat yang meliputi cara kerja program yaitu berupa hasil input program
maupun hasil output program.
BAB V ANALISA HASIL
Pada bab ini berisi tentang kelebihan dan kekurangan pada sistem yang
telah dibuat.
BAB VI KESIMPULAN DAN SARAN
Pada bab ini berisi tentang kesimpulan dan saran dari penulisan tugas
akhir yang disusun
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
BAB II
LANDASAN TEORI
2.1 Sistem
2.1.1 Konsep Dasar Sistem
Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk
mencapai suatu tujuan tertentu (Jogiyanto, 1999). Sebuah perusahaan juga
merupakan suatu sistem. Komponen atau unsur-unsur di dalamnya seperti
pemasaran,penjualan, penelitian, pembukuan, dan personalia yang mana
semuanya bekerja sama untuk mencapai keuntungan baik bagi para pekerjanya
maupun bagi pemilik perusahaan.
2.1.2 Karakteristik Sistem
Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu
mempunyai komponen-komponen(components), batas sistem (boundary),
lingkungan luar sistem (environment), penghubung (interface), masukkan (input),
keluaran (output), pengolah (proses) dan sasaran (objectives) atau tujuan (goal).
1. Komponen Sistem
Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi,
yang artinya saling bekerja sama membentuk satu kesatuan. Komponen-
komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem
atau bagian-bagian dari sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2. Batas sistem
Batas sistem (boundary) merupakan daerah yang membatasi antara suatu
sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas
sistem itu memungkinkan suatu sistem dipandang sebagai satu kesatuan.
Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem
tersebut.
3. Lingkungan Luar Sistem
Lingkungan luar (environment) dari suatu sistem adalah apapun diluar
batas dari sistem yang mempengaruhi operasi sistem.
a. Penghubung Sistem.
Penghubung (interface) merupakan media penghubung antara satu
subsistem dengan subsistem lainnya. Melalui penghubung ini
memungkinkan sumber-sumber daya mengalir dari satu subsistem
ke subsistem lainnya.
b. Masukkan Sistem
Masukan (input) adalah energi yang dimasukkan ke dalam sistem.
Masukan dapat berupa masukan perawatan (maintenance input)
dan masukan sinyal (signal input) agar sistem tersebut dapat
beroperasi.
c. Keluaran Sistem
Keluaran (output) adalah hasil dari energi yang diolah dan
diklasifikasikan menjadi keluaran yang berguna. Keluaran dapat
merupakan masukan untuk subsistem yang lain.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
d. Pengolah Sistem
Bagian pengolah sistem ini merupakan bagian yang akan merubah
masukkan menjadi keluaran.
e. Sasaran Sistem
Suatu sistem pasti mempunyai tujuan (goal) atau sasaran
(objective). Jika 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 akan dihasilkan sistem. Sistem dikatakan berhasil bila
mengenai sasaran atau tujuannya.
2.2 Informasi
2.2.1 Konsep Dasar Informasi
Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan
lebih berarti bagi yang menerimanya (Jogiyanto, 1999).
2.2.2 Siklus Informasi
Data yang diolah melalui suatu model menjadi informasi, penerima
kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan
tindakan, yang berarti menghasilkan suatu tindakan lain yang akan membuat
sejumlah data kembali. Data tersebut akan ditangkap sebagai input, diproses
kembali lewat suatu model dan seterusnya membentuk suatu siklus. Siklus ini
disebut dengan siklus informasi (information cycle). Siklus ini juga disebut
dengan siklus pengolahan data (data processing cycles).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.2.3 Kualitas Informasi
Kualitas dari suatu informasi (quality of information) tergantung dari tiga
hal antara lain :
Akurat yang berarti informasi harus bebas dari kesalahan-kesalahan
dan tidak menyesatkan dan juga harus jelas mencerminkan maksudnya.
Tepat pada waktunya, berarti informasi yang datang pada penerima
tidak boleh terlambat. Karena informasi merupakan landasan di dalam
pengambilan keputusan.
Relevan, berarti informasi tersebut mempunyai manfaat untuk
pemakainya.
2.2.4. Nilai Informasi
Informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan
dengan biaya mendapatkannya.
2.3 Sistem Informasi
Sistem informasi adalah suatu sistem di dalam suatu organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi,
bersifat managerial dan kegiatan startegi dari suatu organisasi dan menyediakan
pihak luar tertentu dengan laporan-laporan yang diperlukan (Robert A Leitch/K.
Roscoe Davis, 1983).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.4 Metodologi Pengembangan Sistem
2.4.1 Use Case Diagram
Use case diagram adalah sebuah diagram yang menggambarkan interaksi
antara sistem dan eksternal sistem dan pemakai. Use case merupakan bagian dari
keseluruhan sistem. Digambarkan secara grafik dengan elips yang horizontal
dengan nama dari use case tertera diatas, dibawah atau di dalam ellips. Gambar
2.1 merupakan simbol use case :
Gambar 2.1. Simbol Use Case
Actor merupakan segala sesuatu yang dibutuhkan untuk berinteraksi
dengan sistem untuk mengubah informasi. Dapat berupa orang, organisasi atau
sistem informasi yang lain atau juga suatu waktu kejadian.
Gambar 2.2 merupakan simbol dari actor :
Gambar 2.2. Simbol Aktor
Use case depends on relationship merupakan sebuah relasi use case yang
menentukan bahwa use case yang lain harus dibuat sebelum use case yang
sekarang. Digambarkan sebagai anak panah yang dimulai dari satu use case dan
Simbol Use case
Simbol Actor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
menunjuk ke use case yang depend on kepadanya. Setiap relasi depend on diberi
label “<<depend on>>”
2.4.2 ERD (Entity Relationship Diagram)
ERD merupakan sebuah data model yang memanfaatkan beberapa notasi
untuk menggambarkan data dalam entity dan relasi yang dijelaskan oleh data.
Data model adalah sebuah teknik untuk mengorganisasikan dan
mendokumentasikan data dari sistem. Juga disebut dengan database modeling.
Gambar 2.3 merupakan contoh E-R diagram
Gambar 2.3. Contoh dari E-R Diagram
Entity adalah sebuah kumpulan dari orang, tempat, objek, kejadian atau
konsep yang diperlukan untuk menyimpan data. Nama entity berupa kata benda
tunggal (singular noun). Gambar 2.4 merupakan contoh dari entity student
Gambar 2.4 Contoh dari Entity
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Atribut merupakan sebuah properti yang deskriptif atau karakteristik dari
sebuah entity. Sinonimnya adalah element, property, dan field.
Gambar 2.5 merupakan contoh dari atribut student
Gambar 2.5 Contoh dari Atribut
Key adalah sebuah atribut atau kelompok atribut yang diasumsikan
memiliki nilai yang unik untuk setiap instance. Sering juga disebut dengan
identifier.
1. Concatenated key merupakan sekelompok atribut yang memiliki
identitas instance dari sebuah entity yang unik Sinonimnya composite
key dan compound key.
2. Candidate key merupakan satu dari nilai key yang akan berfungsi
sebagai primary key dari sebuah entity. Sinonimnya adalah candidate
identifier
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
3. Primary key merupakan sebuah candidate key yang paling umum
digunakan untuk mengidentifikasikan secara unik instance dari entity
yang tunggal.
4. Alternate key merupakan sebuah candidate key yang tidak dapat dipilih
untuk menjadi primary key. Sinonimnya adalah secondary key.
Gambar 2.6 merupakan contoh dari identifier atau key
Gambar 2.6. Contoh dari identifier atau key
Relationship adalah sebuah asosiasi bisnis normal yang ada antara satu
atau lebih entity. Relasi mungkin juga mewakili suatu kejadian yang
menghubungkan antara entity atau logika gabungan antara entity. Gambar 2.7
merupakan contoh dari relasi
Gambar 2.7. Contoh dari Relasi
Student CurriculumIs being studied by is enrolled in
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Cardinality merupakan minimum dan maksimum kejadian dari sebuah
entity yang dihubungkan dengan kejadian tunggal dari entity yang lain. Karena
seluruh relasi adalah bidirectional maka cardinality haru didefinisikan pada kedua
direction untuk setiap relasi. Gambar 2.8 merupakan notasi dari cardinality.
Gambar 2.8. Notasi dari Cardinality
Foreign key adalah sebuah primary key dari sebuah entity yang digunakan
oleh entity yang lain untuk mengidentifikasikan instance dari sebuah relasi.
Nonspecific relationship merupakan relasi dimana banyak instance dari
sebuah entity berasosiasi dengan banyak instance dari entity yang lainnya. Disebut
juga dengan relasi many-to-many relationship. Nonspecific relationship harus
diselesaikan. Kebanyakan dari nonspecific relationship diselesaikan dengan
sebuah associative entity.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Key-base data model bertujuan untuk mengeliminasikan nonspecific
relationship jika ada, menambah asosiatif entity termasuk primary dan alternate
key, dan kardinalitas yang tepat.
Fully attributed data model bertujuan untuk memasukkan seluruh atribut.
2.4.3 DFD (Data Flow Diagram)
Data Flow Diagram merupakan sebuah model proses yang digunakan
untuk mengambarkan aliran dari data yang melalui sebuah sistem dan proses yang
dibentuk oleh sistem.
DFD terdiri dari 4 buah simbol yaitu :
1. Proses (Process)
Proses adalah kerja yang dilakukan oleh sistem dalam merespon arus data
yang datang atau suatu kondisi.
Gambar 2.9 merupakan simbol proses menurut Gane dan Sarson :
Gambar 2.9 Simbol Proses menurut Gane dan Sarson
2. Arus data (Data Flow)
Arus data adalah data sebagai masukan ke proses atau keluaran dari
sebuah proses.
Gambar 2.10 merupakan simbol dari arus data :
Gambar 2.10 Simbol dari arus data
Nama Proses
Nama Arus Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Arus data juga digunakan untuk mewakili creation, reading, deleting, atau
updating dari data dalam file atau database (disebut datastore atau
penyimpanan data).
3. Kesatuan Luar (External Agent).
Kesatuan luar adalah orang, unit organisasi, sistem atau organisasi luar
yang berinteraksi dengan sistem. Disebut juga dengan external entity.
Gambar 2.11 merupakan simbol kesatuan luar menurut Gane dan Sarson :
Gambar 2.11 Simbol kesatuan luar menurut Gane dan Sarson
4. Penyimpanan data (Data Store)
Penyimpanan data digunakan untuk menyimpan data hasil proses maupun
menyediakan data untuk diproses. Sinonim dengan file dan database.
Gambar 2.12 merupakan simbol penyimpanan data menurut Gane dan
Sarson
Gambar 2.12 Simbol penyimpanan data menurut Gane dan Sarson
2.5 .NET Framework Dan Visual Basic.Net
2.5.1 .NET Framework
.NET Framework adalah lingkungan untuk membangun,
deploying/menyebarkan dan menjalankan services Web dan aplikasi lainnya (Drs.
Ario Suryo Kusumo, 2004).
Namakesatuan
luar
Penyimpanan data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
.NET Framework disusun oleh dua komponen utama, yaitu Common
Language Runtime (runtime bahasa umum) dan .NET Framework Class Library.
Secara sederhana .NET Framework adalah platform tunggal di mana
semua orang dapat mengembankan aplikasi menggunakan suatu system yang
mirip dengan JVM (Java Virtual Machine). Hanya berbeda dengan Java, tidak ada
penghalang bahasa dengan Dot NET sehingga aplikasi dapat
dikembangkanmenggunakan bahasa : VB, C++, C#, J# dan 20 bahasa-bahasa
pemrograman lainnya yang kompatibel dengan Dot NET Framework.
Tujuan dari .NET Framework adalah :
1. Menyediakan lingkungan pemrograman berorientasi objek, apakah kode
objek disimpan dan dijalankan secara local, dijalankan secara local tetapi
disebarkan melalui internet atau dijalankan secara remote (dijalankan dari
suatu tempat).
2. Menyediakan lingkungan untuk menjalan suatu kode yang meminimalkan
konflik saat software deployment/disebarkan dan versioning/tentang versi.
3. Menyediakan lingkungan untuk menjalankan suatu kode yang menjamin
keamanan saat kode dijalankan, termasuk kode yang dibuat oleh pihak
yang tidak diketahui atau pihak ketiga yang setengah dipercaya.
4. Menyediakan lingkungan untuk menjalankan suatu kode yang dapat
mengeliminasi masalah performa dari lingkungan scripted dan interpreted.
5. Membuat pengembang memiliki pengalaman yang konsisten dalam
berbagai tipe aplikasi seperti aplikasi berbasi Windows dan aplikasi
berbasis Web.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Tabel 2.1 merupakan namespace database dalam .NET Framework
Namespace Keterangan
System.Data
Merupakan namespace dasar baginamespace lainnya. Berisi class untukmenangani objek utama sepertiDataTable, DataColumn, DataView,dan constraint.
System.Data.Common Berisi kumpulan class yang digunakanuntuk mengakses sumber data
System.Data.OleDb
Class yang menangani .NET dataprovider untuk sumber data OLE DBatau yang kompatibel. Class dapatdigunakan untuk melakukan koneksi kedata sumber OLE DB, menjalankancommand ke sumber data dan melihathasilnya.
System.Data.SqlClient
Class yang menangani .NET dataprovider untuk sumber data SQLServer. Class dapat digunakan untukmelakukan koneksi ke data sumberSQL Server, menjalankan command kesumber data dan melihat hasilnya.
System.Data.SqlTypes Menyediakan class untuk tipe datanative dalam SQL Server.
System.Data.OdbcMenyediakan class untuk bekerja samadengan berbagai macam driver ODBC(Open DabaBase Connectivity).
Tabel 2.1 Namespace database dalam .NET Framework
2.5.2 Visual Basic.Net
Pengembangan aplikasi Visual Basic.Net menggunakan software Visual
Studio.Net. Visual Studio.Net menyediakan lingkungan yang disebut IDE
(Integrated Development Environment) untuk menyederhanakan proses
pengembangan aplikasi.
IDE ini menyediakan tool untuk mendesain, mengekesekusi dan men-
debug (mencari kesalahan program) aplikasi yang dibuat.
Untuk mengakses database, Visual Basic.Net menggunakan ADO.Net.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
2.5.2.1 Objek-objek Kontrol Visual Basic.Net
Tabel 2.2 merupakan tabel objek-objek control Visual Basic.Net
Fungsi Nama Penjelasan
Menampilkan teks(read only)
Label Menampilkan teks tetapi pemakaitidak dapat mengubahnya secaralangsung
LinkLabel Menampilkan teks dengan modellink web dan akan memicu suatuevent/kejadian ketika pemakaimengkliknya. Teks di-link kejendela lain atau situs web.
StatusBar Terletak di bagian bawah forminduk dan berisi informasi tentangkeadaan aplikasi sekarang.Informasi ditampilkan dalanjendela yang memiliki frame/panel
Edit teks
TextBox Menampilkan teks yang dapatdiedit oleh pemakai pada saatprogram dijalankan atau diubaholeh program
RichTextBox Menampilkan teks dengan formatplain text atau rich-text format(RTF)
Memilih dari suatudaftar
ListBox Menampilkan daftar teks dan itemgambar (icon)
CheckedListBox Menampilkan daftar item yangdapat digulung, masing-masingitem disertai dengan kotak cek
ComboBox Menampilkan dafta drop-down dariitem
ListView Menampilkan item dengan satu diantara empat cara: Tampilan tekssaja, teks dengan icon kecil, teksdengan icon besar dan tampilanreport
Menangani gambar
PictureBox Menampilkan file gambarImageList Berfungsi sebagai tempat
penyimpanan gambar. KontrolImageList dan gambar yang ada didalamnya dapat digunakan padalebih dari satu objek
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Mengatur tanggaldan waktu
DateTimePicker Menampilkan kalender secaragrafikal dan pemakai dapatmemilih tanggal atau jam
MonthCalender Menampilkan kalender secaragrafikal pemakai dapat memilihrange tanggal
Timer Untuk mengeksekusi waktukejadian pada rutin programtermasuk interval (selang waktu)
Membuat menu
MainMenu Menyediakan antarmuka untukmendesain menu secara langsung
ContextMenu Menampilkan menu popup ketikapemakai mengklik mouse kananpada suatu objek
Command
Button Digunakan untuk memulai,menghentikan atau menginterupsisuatu proses
ToolBar Berisi kumpulan kontrol tombol
Bantu
GroupBox Mengelompokkan kumpulancontrol (seperti radio button), bisadiberi label judul dan frame yangtidak dapat digulung.
HelpProvider Menggabungkan help HTMLdengan aplikasi Windows
Tooltip Menampilkan teks ketika pemakaimenunjuk pada suatu control
ErrorProvider Menampilkan informasi kesalahanpemakai
PrintPreviewControl Menampilkan dokumen bagaimanaakan terlihat ketika dicetak
Mengatur print danreport
PrintDocument Mengatur property mencetak danmencetak dokumen dalam aplikasiWindows
CrystalReportViewer Menampilkan jendela bagaimanatampilan objek Crystal Reportterlihat ketika dicetak
Menampilkan data DataGrid Menampilkan data secara tabulardari suatu dataset
Tabel 2.2 Objek-objek Kontrol dalam Visual Basic.Net
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
2.5.2.2 ADO.NET
ADO.NET (Active X Data Objects untuk .NET Framework) adalah
kumpulan class yang berisi komponen untuk melakukan koneksi, akses dan
manipulasi database.
Tabel 2.3 berikut berisi fitur akses data ADO.NET :
Fitur Keterangan
Representasi data dalam memoriMenggunakan objek DataSet yangdapat berisi satu atau lebih table yangmewakili objek DataTable
Relasi di antara banyak tabel
Adanya objek DataRelation untukmenghubungkan baris dalam sebuahobjek DataTable dengan baris dalamobjek DataTable lainnya.
Navigasi data
DataSet menggunakan akses non-sequential ke baris dalam table. Aksesdata tersebut mirip akses data padasuatu collection atau array. Hal inidimungkinkan karena adanya collectionRows dari DataTable yang digunakanuntuk mengakses baris melalui index,mengikuti relasi untuk navigasi daribaris dalam suatu tabel yangberhubungan dengan baris pada tabellainnya.
Koneksi Database
Menggunakan class Data Adapter,kemudian Data Adapter akanmelakukan pemanggilan ke providerOLEDB atau SQL Server
Skabilitas
ADO.NET menggunakan modelkoneksi disconnected database, artinyahanya sekali mengirim data daridatabase, setelah itu koneksinya akanputus. Dengan demikian koneksi tidakakan memakan sumber system sehinggaakan mengurangi jumlah koneksi yangaktif. Juga akan mempermudah transferdata dari satu komponen ke lainnya
Tabel 2.3 Fitur Akses Database ADO.NET
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Untuk memberikan dukungan terhadap model koneksi disconnected, pada
komponen ADO.NET dipisahkan antara akses data dari manipulasi data.
Pemisahan ini terlihat dari dua komponen utam ADO.NET yaitu NET Data
Provider dan Data Storage.
Ada empat objek utama yang dimiliki NET Data Provider, yaitu objek
Connection, Command, DataReader dan DataAdapter.
2.5.2.2.1 Objek Connection
Objek Connection digunakan untuk membuat koneksi ke database.
2.5.2.2.2 Objek Command
Setelah melakukan koneksi, dapat digunakan objek Command untuk
menjalankan perintah yang akan memanggil data dari sumber data. Perintah
ditentukan oleh property CommandText. Properti CommandText berisi nama
tabel, Pernyataan SQL atau nama dari stored procedure dari SQL Server.
2.5.2.2.3 Objek DataAdapter
Objek DataAdapter akan melakukan koordinasi antara representasi data
dalam memori dan sumber data permanent. Objek DataAdapter bekerja sebagai
duta antara data dengan mekanisme akses data sehingga dapat memanggil dan
menyimpan data dari sumber data dan objek DataSet.
2.5.2.2.4 Objek DataReader
Objek DataReader merupakan mekanisme secara cepat untuk memanggil
aliran data yang bersifat forward-only dan read-only. NET Provider SQL Server
melakukan optimasasi dalam mekanisme DataReader sehingga dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
menggunakannya sesering yang diinginkan untuk menampilkan secara cepat data
yang bersifat read-only.
2.5.2.2.5 Objek DataSet
DataSet merupakan representasi data dalam memori yang memberikan
model pemrograman relational yang konsisten, tanpa memperhatikan asal dari
sumber data. Suatu DataSet mewakili serangkaian data secara lengkap termasuk
tabel yang
2.5.2.2.6 Collection DataTable Dan DataRelation
Berbeda dengan Recordset dari ADO yang hanya berisi objek tabel
tunggal, DataSet dari ADO.NET berisi satu atau lebih tabel (DataTabel) yang
disimpan sebagai collection DataTable (DataTableCollection).
Untuk membuat relasi antartabel dapat digunakan collection DataRelation.
DataSet berisi suatu collection dari objek DataRelation dalam property Relation.
Tiap-tiap objek DataRelation dikaitkan dengan DataTable yang berbeda dengan
menggunakan referential integrity seperti primary key, foreign key dan
constraints.
2.6 Database Dan Microsoft SQL Server 2000
2.6.1 Database
SQL server memakai sebuah tipe database yang dinamakan database
relational. Database relational adalah database yang mengorganisasikan data
dalam bentuk tabel (Ir. Inge Martina, 2003). Tabel dibentuk dengan
mengelompokkan data yang mempunyai subjek yang sama. Tabel berisi baris-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
baris dan kolom-kolom informasi. Tabel-tabel dapat saling berhubungan jika
diinginkan.
Database adalah sekumpulan data yang saling berhubungan (Ir. Inge
Martina, 2003). Dalam SQL server database bukanlah sebuah file tetapi
merupakan sebuah konsep logis yang berisi sekumpulan objek-objek yang
berhubungan. Objek-objek dalam sebuah database antara lain : tabel, kolom, tipe
data, stored procedure, trigger, rule, kunci utama (primary key), kunci tamu
(foreign key), konstrain, default, view dan index.
2.6.2 Microsoft SQL Server 2000
Sistem database client/server seperti SQL server 2000 memakai sejumlah
proses server untuk memanipulasi data dan mengharuskan proses client
berhubungan dengan proses server menggunakan mekanisme IPC (inter-process
communication) local atau remote, misalnya socket TCP/IP. Proses server adalah
aplikasi server yang memproses perintah-perintah SQL. Setelah proses server
menjalankan perintah-perintah, hasilnya akan dikirim kembali ke proses client
melalui mekanisme IPC. Dengan cara ini sistem client/server memberikan
pengaksesan yang lebih baik pada data yang dipakai bersama-sama oleh banyak
user.
SQL server 2000 memberikan bahasa dan antarmuka yang baik untuk
pemrograman dan komunikasi pada server. Transact-SQL adalah bahasa
pemrograman server yang merupakan superset dari ANSI-SQL. ANSI-SQL
mendefinisikan empat perintah dasar untuk memanipulasi data yaitu SELECT,
INSERT, UPDATE, DELETE dan sejumlah perintah untuk mendefinisikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
struktur database. Transact-SQL menambahkan beberapa hal pada ANSI-SQL.
Penambahan tersebut adalah konstruksi pemrograman yang memungkinkan
pemakaian stored procedure untuk mengubah data dan trigger yang akan
dijalankan, karena terjadi event tertentu.
2.6.2.1 Transact - SQL
Transact adalah pengembangan dari bahasa SQL yang dipublikasikan oleh
International Organization for Standardization (ISO) dan American National
Standards Institute (ANSI). Perintah Transact-SQL adalah sekumpulan program
yang dijalankan pada objek-objek atau data dalam database (Ir. Inge Martina,
2003).
2.6.2.2 Stored Procedure Dan Trigger
2.6.2.2.1 Stored Procedure
Stored procedure adalah SQL statement yang disimpan server dalam
bentuk pre-compiled statement (Ir. Inge Martina, 2003). Dengan demikian
eksekusi perintah dengan stored procedure akan lebih cepat performanya. Selain
itu penggunaan stored procedure juga meningkatkan security sebuah aplikasi.
2.6.2.2.2 Trigger
Trigger adalah stored procedure khusus yang dijalankan secara otomatis
pada saat atau sesudah modifikasi data (Ir. Inge Martina, 2003). Perintah-perintah
yang akan mengaktifkan trigger adalah UPDATE, INSERT, dan DELETE.
Trigger dipakai untuk integritas data dan mengimplementasikan aturan bisnis
yang kompleks. Trigger memakai dua tabel maya yaitu inserted dan deleted untuk
mendeteksi modifikasi data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
2.7 Asuransi Kesehatan
2.7.1 Batasan
Pengertian asuransi (insurance) banyak macamnya. Beberapa diantaranya
yang terpenting adalah:
1. Asuransi adalah suatu upaya untuk memberikan perlindungan terhadap
kemungkinan-kemungkinan yang dapat mengakibatkan kerugian ekonomi
( Breider dan Breadles, 1972).
2. Asuaransi adalah suatu perjanjian dimana sipenanggung dengan menerima
suatu premi mengikatkan dirinya untuk memberi ganti rugi kepada
tertanggung yang mungkin diderita karena terjadinya suatu peristiwa yang
mengandung ketidakpastian dan yang akan mengakibatkan kehilangan,
kerugian atau kehilangan suatu keuntungan ( Kitab UU Hukum Dagang,
1987 ).
2.7.2 Bentuk Pokok
Bentuk klasik asuransi kesehatan terdiri dari tiga pihak ( third party ) yang
saling berhubungan dan mempengaruhi. Ketiga pihak yang dimaksud ialah:
1. Tertanggung/peserta
Yang dimaksud dengan tertanggung ( client ) atau peserta ialah mereka
yang terdaftar sebagai anggota, membayar iuran ( premi ) sejumlah dan
dengan mekanisme tertentu dan karena itu ditanggung biaya kesehatannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
2. Penanggung/badan asuransi
Yang dimaksud dengan penanggung atau badan asuransi ( health insurance
nstitution ) ialah yang bertanggung jawab mengumpulkan dan mengelola
iuran serta membayar biaya kesehatan yang dibutuhkan peserta.
3. Penyedia pelayanan
Yang dimaksud dengan penyedia pelayanan ( health provider ) ialah yang
bertanggung jawab menyediakan pelayanan kesehatan bagi peserta dan
untuk itu mendapatkan imbal jasa dari badan asuransi.
Antara peserta dan badan asuransi terjalin suatu ikatan perjanjian dimana
peserta ( tertanggung ) diwajibkan membayar sejumlah dana ( biasanya secara
berkala ) kepada badan asuransi ( penanggung ) yang disebut premi. Besarnya
premi yang harus dibayarkan ini tergantung dari kesepakatan tentang jenis
pelayanan kesehatan yang ditanggung. Secara umum disebutkan jika jenis
pelayanan kesehatan yang ditanggung bervariasi dan lengkap, maka jumlah premi
yang dibayarkan akan besar pula. Perjanjian secara hukum antara penanggung dan
tertangung ini disebut polis. Dalam polis inilah tercantum tentang hak dan
kewajiban yang harus dipatuhi oleh masing-masing pihak.
2.7.3 Macam Asuransi Kesehatan
Tergantung dari ciri-ciri khusus yang dimiliki, maka asuransi kesehatan
dapat dibedakan atas beberapa macam yakni:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
1. Ditinjau dari pengelola dana
Jika ditinjau dari badan pengelola dana, asuransi kesehatan dapat
dibedakan atas beberapa macam yakni:
a. Asuransi kesehatan pemerintah
Disebut asuransi kesehatan pemerintah ( government health
insurance ), jika pengelolaan dana dilakukan oleh pemerintah.
b. Asuransi kesehatan swasta
Disebut asuransi kesehatan swasta ( private health insurance), jika
pengelolaan dana dilakukan oleh suatu badan swasta.
2. Ditinjau dari keikutsertaan anggota
Jika ditinjau dari keikutsertaan anggota, asuransi kesehatan dapat
dibedakan atas dua macam yakni:
a. Asuransi kesehatan wajib
Pada asuransi kesehatan wajib ( compulsary health insurance )
keikutsertaan peserta bersifat wajib. Dapat berlaku untuk setiap
penduduk ( national health insurance ) dan ataupun untuk
kelompok tertentu saja, misalnya dalam suatu perusahaan.
b. Asuransi kesehatan sukarela
Pada asuransi kesehatan sukarela ( compulsary health insurance ),
keikutsertaan peserta tidaklah wajib, melainkan terserah pada
kemauan masing-masing. Bentuk ini berlaku jika asuransi
kesehatan tersebut dikelola oleh swasta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
3. Ditinjau dari jenis pelayanan yang ditanggung
a. Menanggung seluruh jenis pelayanan kesehatan
Pada sistem asuransi kesehatan di mana pengelola dana juga
bertindak sebagai penyedia layanan, jenis pelayanan kesehatan
yang ditangung biasanya mencakup seluruh jenis palayanan
kesehatan ( comprehensive plans ).
b. Menanggung sebagian pelayanan kesehatan saja
Disini yang ditanggung hanya sebagian dari pelayanan kesehatan (
partial plans ) saja. Misalnya untuk macam pelayanan kesehatan
tertentu yang umumnya membutuhkan biaya besar.
4. Ditinjau dari jumlah dana yang ditanggung
Jika ditinjau dari jumlah dana yang ditanggung, asuransi kesehatan dapat
dibedakan atas dua macam yakni:
a. Menanggung seluruh biaya kesehatan yang diperlukan
Pada sistem ini seluruh biaya kesehatan ditanggung ( first dollar
principle ) oleh asuransi kesehatan.
b. Hanya menanggung pelayanan kesehatan dengan biaya yang tinggi
saja
Asuransi kesehatan hanya menanggung pelayanan kesehatan yang
membutuhkan biaya besar saja ( large loss principle ). Apabila biaya tersebut
masih di bawah standar yang ditetapkan, peserta harus membayar sendiri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
5. Ditinjau dari jumlah peserta yang ditanggung
Jika ditinjau dari jumlah peserta yang ditanggung, asuransi kesehatan apat
dibedakan atas dibedakan atas tiga macam yakni:
a. Peserta adalah perseorangan ( individual health insurance )
b. Peserta adalah satu keluarga ( family health insurance )
c. peserta adalah satu kelompok ( group health insurance )
6. Ditinjau dari peranan badan asuransi
Jika ditinjau dari peranan badan asuransi, asuransi kesehatan dapat
dibedakan atas dua macam yakni:
a. Hanya bertindak sebagai pengelola dana
Bentuk ini adalah bentuk klasik dari asuransi kesehatan yang
apabila dikombinasikan dengan sistem pembayaran ke sarana
kesehatan secara reimbursmet, dapat mendorong tingginya biaya
kesehatan. Tetapi apabila dikombinasikan dengan sistem
prepayment, biaya kesehatan akan dapat dikendalikan.
b. Juga bertindak sebagai penyelenggara pelayanan kesehatan
Pada bentuk ini akan diperoleh beberapa keuntungan yakni dapat
diawasinya biaya kesehatan, tetapi juga dapat mendatangkan
kerugian yaitu kurang sesuainya pelayanan kesehatan dengan
kebutuhan masyarakat.
7. Ditinjau dari cara pembayaran kepada penyelenggara kesehatan
Jika ditinjau dari cara pembayaran kepada penyelenggara pelayanan
kesehatan, asuransi kesehatan dapat dibedakan atas dua macam yakni:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
a. Pembayaran berdasarkan jumlah kunjungan peserta
Di sini pembayaran dilakukan berdasarkan jumlah kunjungan
peserta ( reimburstment ) yang memanfaatkan pelayanan
kesehatan.
b. Pembayaran dilakukan di muka
Pada sistem ini, pembayaran kepada penyedia layanan pembayaran
dilakukan di muka ( pre-payment), dalam arti setelah pelayanan
kesehatan selesai diselenggarakan.
2.7.4 Pendekatan Baru
Karena adanya masalah pada bentuk klasik asuransi kesehatan, maka pada
saat ini banyak dilakukan berbagai penyempurnaan. Penyempurnaan yang
dimaksud antara lain:
1. Mengganti sistem reimbursment menjadi sistem prepayment
Karena sistem reimbursment dapat mendorong pelayanan yang berlebihan
yang dapat memberatkan biaya kesehatan, maka pada saat ini sistem
reimbursment tersebut telah tidak banyak lagi dipergunakan. Untuk
menyempurnakannya, sistem reimbursment tersebut diganti menjadi
sistem prepayment. Di sini biaya tidak dihitung setelah pelayanan,
melainkan sebelumnya. Pada saat ini ada tiga bentuk sistem prepayment
yang dikenal yakni:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
a. Sistem kapitasi
Yang dimaksud dengan sistem kapitasi adalah sistem pembayaran
dimuka yang dilakukan oleh Badan Asuransi kepada sarana
pelayanan kesehatan berdasarkan kesepakatan harga untuk setiap
peserta yang dipertanggungkan.
b. Sistem paket
Yang dimaksud dengan sistem paket adalah sistem pembayaran di
muka yang dilakukan oleh Badan Asuransi kepada sarana
pelayanan kesehatan berdasarkan kesepakatan harga untuk suatu
paket pelayanan kesehatan tertentu.
c. Sistem anggaran
Yang dimaksud dengan sistem anggaran adalah sistem pembayaran
di muka yang dilakukan oleh Badan Asuransi kepada sarana
pelayanan kesehatan berdasarkan kesepakatan harga sesuai dengan
anggaran yang diajukan oleh sarana pelayanan kesehatan.
2. Menerapkan beberapa ketentuan pembatas
Cara lain yang ditempuh untuk menghindari makin tingginya biaya
kesehatan ialah dengan diperkenalkannya beberapa pembatasan dalam
memanfaatkan pelayanan kesehatan. Pembatasan yang dimaksud banyak
macamnya misalnya:
a. Hanya menanggung pelayanan kesehatan yang membutuhkan
biaya tinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Beberapa asuransi kesehatan menetapkan kebijakan menanggung
pelayanan kesehatan yang membutuhkan biaya tinggi saja ( large
loss principle ).
b. Hanya menanggung sebagian dari biaya pelayanan kesehatan
Beberapa asuransi kesehatan lainnya menetapkan kebijakan yang
menanggung sebagian dari biaya kesehatan dan sebagian lainnya
menjadi tanggungan peserta ( cost sharing )
3. Memadukan badan asuransi dengan penyedia layanan.
Artinya di samping bertanggung jawab mengelola dana juga bertanggung
jawab menyediakan pelayanan kesehatan.
2.7.5 Manajemen Peserta Asuransi
Bentuk kepesertaan program asuransi banyak macamnya. Secara umum bentuk
kepesertaan yang dimaksud dapat dibedakan atas tiga macam:
1. Sebagai perseorangan
Pada bentuk ini orang per orang menyatakan diri bersedia mengikuti
program asuransi, mendaftarkan diri serta membayar iuran kepada Badan
Asuransi, untuk kemudian berhak memperoleh pelayanan kesehatan dari
sarana kesehatan, sesuai dengan ketentuan-ketentuan yang telah
disepakati.
2. Sebagai satu keluarga
Pada bentuk ini satu keluarga menyatakan diri bersedia mengikuti program
asuransi, mendaftarkan diri serta membayar iuran kepada Badan Asuransi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Adapun yang dimaksud dengan satu keluarga di sini dapat dibedakan atas
dua macam:
a. Hanya keluarga inti ( nuclear family ) yang terdiri dari seorang
ayah, seorang ibu dan anak.
b. Termasuk mereka yang dianggap anggota keluarga ( extended
family ) seperti mertua, kemenakan dan atau pembantu rumah
tangga yang didaftarkan.
3. Sebagai satu kelompok
Pada bentuk ini satu kelompok anggota masyarakat tertentu, misalnya
karyawan suatu perusahaan swasta, penduduk yang bertempat tinggal pada
satu domisili tertentu dan atau suatu organisasi masyarakat tertentu,
menyatakan diri bersedia mengikuti program asuransi, mendaftarkan diri
serta membayar iuran kepada Badan Asuransi.
2.7.6 Isi Perjanjian Asuransi
Isi perjanjian ( elements of contract ) hendaknya mencantumkan hal-hal
sebagai berikut:
a. Kondisi perjanjian
Kondisi perjanjian ( term of contract ) berisikan keterangan tentang
waktu mulai berlakunya perjanjian, tanggal berakhirnya perjanjian
serta hal-hal khusus yang mengakibatkan batalnya perjanjian.
b. Mereka yang berhak mendapatkan pelayanan
menyangkut keterenagan siapa saja yang berhak mendapatkan
pelayanan ( eligiblity requirement ).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
c. Jenis pelayanan kesehatan yang akan diperoleh
Berisi penjelasan lengkap jenis pelayanan kesehatan yang akan
diperoleh. Jika ada pembatasan, misal rawat inap hanya di Rumah
Sakit kelas C, maka pembatas tersebut dijelaskan secara lengkap.
d. Sarana pelayanan yang dapat dimanfaatkan
Berisi penjelasan mengenai sarana pelayanan kesehatan yang
ditunjuk sebagai tempat pelayanan, alamat, hari buka, jam buka
dan tata cara mendapatkan pelayanan secara garis besar.
e. Pelayanan darurat yang dapat dimanfaatkan
Berisi penjelasan pelayanan darurat yang dapat dimanfaatkan,
alamat, dan tata cara mendapatkan pelayanan secara garis besar.
f. Bantuan pelayanan apabila sedang berada di luar kota.
Berisi penjelasan mengenai pelayanan di luar kota.
g. Pembayaran iuran
Uraian tata cara pembayaran iuran, termasuk jumlah, tanggal jatuh
tempo, bentuk pembayaran, cara pembayaran dan tempat
pembayaran.
h. Mengajukan keluhan
Uraian tata cara mengajukan keluhan dan tata cara penyelesaian
pengaduan / perselisihan.
i. Pembatalan dan pengakhiran
Uraian persyaratan dan tata cara pembatalan dan pengakhiran.
j. Perpanjangan kepesertaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Uraian persyaratan dan tata cara perpanjangan kepesertaan.
k. Masa tenggang
Berisi penjelasan mengenai masa tenggang asuransi.
l. Penambahan dan perubahan jenis pelayanan
Berisi penjelasan mengenai persyaratan dan tata cara penambahan
dan perubahan jenis pelayanan.
m. Pembatasan dan pengecualian
Berisi penjelasan mengenai batasan-batasan asuransi.
n. Ketentuan hukum dan perundang-undangan
Uraian mengenai ketentuan hukum dan perundang-undangan yang
dimaksud.
2.7.7 Manajemen Keuangan
Ruang lingkup manajemen Badan Asuransi mencakup beberpa bidang
yaitu:
1. Analisis aktuarial
Yang dimaksud dengan analisis akturial ( actuarial analysis ) adalah
analisis yang dilakukan untuk menetapkan dan menghitung besarnya iuran
( premi ) yang ditarik dari peserta, serta besarnya biaya yang harus
dibayarkan oleh Badan Asuransi kepada sarana kesehatan. Untuk
mencegah timbulnya resiko finansial, maka besarnya iuran yang ditarik
dari peserta harus telah memperhitungkan besarnya pembayaran terhadap
sarana kesehatan. Perhitungan yang dilakukan adalah sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
a. Menguraikan pelayanan kesehatan.
b. Menentukan jenis pelayanan kesehatan yang ditanggung.
c. Menetapkan sarana kesehatan.
d. Menghitung biaya untuk satu kali pemanfaatan.
e. Menghitung angka pemanfaatan.
f. Menghitung biaya untuk tiap peserta.
g. Menghitung besarnya biaya iuran.
2. Underwriting
Underwriting adalah melakukan penilaian terhadap kelompok calon
peserta untuk menetapkan apakah kelompok calon peserta tersebut
memenuhi syarat-syarat kepesertaan sehingga keikutsertaannya dalam
program asuransi tidak sampai mendatangkan resiko finansial. Teknik
melakukan underwriting untuk menentukan besarnya iuran tersebut
banyak macamnya. Secara umum dapat dibedakan atas tiga macam:
a. Community rating.
Bentuk community rating secara umum dapat dibedakan atas dua
macam:
Pure community rating
Pada bentuk asli ini besarnya iuran ( premi ) dihitung
dengan membagi rata seluruh biaya pelayanan dengan
jumlah anggota yang terdaftar.
Community rating by class
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Pada bentuk modifikasi ini, perhitungan besarnya iuran tiap
peserta telah mempertimbangkan perbedaan golongan
umur, jenis kelamin, status perkawinan dan pekerjaan
peserta.
b. Experience rating
Bentuk experience rating dapat dibedakan atas dua macam:
Retrospective experience rating
Besarnya iuran ditentukan dari pengalaman
menyelenggarakan pelayanan kesehatan untuk kelompok
tersebut pada tahun yang lalu. Pada akhir tahun dilakukan
perhitungan, jika pengeluaran lebih besar, peserta harus
menambah kekurangannya. Jika berlebih harus
dikembalikan kepada peserta.
Prospective experience rating
Pada bentuk ini sekalipun besarnya iuran ditentukan pula
oleh pengalaman tahun lalu, tetapi pada akhir tahun tidak
dilakukan perhitungan. Keuntungan atau kerugian
ditanggung sendiri oleh Badan Asuransi.
c. Risk rating
Prinsip pokok risk rating sama dengan community rating by class.
Perbedaannya penetapan besarnya iuran tidak hanya atas dasar
perbedaan ciri-ciri peserta, tetapi juga atas dasar perbedaan jenis
pelayanan kesehatan yang akan dipergunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
3. Pengumpulan iuran
Apabila besarnya iuran telah ditetapkan, kegiatan selanjutnya yang
dilakukan adalah mengumpulkan iuran dari peserta ( collecting ).
Tergantung dari bentuk kepesertaan, pengumpulan dana dari peserta
bermacam-macam. Jika pesertanya perseorangan atau keluarga,
pengumpulan dana dilakukan secara langsung. Tetapi jika berkelompok,
pengumpulan dana dilakukan melalui penanggung jawab kelompok. Jika
dibandingkan ketiga bentuk pengumpulan dana ini, yang terbaik adalah
pengumpulan dana secara berkelompok. Pada bentuk ini, sistem
administrasi yang dipergunakan akan lebih sederhana. Dampaknya, tidak
hanya akan menekan biaya penyelenggaran program asuransi, tetapi juga
besarnya iuran yang ditarik dari peserta.
4. Pembayaran kepada sarana kesehatan.
Yang dimaksud dengan pembayaran kepada sarana kesehatan adalah
pembayaran yang dilakukan oleh Badan Asuransi kepada sarana kesehatan
untuk pelayanan kesehatan yang diselenggarakan oleh sarana kesehatan
sesuai dengan kesepakatan. Pada saat ini pembayaran yang dilakukan
adalah pemabayaran di muka ( prepayment ) yang dibedakan atas tiga
macam yakni: sistem kapitasi, sistem paket, atau sistem anggaran. Khusus
untuk sistem prepayment dalam bentuk paket, pembayaran dilakukan
sebagai berikut:
Setelah menerima surat tagihan dari sarana kesehatan, memeriksa
kebenaran tagihan yang diterima tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Apabila tidak ada kesalahan, maka tagihan tersebut dibayar sesuai
dengan ketentuan yang telah disepakati.
Apabila ditemukan kesalahan atau keragu-raguan, komunikasikan
dengan sarana kesehatan secepat mungkin sehingga tidak
melampaui batas tenggang waktu yang telah disepakati.
Membukukan pembayaran sesuai dengan waktu pembayaran.
5. Accountability
Yang dimaksud dengan accountability adalah pertanggung jawaban Badan
Asuransi terhadap pengelolaan dana yang diterima dari peserta.
Accountability menitik beratkan pada masalah keuangan.
6. Reinsurance
Yang dimaksud reinsurance ialah upaya mengasuransikan program
asuransi yang diselenggarakannya kepada badan asuransi lain, sehingga
apabila terjadi resiko yang tidak diinginkan akan tersedia sejumlah dana
untuk mengatasinya. Pada dasarnya reinsurance ini bermaksud untuk
mengalihkan sebagian dari resiko yang dihadapi oleh Badan Asuransi
kepada badan asuransi lain.
7. Insolve coverage
Yang dimaksud dengan insolve coverage adalah upaya mengasuransikan
program asuransi yang diselenggararkannya kepada badan asuransi lain
sehingga apabila bangkrut akan tetap dapat membiayai pelayanan
kesehatan yang dibutuhkan oleh peserta yang masih menjadi jaminan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Tujuan insolve coverage pada dasarnya adalah untuk berjaga-jaga terhadap
kemungkinan bangkrutnya Badan Asuransi.
8. Investasi
Yang dimaksud dengan investasi ialah kegiatan yang dilakukan oleh
Badan Asuransi berupa penempatan sejumlah uang atau modal yang
dimiliki ke dalam salah satu bentuk pemilikan dengan tujuan untuk
mendapatkan suatu hasil yang menguntungkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
3.1.1 Gambaran Umum Sistem Yang Lama
Rumah Sakit Santa Maria, Pekanbaru belum memiliki sistem informasi
pembayaran biaya perawatan pasien khususnya pembayaran biaya perawatan
pasien yang menggunakan restitusi biaya kesehatan dari perusahaan. Penanganan
dan proses pembayaran biaya perawatan pasien yang menggunakan asuransi
kesehatan seperti perhitungan biaya yang ditanggung oleh asuransi, perincian
biaya yang ditanggung oleh asuransi, jumlah tagihan asuransi masih dilakukan
secara manual.
Di Rumah Sakit Santa Maria sendiri, terdapat bagian yang mengurusi
masalah penagihan yang secara umum menjadi satu bagian dengan bagian
keuangan. Bagian keuangan ini sendiri menangani secara keseluruhan semua hal
yang berkaitan dengan keuangan rumah sakit. Kompleksitas yang tinggi dalam hal
keuangan rumah sakit menuntut tiap bagiannya untuk bekerja secara cepat dan
efisien.
Bagian penagihan sendiri secara tidak langsung berhubungan dengan
bagian pendaftaran pasien, dan bagian pembayaran. Bagian penagihan
bertanggung jawab terhadap semua pembayaran non tunai dari pasien dalam hal
ini bagi pasien yang menggunakan jasa asuransi kesehatan yang disediakan oleh
instansi atau perusahaan tempat dia bekerja. Banyaknya perusahaan,instansi,dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
badan asuransi yang memiliki kontrak kerja dengan rumah sakit dan perbedaan
kontrak pemberian asuransi bagi kliennya mengakibatkan pemrosesan
keuangannya menjadi lama dan sering terjadi kesalahan dalam perhitungan biaya.
Bagian penagihan sendiri menerima data dari bagian pendaftaran dan
pembayaran. Bagian penagihan menerima data pasien yang menggunakan jasa
asuransi sedangkan dari bagian pembayaran data yang diterima berupa total biaya
keseluruhan pengobatan dan perawatan pasien yang menggunakan asuransi
kesehatan Data dari bagian pembayaran inilah yang nantinya akan diolah dan
diproses lebih lanjut sehingga menjadi laporan perincian dan total biaya yang akan
ditagihkan ke instansi, perusahaan, dan badan.
3.1.2 Gambaran Umum Sistem Yang Dikembangkan
Sistem yang akan dikembangkan ini nantinya akan menangani data-data
transaksi antara lain:
a. Mencatat data instansi, perusahaan, dan lembaga yang sudah
memiliki kontark kerja dengan rumah sakit.
b. Mencatat data pasien, khususnya untuk pasien rawat jalan yang
menggunakan asuransi kesehatan.
c. Mencatat data pembayaran, khususnya untuk pasien rawat jalan
yang meggunakan asuransi kesehatan.
d. Menghasilkan laporan penagihan dari bagian penagihan yang akan
ditagihkan ke instansi, perusahaan, dan lembaga.
e. Menghasilkan informasi laporan penagihan dan pembayaran biaya
perawatan pasien rawat jalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Admin seetelah login dapat melakukan penambahan data yaitu
penambahan data user, penambahan data instansi, perusahaan, dan lembaga
asuransi, jika ada data instansi, perusahaan, dan lembaga yang masuk. Admin juga
dapat melakukan penambahan dan pengubahan data pembayaran yang di peroleh
dari bagian pembayaran. Selain itu admin juga dapat manambah dan mengubah
data pasien rawat jalan yang di dapat dari bagian pendaftaran.
Bagian penagihan setelah login dapat melihat data penagihan dan data
pembayaran pasien rawat jalan.
Kasir setelah sukses melakukan login dapat melihat data pembayaran
pasien rawat jalan. Selain itu, kasir juga memiliki hak untuk menambah data
pembayaran pasien rawat jalan dan menambah serta mengubah data pasien rawat
jalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
3.2 Requirement Analysist
3.2.1 Use Case Diagram
a. Admin
Admin
Gambar 3.1 Use Case Admin
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
b. Kasir
Kasir
Gambar 3.2 Use Case Kasir
c. Penagihan
Penagihan
Gambar 3.3 Use Case Penagihan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
3.3 Logical Design
3.3.1 ER Diagram
USER
USER_NAME [ PK1 ]
PASSWORDID_ROLE
ROLE
ID_ROLE [ PK1 ]
ROLE
DOKTER
ID_DOKTER [ PK1 ]
NAMA_DOKTERALAMAT_DOKTER
KOTATELP
BIDANG
PEMBAYARAN
NO_FOLIO [ FK1 ]NO_MR [ FK2 ]
ID_PERUSAHAANNAMA_PASIEN
NAMA_PERUSAHAANB_DOKTER_DIBAYAR
B_OBAT_DIBAYARB_TAMBAHAN_DIBAYAR
TOTAL_DIBAYARTEMPAT_PENANGANAN
TAMBAHAN_PELAYANANNAMA_DOKTER
SPESIALISB_DOKTER_PENAGIHAN
B_OBAT_PENAGIHANB_TAMBAHAN_PENAGIHAN
TOTAL_PENAGIHANTGL_BAYAR
ID_DOKTER [FK 3]ID_POLI [FK4]
POLIKLINIK
ID_POLI [ PK1 ]
NAMA_POLI
PASIEN
NO_MR [ PK1 ]
NAMA_PASIENALAMAT_PASIEN
TGL_LAHIRKOTAUMUR
JNS_KELAMINSTATUSAGAMA
NAMA_ORTUNAMA_PERUSAHAAN
ID_PERUSAHAANTGL_MASUK
PERUSAHAAN
ID_PERUSAHAAN
NAMA_PERUSAHAANALAMAT_PERUSAHAAN
CONTACT_PERSONUMUMANAKSPOGBKIATHT
BEDAHDALAM
GIGIFISIOTERAPI
KULITMATAODS
RONTGENLABUSG
OBAT
BIAYA
NO_FOLIO [ PK1 ]
NO_MR [ FK1 ]T_BIAYA_DOKTER
T_BIAYA_OBATT_BIAYA_TAMBAHAN
T_BIAYA_KESELURUHAN
punya
punya punya
punya punya
transaksi
punya
punya
Gambar 3.4 Entity Relational Model
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
3.3.2 Proses Modelling ( DFD Diagram )
3.3.2.1 Context Diagram
0
Sistem InformasiPembayaran BiayaPerawatan Pasien
yang MenggunakanAsuransi Kesehatan
dari Perusahaan
Admin
Penagihan Kasir
Informasi Data User, Informasi DataPerusahaan, Informasi Data Biaya
Pasien Rawat Jalan, Informasi DataPasien Rawat Jalan, Informasi Data
Pembayaran Pasien Rawat Jalan,Informasi Data Penagihan Pasien
Rawat Jalan, Informasi Data Dokter,Informasi Data Poliklinik
Username dan Password bagianAdmin, Data User, Data
Perusahaan, Data Pasien RawatJalan, Data Biaya Pasien RawatJalan, Data Pembayaran Pasien
Rawat Jalan,Data PenagihanPasien Rawat Jalan, Data Dokter,
Data Poliklinik
Informasi DataPasien Rawat Jalan,
Informasi DataPembayaran Pasien
Rawat Jalan,Informasi Data
Penagihan PasienRawat Jalan.
Username danPassword bagian
Penagihan
Username danPassword bagian
Kasir, Data PasienRawat Jalan, Data
Biaya Pasien RawatJalan, Data
Pembayaran PasienRawat Jalan
Informasi Data PasienRawat Jalan, Informasi
Data Biaya PasienRawat Jalan, Informasi
Data PembayaranPasien Rawat Jalan
Gambar 3.5 Context Diagram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
3.3.2.2 Diagram Berjenjang
Gambar 3.6 Diagram Berjenjang bagian 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Gambar 3.7 Diagram Berjenjang bagian 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Gambar 3.8 Diagram Berjenjang bagian 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
3.3.2.3 Overview Diagram
Gambar 3.9 Overview Diagram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
3.3.2.4 Data Flow Diagram (DFD)
Gambar 3.10 DFD Level 1 Proses 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Gambar 3.11 DFD Level 1 Proses 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 3.12 DFD Level 1 Proses 2.2
Gambar 3.13 DFD Level 2 Proses 1.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Gambar 3.14 DFD Level 2 Proses 1.4
Gambar 3.15 DFD Level 2 Proses 1.6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Gambar 3.16 DFD Level 2 Proses 1.8
Gambar 3.17 DFD Level 2 Proses 1.10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Gambar 3.18 DFD Level 2 Proses 1.12
Gambar 3.19 DFD Level 2 Proses 1.14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 3.20 DFD Level 2 Proses 1.16
Gambar 3.21 DFD Level 2 Proses 2.4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Gambar 3.22 DFD Level 2 Proses 3.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
3.3.2.5 Tabel Entity, Input, Output
Entity Input Output
Admin Username dan Password
bagian Admin, Data
User, Data Perusahaan,
Data Pasien Rawat Jalan,
Data Biaya Pasien Rawat
Jalan, Data Pembayaran
Pasien Rawat Jalan,Data
Penagihan Pasien Rawat
Jalan, Data Dokter, Data
Poliklinik
Informasi Data User,
Informasi Data
Perusahaan, Informasi
Data Biaya Pasien Rawat
Jalan, Informasi Data
Pasien Rawat Jalan,
Informasi Data
Pembayaran Pasien
Rawat Jalan, Informasi
Data Penagihan Pasien
Rawat Jalan, Informasi
Data Dokter, Informasi
Data Poliklinik
Kasir Username dan Password
bagian Kasir, Data Pasien
Rawat Jalan, Data Biaya
Pasien Rawat Jalan, Data
Pembayaran Pasien
Informasi Data Pasien
Rawat Jalan, Informasi
Data Biaya Pasien Rawat
Jalan, Informasi Data
Pembayaran Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Rawat Jalan Rawat Jalan
Penagihan Username dan Password
bagian Penagihan
Informasi Data Pasien
Rawat Jalan, Informasi
Data Pembayaran Pasien
Rawat Jalan, Informasi
Data Penagihan Pasien
Rawat Jalan.
Tabel 3.1 Tabel Entity, Input, Output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
3.4 Relasi Antar Tabel
USER_NAME*PASSWORDID_ROLE
USER1
ID_ROLE*ROLE
ROLE
ID_DOKTER*NAMA_DOKTERALAMAT_DOKTERKOTATELPBIDANG
DOKTER
NO_FOLIO**NO_MR**ID_PERUSAHAAN**NAMA_PASIENNAMA_PERUSAHAANB_DOKTER_DIBAYARB_OBAT_DIBAYARB_TAMBAHAN_DIBAYARTOTAL_DIBAYARTEMPAT_PENANGANANTAMBAHAN_PELAYANANNAMA_DOKTERSPESIALISB_DOKTER_PENAGIHANB_OBAT_PENAGIHANB_TAMBAHAN_PENAGIHANTOTAL_PENAGIHANTGL_BAYARID_DOKTER**ID_POLI*
PEMBAYARAN
ID_POLI*NAMA_POLI
POLIKLINIK
ID_PERUSAHAAN*NAMA_PERUSAHAANALAMAT_PERUSAHAANCONTACT_PERSONUMUMANAKSPOGBKIATHTBEDAHDALAMGIGIFISIOTERAPIKULITMATAODSRONTGENLABUSGOBAT
NO_MR*NAMA_PASIENALAMAT_PASIENTGL_LAHIRKOTAUMURJNS_KELAMINSTATUSAGAMANAMA_ORTUNAMA_PERUSAHAANID_PERUSAHAAN**TGL_MASUK
NO_FOLIO*NO_MR**T_BIAYA_DOKTERT_BIAYA_OBATT_BIAYA_TAMBAHANT_BIAYA_KESELURUHAN
PERUSAHAAN
PASIENBIAYA
Gambar 3.23 Relasi Antar Tabel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
3.5 Desain Database
Tabel USER1
Nama Field Tipe Panjang
USER_NAME* varchar 10
PASSWORD varchar 15
ID_ROLE int 4
Tabel 3.2 Tabel User1
Tabel ROLE
Nama Field Tipe Panjang
ID_ROLE* int 4
ROLE varchar 30
Tabel 3.3 Tabel Role
Tabel POLIKLINIK
Nama Field Tipe Panjang
ID_POLI* varchar 4
NAMA_POLI varchar 30
Tabel 3.4 Tabel Poliklinik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Tabel PERUSAHAAN
Nama Field Tipe Panjang
ID_PERUSAHAAN* varchar 4
NAMA_PERUSAHAAN varchar 40
ALAMAT_PERUSAHAAN varchar 40
CONTACT_PERSON varchar 40
UMUM int 4
ANAK int 4
SPOG int 4
BKIA int 4
THT int 4
BEDAH int 4
DALAM int 4
GIGI int 4
FISIOTERAPI int 4
KULIT int 4
MATA int 4
ODS int 4
RONTGEN int 4
LAB int 4
USG int 4
OBAT int 4
Tabel 3.5 Tabel Perusahaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Tabel PEMBAYARAN
Nama Field Tipe Panjang
NO_FOLIO* varchar 20
NO_MR varchar 20
ID_PERUSAHAAN varchar 4
NAMA_PASIEN varchar 40
NAMA_PERUSAHAAN varchar 40
B_DOKTER_DIBAYAR decimal 5
B_OBAT_DIBAYAR decimal 5
B_TAMBAHAN_DIBAYAR decimal 5
TOTAL_DIBAYAR decimal 5
TEMPAT_PENANGANAN varchar 20
TAMBAHAN_PELAYANAN varchar 20
NAMA_DOKTER varchar 40
SPESIALIS varchar 15
B_DOKTER_PENAGIHAN decimal 5
B_OBAT_PENAGIHAN decimal 5
B_TAMBAHAN_PENAGIHAN decimal 5
TOTAL_PENAGIHAN decimal 5
TGL_BAYAR datetime 8
ID_DOKTER varchar 4
ID_POLI varchar 4
Tabel 3.6 Tabel Pembayaran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Tabel PASIEN
Nama Field Tipe Panjang
NO_MR* varchar 20
NAMA_PASIEN varchar 40
ALAMAT_PASIEN varchar 40
TGL_LAHIR datetime 8
KOTA varchar 20
UMUR int 4
JNS_KELAMIN varchar 10
STATUS varchar 15
AGAMA varchar 15
NAMA_ORTU varchar 40
NAMA_PERUSAHAAN varchar 40
ID_PERUSAHAAN varchar 4
TGL_MASUK datetime 8
Tabel 3.7 Tabel Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Tabel DOKTER
Nama Field Tipe Panjang
ID_DOKTER* varchar 4
NAMA_DOKTER varchar 40
ALAMAT_DOKTER varchar 40
KOTA varchar 20
TELP varchar 14
BIDANG varchar 30
Tabel 3.8 Tabel Dokter
Tabel BIAYA
Nama Field Tipe Panjang
NO_FOLIO* varchar 20
NO_MR varchar 20
T_BIAYA_DOKTER decimal 5
T_BIAYA_OBAT decimal 5
T_BIAYA_TAMBAHAN decimal 5
T_BIAYA_KESELURUHAN decimal 5
Tabel 3.9 Tabel Biaya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
3.6 Desain Input Dan Output Sistem
1.Desain Form Splash Screen dan Desain Menu
Gambar 3.1 merupakan desain Splash Screen yang akan menjadi tampilan awal.
Gambar 3.24 Desain Splash Screen
Gambar 3.25 merupakan desain Menu pada Form Utama
Gambar 3.25 Desain Menu Form Utama
Sistem Informasi Rumah Sakit
Skip
File Data Laporan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
2. Desain Input
Gambar 3.26 merupakan halaman desain Form Login
Gambar 3.26 Desain Form Login.
Gambar 3.27 merupakan desain Form Data User. Form ini nantinya akan
digunakan untuk memasukkan data user system informasi ini.
Gambar 3.27 Desain Form Data User.
LOGIN USER
Username
Password
Reset Login Cancel
Username :
Password :
Bagian :
Add
Edit
Clear
Delete
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Gambar 3.28 merupakan desain Form Data Perusahaan. Form ini digunakan untuk
memasukkan data perusahaan.
Gambar 3.28 Desain Form Data Perusahaan.
Gambar 3.29 merupakan desain Form Pasien
Gambar 3.29 Desain Form Pasien.
Add
Edit
Clear
Delete
ID Perusahaan :Nama Perusahaan :Alamat Perusahaan:Contact Person :
Umum
Anak
SPOG
BKIA
THT
Bedah
Dalam
Gigi
Fisiote
Kulit
Mata
ODS
Rontgen
Lab
USG
ObatObat
Add
Edit
Clear
Delete
NO MR
Nama Pasien
Alamat Pasien
Tgl Lahir
Kota
Umur
Jenis Kelamin
Status
Agama
Orang Tua
ID Perusahaan
Nama Perusahaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Gambar 3.30 merupakan desain Form Biaya Pasien.
Gambar 3.30 Desain Form Biaya Pasien.
Add
Edit
Clear
Delete
No Folio :
No MR :
Nama Pasien :
Alamat Pasien :
Nama Parusahaan :
Total Biaya Obat
Total Biaya Dokter
Total Biaya Tambahan
HitungTotal Biaya Keseluruhan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Gambar 3.31 merupakan desain Form Data Pembayaran Pasien Rawat Jalan.
Gambar 3.31 Desain Form Data Pembayaran Pasien Rawat Jalan.
No Folio :
No MR :
Nama Pasien :
ID Perusahaan :
Nama Perusahaan :
Tempat Penanganan
Tambahan Pelayanan
Nama Dokter
Spesialis
Hitung
HitungB Dokter Penagihan
B Obat Penagihan
B Tambah Penagihan
Total Penagihan
B Dokter Dibayar
B Obat Dibayar
B Tambah Dibayar
Total Dibayar
Add Edit Clear Delete
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Gambar 3.32 merupakan desain Form Data Penagihan Biaya Pasien.
Gambar 3.32 Desain Form Data Penagihan Biaya Pasien.
Gambar 3.33 merupakan desain Form Data Dokter.
Gambar 3.33 Desain Form Data Dokter.
Add
Edit
Clear
Delete
No.Folio :
No.MR :
Nama Pasien :
Nama Perusahaan :
Total Biaya Dibayar :
Total Biaya Penagihan :
Tanggal Pembayaran :
Add
Edit
Clear
Delete
ID Dokter :
Nama Dokter :
Spesialis :
Alamat :
Kota :
No Telp :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Gambar 3.34 merupakan desain untuk Form Poliklinik.
Gambar 3.34 Desain Form Poliklinik.
ID Poliklinik :
Nama Poliklinik :
Add
Edit
Clear
Delete
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
BAB IV
IMPLEMENTASI SISTEM
4.1 Karakteristik Sistem
Sistem ini dibangun sebagai Sistem Informasi Pembayaran Biaya
Perawatan Pasien yang Menggunakan Asuransi Kesehatan dari Perusahaan.
Sistem ini merupakan salah satu bagian dari Sistem Informasi Rumah Sakit yang
digunakan untuk membantu proses penyelesaian tagihan perawatan pasien yang
menggunakan asuransi kesehatan dari perusahaan, mempermudah biaya perincian
asuransi kesehatan dan menghasilkan laporan penagihan biaya pasien kepada
perusahaan. Sistem ini dibuat hanya untuk menangani pasien rawat jalan. Sistem
ini masih bersifat standalone dan dapat mendukung penggunaan secara multi user.
Pada sistem ini terdapat tiga buah user yang masing-masing memiliki hak
akses yang berbeda. Administrator yang bertindak sebagai user pada sistem ini
memiliki hak akses penuh atas pengelolaan sistem seperti pengelolaan user,
pengelolaan biaya pasien rawat jalan, pengelolaan dokter, pengelolaan poliklinik,
pengelolaan pasien rawat jalan, pengelolaan perusahaan, pengelolaan tagihan,
pengelolaan pembayaran serta pengelolaan laporan. Administrator pada system ini
juga memiliki hak penuh untuk memanipulasi data pada tiap-tiap bagian. Kasir
yang bertindak pada sistem ini hanya memiliki hak akses pada bagian biaya
pasien rawat jalan, data pasien rawat jalan, dan pembayaran pasien rawat jalan.
Kasir juga memiliki hak untuk mengakses laporan pada bagian pasien rawat jalan,
data pasien rawat jalan dan pembayaran pasien rawat jalan. Sedangkan untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
bagian penagihan hanya memiliki hak akses pada data pasien, data pembayaran
dan data penagihan serta laporan data pasien, pembayaran dan penagihan.
4.2 Kebutuhan Sistem
Untuk dapat menjalankan sistem dibutuhkan beberapa sistem penunjang
antara lain:
Sistem operasi windows 2000 atau windows 2000 server atau windows
XP.
SQL Server 2000.
Net. Framework
Visual Basic.Net
4.3 User Interface
User interface ini merupakan implementasi dari proses modeling yang
ada. Proses transaksi yang terjadi pada sistem akan dibagi menjadi tiga yaitu
proses transaksi bagian administrator, proses transaksi bagian kasir, dan proses
transaksi bagian penagihan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
4.3.1 User Interface Proses Transaksi Administrator
4.3.1.1 User Interface Splash Screen
Gambar 4.1 merupakan user interface untuk splash screen.
Gambar 4.1 User Interface untuk Splash Screen
Berikut ini adalah perintah yang digunakan untuk Splash Screen.
Private Sub SplashTimer_Tick(ByVal sender As System.Object, ByVale As System.EventArgs) Handles SplashTimer.Tick
ProgressBar1.Value += 2
If ProgressBar1.Value <= 30 Then
Label4.Text = "Initialising Application ....."
ElseIf ProgressBar1.Value <= 50 Then
Label4.Text = "Loading Data Component ....."
ElseIf ProgressBar1.Value <= 70 Then
Label4.Text = "Integration Database ...."
ElseIf ProgressBar1.Value <= 100 Then
Label4.Text = "Please Wait ...."
End IfIf ProgressBar1.Value = 98 Then
Dim form As New Welcomeform.ShowDialog()
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
If ProgressBar1.Value = 100 ThenSplashTimer.Dispose()Timer.Dispose()Me.Visible = False
End IfEnd Sub
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Timer.Tick
If bool = True Thenbool = Not bool
ElseIf bool = False Thenbool = Not bool
End If
If bool = True ThenMe.Label3.Visible = FalseMe.Label5.Visible = FalseMe.Label7.ForeColor = System.Drawing.Color.BlueViolet
ElseMe.Label3.Visible = TrueMe.Label5.Visible = TrueMe.Label7.ForeColor = System.Drawing.Color.Violet
End IfEnd Sub
Private Sub Label7_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Label7.Click
Dim form As New WelcomeSplashTimer.Dispose()Timer.Dispose()Me.Visible = Falseform.ShowDialog()
End Sub
4.3.1.2 User Interface Welcome Screen
Setelah proses loading pada splash screen selesai maka akan muncul user
interface welcome screen. Gambar 4.2 merupakan user interface untuk welcome
screen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Gambar 4.2 User Interface untuk Welcome Screen
Welcome Screen ini berfungsi sebagai halaman muka dari sistem yang
akan digunakan oleh user. Jika user ingin masuk ke dalam sistem maka user dapat
menekan tombol Sign In yang tersedia dan jika user ingin keluar dari sistem maka
user dapat menekan tombol Exit.
Berikut ini adalah perintah yang digunakan pada welcome screen untuk
proses Sign In.
Private Sub btnSignIn_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnSignIn.Click
Dim form As New Loginform.Show()Me.Hide()
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
4.3.1.3 User Interface Proses Login
Setelah user menekan tombol Sign In pada welcome screen, maka akan
muncul user interface proses login. Gambar 4.3 merupakan user interface untuk
proses login.
Gambar 4.3 User Interface Proses Login
Berikut ini adalah perintah untuk user interface proses login.
Dim i As Integer
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnLogin.Click
If txtUser.Text = "" And txtPassword.Text = "" ThenMsgBox("Data Login Tidak Lengkap", MsgBoxStyle.OKOnly,
"Info")txtUser.Focus()
ElseIf txtUser.Text = "" ThenMsgBox("Data User Name Masih Kosong",
MsgBoxStyle.OKOnly, "Info")txtUser.Focus()
ElseIf txtPassword.Text = "" ThenMsgBox("Silahkan masukkan Password anda",
MsgBoxStyle.OKOnly, "Info")txtPassword.Focus()
ElseTry
Dim Conn As SqlConnectionConn = Database()Conn.Open()Dim myReader As SqlDataReaderDim Id_Role As Integer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Dim command As SqlCommandDim sql As String = "Select Id_Role from User1
Where User_Name= '" & txtUser.Text.Trim & "' And Password= '" &txtPassword.Text.Trim & "' "
command = New SqlCommand(sql, Conn)myReader = command.ExecuteReader()If myReader.HasRows Then
i = 0While myReader.Read()
Id_Role = myReader.Item("ID_ROLE")End WhilemyReader.Close()
End If
If Id_Role = 1 ThenShow_Admin()Me.Hide()
ElseIf Id_Role = 2 ThenShow_Kasir()Me.Hide()
ElseIf Id_Role = 3 ThenShow_Penagihan()Me.Hide()
Elsei = i + 1MsgBox("Maaf, Login dan Password Anda Tidak
Terdaftar!!!", MsgBoxStyle.OKOnly, "Info")Clear()If i = 3 Then
MsgBox("Maaf, Anda Bukan User, Akses MasukAnda Ditolak!!!", MsgBoxStyle.Exclamation, "Warning")
Dim form As New Welcomeform.Show()Me.Hide()
End IfEnd IfConn.Close()
Catch ex As ExceptionMessageBox.Show("Maaf, Anda Bukan User, Akses
Masuk Anda Ditolak!!!", "Warning", MessageBoxButtons.OK,MessageBoxIcon.Information)
Dim form As New WelcomeForm.Show()Me.Hide()
End TryEnd If
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Berikut ini adalah perintah untuk koneksi ke database SQL Server 2000.
Module ConnectionPublic Function Database()
Dim myConn As SqlConnectionmyConn = New SqlConnection("server=CHIMERA; database=RS;
Trusted_Connection=yes")Return myConn
End FunctionEnd Module
Berikut ini adalah perintah untuk fungsi membaca data numeric, membaca
database, dan mengeksekusi query pada database.
Module FungsiPrivate myConn As SqlConnection
Public Function getNumeric(ByVal sqlQuery As String) AsInteger
myConn = Database()myConn.Open()Dim myReader As SqlDataReaderDim cmd As SqlCommandDim data As Integercmd = New SqlCommand(sqlQuery, myConn)myReader = cmd.ExecuteReaderTry
If myReader.Read Thendata = myReader.GetValue(0)
End IfCatch ex As Exception
MessageBox.Show("Failed to reader cause " &ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
End TrymyReader.Close()myConn.Close()Return data
End Function
Public Function isEmpty(ByVal sqlQuery As String) As IntegermyConn = Database()myConn.Open()Dim myReader As SqlDataReaderDim cmd As SqlCommandcmd = New SqlCommand(sqlQuery, myConn)myReader = cmd.ExecuteReaderTry
If myReader.HasRows ThenisEmpty = 0
ElseisEmpty = 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
End IfCatch ex As Exception
MessageBox.Show("Failed to reader cause " &ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
End TrymyReader.Close()myConn.Close()Return isEmpty
End Function
Public Function executeQuery(ByVal sqlQuery As String)myConn = Database()myConn.Open()Try
Dim commandExe As New SqlCommand(sqlQuery, myConn)commandExe.ExecuteNonQuery()
Catch ex As ExceptionMessageBox.Show("Failed to reader cause " &
ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)End TrymyConn.Close()
End FunctionEnd Module
Proses login ini harus dilakukan oleh semua user untuk bisa menggunakan
aplikasi ini. Data yang diinputkan adalah nama user dan data password petugas.
Jika data yang diinputkan tidak sesuai, maka aplikasi tidak bisa digunakan oleh
user. Jika user lupa memasukkan salah satu dari nama user atau data passwordnya
maka akan muncul kotak pesan yang mengatakan bahwa data yang dimasukkan
tidak lengkap, dan diharapkan user melengkapi data inputannya. Gambar 4.4
merupakan user interface yang berupa kotak pesan pemberitahuan bahwa data
yang dimasukkan belum lengkap.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
Gambar 4.4 Kotak Pesan Konfirmasi Data Tidak Lengkap
Jika data login yang diinputkan salah maka akan muncul kotak pesan
pemberitahuan bahwa data yang diinputkan tidak terdaftar . Gambar 4.5
merupakan user interface yang berupa kotak pesan pemberitahuan bahwa data
yang dimasukkan salah atau tidak terdaftar.
Gambar 4.5 Kotak Pesan Konfirmasi Data Tidak Terdaftar
Jika data login yang dimasukkan user salah selama tiga kali maka akan
muncul kotak pesan pemberitahuan bahwa akses masuk ditolak dan user otomatis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
akan keluar dari aplikasi. Gambar 4.6 merupakan user interface yang berupa kotak
pesan pemberitahuan bahwa akses masuk ditolak.
Gambar 4.6 Kotak Pesan Konfirmasi Akses Ditolak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
4.3.1.4 User Interface Halaman Utama Administrator
Setelah proses login berhasil, selanjutnya user akan masuk ke halaman
utama. Halaman utama yang ditampilkan sesuai dengan hak akses atau bagian
masing-masing dari user. Gambar 4.7 merupakan user interface halaman utama
untuk administrator.
Gambar 4.7 Halaman Utama Administrator
Berikut ini adalah perintah untuk user interface halaman utama
administrator.
Public Class frmUtamaInherits System.Windows.Forms.Form
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
mnuLogin.Enabled = FalseEnd Sub
Private Sub mnuLapPembayaran_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuLapPembayaran.Click
Dim frmlappembayaran As New frmLapPembayaranfrmlappembayaran.ShowDialog()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
End Sub
Private Sub mnuExit_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles mnuExit.Click
EndEnd Sub
Private Sub mnuPerusahaan_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuPerusahaan.Click
Dim frmdetailperusahaan As New frmDetailPerusahaanfrmdetailperusahaan.ShowDialog()
End Sub
Private Sub mnuLapPerusahaan_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesmnuLapPerusahaan.Click
Dim frmlapperusahaan As New frmLapPerusahaanfrmlapperusahaan.ShowDialog()
End Sub
Private Sub mnuPenagihan_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuPenagihan.Click
Dim frmdetailpenagihan As New frmDetailPenagihanfrmdetailpenagihan.ShowDialog()
End Sub
Private Sub mnuLogin_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuLogin.Click
Dim form As New Loginform.MdiParent = Meform.Show()
End Sub
Private Sub mnuLogout_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuLogout.Click
Dim form As New Welcomeform.Show()Me.Hide()
End Sub
Private Sub mnuUser_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles mnuUser.Click
Dim frmdetailuser As New frmDetailUserfrmdetailuser.ShowDialog()
End Sub
Private Sub mnuPasien_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuPasien.Click
Dim frmdetailpasien As New frmDetailPasienfrmdetailpasien.ShowDialog()
End SubPrivate Sub mnuContact_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles mnuContact.ClickDim HelpUser As New HelpHelpUser.ShowDialog()
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
Private Sub mnuPembayaran_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuPembayaran.Click
Dim frmdetailpembayaran As New frmDetailPembayaranfrmdetailpembayaran.ShowDialog()
End Sub
Private Sub mnuData_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles mnuData.Click
End Sub
Private Sub mnuBiaya_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuBiaya.Click
Dim frmdetailbiaya As New frmDetailBiayafrmdetailbiaya.ShowDialog()
End Sub
Private Sub mnuLapUser_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuLapUser.Click
Dim frmlapuser As New frmLapUserfrmlapuser.ShowDialog()
End Sub
Private Sub mnuDokter_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuDokter.Click
Dim frmdetaildokter As New frmDetailDokterfrmdetaildokter.Show()
End Sub
Private Sub mnuPoliklinik_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuPoliklinik.Click
Dim frmdetailpoli As New frmDetailPolifrmdetailpoli.ShowDialog()
End Sub
Private Sub mnuLapPasien_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuLapPasien.Click
Dim frmlappasien As New frmLapPasienfrmlappasien.ShowDialog()
End Sub
Private Sub mnuLapBiaya_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuLapBiaya.Click
Dim frmlapbiaya As New frmLapBiayafrmlapbiaya.ShowDialog()
End Sub
Private Sub mnuLapPenagihan_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesmnuLapPenagihan.Click
Dim frmlappenagihan As New frmLapPenagihanfrmlappenagihan.ShowDialog()
End Sub
Private Sub mnuLapDokter_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles mnuLapDokter.Click
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
Dim frmlapdokter As New frmLapDokterfrmlapdokter.ShowDialog()
End Sub
Private Sub mnuLapPoliklinik_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesmnuLapPoliklinik.Click
Dim frmlappoliklinik As New frmLapPolifrmlappoliklinik.ShowDialog()
End Sub
Private Sub mnuFile_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles mnuFile.Click
End SubEnd Class
Pada halaman utama untuk administrator ini terdapat menu File, Data,
Laporan, dan Help.
Menu File terdiri dari sub menu:
Login
Logout
Exit
Menu Data terdiri dari sub menu:
User
Perusahaan
Pasien Rawat Jalan
Biaya Pasien Rawat Jalan
Pembayaran Pasien Rawat Jalan
Penagihan Pasien Rawat Jalan
Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
Poliklinik
Menu Laporan terdiri dari sub menu:
Laporan User
Laporan Perusahaan
Laporan Pasien Rawat Jalan
Laporan Biaya Pasien Rawat Jalan
Laporan Pembayaran Pasien Rawat Jalan
Laporan Penagihan Pasien Rawat Jalan
Laporan Dokter
Laporan Poliklinik
Menu Help terdiri dari sub menu :
About
Setiap menu dan sub menu pada halaman utama administrator mempunyai fungsi
yang berbeda. Menu File, menu ini berisi sub menu yang mendukung proses
login, logout, dan exit bagi administrator. Menu Data, menu ini berisi sub menu
yang digunakan untuk mengakses dan memanipulasi semua data yang berada
dalam sistem informasi ini. Administrator memiliki hak akses penuh pada bagian
menu Data ini. Menu Laporan, menu ini berisi sub menu yang digunakan untuk
proses pembuatan laporan. Sedangkan menu Help berisi keterangan singkat
tentang program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
4.3.1.5 User Interface Detail Data User
Untuk mengakses dan memanipulasi data user, administrator harus masuk
ke user interface detail data user dengan cara memilih sub menu User yang
terdapat pada menu Data. Gambar 4.8 merupakan halaman detail data user untuk
bagian admnistrator.
Gambar 4.8 Halaman Detail Data User
Halaman ini menampilkan user name, password, dan bagian dari user dalam
bentuk form data grid. Pada halaman detail data user ini juga terdapat tombol Add
yang berfungsi untuk menambah data user, tombol Edit yang berfungsi untuk
mengupdate data user, tombol Delete yang berfungsi untuk menghapus data user,
tombol Refresh yang berfungsi untuk menampilkan keseluruhan data user yang
ada di database, dan tombol Exit yang berfungsi untuk keluar dari program.
Halaman detail data user ini juga dilengkapi dengan dengan fasilitas pencarian
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
user dengan kategori pencarian berdasarkan user name dan bagian. Berikut ini
adalah perintah untuk user interface halaman detail data user.
Imports System.DataImports System.Data.SqlClientPublic Class frmDetailUser
Inherits System.Windows.Forms.Form
Public Sub Data_Grid()Dim myConn As SqlConnectionDim daUser As SqlDataAdapterDim dsUser As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select User1.User_Name 'User
Name',User1.Password 'Password',ROLE.Role 'Bagian' from User1,ROLEWhere" & _
" ROLE.Id_Role=User1.Id_Role"daUser = New SqlDataAdapter(sqlselect, myConn)dsUser = New DataSetdaUser.Fill(dsUser, "USER1")dgUser.DataSource = dsUserdgUser.DataMember = ("USER1")dgUser.ReadOnly = TruemyConn.Close()
End Sub
Private Sub dgUser_DoubleClick(ByVal sender As Object,ByVal e As System.EventArgs) Handles dgUser.DoubleClick
If isEmpty("Select User1.User_Name 'UserName',User1.Password 'Password',ROLE.ROLE 'Bagian' from User1,ROLEWhere" & _
" ROLE.Id_Role=User1.Id_Role order by User_Name") ThenMsgBox("Data kosong", MsgBoxStyle.Exclamation, "Info")
ElseIf (dgUser.IsSelected(dgUser.CurrentRowIndex)) ThenDim frmDataUser As New frmdatauserDim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()Dim sql As StringTry
sql = "SelectUser1.User_Name,User1.Password,ROLE.ROLE from User1,ROLE Where" &_
" User1.User_Name='" &Trim(dgUser.Item(dgUser.CurrentRowIndex, 0)) & "' andROLE.ID_ROLE=USER1.ID_ROLE"
Dim command As SqlCommand = New SqlCommand(sql,myConn)
myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.Read()frmDataUser.txtUsername.Text =
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
myReader.Item("USER_NAME")frmDataUser.txtPassword.Text =
myReader.Item("PASSWORD")frmDataUser.cmbBagian.Text =
myReader.Item("ROLE")frmDataUser.flag = 1frmDataUser.txtUsername.Enabled = FalsefrmDataUser.btnAdd.Enabled = FalsefrmDataUser.ShowDialog()
End WhilemyReader.Close()
ElseClear()
End IfCatch ex As Exception
MsgBox("Error: " & ex.Source & ": " & ex.Message,MsgBoxStyle.Critical, "Koneksi Error !!")
FinallymyConn.Close()
End Try
ElseMsgBox("Pilih Data Terlebih Dahulu",
MsgBoxStyle.Exclamation, "Info")End If
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnAdd.Click
Dim frmDataUser As New frmdatauserfrmDataUser.btnEdit.Enabled = FalsefrmDataUser.btnDelete.Enabled = FalsefrmDataUser.txtUsername.Focus()frmDataUser.Show()
End Sub
Private Sub btnSearch_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnSearch.Click
Dim myConn As SqlConnectionIf cmbKategori.Text = "" Then
MsgBox("Masukan Kategori Masih Kosong",MsgBoxStyle.Exclamation, "Info")
cmbKategori.Focus()Else
myConn = Database()myConn.Open()Dim sql As StringTry
If cmbKategori.Text = "User Name" ThenDim daUser As SqlDataAdapterDim dsUser As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select
USER1.USER_NAME as [User Name],USER1.PASSWORD as[Password],ROLE.ROLE as [Bagian] from USER1,ROLE Where" & _
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
" USER1.USER_NAME like '%" +txtSearch.Text + "%' and ROLE.ID_ROLE=USER1.ID_ROLE order byUSER_NAME"
daUser = New SqlDataAdapter(sqlselect, myConn)dsUser = New DataSetdaUser.Fill(dsUser, "USER1")dgUser.DataSource = dsUserdgUser.DataMember = ("User1")dgUser.ReadOnly = TruemyConn.Close()
ElseDim daUser As SqlDataAdapterDim dsUser As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select
USER1.USER_NAME as [User Name],USER1.PASSWORD as[Password],ROLE.ROLE as [Bagian] from USER1,ROLE Where" & _
" ROLE.ROLE like '%" + cmbCari.Text +"%' and ROLE.ID_ROLE=USER1.ID_ROLE order by USER_NAME"
daUser = New SqlDataAdapter(sqlselect, myConn)dsUser = New DataSetdaUser.Fill(dsUser, "USER1")dgUser.DataSource = dsUserdgUser.DataMember = ("USER1")dgUser.ReadOnly = TruemyConn.Close()
End IfCatch ex As Exception
MsgBox("Error: " & ex.Source & ": " & ex.Message,MsgBoxStyle.Critical, "Koneksi Error !!")
FinallymyConn.Close()
End TryEnd If
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnDelete.Click
If isEmpty("Select USER1.USER_NAME as 'UserName',USER1.PASSWORD as 'Password',ROLE.ROLE as 'Bagian' fromUSER1,ROLE Where ROLE.ID_ROLE=USER1.ID_ROLE order by USER_NAME")Then
MsgBox("Data kosong", MsgBoxStyle.Exclamation)ElseIf (dgUser.IsSelected(dgUser.CurrentRowIndex)) Then
Dim myConn As SqlConnectionTry
myConn = Database()myConn.Open()Dim deleteUsername As String =
Trim(dgUser.Item(dgUser.CurrentRowIndex, 0))If (MessageBox.Show("Apakah anda yakin akan
menghapus data " & Trim(dgUser.Item(dgUser.CurrentRowIndex, 0)) &" ?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Question) =DialogResult.Yes) Then
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
Dim sql As String = "Delete From USER1" & _" Where USER_NAME='" &
Trim(deleteUsername) & "'"Dim command As SqlCommand = New
SqlCommand(sql, myConn)Try
Dim status As Integer =command.ExecuteNonQuery()
If status = 1 ThenMsgBox("Hapus Data Berhasil",
MsgBoxStyle.Information, "Konfirmasi")Else
MsgBox("Hapus Data Gagal",MsgBoxStyle.Critical, "Konfirmasi")
End IfData_Grid()Clear()
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " &
ex.Message, MsgBoxStyle.Critical, "Koneksi Error !")End Try
ElseClear()
End IfClear()Data_Grid()
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " & ex.Message,
MsgBoxStyle.Critical, "Koneksi Error !")Clear()
FinallymyConn.Close()
End TryElse
MsgBox("Pilih Data Terlebih Dahulu",MsgBoxStyle.Exclamation, "Info")
End IfEnd Sub
Private Sub btnRefresh_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnRefresh.Click
Clear()Data_Grid()
End Sub
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnEdit.Click
If isEmpty("Select USER1.USER_NAME as 'UserName',USER1.PASSWORD as 'Password',ROLE.ROLE as 'Bagian' fromUSER1,ROLE Where ROLE.ID_ROLE=USER1.ID_ROLE order by USER_NAME")Then
MsgBox("Data kosong", MsgBoxStyle.Exclamation)ElseIf (dgUser.IsSelected(dgUser.CurrentRowIndex)) Then
Dim frmDataUser As New frmdatauserDim myConn As SqlConnectionDim myReader As SqlDataReader
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
myConn = Database()myConn.Open()Dim sql As StringTry
sql = "SelectUSER1.USER_NAME,USER1.PASSWORD,ROLE.ROLE from USER1,ROLE Where" &_
" USER1.USER_NAME='" &Trim(dgUser.Item(dgUser.CurrentRowIndex, 0)) & "' andROLE.ID_ROLE=USER1.ID_ROLE"
Dim command As SqlCommand = New SqlCommand(sql,myConn)
myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.Read()frmDataUser.txtUsername.Text =
myReader.Item("USER_NAME")frmDataUser.txtPassword.Text =
myReader.Item("PASSWORD")frmDataUser.cmbBagian.Text =
myReader.Item("ROLE")frmDataUser.txtUsername.Enabled = FalsefrmDataUser.flag = 1frmDataUser.btnAdd.Enabled = FalsefrmDataUser.ShowDialog()
End WhilemyReader.Close()
ElseClear()
End IfCatch ex As Exception
MsgBox("Error: " & ex.Source & ": " & ex.Message,MsgBoxStyle.Critical, "Koneksi Error !!")
FinallymyConn.Close()
End TryElse
MsgBox("Pilih Data Terlebih Dahulu",MsgBoxStyle.Exclamation, "Info")
End IfEnd Sub
Private Sub btnMain_Click(ByVal sender As System.Object, ByVale As System.EventArgs)
Dim frmMenuUtama As New frmUtamafrmMenuUtama.Show()Me.Hide()
End SubPrivate Sub btnExit_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnExit.ClickEnd
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
Jika tombol Add ditekan maka akan tampil halaman data user. Halaman ini
digunakan untuk memasukkan data user baru. Gambar 4.9 merupakan user
interface halaman input data user.
Gambar 4.9 Halaman Data User
Berikut ini adalah perintah untuk user interface halaman data user:
Imports System.DataImports System.Data.SqlClient
Public Class frmdatauserInherits System.Windows.Forms.Form
Public flag As Integer
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnAdd.Click
TryDim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()
If txtUsername.Text = "" ThenMsgBox("Silahkan masukkan User Name anda",
MsgBoxStyle.Information, "Info")txtPassword.Clear()txtUsername.Focus()
ElseIf txtPassword.Text = "" ThenMsgBox("Silahkan masukkan Password anda",
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
MsgBoxStyle.Information, "Info")txtPassword.Focus()
ElseIf cmbBagian.SelectedItem = "" ThenMsgBox("Silahkan pilih Bagian anda",
MsgBoxStyle.Information, "Info")cmbBagian.Focus()
ElseDim ans = MsgBox("Anda yakin akan menambahkan data
tersebut?", MsgBoxStyle.OKCancel, "Konfirmasi")If ans = 1 Then
Dim User_Name As StringDim sqlSelect As String = "Select USER_NAME" &
_" From USER1 Where USER_NAME ='" &
Trim(txtUsername.Text) & "'"Dim comm As SqlCommand = New
SqlCommand(sqlSelect, myConn)myReader = comm.ExecuteReader()
If myReader.HasRows ThenWhile myReader.Read()
User_Name = myReader.Item("USER_NAME")End While
End IfmyReader.Close()
If User_Name = txtUsername.Text ThenMessageBox.Show("Data User " &
Trim(txtUsername.Text) & " sudah ada ", "Konfirmasi",MessageBoxButtons.OK, MessageBoxIcon.Error)
Clear()Else
Dim sql As String = "Insert IntoUSER1(USER_NAME,PASSWORD,ID_ROLE)" & _
" Values('" & Trim(txtUsername.Text) &"','" & Trim(txtPassword.Text) & "','" &Trim(cmbBagian.SelectedIndex + 1) & "')"
Dim command As SqlCommand = NewSqlCommand(sql, myConn)
TryDim status As Integer =
command.ExecuteNonQuery()If status = 1 Then
MessageBox.Show("Data User " &Trim(txtUsername.Text) & " telah ditambahkan", "Konfirmasi",MessageBoxButtons.OK, MessageBoxIcon.Information)
Clear()
ElseMessageBox.Show("Data User " &
Trim(txtUsername.Text) & " gagal ditambahkan", "Konfirmasi",MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " &
ex.Message, MsgBoxStyle.OKOnly, "Koneksi Error !!")Clear()
End TryEnd If
End If
myConn.Close()End If
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " & ex.Message,
MsgBoxStyle.OKOnly, "Koneksi Error !")End Try
End Sub
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnEdit.Click
TryDim myConn As SqlConnectionDim myReader As SqlDataReaderDim role_id As StringmyConn = Database()myConn.Open()
If txtUsername.Text = "" ThenMsgBox("Silahkan masukkan User Name anda",
MsgBoxStyle.Information, "Info")txtPassword.Clear()txtUsername.Focus()
ElseIf txtPassword.Text = "" ThenMsgBox("Silahkan masukkan Password anda",
MsgBoxStyle.Information, "Info")txtPassword.Focus()
ElseIf cmbBagian.SelectedItem = "" ThenMessageBox.Show("Silahkan masukkan Bagian",
MsgBoxStyle.Information, "Info")txtPassword.Focus()
ElseDim sqlSelect As String = "Select ID_ROLE" & _" From ROLE Where ROLE.ROLE='" & cmbBagian.Text &
"'"Dim comm As SqlCommand = New SqlCommand(sqlSelect,
myConn)myReader = comm.ExecuteReader()If myReader.HasRows Then
While myReader.Read()role_id = myReader.Item("ID_ROLE")
End WhileEnd IfmyReader.Close()
If flag = 0 ThenDim sql As String = " Insert into USER1 Set" &
_
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
" PASSWORD='" & txtPassword.Text &"',ID_ROLE='" & Trim(cmbBagian.SelectedIndex + 1) & "'" & _
" Where USER_NAME='" & txtUsername.Text & "'"
Dim command As SqlCommand = NewSqlCommand(sql, myConn)
Dim status As Integer =command.ExecuteNonQuery()
If status = 1 ThenMsgBox("Tambah data berhasil",
MsgBoxStyle.Information, "Info")Clear()
ElseMsgBox("Tambah data gagal",
MsgBoxStyle.Critical, "Info")End If
ElseDim sql As Stringsql = "Update USER1 Set" & _" PASSWORD='" & txtPassword.Text &
"',ID_ROLE='" & Trim(cmbBagian.SelectedIndex + 1) & "'" & _" Where USER_NAME='" & txtUsername.Text & "'"Dim command As SqlCommand = New
SqlCommand(sql, myConn)Dim status As Integer =
command.ExecuteNonQuery()If status = 1 Then
MsgBox("Update Data Berhasil",MsgBoxStyle.Information, "Info")
Me.Close()Else
MsgBox("Update Data Gagal",MsgBoxStyle.Critical, "Info")
End IfEnd IfClear()
End IfmyConn.Close()
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " & ex.Message,
MsgBoxStyle.OKOnly, "Koneksi Error !!")Clear()
End TryEnd Sub
Private Sub btnClear_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnClear.Click
Clear()End SubPrivate Sub btnExit_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs)Dim form As New Welcomeform.Show()Me.Close()
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnDelete.Click
TryDim myConn As SqlConnectionmyConn = Database()myConn.Open()
Dim ans = MsgBox("Apakah anda yakin akan menghapusdata " & txtUsername.Text & " ?", MessageBoxButtons.OKCancel,"Konfirmasi")
If ans = 1 ThenDim sql As String = "Delete From USER1" & _
" Where USER_NAME='" & txtUsername.Text & "'"Dim command As SqlCommand = New SqlCommand(sql,
myConn)Try
Dim status As Integer =command.ExecuteNonQuery()
If status = 1 ThenMsgBox("Hapus data berhasil",
MsgBoxStyle.OKOnly, "Info")Else
MsgBox("Hapus data gagal",MsgBoxStyle.OKCancel, "Info")
End IfClear()
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " &
ex.Message, MsgBoxStyle.OKOnly, "Koneksi Error !")Clear()
End TryElse
Clear()End IfmyConn.Close()
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " & ex.Message,
MsgBoxStyle.OKOnly, "Koneksi Error !")Clear()
End TryEnd Sub
End Class
4.3.1.6 User Interface Detail Data Perusahaan.
User interface halaman detail data perusahaan digunakan untuk melihat
data perusahaan yang sudah terikat kontrak dengan pihak rumah sakit. Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
perusahaan akan ditampilkan dalam bentuk form data grid.Gambar 4.10
merupakan user interface halaman detail perusahaan untuk administrator.
Gambar 4.10 Halaman Detail Data Perusahaan
Berikut perintah untuk user interface halaman detail data perusahaan:
Imports System.DataImports System.Data.SqlClientPublic Class frmDetailPerusahaan
Inherits System.Windows.Forms.Form
Public flag As IntegerPublic Sub Data_Grid()
Dim myConn As SqlConnectionDim daPerusahaan As SqlDataAdapterDim dsPerusahaan As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select ID_PERUSAHAAN as [Id],
NAMA_PERUSAHAAN as [Perusahaan],ALAMAT_PERUSAHAAN as[Alamat],CONTACT_PERSON as [Contact],UMUM as [Umum],ANAK as[Anak],SPOG as [SPOG],BKIA as [BKIA],THT as [THT], BEDAH as[Bedah],DALAM as [Dalam],GIGI as [Gigi],FISIOTERAPI as[Fisioterapi],KULIT as [Kulit],MATA as [Mata],ODS as [ODS],RONTGENas [Rontgen],LAB as [Lab],USG as [USG],OBAT as [Obat] fromPERUSAHAAN"
daPerusahaan = New SqlDataAdapter(sqlselect, myConn)dsPerusahaan = New DataSetdaPerusahaan.Fill(dsPerusahaan, "PERUSAHAAN")dgPerusahaan.DataSource = dsPerusahaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
dgPerusahaan.DataMember = ("PERUSAHAAN")dgPerusahaan.ReadOnly = TruemyConn.Close()
End Sub
Halaman detail data perusahaan ini juga dilengkapi dengan fasilitas
pencarian data berdasarkan kategori id perusahaan, nama perusahaan, alamat
perusahaan, dan contact person. Untuk mengupdate data perusahaan secara
langsung dapat dilakukan dengan klik ganda secara langsung di data grid.
Sedangkan untuk menambah data perusahaan baru dilakukan dengan menekan
tombol add yang ada. Jika tombol add ditekan maka akan tampil user interface
untuk input data perusahaan. Gambar 4.11 merupakan user interface halaman data
perusahaan.
Gambar 4.11 Halaman Data Perusahaan
Perusahaan baru yang ditambahkan akan memiliki id perusahaan yang
akan digenerate secara otomatis oleh sistem. Berikut adalah perintah generate id
perusahaan:
Public Sub generate_id()Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim i As Integer = 1Dim perusahaan_id As String
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
Dim perusahaan_id2 As String
myConn = Database()myConn.Open()Dim sql As String = "Select ID_PERUSAHAAN from PERUSAHAAN
order by ID_PERUSAHAAN"Dim command As SqlCommand = New SqlCommand(sql, myConn)myReader = command.ExecuteReader()If myReader.HasRows Then
TryWhile myReader.Read
perusahaan_id =CInt(Mid(Trim(myReader.GetString(0)), 2, 5))
If perusahaan_id = i Theni = i + 1
End IfEnd While
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly,
"Info")End Tryperusahaan_id2 = CStr(i)If perusahaan_id2.Length = 1 Then
perusahaan_id2 = "P00" + CStr(perusahaan_id2)txtId.Text = perusahaan_id2
ElseIf perusahaan_id2.Length = 2 Thenperusahaan_id2 = "P0" + CStr(perusahaan_id2)txtId.Text = perusahaan_id2
ElseIf perusahaan_id2.Length = 3 Thenperusahaan_id2 = "P" + CStr(perusahaan_id2)txtId.Text = perusahaan_id2
End IfmyReader.Close()myConn.Close()
Elseperusahaan_id2 = "P001"txtId.Text = perusahaan_id2
End IfEnd Sub
4.3.1.7 User Interface Halaman Pasien Rawat Jalan.
User interface halaman pasien rawat jalan digunakan untuk melihat data pasien
secara lengkap. Halaman pasien rawat jalan ini juga dilengkapi dengan fasilitas
pencarian data pasien berdasarkan kategori No MR, nama pasien, tanggal masuk
dan perusahaan yang akan menanggung biaya pasien. Data pasien secara lengkap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
akan ditampilkan melalui data grid pasien tersedia. Gambar 4.12 merupakan user
interface halaman detail data pasien.
Gambar 4.12 Halaman Detail Data Pasien
Berikut perintah untuk user interface halaman detail data pasien:
Imports System.DataImports System.Data.SqlClientPublic Class frmDetailPasien
Inherits System.Windows.Forms.Form
Public flag As IntegerPublic Sub Data_Grid()
Dim myConn As SqlConnectionDim daPasien As SqlDataAdapterDim dsPasien As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select NO_MR as [No MR],
NAMA_PASIEN as [Nama],ALAMAT_PASIEN as [Alamat],TGL_LAHIR as [Tgllahir],KOTA as [Kota],UMUR as [Umur],JNS_KELAMIN as[Kelamin],STATUS as [Status],AGAMA as [Agama], NAMA_ORTU as [NamaOrang Tua],NAMA_PERUSAHAAN as [Perusahaan],ID_PERUSAHAAN as[Id],TGL_MASUK as [Tgl masuk] from PASIEN"
daPasien = New SqlDataAdapter(sqlselect, myConn)dsPasien = New DataSetdaPasien.Fill(dsPasien, "PASIEN")dgPasien.DataSource = dsPasiendgPasien.DataMember = ("PASIEN")dgPasien.ReadOnly = TruemyConn.Close()
End SubPublic Sub BlankForm()
cmbKategori.SelectedIndex = -1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
cmbKategori.Focus()txtSearch.Visible = TruetxtSearch.Text = ""cmbCari.Visible = FalsecmbCari.Text = ""
End SubPrivate Sub Detail_Data_Pasien_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadData_Grid()
End Sub
Private Sub nama_perusahaan()Dim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()Try
Dim perusahaan As StringDim sql As String = "Select NAMA_PERUSAHAAN from
PERUSAHAAN"Dim command As SqlCommand = New SqlCommand(sql,
myConn)myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.ReadcmbCari.SelectedItem =
cmbCari.Items.Add(myReader.Item("NAMA_PERUSAHAAN"))End While
ElseMsgBox("Referensi nama perusahaan tidak ada..",
MsgBoxStyle.OKOnly, "Info")End If
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly, "Info")
End TrymyReader.Close()myConn.Close()
End Sub
Private Sub cmbCari_SelectedIndexChanged(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlescmbKategori.SelectedIndexChanged
If (cmbKategori.SelectedIndex = -1) ThenElseIf (cmbKategori.SelectedItem.ToString().Equals("No
MR")) ThentxtSearch.Visible = TruetxtSearch.Text = ""cmbCari.Visible = False
ElseIf (cmbKategori.SelectedItem.ToString().Equals("NamaPasien")) Then
txtSearch.Visible = TruetxtSearch.Text = ""cmbCari.Visible = False
ElseIf(cmbKategori.SelectedItem.ToString().Equals("Perusahaan")) Then
cmbCari.SelectedIndex = -1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
cmbCari.Visible = TruecmbCari.Items.Clear()nama_perusahaan()txtSearch.Visible = FalsetxtSearch.Text = ""
ElseIf(cmbKategori.SelectedItem.ToString().Equals("Tanggal Masuk")) Then
txtSearch.Visible = TruetxtSearch.Text = ""cmbCari.Visible = False
End IfEnd SubEnd Sub
Tombol add pada halaman detail data pasien digunakan untuk menambah
data pasien baru. Sedangkan untuk tombol update dan delete digunakan untuk
proses mengupdate dan menghapus data pasien. Halaman data pasien akan
ditampilkan jika administrator menekan tombol add yang ada pada halaman detail
data pasien. Gambar 4.13 merupakan user interface halaman data pasien.
Gambar 4.13 Halaman Data Pasien
Pada user interface halaman data pasien ini, untuk penambahan pasien
baru digunakan generate No MR. No MR pasien secara langsung akan muncul
jika ada data pasien baru yang ditambahkan. Selain itu id perusahaan secara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
otomatis akan ditampilkan sesuai dengan nama perusahaan pasien. Berikut
perintah generate No MR pasien:
Public Sub generate_mr()Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim angka, angka2 As Integerangka2 = 0Dim no_mr As StringDim no_mr1 As StringDim n As IntegermyConn = Database()myConn.Open()Dim sql As String = "Select NO_MR from PASIEN"Dim command As SqlCommand = New SqlCommand(sql, myConn)Try
myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.Read()no_mr = myReader.Item("NO_MR")n = Len(no_mr)angka = CInt(Mid$(no_mr, 4, n))If angka2 < angka Then
angka2 = angkaEnd If
End Whileno_mr = CStr(angka2 + 1)no_mr1 = "00-" + CStr(no_mr)txtMr.Text = no_mr1
Else : no_mr1 = "00-1"txtMr.Text = no_mr1
End IfmyReader.Close()
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly, "Info")
End TrymyConn.Close()
End Sub
Berikut perintah untuk menampilkan id perusahaan secara otomatis:
Private Sub cmbPerusahaan_SelectedIndexChanged(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlescmbPerusahaan.SelectedIndexChanged
Dim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()Try
Dim sql As String = "select ID_PERUSAHAAN fromPERUSAHAAN " & _
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
" where NAMA_PERUSAHAAN = '" &cmbPerusahaan.SelectedItem & "'"
Dim com As SqlCommand = New SqlCommand(sql, myConn)myReader = com.ExecuteReaderIf myReader.HasRows Then
While myReader.ReadtxtID.Text = myReader.Item("ID_PERUSAHAAN")
End WhileEnd IfmyReader.Close()
Catch ex As ExceptionMsgBox(ex.Message)
End TrymyConn.Close()
End Sub
4.3.1.8 User Interface Halaman Biaya Pasien Rawat Jalan.
User interface halaman biaya pasien rawat jalan untuk admininistrator ini
berisi data pasien yaitu no folio, no mr, biaya dokter, biaya obat, biaya tambahan
dan biaya keseluruhan. Semua biaya pengobatan pasien yang ada pada interface
merupakan biaya keselurahan yang harus ditanggung pasien sebelum melalui
proses perhitungan biaya yang akan ditanggung perusahaan. Semua data biaya
pasien ini merupakan catatan biaya total pasien yang dimasukkan oleh bagian
kasir. Selanjutnya keseluruhan biaya ini sendiri masih akan diproses lebih lanjut
sesuai dengan kontrak kerja antara perusahaan tertanggung dengan pihak rumah
sakit. Hal ini dimaksudkan untuk menghitung biaya pasien yang akan dibebankan
kepada perusahaan dan biaya pasien yang harus ditanggung sendiri oleh pasien.
Gambar 4.14 merupakan user interface halaman detail biaya pasien.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
Gambar 4.14 Halaman Detail Biaya Pasien
Berikut perintah untuk user interface halaman detail biaya pasien:
mports System.DataImports System.Data.SqlClientPublic Class frmDetailBiaya
Inherits System.Windows.Forms.Form
Public flag As IntegerPublic Sub Data_Grid()
Dim myConn As SqlConnectionDim daBiaya As SqlDataAdapterDim dsBiaya As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select NO_FOLIO as [No Folio],
NO_MR as [No MR],T_BIAYA_DOKTER as [Biaya Dokter],T_BIAYA_OBAT as[Biaya Obat],T_BIAYA_TAMBAHAN as [BiayaTambahan],T_BIAYA_KESELURUHAN as [Biaya Keseluruhan] from BIAYA"
daBiaya = New SqlDataAdapter(sqlselect, myConn)dsBiaya = New DataSetdaBiaya.Fill(dsBiaya, "BIAYA")dgBiaya.DataSource = dsBiayadgBiaya.DataMember = ("BIAYA")dgBiaya.ReadOnly = TruemyConn.Close()
End Sub
Halaman detail data biaya pasien rawat jalan ini juga dilengkapi dengan
fasilitas pencarian berdasarkan kategori no folio dan no mr pasien. Untuk proses
penambahan, pengubahan, dan penghapusan data biaya pasien rawat jalan dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
dilakukan dengan menggunakan tombol add, update, dan delete yang tersedia di
halaman ini. Pengubahan dan penghapusan data dapat dilakukan secara langsung
dengan cara memilih data yang akan diubah atau dihapus pada data grid. Untuk
melakukan penambahan data biaya pasien rawat jalan dapat dilakukan dengan
menekan tombol add yang ada. Jika administrator menekan tombol add kemudian
akan ditampilkan user interface halaman data biaya pasien rawat jalan. Halaman
biaya pasien rawat jalan ini juga menggunakan fungsi generate folio untuk
menghasilkan no folio pasien secara otomatis. Gambar 4.15 merupakan user
interface halaman data biaya pasien.
Gambar 4.15 Halaman Biaya Pasien Rawat Jalan
Berikut perintah untuk user interface halaman biaya pasien rawat jalan:
Imports System.DataImports System.Data.SqlClientPublic Class frmBiaya
Inherits System.Windows.Forms.Form
Public Sub generate_folio()Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim angka, angka2 As Integerangka2 = 0Dim no_folio As String
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
114
Dim no_folio1 As StringDim n As IntegermyConn = Database()myConn.Open()Dim sql As String = "Select NO_FOLIO from BIAYA"Dim command As SqlCommand = New SqlCommand(sql, myConn)Try
myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.Read()no_folio = myReader.Item("NO_FOLIO")n = Len(no_folio)angka = CInt(Mid$(no_folio, 4, n))If angka2 < angka Then
angka2 = angkaEnd If
End Whileno_folio = CStr(angka2 + 1)no_folio1 = "FO-" + CStr(no_folio)txtFolio.Text = no_folio1
Else : no_folio1 = "FO-1"txtFolio.Text = no_folio1
End IfmyReader.Close()
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly, "Info")
End TrymyConn.Close()
End Sub
Public Sub IsiDataPasien()If txtMr.Text = lblMr.Text ThenElse
Dim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()Try
Dim sql As String = "SelectNAMA_PASIEN,ALAMAT_PASIEN,NAMA_PERUSAHAAN from PASIEN " & _
" where NO_MR = '" & txtMr.Text & "'"Dim com As SqlCommand = New SqlCommand(sql,
myConn)myReader = com.ExecuteReaderIf myReader.HasRows Then
While myReader.ReadtxtNama_Pasien.Text =
myReader.Item("NAMA_PASIEN")txtAlamat_Pasien.Text =
myReader.Item("ALAMAT_PASIEN")txtNama_Perusahaan.Text =
myReader.Item("NAMA_PERUSAHAAN")End While
End IfmyReader.Close()
Catch ex As Exception
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
115
MsgBox(ex.Message)End TrymyConn.Close()
End IfEnd Sub
Private Sub btnHitung_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnHitung.Click
Dim Total As LongDim biaya_total As Long
Total = Val(txtBiaya_Dokter.Text) +Val(txtBiaya_Obat.Text) + Val(txtBiaya_Tambahan.Text)
txtTotal.Text = TotaltxtTotal.Enabled = False
End Sub
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnEdit.Click
TryDim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()If txtBiaya_Dokter.Text = "" Then
MsgBox("Silahkan masukkan Total Biaya Dokter",MsgBoxStyle.OKOnly, "Info")
txtBiaya_Dokter.Focus()ElseIf (IsNumeric(txtBiaya_Dokter.Text) = False) Then
MsgBox("Data masukkan salah.", MsgBoxStyle.OKOnly,"Info")
txtBiaya_Dokter.Focus()ElseIf txtBiaya_Obat.Text = "" Then
MsgBox("Silahkan masukkan Total Biaya Obat",MsgBoxStyle.OKOnly, "Info")
txtBiaya_Obat.Focus()ElseIf (IsNumeric(txtBiaya_Obat.Text) = False) Then
MsgBox("Data masukkan salah.", MsgBoxStyle.OKOnly,"Info")
txtBiaya_Obat.Focus()ElseIf txtBiaya_Tambahan.Text = "" Then
MsgBox("Silahkan masukkan Total Biaya Tambahan",MsgBoxStyle.OKOnly, "Info")
txtBiaya_Tambahan.Focus()ElseIf (IsNumeric(txtBiaya_Tambahan.Text) = False)
ThenMsgBox("Data masukkan salah.", MsgBoxStyle.OKOnly,
"Info")txtBiaya_Tambahan.Focus()
ElseIf txtTotal.Text = "" ThenMsgBox("Total Biaya belum dihitung.",
MsgBoxStyle.OKOnly, "Info")txtTotal.Focus()
Else
Dim sql As String = " Update BIAYA Set" & _
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
116
" NO_FOLIO='" & txtFolio.Text & "',NO_MR='" &txtMr.Text & "',T_BIAYA_DOKTER='" & txtBiaya_Dokter.Text &"',T_BIAYA_OBAT='" & txtBiaya_Obat.Text & "', T_BIAYA_TAMBAHAN='"& txtBiaya_Tambahan.Text & "', T_BIAYA_KESELURUHAN='" &txtTotal.Text & "' Where NO_FOLIO='" & txtFolio.Text & "'"
Dim command As SqlCommand = New SqlCommand(sql,myConn)
Dim status As Integer = command.ExecuteNonQuery()If status = 1 Then
MsgBox("Update Data Berhasil",MsgBoxStyle.OKOnly, "Konfirmasi")
ElseMsgBox("Update Data Gagal",
MsgBoxStyle.OKOnly, "Konfirmasi")End If
End IfmyConn.Close()
Catch ex As ExceptionMsgBox("Error: " & ex.Source & ": " & ex.Message,
MsgBoxStyle.OKOnly, "Koneksi Error !!")End Try
End Sub
4.3.1.9 User Interface Halaman Detail Pembayaran Pasien Rawat Jalan.
User interface halaman detail pembayaran pasien ini menampilkan data
pembayaran pasien rawat jalan. Data yang ditampilkan antara lain: no folio, no
mr, nama pasien, id perusahaan, nama perusahaan, tempat penagihan, tambahan
penagihan, nama dokter, spesialisasi dokter, biaya dokter, biaya obat dibayar,
biaya tambahan dibayar, total biaya dibayar, tagihan dokter, tagihan obat, tagihan
tambahan, total tagihan, dan tanggal pembayaran. Data pembayaran ini diambil
dari data biaya pasien setelah diproses sesuai dengan kontrak kerja antara pihak
rumah sakit dan perusahaan. Sistem akan memproses secara otomatis total biaya
yang ditanggung perusahaan berdasarkan data perusahaan yang dimasukkan pada
user interface halaman detail data perusahaan. Hasil akhir dari proses ini berupa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
117
total biaya yang ditanggung pasien dan total biaya yang ditanggung perusahaan.
User interface halaman pembayaran pasien rawat jalan ini juga dilengkapi dengan
fasilitas pencarian berdasarkan kategori: no folio, no mr, nama pasien, nama
perusahaan, tempat penanganan, tambahan pelayanan, nama dokter, spesialis, dan
tanggal pembayaran. Gambar 4.16 merupakan user interface halaman detail
pembayaran pasien rawat jalan.
Gambar 4.16 Halaman Detail Pembayaran Pasien Rawat Jalan
Berikut perintah untuk user interface halaman detail pembayaran pasien rawat
jalan:
Imports System.DataImports System.Data.SqlClientPublic Class frmDetailPembayaran
Inherits System.Windows.Forms.Form
Public flag As IntegerPublic Sub Data_Grid()
Dim myConn As SqlConnectionDim daPembayaran As SqlDataAdapterDim dsPembayaran As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select NO_FOLIO as [No Folio],
NO_MR as [No MR],NAMA_PASIEN as [Nama Pasien],ID_PERUSAHAAN as [IDPerusahaan],NAMA_PERUSAHAAN as [Perusahaan],TEMPAT_PENANGANAN as[Tempat Penanganan],TAMBAHAN_PELAYANAN as [TambahanPelayanan],NAMA_DOKTER as [Dokter],SPESIALIS as
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
118
[Spesialis],B_DOKTER_DIBAYAR as [Biaya DokterDibayar],B_OBAT_DIBAYAR as [Biaya Obat Dibayar],B_TAMBAHAN_DIBAYARas [Biaya Tambahan Dibayar],TOTAL_DIBAYAR as [Total Dibayar],B_DOKTER_PENAGIHAN as [Tagihan Dokter],B_OBAT_PENAGIHAN as[Tagihan Obat], B_TAMBAHAN_PENAGIHAN as [TagihanTambahan],TOTAL_PENAGIHAN as [Total Tagihan],TGL_BAYAR as [TanggalPembayaran] from PEMBAYARAN"
daPembayaran = New SqlDataAdapter(sqlselect, myConn)dsPembayaran = New DataSetdaPembayaran.Fill(dsPembayaran, "PEMBAYARAN")dgPembayaran.DataSource = dsPembayarandgPembayaran.DataMember = ("PEMBAYARAN")dgPembayaran.ReadOnly = TruemyConn.Close()
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnAdd.Click
Dim frmDataPembayaran As New frmdatapembayaranfrmDataPembayaran.ShowDialog()
End Sub
Untuk mengubah data pembayaran pasien rawat jalan,administrator dapat
menggunakan fasilitas update. Jika tombol update ditekan, maka akan tampil user
interface data pembayaran pasien rawat jalan. Gambar 4.17 merupakan user
interface halaman data pembayaran pasien rawat jalan.
Gambar 4.17 Halaman Data Pembayaran Pasien Rawat Jalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
119
Berikut perintah untuk user interface halaman data pembayaran pasien rawat
jalan:
Imports System.DataImports System.Data.SqlClient
Public Class frmdatapembayaranInherits System.Windows.Forms.Form
Private Sub btnHitung3_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnHitung3.Click
If cmbPelayanan.SelectedItem = "" ThenKalkulasi_Penagihan1()txtBTP.Text = 0
ElseKalkulasi_Penagihan()
End IfEnd SubPrivate Sub Kalkulasi_Penagihan()
Dim hitung1, hitung2, hitung3 As LongIf txtSpesialis.Text.ToString().Equals("Umum") Then
hitung1 = Val((lblUmum.Text) / 100) *Val(lblDokter1.Text)
hitung2 = Val((lblObat.Text) / 100) *Val(lblObat1.Text)
txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Anak") Thenhitung1 = Val((lblAnak.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("SPOG") Thenhitung1 = Val((lblSPOG.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("BKIA") Thenhitung1 = Val((lblBKIA.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("THT") Thenhitung1 = Val((lblTHT.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
120
txtBOP.Text = hitung2ElseIf txtSpesialis.Text.ToString().Equals("Bedah") Then
hitung1 = Val((lblBedah.Text) / 100) *Val(lblDokter1.Text)
hitung2 = Val((lblObat.Text) / 100) *Val(lblObat1.Text)
txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Dalam") Thenhitung1 = Val((lblDalam.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Gigi") Thenhitung1 = Val((lblGigi.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Fisioterapi")Then
hitung1 = Val((lblFisioterapi.Text) / 100) *Val(lblDokter1.Text)
hitung2 = Val((lblObat.Text) / 100) *Val(lblObat1.Text)
txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIftxtSpesialis.Text.ToString().Equals("Kulit/Kelamin") Then
hitung1 = Val((lblKulit.Text) / 100) *Val(lblDokter1.Text)
hitung2 = Val((lblObat.Text) / 100) *Val(lblObat1.Text)
txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Mata") Thenhitung1 = Val((lblMata.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseEnd IfIf cmbPelayanan.SelectedItem.ToString().Equals("ODS") Then
hitung3 = Val((lblODS.Text) / 100) *Val(lblTambahan1.Text)
txtBTP.Text = hitung3ElseIf
cmbPelayanan.SelectedItem.ToString().Equals("Rontgen") Thenhitung3 = Val((lblRontgen.Text) / 100) *
Val(lblTambahan1.Text)txtBTP.Text = hitung3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
121
ElseIf cmbPelayanan.SelectedItem.ToString().Equals("Lab")Then
hitung3 = Val((lblLab.Text) / 100) *Val(lblTambahan1.Text)
txtBTP.Text = hitung3ElseIf cmbPelayanan.SelectedItem.ToString().Equals("USG")
Thenhitung3 = Val((lblUSG.Text) / 100) *
Val(lblTambahan1.Text)txtBTP.Text = hitung3
Else
End If
End SubPrivate Sub Kalkulasi_Penagihan1()
Dim hitung1, hitung2, hitung3 As Long
If txtSpesialis.Text.ToString().Equals("Umum") Thenhitung1 = Val((lblUmum.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Anak") Thenhitung1 = Val((lblAnak.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("SPOG") Thenhitung1 = Val((lblSPOG.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("BKIA") Thenhitung1 = Val((lblBKIA.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("THT") Thenhitung1 = Val((lblTHT.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Bedah") Thenhitung1 = Val((lblBedah.Text) / 100) *
Val(lblDokter1.Text)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
122
hitung2 = Val((lblObat.Text) / 100) *Val(lblObat1.Text)
txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Dalam") Thenhitung1 = Val((lblDalam.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Gigi") Thenhitung1 = Val((lblGigi.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Fisioterapi")Then
hitung1 = Val((lblFisioterapi.Text) / 100) *Val(lblDokter1.Text)
hitung2 = Val((lblObat.Text) / 100) *Val(lblObat1.Text)
txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIftxtSpesialis.Text.ToString().Equals("Kulit/Kelamin") Then
hitung1 = Val((lblKulit.Text) / 100) *Val(lblDokter1.Text)
hitung2 = Val((lblObat.Text) / 100) *Val(lblObat1.Text)
txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseIf txtSpesialis.Text.ToString().Equals("Mata") Thenhitung1 = Val((lblMata.Text) / 100) *
Val(lblDokter1.Text)hitung2 = Val((lblObat.Text) / 100) *
Val(lblObat1.Text)txtBDP.Text = hitung1txtBOP.Text = hitung2
ElseEnd If
End Sub
Private Sub btnHitung4_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnHitung4.Click
Dim total_tagihan As Longtotal_tagihan = Val(txtBDP.Text) + Val(txtBOP.Text) +
Val(txtBTP.Text)txtTotal_Tagih.Text = total_tagihan
End Sub
Private Sub btnHitung1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnHitung1.Click
Kalkulasi_Pembayaran()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
123
End SubPrivate Sub Kalkulasi_Pembayaran()
Dim Dokter_Dibayar, Obat_Dibayar, Tambahan_Dibayar As Long
Dokter_Dibayar = Val(lblDokter1.Text) - Val(txtBDP.Text)txtBDD.Text = Dokter_Dibayar
Obat_Dibayar = Val(lblObat1.Text) - Val(txtBOP.Text)txtBOD.Text = Obat_Dibayar
Tambahan_Dibayar = Val(lblTambahan1.Text) -Val(txtBTP.Text)
txtBTD.Text = Tambahan_DibayarEnd Sub
Private Sub btnHitung2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnHitung2.Click
Dim total_bayar As Longtotal_bayar = Val(txtBDD.Text) + Val(txtBOD.Text) +
Val(txtBTD.Text)txtTotal_bayar.Text = total_bayar
End Sub
End Class
4.3.1.10 User Interface Halaman Detail Penagihan Biaya Pasien Rawat Jalan.
Pada halaman ini, administrator hanya dapat melihat dan menghapus data
penagihan pasien rawat jalan. Halaman ini juga dilengkapi dengan fasilitas
pencarian data. Gambar 4.18 merupakan user interface halaman detail penagihan
biaya pasien rawat jalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
124
Gambar 4.18 Halaman Detail Penagihan Pasien Rawat Jalan.
Berikut perintah untuk user interface halaman penagihan pasien rawat jalan:
Imports System.DataImports System.Data.SqlClientPublic Class frmDetailPenagihan
Inherits System.Windows.Forms.Form
Private Sub btnPreview_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnPreview.Click
If isEmpty("Select PEMBAYARAN.NO_FOLIO as [No Folio],PEMBAYARAN.NO_MR as [No MR],PEMBAYARAN.NAMA_PASIEN as [NamaPasien],PEMBAYARAN.NAMA_PERUSAHAAN as [NamaPerusahaan],PEMBAYARAN.TOTAL_PENAGIHAN as [BiayaTagihan],PEMBAYARAN.TOTAL_DIBAYAR as [BiayaDibayar],PEMBAYARAN.TGL_BAYAR as [Tanggal Pembayaran] fromPEMBAYARAN") Then
ElseIf(dgPenagihan.IsSelected(dgPenagihan.CurrentRowIndex)) Then
Dim frmDataPenagihan As New frmdatapenagihanfrmDataPenagihan.lblFolio.Text =
Trim(dgPenagihan.Item(dgPenagihan.CurrentRowIndex, 0))frmDataPenagihan.lblMr.Text =
Trim(dgPenagihan.Item(dgPenagihan.CurrentRowIndex, 1))frmDataPenagihan.lblNama.Text =
Trim(dgPenagihan.Item(dgPenagihan.CurrentRowIndex, 2))frmDataPenagihan.lblPerusahaan.Text =
Trim(dgPenagihan.Item(dgPenagihan.CurrentRowIndex, 3))frmDataPenagihan.lblDibayar.Text =
Trim(dgPenagihan.Item(dgPenagihan.CurrentRowIndex, 4))frmDataPenagihan.lblPenagihan.Text =
Trim(dgPenagihan.Item(dgPenagihan.CurrentRowIndex, 5))frmDataPenagihan.lblPembayaran.Text =
Trim(dgPenagihan.Item(dgPenagihan.CurrentRowIndex, 6))frmDataPenagihan.flag = 1frmDataPenagihan.tutup()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
125
frmDataPenagihan.ShowDialog()Else
MsgBox("Pilih Data Terlebih Dahulu",MsgBoxStyle.Exclamation, "Info")
End IfEnd Sub
Untuk melihat data penagihan pasien satu persatu, administrator dapat
meggunakan tombol preview dengan memilih data yang akan dipreview terlebih
dulu. Gambar 4.19 merupakan user interface data halaman data penagihan pasien.
Gambar 4.19 Halaman Data Penagihan Pasien Rawat Jalan.
Berikut perintah untuk user interface halaman data penagihan pasien rawat jalan:
Public Class frmdatapenagihanInherits System.Windows.Forms.FormPublic flag As Integer
Public Sub tutup()lblFolio.Enabled = FalselblMr.Enabled = FalselblNama.Enabled = FalselblPerusahaan.Enabled = FalselblDibayar.Enabled = FalselblPenagihan.Enabled = FalselblPembayaran.Enabled = False
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
126
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnExit.Click
Dim form As New Welcomeform.Show()Me.Close()
End Sub
Private Sub btnBack_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles btnBack.Click
Dim form As New frmUtamaform.Show()Me.Close()
End Sub
Public Function Masuk(ByVal key As String) As BooleanIf (key = 13) Then
Masuk = TrueElse
Masuk = FalseEnd If
End FunctionPrivate Sub btnKembali_KeyPress(ByVal sender As Object, ByVal
e As System.Windows.Forms.KeyPressEventArgs) HandlesbtnKembali.KeyPress
Dim frmdetailpenagihan As New frmDetailPenagihanIf e.Handled = Masuk(Asc(e.KeyChar)) ThenElse
frmdetailpenagihan.Show()Me.Close()
End IfEnd Sub
End Class
4.3.1.11 User Interface Halaman Detail Data Dokter.
User interface halaman detail data dokter ini hanya digunakan oleh administrator
untuk menambah, mengubah dan menghapus data dokter. Gambar 4.20
merupakan halaman detail data dokter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
127
Gambar 4.20 Halaman Detail Data Dokter
Berikut perintah untuk user interface halaman detail data dokter:
Imports System.DataImports System.Data.SqlClientPublic Class frmDetailDokter
Inherits System.Windows.Forms.Form
Public flag As IntegerPublic Sub Data_Grid()
Dim myConn As SqlConnectionDim daDokter As SqlDataAdapterDim dsDokter As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select ID_DOKTER as [ID
Dokter],NAMA_DOKTER as [Nama Dokter],ALAMAT_DOKTER as[Alamat],KOTA as [Kota],TELP as [Telepon],BIDANG as [Spesialis]from DOKTER"
daDokter = New SqlDataAdapter(sqlselect, myConn)dsDokter = New DataSetdaDokter.Fill(dsDokter, "DOKTER")dgDokter.DataSource = dsDokterdgDokter.DataMember = ("DOKTER")dgDokter.ReadOnly = TruemyConn.Close()
End Sub
Private Sub spesialis()Dim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()Try
Dim sql As String = "Select BIDANG from DOKTER"Dim command As SqlCommand = New SqlCommand(sql,
myConn)myReader = command.ExecuteReader()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
128
If myReader.HasRows ThenWhile myReader.Read
cmbCari.SelectedItem =cmbCari.Items.Add(myReader.Item("BIDANG"))
End WhileElse
MsgBox("Referensi spesialisasi tidak ada...",MsgBoxStyle.OKOnly, "Info")
End IfCatch ex As Exception
MsgBox("Tidak ada data", MsgBoxStyle.OKOnly, "Info")End TrymyReader.Close()myConn.Close()
End SubEnd Class
Administrator dapat menambahkan data dokter baru dengan menggunakan
tombol add yang ada di user interface halaman detail data dokter. Jika tombol add
ditekan maka akan muncul user interface halaman pengelolaan dokter, yang
digunakan untuk memasukkan data dokter baru. Gambar 4.21 merupakan user
interface halaman pengelolaan dokter.
Gambar 4.21 Halaman Pengelolaan Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
129
4.3.1.12 User Interface Halaman Detail Poliklinik.
User interface ini digunakan oleh administrator untuk menambahkan dan
mengubah data poliklinik. Gambar 4.22 merupakan user interface halaman detail
poliklinik.
Gambar 4.22 Halaman Detail Poliklinik
Berikut perintah untuk user interface halaman detail poliklinik:
Imports System.DataImports System.Data.SqlClientPublic Class frmDetailPoli
Inherits System.Windows.Forms.FormPublic flag As Integer
Public Sub Data_Grid()Dim myConn As SqlConnectionDim daPoli As SqlDataAdapterDim dsPoli As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select ID_POLI as [ID
Poliklinik],NAMA_POLI as POLIKLINIK from POLIKLINIK order byID_POLI"
daPoli = New SqlDataAdapter(sqlselect, myConn)dsPoli = New DataSetdaPoli.Fill(dsPoli, "POLIKLINIK")dgPoli.DataSource = dsPolidgPoli.DataMember = ("POLIKLINIK")dgPoli.ReadOnly = TruemyConn.Close()
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
130
Untuk menambahkan data poliklinik baru, administrator dapat
menggunakan tombol add yang ada. Jika tombol add ini ditekan maka akan
ditampilkan user interface halaman pengelolaan poliklinik. Gambar 4.23
merupakan user interface halaman pengelolaan poliklinik.
Gambar 4.23 Halaman Pengelolaan Poliklinik
Berikut perintah untuk user interface halaman pengelolaan poliklinik:
Imports System.DataImports System.Data.SqlClientPublic Class frmPoli
Inherits System.Windows.Forms.Form
Public flag As Integer
Private Sub Clear()generate_idPoli()txtNama.Text = ""txtId.Enabled = FalsetxtId.Focus()
End SubPublic Sub generate_idPoli()
Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim i As Integer = 1Dim poli_id As StringDim poli_id2 As String
myConn = Database()myConn.Open()Dim sql As String = "Select ID_POLI from POLIKLINIK order
by ID_POLI"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
131
Dim command As SqlCommand = New SqlCommand(sql, myConn)myReader = command.ExecuteReader()If myReader.HasRows Then
TryWhile myReader.Read
poli_id =CInt(Mid(Trim(myReader.GetString(0)), 2, 5))
If poli_id = i Theni = i + 1
End IfEnd While
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly,
"Info")End Trypoli_id2 = CStr(i)If poli_id2.Length = 1 Then
poli_id2 = "R00" + CStr(poli_id2)txtId.Text = poli_id2
ElseIf poli_id2.Length = 2 Thenpoli_id2 = "R0" + CStr(poli_id2)txtId.Text = poli_id2
ElseIf poli_id2.Length = 3 Thenpoli_id2 = "R" + CStr(poli_id2)txtId.Text = poli_id2
End IfmyReader.Close()myConn.Close()
Elsepoli_id2 = "R001"txtId.Text = poli_id2
End IfEnd Sub
Public Sub generate_idPoli1()Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim angka, angka2 As Integerangka2 = 0Dim id As StringDim id1 As StringDim n As IntegermyConn = Database()myConn.Open()Dim sql As String = "Select ID_POLI from POLIKLINIK"Dim command As SqlCommand = New SqlCommand(sql, myConn)Try
myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.Read()id = myReader.Item("ID_POLI")n = Len(id)angka = CInt(Mid$(id, 3, n))If angka2 < angka Then
angka2 = angkaEnd If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
132
End Whileid = CStr(angka2 + 1)id1 = "R-" + CStr(id)txtId.Text = id1
Else : id1 = "R-1"txtId.Text = id1
End IfmyReader.Close()
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly, "Info")
End TrymyConn.Close()
End Sub
End Class
4.3.1.13 User Interface Laporan
User interface laporan pada bagian administrator terdiri dari :
Laporan User.
Laporan Perusahaan.
Laporan Pasien Rawat Jalan.
Laporan Biaya Pasien Rawat Jalan.
Laporan Pembayaran Pasien Rawat Jalan.
Laporan Penagihan Pasien Rawat Jalan.
Laporan Dokter.
Laporan Poliklinik.
User interface laporan dibuat menggunakan software Crystal Report yang
merupakan software pendukung dalam Visual Basic.Net.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
133
Gambar 4.24 merupakan user interface laporan user.
Gambar 4.24 Laporan User
Gambar 4.25 merupakan user interface laporan perusahaan.
Gambar 4.25 Laporan Perusahaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
134
Gambar 4.26 merupakan user interface laporan pasien rawat jalan.
Gambar 4.26 Laporan Pasien Rawat Jalan
Laporan pasien rawat jalan ini dilengkapi dengan fasilitas pencarian dan
pengelompokkan data pasien berdasarkan tanggal masuk pasien.
Gambar 4.27 merupakan user interface laporan biaya pasien rawat jalan.
Gambar 4.27 Laporan Biaya Pasien Rawat Jalan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
135
Gambar 4.28 merupakan user interface laporan pembayaran pasien rawat jalan.
Gambar 4.28 Laporan Pembayaran Pasien Rawat Jalan
User interface ini dilengkapi dengan fasilitas penacarian dan
pengelompokkan data pembayaran pasien berdasarkan tanggal pembayaran.
Gambar 4.29 merupakan user interface laporan penagihan pasien rawat jalan.
Gambar 4.29 Laporan Penagihan Pasien Rawat Jalan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
136
Gambar 4.30 merupakan user interface laporan dokter.
Gambar 4.30 Laporan Dokter
Gambar 4.31 merupakan user interface laporan poliklinik.
Gambar 4.31 Laporan Poliklinik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
137
4.3.2 User Interface Proses Transaksi Kasir
User interface proses transaksi bagian kasir meliputi data pasien rawat
jalan, data biaya pasien rawat jalan, dan data pembayaran pasien rawat jalan.
Sedangkan untuk proses pembuatan laporannya, bagian kasir hanya memiliki hak
akses untuk pembuatan laporan data pasien rawat jalan, laporan biaya pasien
rawat jalan, dan laporan pembayaran pasien rawat jalan.
Pada halaman utama bagian kasir terdiri dari beberapa menu dan sub
menu. Menu pada user interface halaman utama bagian kasir meliputi: File, Data,
Laporan, Help.
Menu File terdiri dari sub menu:
Login
Logout
Exit
Menu Data terdiri dari sub menu:
Pasien Rawat Jalan
Biaya Pasien Rawat Jalan
Pembayaran Pasien Rawat
Menu Laporan terdiri dari sub menu:
Laporan Pasien Rawat Jalan
Laporan Biaya Pasien Rawat Jalan
Laporan Pembayaran Pasien Rawat Jalan
Menu Help terdiri dari sub menu:
About
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
138
Menu dan sub menu yang ditampilkan di halaman utama bagian kasir disesuaikan
dengan hak akses yang dimiliki kasir. User interface setiap halaman menu dan sub
menu bagian kasir sama dengan user interface yang ditampilkan pada bagian
administrator. Gambar 4.32 merupakan user interface halaman utama kasir.
Gambar 4.32 Halaman Utama Kasir
User harus melalui proses login terlebih dahulu sesuai dengan bagiannya
agar dapat mengkases sistem. User interface proses login bagian kasir sama
dengan user interface proses login bagian administrator. Jika proses login berhasil,
maka user bagian kasir akan masuk ke halaman utama kasir. Proses selanjutnya
kasir dapat memanipulasi data sesuai dengan hak aksesnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
139
4.3.3 User Interface Proses Transaksi Penagihan
User interface proses transaksi bagian penagihan meliputi data pasien
rawat jalan, data pembayaran pasien rawat jalan, dan data penagihan pasien rawat
jalan. User interface halaman utama bagian memiliki beberapa menu yaitu : File,
Data, Laporan, dan Help.
Menu File terdiri dari sub menu:
Login
Logout
Exit
Menu Data terdiri dari sub menu:
Data Pasien Rawat Jalan
Data Pembayaran Pasien Rawat Jalan
Data Penagihan Pasien Rawat Jalan
Menu Help terdiri dari sub menu:
About
Menu dan sub menu yang ditampilkan di halaman utama bagian penagihan
disesuaikan dengan hak akses yang dimiliki penagihan. User interface setiap
halaman menu dan sub menu bagian penagihan sama dengan user interface yang
ditampilkan pada bagian administrator. Gambar 4.33 merupakan user interface
halaman utama penagihan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
140
Gambar 4.33 Halaman Utama Penagihan
User harus melalui proses login terlebih dahulu sesuai dengan bagiannya
agar dapat mengkases sistem. User interface proses login bagian penagihan sama
dengan user interface proses login bagian administrator. Jika proses login berhasil,
maka user bagian penagihan akan masuk ke halaman utama penagihan. Proses
selanjutnya penagihan dapat memanipulasi data sesuai dengan hak aksesnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
141
BAB V
ANALISIS HASIL
5.1 Analisis Hasil Perangkat Lunak
Untuk dapat terkoneksi dengan database, sistem ini dilengkapi dengan
modul koneksi antara sistem dengan database. Modul koneksi tersebut akan
dieksekusi pada saat proses login user.
Berikut perintah pada modul koneksi database:
Module ConnectionPublic Function Database()
Dim myConn As SqlConnectionmyConn = New SqlConnection("server=CHIMERA; database=RS;
Trusted_Connection=yes")Return myConn
End FunctionEnd Module
User bagian administrator, kasir, dan penagihan memiliki user interface
halaman utama yang berbeda sesuai dengan hak akses yang dimiliki masing-
masing bagian.
Berikut perintah yang mengatur pembagian hak akses pada proses login user:
Dim Conn As SqlConnectionConn = Database()Conn.Open()Dim myReader As SqlDataReaderDim Id_Role As Integer
Dim command As SqlCommandDim sql As String = "Select Id_Role from User1
Where User_Name= '" & txtUser.Text.Trim & "' And Password= '" &txtPassword.Text.Trim & "' "
command = New SqlCommand(sql, Conn)myReader = command.ExecuteReader()If myReader.HasRows Then
i = 0While myReader.Read()
Id_Role = myReader.Item("ID_ROLE")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
142
End WhilemyReader.Close()
End If
If Id_Role = 1 ThenShow_Admin()Me.Hide()
ElseIf Id_Role = 2 ThenShow_Kasir()Me.Hide()
ElseIf Id_Role = 3 ThenShow_Penagihan()Me.Hide()
Elsei = i + 1
Untuk mengeksekusi data numeric, membaca database, dan mengeksekusi
query pada database, sistem juga dilengkapi dengan modul fungsi.
Berikut perintah untuk modul fungsi :
Module FungsiPrivate myConn As SqlConnection
Public Function getNumeric(ByVal sqlQuery As String) AsInteger
myConn = Database()myConn.Open()Dim myReader As SqlDataReaderDim cmd As SqlCommandDim data As Integercmd = New SqlCommand(sqlQuery, myConn)myReader = cmd.ExecuteReaderTry
If myReader.Read Thendata = myReader.GetValue(0)
End IfCatch ex As Exception
MessageBox.Show("Failed to reader cause " &ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
End TrymyReader.Close()myConn.Close()Return data
End Function
Public Function isEmpty(ByVal sqlQuery As String) As IntegermyConn = Database()myConn.Open()Dim myReader As SqlDataReaderDim cmd As SqlCommandcmd = New SqlCommand(sqlQuery, myConn)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
143
myReader = cmd.ExecuteReaderTry
If myReader.HasRows ThenisEmpty = 0
ElseisEmpty = 1
End IfCatch ex As Exception
MessageBox.Show("Failed to reader cause " &ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
End TrymyReader.Close()myConn.Close()Return isEmpty
End Function
Public Function executeQuery(ByVal sqlQuery As String)myConn = Database()myConn.Open()Try
Dim commandExe As New SqlCommand(sqlQuery, myConn)commandExe.ExecuteNonQuery()
Catch ex As ExceptionMessageBox.Show("Failed to reader cause " &
ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)End TrymyConn.Close()
End FunctionEnd Module
Pada beberapa user interface akan ditampilkan isi dari database dalam
bentuk datagrid, hal ini dimaksudkan untuk mempermudah proses manipulasi
data. Berikut salah satu contoh perintah untuk datagrid:
Public Sub Data_Grid()Dim myConn As SqlConnectionDim daUser As SqlDataAdapterDim dsUser As DataSetmyConn = Database()myConn.Open()Dim sqlselect As String = "Select User1.User_Name 'User
Name',User1.Password 'Password',ROLE.Role 'Bagian' from User1,ROLEWhere" & _
" ROLE.Id_Role=User1.Id_Role"daUser = New SqlDataAdapter(sqlselect, myConn)dsUser = New DataSetdaUser.Fill(dsUser, "USER1")dgUser.DataSource = dsUserdgUser.DataMember = ("USER1")dgUser.ReadOnly = True
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
144
myConn.Close()End Sub
Sistem informasi ini juga dilengkapi fasilitas pengendalian kesalahan
misalnya untuk data yang tidak lengkap, dan kesalahan memasukkan format tipe
data.
Berikut contoh perintah untuk pengendalian kesalahan:
TryDim myConn As SqlConnectionDim myReader As SqlDataReadermyConn = Database()myConn.Open()Dim no_mr As StringDim sqlSelect As String = "Select NO_MR from PASIEN
order by NO_MR asc"Dim comm As SqlCommand = New SqlCommand(sqlSelect,
myConn)myReader = comm.ExecuteReader()If myReader.HasRows Then
While myReader.Read()no_mr = myReader.Item("NO_MR")
End WhileEnd IfmyReader.Close()If txtNama.Text = "" Then
MsgBox("Silahkan masukkan nama pasien",MsgBoxStyle.OKOnly, "Info")
txtNama.Focus()ElseIf (IsNumeric(txtNama.Text) = True) Then
MsgBox("Data masukkan salah. Data Nama yang andamasukkan tidak boleh berupa angka", MsgBoxStyle.OKOnly, "Info")
txtNama.Text = ""txtNama.Focus()
ElseIf txtAlamat.Text = "" ThenMsgBox("Silahkan masukkan alamat pasien",
MsgBoxStyle.OKOnly, "Info")txtAlamat.Focus()
ElseIf DTP1.Checked = False ThenMsgBox("Silahkan masukkan tanggal lahir pasien",
MsgBoxStyle.OKOnly, "Info")DTP1.Focus()
ElseIf txtKota.Text = "" ThenMsgBox("Silahkan masukkan kota kelahiran pasien",
MsgBoxStyle.OKOnly, "Info")txtKota.Focus()
ElseIf (IsNumeric(txtKota.Text) = True) ThenMsgBox("Data masukkan salah. Data Kota yang anda
masukkan tidak boleh berupa angka", MsgBoxStyle.OKOnly, "Info")txtKota.Text = ""txtKota.Focus()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
145
ElseIf txtUmur.Text = "" ThenMsgBox("Silahkan masukkan umur pasien Inputan
harus berupa angka (0-9)", MsgBoxStyle.OKOnly, "Info")txtUmur.Focus()
ElseIf (IsNumeric(txtUmur.Text) = False) ThenMsgBox("Nilai yang anda masukkan salah ! Inputan
harus berupa angka (0-9)", MsgBoxStyle.OKOnly, "Info")txtUmur.Text = ""txtUmur.Focus()
ElseIf cmbKelamin.Text = "--pilih kelamin--" ThenMsgBox("Silahkan pilih jenis kelamin pasien",
MsgBoxStyle.OKOnly, "Info")cmbKelamin.Focus()
ElseIf cmbStatus.Text = "--pilih status--" ThenMsgBox("Silahkan pilih status pasien",
MsgBoxStyle.OKOnly, "Info")cmbStatus.Focus()
ElseIf cmbAgama.Text = "--pilih agama--" ThenMsgBox("Silahkan pilih agama pasien",
MsgBoxStyle.OKOnly, "Info")cmbAgama.Focus()
ElseIf txtOrtu.Text = "" ThenMsgBox("Silahkan masukkan nama orang tua pasien",
MsgBoxStyle.OKOnly, "Info")txtOrtu.Focus()
ElseIf (IsNumeric(txtOrtu.Text) = True) ThenMsgBox("Data masukkan salah. Data Nama yang anda
masukkan tidak boleh berupa angka", MsgBoxStyle.OKOnly, "Info")txtOrtu.Focus()
ElseIf cmbPerusahaan.Text = "--pilih perusahaan--"Then
MsgBox("Silahkan pilih perusahaan pasien",MsgBoxStyle.OKOnly, "Info")
cmbPerusahaan.Focus()
ElseDim ans = MsgBox("Anda yakin akan menambahkan data
tersebut?", MsgBoxStyle.OKCancel, "Konfirmasi")
Pada user interface data pasien, data perusahaan, dan data pembayaran
terdapat id pasien berupa no mr, id perusahaan dan no folio untuk untuk pasien.
Semua id tersebut dibuat (generate) oleh sistem secara otomatis untuk mencegah
terjadinya redudancy data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
146
Berikut perintah untuk generate mr:
Public Sub generate_mr()Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim angka, angka2 As Integerangka2 = 0Dim no_mr As StringDim no_mr1 As StringDim n As IntegermyConn = Database()myConn.Open()Dim sql As String = "Select NO_MR from PASIEN"Dim command As SqlCommand = New SqlCommand(sql, myConn)Try
myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.Read()no_mr = myReader.Item("NO_MR")n = Len(no_mr)angka = CInt(Mid$(no_mr, 4, n))If angka2 < angka Then
angka2 = angkaEnd If
End Whileno_mr = CStr(angka2 + 1)no_mr1 = "00-" + CStr(no_mr)txtMr.Text = no_mr1
Else : no_mr1 = "00-1"txtMr.Text = no_mr1
End IfmyReader.Close()
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly, "Info")
End TrymyConn.Close()
End Sub
Berikut perintah untuk generate id perusahaan:
Public Sub generate_id()Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim i As Integer = 1Dim perusahaan_id As StringDim perusahaan_id2 As String
myConn = Database()myConn.Open()Dim sql As String = "Select ID_PERUSAHAAN from PERUSAHAAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
147
order by ID_PERUSAHAAN"Dim command As SqlCommand = New SqlCommand(sql, myConn)myReader = command.ExecuteReader()If myReader.HasRows Then
TryWhile myReader.Read
perusahaan_id =CInt(Mid(Trim(myReader.GetString(0)), 2, 5))
If perusahaan_id = i Theni = i + 1
End IfEnd While
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly,
"Info")End Tryperusahaan_id2 = CStr(i)If perusahaan_id2.Length = 1 Then
perusahaan_id2 = "P00" + CStr(perusahaan_id2)txtId.Text = perusahaan_id2
ElseIf perusahaan_id2.Length = 2 Thenperusahaan_id2 = "P0" + CStr(perusahaan_id2)txtId.Text = perusahaan_id2
ElseIf perusahaan_id2.Length = 3 Thenperusahaan_id2 = "P" + CStr(perusahaan_id2)txtId.Text = perusahaan_id2
End IfmyReader.Close()myConn.Close()
Elseperusahaan_id2 = "P001"txtId.Text = perusahaan_id2
End IfEnd Sub
Berikut perintah untuk generate nomor folio :
Public Sub generate_folio()Dim myConn As SqlConnectionDim myReader As SqlDataReaderDim angka, angka2 As Integerangka2 = 0Dim no_folio As StringDim no_folio1 As StringDim n As IntegermyConn = Database()myConn.Open()Dim sql As String = "Select NO_FOLIO from BIAYA"Dim command As SqlCommand = New SqlCommand(sql, myConn)Try
myReader = command.ExecuteReader()If myReader.HasRows Then
While myReader.Read()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
148
no_folio = myReader.Item("NO_FOLIO")n = Len(no_folio)angka = CInt(Mid$(no_folio, 4, n))If angka2 < angka Then
angka2 = angkaEnd If
End Whileno_folio = CStr(angka2 + 1)no_folio1 = "FO-" + CStr(no_folio)txtFolio.Text = no_folio1
Else : no_folio1 = "FO-1"txtFolio.Text = no_folio1
End IfmyReader.Close()
Catch ex As ExceptionMsgBox("Tidak ada data", MsgBoxStyle.OKOnly, "Info")
End TrymyConn.Close()
End Sub
5.2 Kelebihan Dan Kekurangan Sistem
5.2.1 Kelebihan Sistem
Berikut ini beberapa kelebihan sistem:
1. Sistem ini menghasilkan informasi berupa laporan biaya tagihan pasien
rawat jalan yang digunakan oleh bagian penagihan untuk proses pelunasan
biaya tagihan yang ditanggung oleh perusahaan.
2. Sistem ini meningkatkan efisiensi dalam proses pembayaran biaya pasien
rawat jalan.
5.2.2 Kekurangan Sistem
Berikut ini kekurangan sistem:
1. Sistem ini tidak dilengkapi dengan fasilitas yang dapat menentukan
tanggal jatuh tempo penagihan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
149
2. Kesulitan dalam pengembangan untuk sistem informasi rumah sakit yang
lebih besar dan kompleks lagi karena tidak menggunakan store procedure.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
150
BAB VI
PENUTUP
6.1 Kesimpulan
1. Sistem informasi pembayaran biaya perawatan pasien dengan asuransi
kesehatan pada perusahaan ini secara garis besar sudah berjalan dengan
baik tetapi masih belum dapat digunakan secara penuh pada sistem
informasi rumah sakit secara keseluruhan.
2. Masih membutuhkan banyak pengembangan dan perbaikan pada laporan
yang dihasilkan.
3. Sistem ini sudah mampu melakukan perhitungan biaya tagihan perawatan
pasien rawat jalan.
6.2 Saran
1. Sistem ini akan lebih baik jika terhubung langsung dengan bagian
pendaftaran dan kasir.
2. Sistem ini juga akan lebih baik jika menangani pasien rawat inap juga.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
151
DAFTAR PUSTAKA
Kusumo, Drs. Ario Suryo, Visual Basic.NET versi 2002 dan 2003, Elex Media
Komputindo, Jakarta, 2004.
Budiharto, Widodo, Panduan Bagi Programmer .NET Menguasai Visual Basic.Net
Tingkat Lanjut, Elex Media Komputindo, Jakarta, 2003.
Akbar, Ali, VISUAL BASIC.net Belajar Praktis Melalui Berbagai Tutorial dan Tips,
Informatika Bandung, Bandung, 2005.
Martina, Ir. Inge, 36 Jam Belajar Komputer Microsoft SQL Server 2000, Elex Media
Komputindo, Jakarta, 2003.
Yung, Kok, Trik Menguasai Perintah SQL, Elex Media Komputindo, Jakarta, 2003.
Whitten, J. L., Bentley, L. D., Barlow, V. M., System Analysis & Design Methods
Sixth Edition, Irwin/McGraw-Hill, 2004.
Jogiyanto, Analisis & Disain Sistem Informasi : Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis, Andi Offset, Yogyakarta, 1990.
Widjajanto, Nugroho, Sistem Informasi Akuntansi, Erlangga, Jakarta, 2001.
Connolly, T., Begg, C., DATABASE SYSTEM A Pratical Approach To Design,
Implementation And Management, Addison Wesley, 2002.
MSDN Library-July 2004.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI