APLIKASI RAWAT INAP (VB.Net 2008) Peminat silakan hubungi : Email : uusrusmawan71@gmail.com Facebook : konsultasivb@ymail.com (Uus Rusmawan) Phone : 0812 8438 1118 Pada bab ini akan dibahas tentang aplikasi rawat inap. Aplikasi ini merupakan salah satu aplikasi yang banyak dipilih mahasiswa dalam membuat tugas akhir dan skripsi. Bahkan di dunia medis aplikasi ini bisa bernilai puluhan hingga ratusan juta rupiah. Aplikasi ini dapat diunduh pada tautan berikut ini. 4.1 Membuat Project Baru Langkah awal dalam membuat aplikasi ini adalah membuat project. 1. Buka Microsoft Visual Studio 2008 (silakan gunakan versi yang anda miliki) 2. Create Project 3. Tulis nama project, misalnya "Aplikasi Rawat Inap" 4. Klik OK 4.2 Membuat Database Dan Tabel Langkah selanjutnya adalah membuat database dan tabel. Nama database dalam aplikasi ini adalah "DBRawatInap.mdb", adapun tabel-tabel dalam aplikasi ini terlihat pada gambar di bawah ini. Pembuatan database disimpan dalam folder bin>debug aplikasi rawat inap. 1
Gambar 4.1 Database dan tabel Catatan : Anda tidak perlu membuat database dan tabel-tabel tersebut karena sudah kami siapkan pada sebuah tautan yang telah kami persiapkan, anda cukup mengunduhnya (berikut aplikasinya). 2
4.3 Bentuk Relasi Tabel 4.4 Membuat Module Koneksi Gambar 4.2 Bentuk relasi tabel rawat inap Langkah berikutnya adalah membuat module koneksi ke database. 1. Klik menu Project 2. Add Module 3. Klik Add 4. Kemudian tulislah coding di bawah ini Imports System.Data.OleDb Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared 3
Module Module1 Public CONN As OleDbConnection Public DA As OleDbDataAdapter Public DS As DataSet Public CMD As OleDbCommand Public DR As OleDbDataReader Public cryrpt As New ReportDocument Public crtablelogoninfos As New TableLogOnInfos Public crtablelogoninfo As New TableLogOnInfo Public crconnectioninfo As New ConnectionInfo Public CrTables As Tables Public Sub seting_laporan() With crconnectioninfo.servername = (Application.StartupPath.ToString & "\dbrawatinap.mdb").databasename = (Application.StartupPath.ToString & "\dbrawatinap.mdb").userid = "".Password = "" End With CrTables = cryrpt.database.tables For Each CrTable In CrTables crtablelogoninfo = CrTable.LogOnInfo crtablelogoninfo.connectioninfo = crconnectioninfo CrTable.ApplyLogOnInfo(crtableLogoninfo) Next Public Sub Koneksi() Try CONN = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=dbrawatinap.mdb") CONN.Open() Catch ex As Exception MsgBox(ex.Message) End End Try End Module 4
5
6
7
8
9
Imports System.Data.OleDb Public Class Pembayaran Sub Nomorotomatis() CMD = New OleDbCommand("select nomor_pembayaran from TRpembayaran order by nomor_pembayaran desc", CONN) DR = CMD.ExecuteReader DR.Read() If Not DR.HasRows Then TextBox1.Text = "00001" Else TextBox1.Text = Format(DR.Item("nomor_pembayaran") + 1, "00000") 10
Sub Kosongkan() Dim x As Control For Each x In Me.GroupBox1.Controls If TypeOf x Is TextBox Or TypeOf x Is ComboBox Then x.text = "" Next x TxtCari.Clear() Sub TampilGrid() DA = New OleDbDataAdapter("select * from TRPembayaran", CONN) DS = New DataSet DA.Fill(DS) DGV.DataSource = DS.Tables(0) DGV.ReadOnly = True Sub TampilRegistrasi() CMD = New OleDbCommand("select * from TRRegistrasi where status_registrasi='terdaftar'", CONN) DR = CMD.ExecuteReader ComboBox1.Items.Clear() Do While DR.Read ComboBox1.Items.Add(DR.Item("NOMOR_REGISTRASI")) Loop Sub CariPasien() CMD = New OleDbCommand("select * from tblpasien where kode_pasien='" & TextBox3.Text & "'", CONN) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then TextBox4.Text = DR.Item("nama_pasien") Sub CariKamar() CMD = New OleDbCommand("select * from tblkamar where kode_kamar='" & TextBox5.Text & "'", CONN) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then TextBox6.Text = DR.Item("nama_kamar") TextBox7.Text = DR.Item("tarif_kamar") 11
Private Sub Pembayaran_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call Kosongkan() Call Nol_kan() Call Nomorotomatis() Call TampilRegistrasi() Call TampilGrid() Sub Nol_kan() TextBox11.Text = 0 TextBox12.Text = 0 TextBox13.Text = 0 TextBox14.Text = 0 TextBox15.Text = 0 TextBox16.Text = 0 TextBox17.Text = 0 TextBox18.Text = "-" Sub TotalBiayaAlat() On Error Resume Next CMD = New OleDbCommand("select sum(biaya) from TRperawatan,TRperawatandetail,TRregistrasi where trperawatan.nomor_perawatan=trperawatandetail.nomor_perawatan and trperawatan.nomor_registrasi=trregistrasi.nomor_registrasi and trperawatandetail.kode_alat<>'-' and trregistrasi.nomor_registrasi='" & ComboBox1.Text & "'", CONN) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then TextBox11.Text = DR.Item(0) Else TextBox11.Text = 0 Sub TotalBiayaDokter() On Error Resume Next CMD = New OleDbCommand("select sum(biaya) from TRperawatan,TRperawatandetail,TRregistrasi where trperawatan.nomor_perawatan=trperawatandetail.nomor_perawatan and trperawatan.nomor_registrasi=trregistrasi.nomor_registrasi and trperawatandetail.kode_dokter<>'-' and trregistrasi.nomor_registrasi='" & ComboBox1.Text & "'", CONN) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then TextBox12.Text = DR.Item(0) Else 12
TextBox12.Text = 0 Sub TotalBiayaObat() On Error Resume Next CMD = New OleDbCommand("select sum(biaya) from TRperawatan,TRperawatandetail,TRregistrasi where trperawatan.nomor_perawatan=trperawatandetail.nomor_perawatan and trperawatan.nomor_registrasi=trregistrasi.nomor_registrasi and trperawatandetail.kode_obat<>'-' and trregistrasi.nomor_registrasi='" & ComboBox1.Text & "'", CONN) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then TextBox13.Text = DR.Item(0) Else TextBox13.Text = 0 Sub TotalBiayaTindakan() On Error Resume Next CMD = New OleDbCommand("select sum(biaya) from TRperawatan,TRperawatandetail,TRregistrasi where trperawatan.nomor_perawatan=trperawatandetail.nomor_perawatan and trperawatan.nomor_registrasi=trregistrasi.nomor_registrasi and trperawatandetail.kode_tindakan<>'-' and trregistrasi.nomor_registrasi='" & ComboBox1.Text & "'", CONN) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then TextBox14.Text = DR.Item(0) Else TextBox14.Text = 0 Sub GrandBiaya() TextBox15.Text = Val(TextBox10.Text) + Val(TextBox11.Text) + Val(TextBox12.Text) + Val(TextBox13.Text) + Val(TextBox14.Text) Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged CMD = New OleDbCommand("select * from TRregistrasi where nomor_registrasi='" & ComboBox1.Text & "'", CONN) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then 13
TextBox2.Text = DR.Item("Tgl_registrasi") TextBox3.Text = DR.Item("kode_pasien") TextBox5.Text = DR.Item("kode_kamar") Call CariPasien() Call CariKamar() TextBox8.Text = Today TextBox9.Text = DateDiff(DateInterval.Day, DateValue(TextBox2.Text), Today) If TextBox9.Text = 0 Then TextBox9.Text = 1 TextBox10.Text = Val(TextBox7.Text) * Val(TextBox9.Text) Call Nol_kan() Call TotalBiayaAlat() Call TotalBiayaDokter() Call TotalBiayaObat() Call TotalBiayaTindakan() Call GrandBiaya() TextBox16.Focus() Private Sub BTNBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNBatal.Click Call Kosongkan() Call Nol_kan() Call Nomorotomatis() Private Sub BTNTutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNTutup.Click Me.Close() Private Sub TextBox16_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox16.KeyPress If Not (e.keychar >= "0" And e.keychar <= "9" Or e.keychar = vbback) Then e.handled = True If e.keychar = Chr(13) Then BTNSimpan.Focus() Private Sub TextBox16_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox16.TextChanged If Val(TextBox16.Text) < Val(TextBox15.Text) Then TextBox17.Text = 0 14
TextBox18.Text = "SISA " & Val(TextBox15.Text) - Val(TextBox16.Text) & "" ElseIf Val(TextBox16.Text) >= Val(TextBox15.Text) Then TextBox17.Text = Val(TextBox16.Text) - Val(TextBox15.Text) TextBox18.Text = "LUNAS" End Class 15
16
17
18
19
20
21
22
23