Sistem Informasi Laboratorium Pada Rumah Sakit Umum Tere-Margareth Menggunakan Visual Basic 6.0
LISTING PROGRAM
1. Form agama
Option Explicit
Dim AddStatus As Boolean Dim NewForm As Form
Private Sub cmdHapus_Click() On Error GoTo ErrLocal
SQL = "DELETE FROM R_AGAMA WHERE KODE = '" & txtKdAgama.Text & "'"
pADO.Execute SQL AddStatus = False cmdTambah.SetFocus ADO.Refresh
Exit Sub ErrLocal:
MsgBox errDelete End Sub
Private Sub cmdPrint_Click() cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_RS}": cvFormulaFieldsSP(1, 2) = "" & pKdRS & ""
cvHeader = "REFERENSI AGAMA"
' SQL = "DBO.SP_PRINT_R_AGAMA '" & pKdRS & "'" ' cvSqlQuery = SQL
cvReportFilename = App.Path & "\REPORTS\REFF AGAMA.Rpt" Set NewForm = New frmPrintSP
NewForm.Show End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal If AddStatus = True Then
SQL = "INSERT INTO R_AGAMA (KODE, URAIAN) Values ('" & txtKdAgama.Text & "', '" & _
String2SQL(txtUAgama.Text) & "')" Else
(2)
"URAIAN = '" & String2SQL(txtUAgama.Text) & "' " & _ "WHERE KODE = '" & txtKdAgama.Text & "'"
End If
pADO.Execute SQL AddStatus = False ADO.Refresh
Exit Sub ErrLocal:
MsgBox ErrSave End Sub
Private Sub cmdTambah_Click() On Error GoTo ErrLocal
txtKdAgama.Text = FieldValue("R_AGAMA", "TOP 1 KODE", "1=1 ORDER BY KODE DESC") + 1
txtUAgama.Text = "" txtUAgama.SetFocus AddStatus = True Exit Sub
ErrLocal:
MsgBox ErrAdd End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub DG_Click() On Error Resume Next
txtKdAgama.Text = DG.Columns(0).Text txtUAgama.Text = DG.Columns(1).Text txtUAgama.SetFocus
AddStatus = False End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
2. Form Jabatan
(3)
Dim AddStatus As Boolean Dim NewForm As Form
Private Sub cmdHapus_Click() On Error GoTo ErrLocal
SQL = "DELETE FROM R_JABATAN WHERE KODE = '" & txtKdJabatan.Text & "'"
pADO.Execute SQL ADO.Refresh
AddStatus = False Exit Sub
ErrLocal:
MsgBox errDelete End Sub
Private Sub cmdPrint_Click() cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_RS}": cvFormulaFieldsSP(1, 2) = "" & pKdRS & ""
cvHeader = "REFERENSI JABATAN"
cvReportFilename = App.Path & "\REPORTS\REFF JABATAN.Rpt" Set NewForm = New frmPrintSP
NewForm.Show End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal If AddStatus = True Then
SQL = "INSERT INTO R_JABATAN (KODE, URAIAN) Values ('" & txtKdJabatan.Text & "', '" & _
String2SQL(txtUJabatan.Text) & "')" Else
SQL = "UPDATE R_JABATAN SET " & _
"URAIAN = '" & String2SQL(txtUJabatan.Text) & "' " & _ "WHERE KODE = '" & txtKdJabatan.Text & "'"
End If
pADO.Execute SQL ADO.Refresh
cmdTambah.SetFocus AddStatus = False
If Not ADO.Recordset.EOF Then ADO.Recordset.MoveFirst
While Not ADO.Recordset.EOF
If ADO.Recordset.Fields("KODE") = Int(txtKdJabatan.Text) Then GoTo Akhiri
(4)
Else ADO.Recordset.MoveNext End If Wend End If Exit Sub ErrLocal: MsgBox ErrSave Akhiri: End Sub
Private Sub cmdTambah_Click() AddStatus = True
txtKdJabatan.Text = FieldValue("R_JABATAN", "TOP 1 KODE", "1=1 ORDER BY KODE DESC") + 1
txtUJabatan.Text = "" txtUJabatan.SetFocus End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub DG_Click() On Error Resume Next
txtKdJabatan.Text = DG.Columns(0).Text txtUJabatan.Text = DG.Columns(1).Text txtUJabatan.SetFocus
AddStatus = False txtUJabatan.SetFocus End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Form_Load()
SQL = "SELECT * FROM R_JABATAN ORDER BY KODE" ADO.RecordSource = SQL
ADO.Refresh End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
(5)
3. Form Laboratorium
Option Explicit
Dim AddStatus As Boolean Dim NewForm As Form
Private Sub cmdHapus_Click() On Error GoTo ErrLocal
SQL = "DELETE FROM T_LABORATORIUM WHERE NO_RM = '" & txtKdPasien.Text & "' AND KODE = '" & txtKode.Text & "'"
pADO.Execute SQL ADO.Refresh
AddStatus = False Exit Sub
ErrLocal:
MsgBox errDelete End Sub
Private Sub cmdHapusDt_Click() On Error GoTo ErrLocal
SQL = "DELETE FROM T_LABORATORIUM_DT2 WHERE NO_RM = '" & txtKdPasien.Text & "' AND " & _
"KODE = '" & txtKode.Text & "' AND KD_TINDAKAN = '" & txtKdTindakan.Text & "'"
pADO.Execute SQL
SQL = "DELETE FROM T_LABORATORIUM_DT WHERE NO_RM = '" & txtKdPasien.Text & "' AND " & _
"KODE = '" & txtKode.Text & "' AND KD_TINDAKAN = '" & txtKdTindakan.Text & "'"
pADO.Execute SQL ADO_DT.Refresh ADO_DT2.Refresh Exit Sub ErrLocal: MsgBox errDelete End Sub
Private Sub cmdInsert_Click() On Error GoTo ErrLocal
If DG_R_TINDAKAN.Columns(4).Text <> "" Then
txtKdTindakan.Text = DG_R_TINDAKAN.Columns(4).Text
SQL = "INSERT INTO T_LABORATORIUM_DT (NO_RM, KODE, KD_TINDAKAN) VALUES ('" & _
txtKdPasien.Text & "', '" & txtKode.Text & "', '" & txtKdTindakan.Text & "')"
pADO.Execute SQL End If
(6)
SQL = "INSERT INTO T_LABORATORIUM_DT2 (NO_RM, KODE, KD_TINDAKAN, KD_PERIKSA, GRUP, URAIAN, " & _
"SATUAN, RUJUKAN, METODE, HASIL) " & _
"SELECT '" & txtKdPasien.Text & "', '" & txtKode.Text & "', '" & _
txtKdTindakan.Text & "', A.KODE, A.GRUP, A.URAIAN, A.SATUAN, A.RUJUKAN, " & _
"A.METODE, '' FROM R_TINDAKAN_4 A " & _
"LEFT JOIN T_LABORATORIUM_DT2 B ON A.KODE = B.KD_PERIKSA AND B.NO_RM = '" & _
txtKdPasien.Text & "' AND B.KODE = '" & txtKode.Text & "' " & _
"WHERE LEFT(A.KODE,11) = '" & txtKdTindakan.Text & "' AND B.NO_RM IS NULL"
pADO.Execute SQL ADO_DT.Refresh ADO_DT2.Refresh Exit Sub ErrLocal: MsgBox ErrSave End Sub
Private Sub cmdPrint_Click() cvReset
cvFormulaLengthSP = 3 cvFormulaLength = 6
ReDim cvFormulaFieldsSP(1 To 3, 1 To 2) ReDim cvFormulaFields(1 To 6, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@NO_RM}": cvFormulaFieldsSP(1, 2) = txtKdPasien.Text
cvFormulaFieldsSP(2, 1) = "{?@KODE}": cvFormulaFieldsSP(2, 2) = txtKode.Text
cvFormulaFieldsSP(3, 1) = "{?@KD_RS}": cvFormulaFieldsSP(3, 2) = "" & pKdRS & ""
cvHeader = "PEMERIKSAAN LABORATORIUM"
cvReportFilename = App.Path & "\REPORTS\LABORATORIUM.Rpt" Set NewForm = New frmPrintSP
NewForm.Show End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal If AddStatus = True Then
SQL = "INSERT INTO T_LABORATORIUM (NO_RM, KODE, TANGGAL, KD_DOKTER) VALUES ('" & _
txtKdPasien.Text & "', '" & txtKode.Text & "', '" & _ Date2Sql(dtTgl.Value) & " " & FormatTime(dtJam.Value) & "', '" & txtKdDokter.Text & "')"
(7)
Else
SQL = "UPDATE T_LABORATORIUM SET " & _
"TANGGAL = '" & Date2Sql(dtTgl.Value) & " " & FormatTime(dtJam.Value) & "', " & _
"KD_DOKTER = '" & txtKdDokter.Text & "' " & _
"WHERE NO_RM = '" & txtKdPasien.Text & "' AND KODE = '" & txtKode.Text & "'"
End If
pADO.Execute SQL ADO.Refresh
AddStatus = False Exit Sub
ErrLocal:
MsgBox ErrSave End Sub
Private Sub cmdTambah_Click() On Error GoTo ErrLocal
txtKode.Text = FieldValue("T_LABORATORIUM", "TOP 1 KODE", "NO_RM = '" & txtKdPasien.Text & "' ORDER BY KODE DESC") + 1
dtTgl.Value = TODAY dtJam.Value = Now txtKdDokter.Text = "" AddStatus = True Exit Sub
ErrLocal:
MsgBox ErrAdd End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub DG_Click() On Error Resume Next
txtKode.Text = DG.Columns(1).Text dtTgl.Value = DG.Columns(2).Text dtJam.Value = DG.Columns(2).Text txtKdDokter.Text = DG.Columns(3).Text End Sub
Private Sub DG_DT_Click() On Error Resume Next
txtKdTindakan.Text = DG_DT.Columns(2).Text End Sub
Private Sub DG_DT2_Click() On Error Resume Next
txtKdLab.Text = DG_DT2.Columns(3).Text txtULab.Text = DG_DT2.Columns(5).Text txtSatuan.Text = DG_DT2.Columns(6).Text
(8)
txtHasil.Text = DG_DT2.Columns(9).Text End Sub
Private Sub DG_R_TINDAKAN_DblClick() Call cmdInsert_Click
End Sub
Private Sub lblDokter_Click() SrcTablePos = "T_PEGAWAI" nField = 1
SrcTable = "T_PEGAWAI"
SrcWhere = "KD_JABATAN = 1"
SrcKey = "NAMA" SrcFieldLen = 2
ReDim SrcField(1 To SrcFieldLen, 1 To SrcFieldLen) ReDim SrcDataField(1 To 2, 1 To 2)
SrcDataField(1, 1) = "NIP" SrcDataField(2, 1) = "NAMA"
SrcField(1, 1) = "NIP AS NIP" SrcField(2, 1) = "NAMA AS NAMA"
SrcField(1, 2) = "NIP" SrcField(2, 2) = "NAMA"
txtKdDokter.Text = SetFormSearch End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
Private Sub txtKdDokter_Change()
txtUDokter.Text = FieldValue("T_PEGAWAI", "NAMA", "NIP = '" & txtKdDokter.Text & "'")
End Sub
Private Sub txtKdPasien_Change()
SQL = "SELECT * FROM T_PASIEN WHERE KODE = '" & txtKdPasien.Text & "'"
pRS.CursorLocation = adUseClient pRS.Open SQL, pADO
If Not pRS.EOF Then
txtUPasien.Text = pRS.Fields("NAMA")
cmbAgama.BoundText = pRS.Fields("KD_AGAMA") cmbJK.BoundText = pRS.Fields("JK")
(9)
txtAlamat.Text = pRS.Fields("ALAMAT") End If pRS.Close Call ResetADO Call ResetFieldADO End Sub
Private Sub txtKdPasien_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
KeyAscii = 0 Call ResetADO Call ResetFieldADO End If
End Sub
Private Sub ResetADO()
SQL = "SELECT * FROM T_LABORATORIUM WHERE NO_RM = '" & txtKdPasien.Text & "' ORDER BY TANGGAL DESC"
ADO.RecordSource = SQL ADO.Refresh
End Sub
Private Sub ResetFieldADO() txtKode.Text = ""
dtTgl.Value = TODAY dtJam.Value = Now txtKdDokter.Text = "" End Sub
Private Sub ResetADODt()
SQL = "SELECT A.NO_RM, A.KODE, A.KD_TINDAKAN, B.URAIAN FROM T_LABORATORIUM_DT A " & _
"INNER JOIN R_TINDAKAN_3 B ON A.KD_TINDAKAN = B.KODE " & _ "WHERE A.NO_RM = '" & txtKdPasien.Text & "' AND A.KODE = '" & txtKode.Text & "'"
ADO_DT.RecordSource = SQL ADO_DT.Refresh
End Sub
Private Sub ResetFieldADODt() txtKdTindakan.Text = "" End Sub
Private Sub ResetADODt2()
SQL = "SELECT * FROM T_LABORATORIUM_DT2 WHERE NO_RM = '" & txtKdPasien.Text & "' AND " & _
"KODE = '" & txtKode.Text & "' AND KD_TINDAKAN = '" & txtKdTindakan.Text & "'"
ADO_DT2.RecordSource = SQL ADO_DT2.Refresh
(10)
End Sub
Private Sub ResetFieldADODt2() txtKdLab.Text = ""
txtULab.Text = "" txtSatuan.Text = "" txtHasil.Text = "" End Sub
Private Sub txtKdTindakan_Change() Call ResetFieldADODt2
Call ResetADODt2 End Sub
Private Sub txtKey_Change()
SQL = "SELECT * FROM R_TINDAKAN_3 WHERE " & ReFormQuery(txtKey.Text, "URAIAN") & " ORDER BY URAIAN"
ADO_TINDAKAN.RecordSource = SQL ADO_TINDAKAN.Refresh
End Sub
Private Sub txtKode_Change() Call ResetFieldADODt Call ResetADODt End Sub
4. Form Login
Option Explicit
Private Sub cmdCancel_Click() End
End Sub
Private Sub cmdOK_Click() Dim St As Integer
On Error GoTo ErrLocal: CmdOk.BackColor = &HFFFFFF
If txtUserName.Text <> "" And txtPassword.Text <> "" Then
If txtPassword.Text = FieldValue("T_Pegawai", "Password", "NIP = '" & txtUserName.Text & "'") Then
LoginSucceeded = True
pLoginNIP = txtUserName.Text
pLoginName = FieldValue("T_Pegawai", "Nama", "NIP ='" & txtUserName.Text & "'")
pLoginStatus = FieldValue("T_Pegawai", "Status", "NIP = '" & txtUserName.Text & "'")
Me.Hide Else
(11)
txtPassword.SetFocus SendKeys "{Home}+{End}" End If End If Call Para Exit Sub ErrLocal:
If Err.Number = "-2147467259" Then
MsgBox "Tidak bisa koneksi ke Server, silahkan ulang login !!!", vbCritical
End If
MsgBox "Error Login, Please try again !!", vbCritical End Sub
Private Sub cmdOK_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
CmdOk.BackColor = &HFFFFFF End Sub
Private Sub Form_Activate() On Error GoTo ErrorRtn
color = RGB(0, 0, 255): flag = 0
flag = flag Or LWA_COLORKEY: 'frmLogin.Show SetTranslucent frmLogin.hWnd, color, 0, flag Exit Sub
ErrorRtn: MsgBox Err.Description & " Source : " & Err.Source End Sub
Private Sub Form_Load() txtUserName.Text = "" txtPassword.Text = "" End Sub
5. Form Menu2
Option Explicit
Dim ActiveCmd As Long
Public Sub LoadForm(ByRef srcForm As Form) srcForm.Show
srcForm.SetFocus End Sub
Private Sub cmdMenu_Click(Index As Integer) ActiveCmd = Index
PrepareMenu ActiveCmd End Sub
Private Sub Form_Load() ActiveCmd = 1
(12)
PrepareMenu ActiveCmd
TreeMenu.Height = Me.Height - 435 * 5 - 820 SQL = "SELECT * FROM SETUP"
ADO.RecordSource = SQL ADO.Refresh
End Sub
Private Sub PrepareMenu(ByVal TheItem As Integer) TreeMenu.Nodes.Clear
SQL = "SELECT * FROM T_PEGAWAI WHERE NIP = '" & pLoginNIP & "'" pRS.CursorLocation = adUseClient
pRS.Open SQL, pADO If Not pRS.EOF Then
If pRS.Fields("MN_MASTER") = 1 Then TreeMenu.Nodes.Add , , "A", "MASTER"
TreeMenu.Nodes.Add "A", tvwChild, "A1", "Setup Parameter": If pRS.Fields("MN_MASTER_01") = 1 Then TreeMenu.Nodes("A1").Bold = True
TreeMenu.Nodes.Add "A", tvwChild, "A2", "Referensi Agama": If pRS.Fields("MN_MASTER_02") = 1 Then TreeMenu.Nodes("A2").Bold = True
TreeMenu.Nodes.Add "A", tvwChild, "A3", "Referensi Jabatan": If pRS.Fields("MN_MASTER_03") = 1 Then TreeMenu.Nodes("A3").Bold = True
TreeMenu.Nodes.Add "A", tvwChild, "A4", "Referensi Pekerjaan": If pRS.Fields("MN_MASTER_04") = 1 Then TreeMenu.Nodes("A4").Bold = True
TreeMenu.Nodes.Add "A", tvwChild, "A4XX", "-"
TreeMenu.Nodes.Add "A", tvwChild, "A5", "Referensi Data Pegawai": If pRS.Fields("MN_MASTER_05") = 1 Then TreeMenu.Nodes("A5").Bold = True
TreeMenu.Nodes.Add "A", tvwChild, "A5XX", "-"
TreeMenu.Nodes.Add "A", tvwChild, "A6", "Referensi Data Pasien": If pRS.Fields("MN_MASTER_06") = 1 Then TreeMenu.Nodes("A6").Bold = True
TreeMenu.Nodes.Add "A", tvwChild, "A6XX", "-"
TreeMenu.Nodes.Add "A", tvwChild, "A7", "Referensi Tindakan Medis": If pRS.Fields("MN_MASTER_07") = 1 Then TreeMenu.Nodes("A7").Bold = True
TreeMenu.Nodes.Add "A", tvwChild, "A7XX", "-"
TreeMenu.Nodes.Add "A", tvwChild, "A8", "User Login": If pRS.Fields("MN_MASTER_08") = 1 Then TreeMenu.Nodes("A8").Bold = True TreeMenu.Nodes.Add "A", tvwChild, "A9", "Ubah Password": TreeMenu.Nodes("A9").Bold = True
TreeMenu.Nodes("A").EnsureVisible End If
If pRS.Fields("MN_LABORATORIUM") = 1 Then TreeMenu.Nodes.Add , , "B", "LABORATORIUM"
(13)
TreeMenu.Nodes.Add "B", tvwChild, "B1", "Reff. Rincian Pemeriksaan Laboratorium": If pRS.Fields("MN_LABORATORIUM_01") = 1 Then TreeMenu.Nodes("B1").Bold = True
TreeMenu.Nodes.Add "B", tvwChild, "B1XX", "-"
TreeMenu.Nodes.Add "B", tvwChild, "B2", "Pemeriksaan Laboratorium": If pRS.Fields("MN_LABORATORIUM_02") = 1 Then TreeMenu.Nodes("B2").Bold = True
' TreeMenu.Nodes.Add "B", tvwChild, "B3", "Cetak Ulang Pemeriksaan Laboratorium": TreeMenu.Nodes("B3").Bold = True
TreeMenu.Nodes("B").EnsureVisible End If End If pRS.Close End Sub
Private Sub TreeMenu_DblClick()
Select Case TreeMenu.SelectedItem.Key ' TreeMenu.Nodes.Add , , "A", "MASTER"
Case "A1": If TreeMenu.Nodes("A1").Bold = True Then frmSetup.Show: frmSetup.top = 0: frmSetup.ZOrder (0)
Case "A2": If TreeMenu.Nodes("A2").Bold = True Then frmAgama.Show: frmAgama.top = 0: frmAgama.ZOrder (0)
Case "A3": If TreeMenu.Nodes("A3").Bold = True Then frmJabatan.Show: frmJabatan.top = 0: frmJabatan.ZOrder (0)
Case "A4": If TreeMenu.Nodes("A4").Bold = True Then frmPekerjaan.Show: frmPekerjaan.top = 0: frmPekerjaan.ZOrder (0) Case "A5": If TreeMenu.Nodes("A5").Bold = True Then frmPegawai.Show: frmPegawai.top = 0: frmPegawai.ZOrder (0)
Case "A6": If TreeMenu.Nodes("A6").Bold = True Then frmPasien.Show: frmPasien.top = 0: frmPasien.ZOrder (0)
Case "A7": If TreeMenu.Nodes("A7").Bold = True Then frmTindakan.Show: frmTindakan.top = 0: frmTindakan.ZOrder (0)
Case "A8": If TreeMenu.Nodes("A8").Bold = True Then frmUserMenu.Show: frmUserMenu.top = 0: frmUserMenu.ZOrder (0)
Case "A9": If TreeMenu.Nodes("A9").Bold = True Then frmUbahPassword.Show: frmUbahPassword.top = 0: frmUbahPassword.ZOrder (0)
' TreeMenu.Nodes.Add , , "B", "LABORATORIUM"
Case "B1": If TreeMenu.Nodes("B1").Bold = True Then frmReffLab.Show: frmReffLab.top = 0: frmReffLab.ZOrder (0)
Case "B2": If TreeMenu.Nodes("B2").Bold = True Then frmLaboratorium.Show: frmLaboratorium.top = 0: frmLaboratorium.ZOrder (0)
' Case "B3": If TreeMenu.Nodes("B3").Bold = True Then pKdRawat = "JALAN": frmAllLab.txtKdRuang.Text = "003.001.001": frmAllLab.txtKdRuangTrans.Text = "003.001.001": frmAllLab.Show: frmAllLab.top = 0: frmAllLab.ZOrder (0)
(14)
End Select End Sub
Private Sub Form_Resize() On Error Resume Next
TreeMenu.Height = Me.Height - (435 * 5) - 200
frmMenu2.Height = MainForm.Height - MainForm.StatusBar.Height - 650
End Sub
6. Form Pasien
Option Explicit
Dim AddStatus As Boolean Dim StrFilePath As String Dim NewForm As Form
Private Sub cmdHapus_Click() On Error GoTo ErrLocal
SQL = "DELETE FROM T_PASIEN WHERE KODE = '" & txtKdPasien.Text & "'"
pADO.Execute SQL ' ADO.Refresh AddStatus = False cmdTambah.SetFocus Exit Sub
ErrLocal:
MsgBox errDelete End Sub
Private Sub cmdPrint_Click()
If MsgBox("Cetak Kartu Pasien?", vbYesNo, "Pasien") = vbYes Then cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_PASIEN}": cvFormulaFieldsSP(1, 2) = "" & txtKdPasien.Text & ""
cvFormulaFieldsSP(2, 1) = "{?@KD_RS}": cvFormulaFieldsSP(2, 2) = "" & pKdRS & ""
cvHeader = "KARTU PASIEN"
cvReportFilename = App.Path & "\REPORTS\KARTU PASIEN.Rpt" Set NewForm = New frmPrintSP
NewForm.Show Else
cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
(15)
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_RS}": cvFormulaFieldsSP(1, 2) = "" & pKdRS & ""
cvHeader = "DAFTAR PASIEN"
cvReportFilename = App.Path & "\REPORTS\DAFTAR PASIEN.Rpt" Set NewForm = New frmPrintSP
NewForm.Show End If
End Sub
Private Sub cmdSearch_Click() If txtKey.Text <> "" Then
If txtKeyAlamat.Text <> "" Then
If IsNull(dtKeyTglLahir.Value) Then
SQL = "SELECT * FROM T_PASIEN WHERE " & ReFormQuery(txtKey.Text, "NAMA") & " AND " & _
ReFormQuery(txtKeyAlamat.Text, "ALAMAT") Else
SQL = "SELECT * FROM T_PASIEN WHERE " & ReFormQuery(txtKey.Text, "NAMA") & " AND " & _
ReFormQuery(txtKeyAlamat.Text, "ALAMAT") & " AND TGL_LAHIR = '" & _
Date2Sql(dtKeyTglLahir.Value) & "'" End If
Else
If IsNull(dtKeyTglLahir.Value) Then
SQL = "SELECT * FROM T_PASIEN WHERE " & ReFormQuery(txtKey.Text, "NAMA")
Else
SQL = "SELECT * FROM T_PASIEN WHERE " & ReFormQuery(txtKey.Text, "NAMA") & " AND " & _
"TGL_LAHIR = '" & Date2Sql(dtKeyTglLahir.Value) & "'"
End If End If
ADO_Search.RecordSource = SQL ADO_Search.Refresh
End If End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal
If txtKdPasien.Text = "" Or txtKdPasien.Text = 0 Then
MsgBox "Klik Tambah Terlebih Dahulu", vbOKOnly, "Registrasi" Exit Sub
End If
If FieldValue("T_PASIEN", "COUNT(*)", "KODE = '" & txtKdPasien.Text & "'") = 0 Then
(16)
SQL = "INSERT INTO T_PASIEN (KODE, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT, KD_AGAMA, JK, " & _
"KD_PEKERJAAN, NO_TELP, HP) VALUES ('" & txtKdPasien.Text & "', '" & _
String2SQL(txtNama.Text) & "', '" & String2SQL(txtTempatLahir.Text) & "', '" & _
Date2Sql(dtTglLahir.Value) & "', '" & String2SQL(txtAlamat.Text) & "', '" & _
cmbAgama.BoundText & "', '" & cmbJK.BoundText & "', '" & cmbPekerjaan.BoundText & "', '" & _
String2SQL(txtNoTelp.Text) & "', '" & String2SQL(txtHP.Text) & "')"
Else
If txtKdPasien.Text <> "" Then
SQL = "UPDATE T_PASIEN SET " & _
"NAMA = '" & String2SQL(txtNama.Text) & "', " & _ "TEMPAT_LAHIR = '" & String2SQL(txtTempatLahir.Text) & "', " & _
"TGL_LAHIR = '" & Date2Sql(dtTglLahir.Value) & "', " & _
"ALAMAT = '" & String2SQL(txtAlamat.Text) & "', " & _ "KD_AGAMA = '" & cmbAgama.BoundText & "', " & _
"JK = '" & cmbJK.BoundText & "', " & _
"KD_PEKERJAAN = '" & cmbPekerjaan.BoundText & "', " & _
"NO_TELP = '" & String2SQL(txtNoTelp.Text) & "', " & _
"HP = '" & String2SQL(txtHP.Text) & "' " & _ "WHERE KODE = '" & txtKdPasien.Text & "'" Else
AddStatus = False Exit Sub
End If End If
pADO.Execute SQL AddStatus = False Exit Sub
ErrLocal:
MsgBox ErrSave End Sub
Private Sub cmdTambah_Click() On Error GoTo ErrLocal AddStatus = True
Call ResetData txtKdPasien.SetFocus Exit Sub ErrLocal: MsgBox ErrAdd End Sub
(17)
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub ResetData()
txtKdPasien.Text = FieldValue("T_PASIEN", "TOP 1 KODE", "1=1 ORDER BY KODE DESC") + 1
txtNama.Text = ""
txtTempatLahir.Text = "" dtTglLahir.Value = TODAY cmbJK.Text = ""
cmbAgama.Text = "" txtNoTelp.Text = "" txtHP.Text = ""
cmbPekerjaan.Text = "" txtAlamat.Text = "" End Sub
Private Sub DGSearch_Click() On Error Resume Next
txtKdPasien.Text = DGSearch.Columns(0).Text Call ReLoadData
End Sub
Private Sub dtKeyTglLahir_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
KeyAscii = 0
dtKeyTglLahir.SetFocus SendKeys "{End}"
Call cmdSearch_Click End If
End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Form_Load() txtKey.Text = ""
dtKeyTglLahir.Value = TODAY End Sub
Private Sub ReLoadData()
SQL = "SELECT * FROM T_PASIEN WHERE KODE = '" & txtKdPasien.Text & "'"
pRS.CursorLocation = adUseClient pRS.Open SQL, pADO
If Not pRS.EOF Then
(18)
txtTempatLahir.Text = pRS.Fields("TEMPAT_LAHIR") FillDateValue dtTglLahir, pRS.Fields("TGL_LAHIR") txtAlamat.Text = pRS.Fields("ALAMAT")
cmbAgama.BoundText = pRS.Fields("KD_AGAMA") cmbJK.BoundText = pRS.Fields("JK")
cmbPekerjaan.BoundText = pRS.Fields("KD_PEKERJAAN") txtNoTelp.Text = pRS.Fields("NO_TELP")
txtHP.Text = pRS.Fields("HP") End If
pRS.Close End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
Private Sub txtKdPasien_LostFocus() Call ReLoadData
End Sub
Private Sub txtkey_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
KeyAscii = 0 txtKey.SetFocus SendKeys "{End}" Call cmdSearch_Click End If
End Sub
Private Sub txtKeyAlamat_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
KeyAscii = 0
txtKeyAlamat.SetFocus SendKeys "{End}" Call cmdSearch_Click End If
End Sub
7. Form Pegawai
Option Explicit
Dim AddStatus As Boolean Dim StrFilePath As String Dim SQLTemp As String Dim NewForm As Form
Private Sub cmdHapus_Click() On Error GoTo ErrLocal
(19)
SQL = "SELECT * FROM T_PEGAWAI WHERE 1=2" ADO2.RecordSource = SQL
ADO2.Refresh
SQL = "DELETE FROM T_PEGAWAI WHERE NIP = '" & txtNIP.Text & "'" pADO.Execute SQL
ADO.Refresh
AddStatus = False cmdTambah.SetFocus Exit Sub
ErrLocal:
MsgBox errDelete End Sub
Private Sub cmdPrint_Click()
If MsgBox("Cetak Kartu Pegawai?", vbYesNo, "Pegawai") = vbYes Then
cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_RS}": cvFormulaFieldsSP(1, 2) = "" & pKdRS & ""
cvFormulaFieldsSP(2, 1) = "{?@NIP}": cvFormulaFieldsSP(2, 2) = "" & txtNIP.Text & ""
cvHeader = "Kartu Tanda Pengenal Pegawai"
cvReportFilename = App.Path & "\REPORTS\KARTU PEGAWAI.Rpt" Set NewForm = New frmPrintSP
NewForm.Show Else
cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_RS}": cvFormulaFieldsSP(1, 2) = "" & pKdRS & ""
cvHeader = "Daftar Pegawai"
cvReportFilename = App.Path & "\REPORTS\DAFTAR PEGAWAI.Rpt" Set NewForm = New frmPrintSP
NewForm.Show End If
End Sub
Private Sub cmdSearch_Click()
SQL = "SELECT * FROM T_PEGAWAI WHERE " & ReFormQuery(txtKey.Text, "NAMA")
ADO_Search.RecordSource = SQL ADO_Search.Refresh
(20)
End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal
If FieldValue("T_PEGAWAI", "COUNT(*)", "NIP = '" & txtNIP.Text & "'") = 0 Then
SQL = "INSERT INTO T_PEGAWAI (NIP, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT, KD_AGAMA, " & _
"KD_JK, KD_JABATAN, NO_TELP) VALUES ('" & _
String2SQL(txtNIP.Text) & "', '" & String2SQL(txtNama.Text) & "', '" & _
String2SQL(txtTempatLahir.Text) & "', '" & Date2Sql(dtTglLahir.Value) & "', '" & _
String2SQL(txtAlamat.Text) & "', '" & cmbAgama.BoundText & "', '" & _
cmbJK.BoundText & "', '" & cmbJabatan.BoundText & "', '" & String2SQL(txtNoTelp.Text) & "')"
Else
SQL = "UPDATE T_PEGAWAI SET " & _
"NAMA = '" & String2SQL(txtNama.Text) & "', " & _
"TEMPAT_LAHIR = '" & String2SQL(txtTempatLahir.Text) & "', " & _
"TGL_LAHIR = '" & Date2Sql(dtTglLahir.Value) & "', " & _ "ALAMAT = '" & String2SQL(txtAlamat.Text) & "', " & _ "KD_AGAMA = '" & cmbAgama.BoundText & "', " & _
"KD_JK = '" & cmbJK.BoundText & "', " & _
"KD_JABATAN = '" & cmbJabatan.BoundText & "', " & _ "NO_TELP = '" & String2SQL(txtNoTelp.Text) & "' " & _ "WHERE NIP = '" & String2SQL(txtNIP.Text) & "'"
End If
pADO.Execute SQL ADO.Refresh
AddStatus = False Call ShowPict Exit Sub ErrLocal:
MsgBox ErrSave End Sub
Private Sub cmdTambah_Click() On Error GoTo ErrLocal AddStatus = True
Call ResetData txtNIP.Text = "" Tab1.Tab = 0 txtNIP.SetFocus Exit Sub
ErrLocal:
MsgBox ErrAdd End Sub
(21)
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub ResetData() txtNIP.Text = "" txtNama.Text = ""
txtTempatLahir.Text = "" dtTglLahir.Value = TODAY cmbJK.Text = ""
cmbAgama.Text = "" txtAlamat.Text = "" txtNoTelp.Text = "" cmbJabatan.Text = ""
SQL = "SELECT * FROM T_PEGAWAI WHERE 1=2" ADO2.RecordSource = SQL
ADO2.Refresh End Sub
Private Sub DG_Click() On Error Resume Next
txtNIP.Text = DG.Columns(0).Text Call ReLoadData
End Sub
Private Sub DGSearch_Click() On Error Resume Next
txtNIP.Text = DGSearch.Columns(0).Text Call ReLoadData
End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Form_Load() txtKey.Text = "" End Sub
Private Sub Pict_Click() On Error GoTo ET
StrFilePath = GetFile(Me) If StrFilePath <> "" Then
Pict.Picture = LoadPicture(StrFilePath) End If
If Not IsNull(ADO2.Recordset.Fields("NIP")) Then SaveBitmap ADO2.Recordset, "Pict", StrFilePath
(22)
ADO2.Recordset.Update End If Exit Sub ET: Exit Sub End Sub
Private Sub ShowPict()
SQL = "SELECT * FROM T_PEGAWAI WHERE NIP = '" & txtNIP.Text & "'" ADO2.RecordSource = SQL
ADO2.Refresh End Sub
Private Sub ReLoadData()
SQL = "SELECT * FROM T_PEGAWAI WHERE NIP = '" & txtNIP.Text & "'" pRS.CursorLocation = adUseClient
pRS.Open SQL, pADO If Not pRS.EOF Then
txtNama.Text = pRS.Fields("NAMA")
txtTempatLahir.Text = pRS.Fields("TEMPAT_LAHIR") dtTglLahir.Value = pRS.Fields("TGL_LAHIR")
txtAlamat.Text = pRS.Fields("ALAMAT")
cmbAgama.BoundText = pRS.Fields("KD_AGAMA") cmbJK.BoundText = pRS.Fields("KD_JK")
cmbJabatan.BoundText = pRS.Fields("KD_JABATAN") txtNoTelp.Text = pRS.Fields("NO_TELP")
End If pRS.Close
Call ShowPict End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
Private Sub txtKey_Change() Call cmdSearch_Click End Sub
Private Sub txtkey_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
KeyAscii = 0 End If
End Sub
Private Sub txtNIP_LostFocus() Call ReLoadData
(23)
End Sub
8. Form Pekerjaan
Option Explicit
Dim AddStatus As Boolean Dim NewForm As Form
Private Sub cmdHapus_Click() On Error GoTo ErrLocal
SQL = "DELETE FROM R_PEKERJAAN WHERE KODE = '" & txtKdPekerjaan.Text & "'"
pADO.Execute SQL ADO.Refresh
cmdTambah.SetFocus AddStatus = False Exit Sub
ErrLocal:
MsgBox errDelete End Sub
Private Sub cmdPrint_Click() cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_RS}": cvFormulaFieldsSP(1, 2) = "" & pKdRS & ""
cvHeader = "REFERENSI PEKERJAAN"
cvReportFilename = App.Path & "\REPORTS\REFF PEKERJAAN.Rpt" Set NewForm = New frmPrintSP
NewForm.Show End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal If AddStatus = True Then
SQL = "INSERT INTO R_PEKERJAAN (KODE, URAIAN) Values ('" & txtKdPekerjaan.Text & "', '" & _
String2SQL(txtUPekerjaan.Text) & "')" Else
SQL = "UPDATE R_PEKERJAAN SET " & _
"URAIAN = '" & String2SQL(txtUPekerjaan.Text) & "' " & _ "WHERE KODE = '" & txtKdPekerjaan.Text & "'"
End If
pADO.Execute SQL ADO.Refresh
cmdTambah.SetFocus AddStatus = False
(24)
Exit Sub ErrLocal:
MsgBox ErrSave End Sub
Private Sub cmdTambah_Click() On Error GoTo ErrLocal
txtKdPekerjaan.Text = FieldValue("R_PEKERJAAN", "TOP 1 KODE", "1=1 ORDER BY KODE DESC") + 1
txtUPekerjaan.Text = "" txtUPekerjaan.SetFocus AddStatus = True
Exit Sub ErrLocal:
MsgBox ErrAdd End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub DG_Click() On Error Resume Next
txtKdPekerjaan.Text = DG.Columns(0).Text txtUPekerjaan.Text = DG.Columns(1).Text txtUPekerjaan.SetFocus
AddStatus = False End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
9. Form ReffLab
Option Explicit
Dim AddStatus As Boolean Private Sub cmdHapus_Click() On Error GoTo ErrLocal
SQL = "DELETE FROM R_TINDAKAN_4 WHERE R1 = '" & txtR1.Text & "' AND R2 = '" & txtR2.Text & "' " & _
(25)
"AND R3 = '" & txtR3.Text & "' AND R4 = '" & txtR4.Text & "'" pADO.Execute SQL
ADO_DT.Refresh AddStatus = False Exit Sub
ErrLocal:
MsgBox errDelete End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal If AddStatus = True Then
SQL = "INSERT INTO R_TINDAKAN_4 (R1, R2, R3, R4, GRUP, URAIAN, SATUAN, RUJUKAN, METODE) VALUES ('" & _
txtR1.Text & "', '" & txtR2.Text & "', '" & txtR3.Text & "', '" & txtR4.Text & "', '" & _
txtGrup.Text & "', '" & String2SQL(txtUraian.Text) & "', '" & String2SQL(txtSatuan.Text) & "', '" & _
String2SQL(txtRujukan.Text) & "', '" & String2SQL(txtMetode.Text) & "')"
Else
SQL = "UPDATE R_TINDAKAN_4 SET " & _ "GRUP = '" & txtGrup.Text & "', " & _
"URAIAN = '" & String2SQL(txtUraian.Text) & "', " & _ "SATUAN = '" & String2SQL(txtSatuan.Text) & "', " & _ "RUJUKAN = '" & String2SQL(txtRujukan.Text) & "', " & _ "METODE = '" & String2SQL(txtMetode.Text) & "' " & _ "WHERE R1 = '" & txtR1.Text & "' AND R2 = '" & txtR2.Text & "' AND R3 = '" & _
txtR3.Text & "' AND R4 = '" & txtR4.Text & "'" End If
pADO.Execute SQL ADO_DT.Refresh AddStatus = False Exit Sub
ErrLocal:
MsgBox ErrSave End Sub
Private Sub cmdTambah_Click() On Error GoTo ErrLocal
txtR4.Text = FieldValue("R_TINDAKAN_4", "TOP 1 R4", "R1 = '" & txtR1.Text & "' AND R2 = '" & _
txtR2.Text & "' AND R3 = '" & txtR3.Text & "' ORDER BY R4 DESC") + 1
txtGrup.Text = "0" txtUraian.Text = "" txtSatuan.Text = "" txtRujukan.Text = "" txtMetode.Text = "" txtUraian.SetFocus
(26)
AddStatus = True Exit Sub
ErrLocal:
MsgBox ErrAdd End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub DG_Click() On Error Resume Next
cmbKelompok.BoundText = left(DG.Columns(0).Text, 7) cmbPeriksa.BoundText = DG.Columns(0).Text
txtR1.Text = Int(Mid(DG.Columns(0).Text, 1, 3)) txtR2.Text = Int(Mid(DG.Columns(0).Text, 5, 3)) txtR3.Text = Int(Mid(DG.Columns(0).Text, 9, 3)) txtR4.Text = ""
SQL = "SELECT R1, R2, R3, R4, GRUP, URAIAN, SATUAN, RUJUKAN, METODE FROM R_TINDAKAN_4 " & _
"WHERE
DBO.INT2CHAR(R1,3)+'.'+DBO.INT2CHAR(R2,3)+'.'+DBO.INT2CHAR(R3,3) = '" & cmbPeriksa.BoundText & "' " & _
"ORDER BY R4"
ADO_DT.RecordSource = SQL ADO_DT.Refresh
AddStatus = False End Sub
Private Sub DG_DT_Click() On Error Resume Next
txtR4.Text = DG_DT.Columns(3).Text txtGrup.Text = DG_DT.Columns(4).Text txtUraian.Text = DG_DT.Columns(5).Text txtSatuan.Text = DG_DT.Columns(6).Text txtRujukan.Text = DG_DT.Columns(7).Text txtMetode.Text = DG_DT.Columns(8).Text AddStatus = False
End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Timer1_Timer()
(27)
' Me.left = frmLogo.left ' End If
End Sub
Private Sub txtQuery_Change() If txtQuery.Text <> "" Then
SQL = "SELECT KODE, URAIAN FROM R_TINDAKAN_3 WHERE " & _ ReFormQuery(txtQuery.Text, "URAIAN") & " ORDER BY KODE" Else
SQL = "SELECT KODE, URAIAN FROM R_TINDAKAN_3 ORDER BY KODE" End If
ADO.RecordSource = SQL ADO.Refresh
End Sub
10. Form Setup
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal
SQL = "UPDATE SETUP SET " & _
"KODE = '" & txtKdRS.Text & "', " & _
"NAMA = '" & String2SQL(txtNamaRS.Text) & "', " & _ "ALAMAT = '" & String2SQL(txtAlamat.Text) & "', " & _ "KOTA = '" & String2SQL(txtKota.Text) & "', " & _ "KD_POS = '" & String2SQL(txtKdPos.Text) & "', " & _ "NO_TELP = '" & String2SQL(txtNoTelp.Text) & "', " & _ "FAX = '" & String2SQL(txtFax.Text) & "', " & _
"EMAIL = '" & String2SQL(txtEmail.Text) & "'" pADO.Execute SQL
' SQL = ""
' pADO.Execute SQL Call ShowData Exit Sub ErrLocal: MsgBox ErrSave End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
(28)
Call ShowData End Sub
Private Sub ShowData()
SQL = "SELECT * FROM SETUP" pRS.CursorLocation = adUseClient pRS.Open SQL, pADO
If Not pRS.EOF Then
txtKdRS.Text = pRS.Fields("KODE") txtNamaRS.Text = pRS.Fields("NAMA") txtAlamat.Text = pRS.Fields("ALAMAT") txtKota.Text = pRS.Fields("KOTA") txtKdPos.Text = pRS.Fields("KD_POS") txtNoTelp.Text = pRS.Fields("NO_TELP") txtFax.Text = pRS.Fields("FAX")
txtEmail.Text = pRS.Fields("EMAIL") End If
pRS.Close End Sub
Private Sub Pict_Click() On Error GoTo ET
StrFilePath = GetFile(Me) If StrFilePath <> "" Then
Pict.Picture = LoadPicture(StrFilePath) End If
If Not IsNull(ADO.Recordset.Fields("KODE")) Then SaveBitmap ADO.Recordset, "Pict", StrFilePath ADO.Recordset.Update End If Exit Sub ET: Exit Sub End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
11. Form Tindakan
Option Explicit
Dim AddStatus As Boolean Dim NewForm As Form
(29)
On Error GoTo ErrLocal Select Case Tab1.Caption Case "Golongan"
SQL = "DELETE FROM R_TINDAKAN_1 WHERE R1 = '" & txtR1.Text & "'"
pADO.Execute SQL ADO_R1.Refresh AddStatus = False
If Not ADO_R1.Recordset.EOF Then ADO_R1.Recordset.MoveFirst
While Not ADO_R1.Recordset.EOF
If ADO_R1.Recordset.Fields("R1") = Int(txtR1.Text) Then GoTo Akhiri Else ADO_R1.Recordset.MoveNext End If Wend End If Case "Kelompok"
SQL = "DELETE FROM R_TINDAKAN_2 WHERE R1 = '" & txtR1.Text & "' AND R2 = '" & txtR2.Text & "'"
pADO.Execute SQL ADO_R2.Refresh AddStatus = False
If Not ADO_R2.Recordset.EOF Then ADO_R2.Recordset.MoveFirst
While Not ADO_R2.Recordset.EOF
If ADO_R2.Recordset.Fields("R1") = Int(txtR1.Text) And ADO_R2.Recordset.Fields("R2") = _
Int(txtR2.Text) Then GoTo Akhiri Else ADO_R2.Recordset.MoveNext End If Wend End If Case "Detail"
SQL = "DELETE FROM R_TINDAKAN_3 WHERE R1 = '" & txtR1.Text & "' AND " & _
"R2 = '" & txtR2.Text & "' AND R3 = '" & txtR3.Text & "'"
pADO.Execute SQL ADO_R3.Refresh AddStatus = False
(30)
ADO_R3.Recordset.MoveFirst While Not ADO_R3.Recordset.EOF
If ADO_R3.Recordset.Fields("R1") = Int(txtR1.Text) And ADO_R3.Recordset.Fields("R2") = _
Int(txtR2.Text) And ADO_R3.Recordset.Fields("R3") = Int(txtR3.Text) Then
GoTo Akhiri Else ADO_R3.Recordset.MoveNext End If Wend End If Case Else
AddStatus = False Exit Sub
End Select
AddStatus = False Exit Sub
ErrLocal:
MsgBox errDelete Akhiri:
End Sub
Private Sub cmdPrint_Click() cvReset
cvFormulaLengthSP = 2 cvFormulaLength = 2
ReDim cvFormulaFieldsSP(1 To 2, 1 To 2) ReDim cvFormulaFields(1 To 2, 1 To 2)
cvFormulaFieldsSP(1, 1) = "{?@KD_RS}": cvFormulaFieldsSP(1, 2) = "" & pKdRS & ""
cvHeader = "REFERENSI TINDAKAN"
cvReportFilename = App.Path & "\REPORTS\REFF TINDAKAN.Rpt" Set NewForm = New frmPrintSP
NewForm.Show End Sub
Private Sub cmdSimpan_Click() On Error GoTo ErrLocal Select Case Tab1.Caption Case "Golongan"
If AddStatus = True Then
SQL = "INSERT INTO R_TINDAKAN_1 (R1, URAIAN) Values ('" & _
txtR1.Text & "', '" & String2SQL(txtUR1.Text) & "')"
Else
SQL = "UPDATE R_TINDAKAN_1 SET " & _
"URAIAN = '" & String2SQL(txtUR1.Text) & "' " & _ "WHERE R1 = '" & txtR1.Text & "'"
(31)
End If
pADO.Execute SQL ADO_R1.Refresh AddStatus = False
If Not ADO_R1.Recordset.EOF Then ADO_R1.Recordset.MoveFirst
While Not ADO_R1.Recordset.EOF
If ADO_R1.Recordset.Fields("R1") = Int(txtR1.Text) Then GoTo Akhiri Else ADO_R1.Recordset.MoveNext End If Wend End If Case "Kelompok"
If AddStatus = True Then
SQL = "INSERT INTO R_TINDAKAN_2 (R1, R2, URAIAN) Values ('" & txtR1.Text & "', '" & _
txtR2.Text & "', '" & String2SQL(txtUR2.Text) & "')"
Else
SQL = "UPDATE R_TINDAKAN_2 SET " & _
"URAIAN = '" & String2SQL(txtUR2.Text) & "' " & _ "WHERE R1 = '" & txtR1.Text & "' AND R2 = '" & txtR2.Text & "'"
End If
pADO.Execute SQL ADO_R2.Refresh AddStatus = False
If Not ADO_R2.Recordset.EOF Then ADO_R2.Recordset.MoveFirst
While Not ADO_R2.Recordset.EOF
If ADO_R2.Recordset.Fields("R1") = Int(txtR1.Text) And ADO_R2.Recordset.Fields("R2") = _
Int(txtR2.Text) Then GoTo Akhiri Else ADO_R2.Recordset.MoveNext End If Wend End If Case "Detail"
If AddStatus = True Then
SQL = "INSERT INTO R_TINDAKAN_3 (R1, R2, R3, URAIAN) VALUES ('" & _
(32)
txtR1.Text & "', '" & txtR2.Text & "', '" & txtR3.Text & "', '" & _
String2SQL(txtUR3.Text) & "')" Else
SQL = "UPDATE R_TINDAKAN_3 SET " & _
"URAIAN = '" & String2SQL(txtUR3.Text) & "' " & _ "WHERE R1 = '" & txtR1.Text & "' AND R2 = '" & txtR2.Text & "' AND " & _
"R3 = '" & txtR3.Text & "'" End If
pADO.Execute SQL ADO_R3.Refresh AddStatus = False
If Not ADO_R3.Recordset.EOF Then ADO_R3.Recordset.MoveFirst
While Not ADO_R3.Recordset.EOF
If ADO_R3.Recordset.Fields("R1") = Int(txtR1.Text) And ADO_R3.Recordset.Fields("R2") = _
Int(txtR2.Text) And ADO_R3.Recordset.Fields("R3") = Int(txtR3.Text) Then
GoTo Akhiri Else ADO_R3.Recordset.MoveNext End If Wend End If Case Else
AddStatus = False Exit Sub
End Select
AddStatus = False Exit Sub
ErrLocal:
MsgBox ErrSave Akhiri:
End Sub
Private Sub cmdTambah_Click() On Error GoTo ErrLocal Select Case Tab1.Caption Case "Golongan"
txtR1.Text = FieldValue("R_TINDAKAN_1", "TOP 1 R1", "1=1 ORDER BY R1 DESC") + 1
txtUR1.Text = "" txtUR1.SetFocus
Case "Kelompok"
txtR2.Text = FieldValue("R_TINDAKAN_2", "TOP 1 R2", "R1 = '" & txtR1.Text & "' ORDER BY R2 DESC") + 1
(33)
txtUR2.Text = "" txtUR2.SetFocus
Case "Detail"
txtR3.Text = FieldValue("R_TINDAKAN_3", "TOP 1 R3", "R1 = '" & txtR1.Text & "' AND R2 = '" & _
txtR2.Text & "' ORDER BY R3 DESC") + 1 txtUR3.Text = ""
txtUR3.SetFocus
Case Else
AddStatus = False Exit Sub
End Select
AddStatus = True Exit Sub
ErrLocal:
MsgBox ErrAdd End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub DG_R1_Click() On Error Resume Next
txtR1.Text = DG_R1.Columns(0).Text txtUR1.Text = DG_R1.Columns(1).Text AddStatus = False
End Sub
Private Sub DG_R1_DblClick() On Error Resume Next
txtR1.Text = DG_R1.Columns(0).Text txtUR1.Text = DG_R1.Columns(1).Text AddStatus = False
txtR2.Text = "" txtUR2.Text = ""
SQL = "SELECT * FROM R_TINDAKAN_2 WHERE R1 = '" & txtR1.Text & "'"
ADO_R2.RecordSource = SQL ADO_R2.Refresh
Tab1.Tab = 1 End Sub
Private Sub DG_R2_Click() On Error Resume Next
txtR2.Text = DG_R2.Columns(1).Text txtUR2.Text = DG_R2.Columns(2).Text AddStatus = False
(34)
End Sub
Private Sub DG_R2_DblClick() On Error Resume Next
txtR2.Text = DG_R2.Columns(1).Text txtUR2.Text = DG_R2.Columns(2).Text AddStatus = False
txtR3.Text = "" txtUR3.Text = ""
SQL = "SELECT * FROM R_TINDAKAN_3 WHERE R1 = '" & txtR1.Text & "' AND R2 = '" & txtR2.Text & "'"
ADO_R3.RecordSource = SQL ADO_R3.Refresh
Tab1.Tab = 2 End Sub
Private Sub DG_R3_Click() On Error Resume Next
txtR3.Text = DG_R3.Columns(2).Text txtUR3.Text = DG_R3.Columns(3).Text AddStatus = False
End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Form_Load() AddStatus = False End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
12. Form Ubah Password
Private Sub cmdSimpan_Click()
If txtPasswordLama.Text <> FieldValue("T_PEGAWAI", "PASSWORD", "NIP = '" & pLoginNIP & "'") Then
MsgBox "Password Lama Tidak Sama", vbOKOnly + vbInformation, "Password"
Exit Sub End If
(35)
If txtPasswordBaru.Text <> txtPasswordBaru2.Text Then
MsgBox "Password Yang Diisikan Tidak Sama", vbOKOnly + vbInformation, "Password"
Exit Sub End If
SQL = "UPDATE T_PEGAWAI SET PASSWORD = '" & txtPasswordBaru.Text & "' WHERE NIP = '" & pLoginNIP & "'"
pADO.Execute SQL
MsgBox ("Passord Anda Berhasil di Ubah, Silahkan Login Ulang"), vbOKOnly, "Ubah Password"
End End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Form_Load()
lblNama.Caption = pLoginName End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
Private Sub txtPasswordBaru_GotFocus() txtPasswordBaru.BackColor = &HC0FFFF End Sub
Private Sub txtPasswordBaru_LostFocus() txtPasswordBaru.BackColor = &H80000005 End Sub
Private Sub txtPasswordBaru2_GotFocus() txtPasswordBaru2.BackColor = &HC0FFFF End Sub
Private Sub txtPasswordBaru2_LostFocus() txtPasswordBaru2.BackColor = &H80000005 End Sub
(36)
txtPasswordLama.BackColor = &HC0FFFF End Sub
Private Sub txtPasswordLama_LostFocus() txtPasswordLama.BackColor = &H80000005 End Sub
13. Form User Menu
Option Explicit
Dim AddStatus As Boolean Dim AddStatusDt As Boolean Private Sub cmdSimpan_Click() On Error GoTo ErrLocal
If txtPassword2.Text <> txtPassword.Text Then
MsgBox "Password Yang Anda Masukkan Tidak Sama", vbOKOnly + vbCritical, "Password"
Exit Sub End If
SQL = "UPDATE T_PEGAWAI SET " & _
"PASSWORD = '" & String2SQL(txtPassword.Text) & "' " & _ "WHERE NIP = '" & String2SQL(txtNIP.Text) & "'"
pADO.Execute SQL
SQL = "UPDATE T_PEGAWAI SET " & _
"MN_MASTER = '" & MnMaster.Value & "', " & _ "MN_MASTER_01 = '" & mnMaster01.Value & "', " & _ "MN_MASTER_02 = '" & MnMaster02.Value & "', " & _ "MN_MASTER_04 = '" & MnMaster04.Value & "', " & _ "MN_MASTER_05 = '" & MnMaster05.Value & "', " & _ "MN_MASTER_06 = '" & MnMaster06.Value & "', " & _ "MN_MASTER_07 = '" & MnMaster07.Value & "', " & _ "MN_MASTER_08 = '" & MnMaster08.Value & "' " & _ "WHERE NIP = '" & txtNIP.Text & "'"
pADO.Execute SQL
SQL = "UPDATE T_PEGAWAI SET " & _
"MN_LABORATORIUM = '" & MnLaboratorium.Value & "', " & _ "MN_LABORATORIUM_01 = '" & MnLaboratorium01.Value & "', " & _ "MN_LABORATORIUM_02 = '" & MnLaboratorium02.Value & "', " & _ "MN_LABORATORIUM_03 = '" & MnLaboratorium03.Value & "', " & _ "MN_LABORATORIUM_04 = '" & MnLaboratorium04.Value & "' " & _ "WHERE NIP = '" & txtNIP.Text & "'"
pADO.Execute SQL
ADO.Refresh Exit Sub ErrLocal:
(37)
MsgBox ErrSave End Sub
Private Sub ResetData() txtNIP.Text = "" txtNama.Text = "" txtPassword.Text = "" End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub
Private Sub DG_Click() On Error Resume Next
txtNIP.Text = DG.Columns(0).Text txtNama.Text = DG.Columns(1).Text txtPassword.Text = DG.Columns(10).Text AddStatus = False
End Sub
Private Sub Form_Activate()
If Me.left <= frmLogo.left Then Me.left = frmLogo.left End If
End Sub
Private Sub Form_Load() Me.top = 0
End Sub
Private Sub Timer1_Timer()
' If Me.left <= frmLogo.left Then ' Me.left = frmLogo.left ' End If
End Sub
Private Sub txtNIP_Change() Call ResetChkMenu
SQL = "SELECT * FROM T_PEGAWAI WHERE NIP = '" & txtNIP.Text & "'" pRS.CursorLocation = adUseClient
pRS.Open SQL, pADO If Not pRS.EOF Then
txtNama.Text = pRS.Fields("NAMA")
txtPassword.Text = pRS.Fields("PASSWORD") txtPassword2.Text = pRS.Fields("PASSWORD")
MnMaster.Value = pRS.Fields("MN_MASTER") mnMaster01.Value = pRS.Fields("MN_MASTER_01") MnMaster02.Value = pRS.Fields("MN_MASTER_02")
(38)
' MnMaster03.Value = pRS.Fields("MN_MASTER_03") MnMaster04.Value = pRS.Fields("MN_MASTER_04") MnMaster05.Value = pRS.Fields("MN_MASTER_05") MnMaster06.Value = pRS.Fields("MN_MASTER_06") MnMaster07.Value = pRS.Fields("MN_MASTER_07") MnMaster08.Value = pRS.Fields("MN_MASTER_08")
MnLaboratorium.Value = pRS.Fields("MN_LABORATORIUM") MnLaboratorium01.Value = pRS.Fields("MN_LABORATORIUM_01") MnLaboratorium02.Value = pRS.Fields("MN_LABORATORIUM_02") MnLaboratorium03.Value = pRS.Fields("MN_LABORATORIUM_03") MnLaboratorium04.Value = pRS.Fields("MN_LABORATORIUM_04") End If
pRS.Close End Sub
Private Sub ResetChkMenu() MnMaster.Value = 0 mnMaster01.Value = 0 MnMaster02.Value = 0 ' MnMaster03.Value = 0 MnMaster04.Value = 0 MnMaster05.Value = 0 MnMaster06.Value = 0 MnMaster07.Value = 0 MnMaster08.Value = 0
MnLaboratorium.Value = 0 MnLaboratorium01.Value = 0 MnLaboratorium02.Value = 0 MnLaboratorium03.Value = 0 MnLaboratorium04.Value = 0 End Sub
Private Sub txtPassword_GotFocus() txtPassword.BackColor = &HC0FFFF End Sub
Private Sub txtPassword_LostFocus() txtPassword.BackColor = &H80000005 End Sub
Private Sub txtPassword2_GotFocus() txtPassword2.BackColor = &HC0FFFF End Sub
Private Sub txtPassword2_LostFocus() txtPassword2.BackColor = &H80000005 End Sub
(39)
(40)
(41)
(42)
DAFTAR PUSTAKA
Alam, M. Agus.2000. Manajemen Database dengan Microsoft Visual Basic 6.0.
Jakarta : Elex Media Komputindo
Heriady, 2009. Membuat Database Sendiri dengan Visual Basic 6.0.
Jakarta : PT Elex Media Komputindo
Kristanto, Andi. 2004. Perancangan Sistem Informasi. Yogyakarta : Gava Media.
Rusmawan, Uus. 2008. Koleksi Program VB 6.0 Konsep ADO untuk Tugas Akhir dan
(43)
BAB 3
GAMBARAN UMUM RUMAH SAKIT UMUM TERE-MARGARETH
3.1. Sejarah Singkat Rumah Sakit Umum Tere-Margareth
Rumah Sakit Umum Tere-Margareth berdiri pada tanggal 17 Februari 2012, didirikan
dengan tujuan untuk merawat orang sakit dari berbagai golongan masyarakat tanpa
memandang kedudukan dan untuk semua suku, ras, bangsa, dan agama. Rumah Sakit
sedang melakukan peningkatan dan pengembangan pelayanan yang merupakan
elemen untuk mencapai visi Rumah Sakit saat ini yaitu “Menjadi sarana kesehatan
pilihan yang optimal dan holistik yang melayani dengan sentuhan kasih”, a
gar dapat
tetap bersaing dalam era pertumbuhan pasar yang agresif seperti pada saat ini.
Semua organisasi termasuk Rumah Sakit harus mampu menempuh
langkah-langkah strategis yang telah ditentukan dan juga harus mampu mengarahkan dan
memusatkan kapabilitas serta komitmen seluruh personil Rumah Sakit yang telah
dilakukan dalam membangun masa depan. Visi organisasi termasuk Rumah Sakit
sering tidak terwujud karena ada kecenderungan Rumah Sakit hanya berfokus pada
perspektif jangka pendek yang diperkirakan akan terjadi, tetapi juga harus focus untuk
menciptakan
masa
depan
perusahaan
melalui
perubahan-perubahan
yang
dilaksanakan.
Tahapan dalam manajemen strategis dalam menciptakan masa depan Rumah
Sakit adalah melalui 4 tahapan, yaitu:
1.
Perencanaan jangka panjang, meliputi perumusan strategi, penyusunan program
agar seluruh personil Rumah Sakit termotivasi untuk berpikir strategi.
(44)
2.
Perencanaan jangka pendek, menjabarkan rencana panjang ke dalam rencana
jangka pendek.
3.
Impelementasi.
4.
Pemantauan/monitoring, untuk me-review.
3.2. Visi, Misi, dan Motto
Rumah Sakit Umum Tere-Margareth mempunyai visi, misi, dan motto dalam
berlangsungnya kegiatan di Rumah sakit, yaitu:
3.2.1. Visi
Visi Rumah Sakit Umum Tere-Margareth, yaitu: Menjadi sarana kesehatan pilihan
yang optimal dan holistik yang melayani dengan sentuhan hati.
3.2.2. Misi
Misi Rumah Sakit Umum Tere-Margareth, yaitu:
a.
Memberikan pelayanan yang CERMAT: Cepat, Efisien, Responsif, Mudah, Aman,
Terjangkau.
b.
Memberikan pelayanan terbaik bagi pasien/masyarakat berdasarkan kasih terhadap
sesama dalam upaya peningkatan derajat kesehatan yang optimal.
3.2.3. Motto
Motto Rumah Sakit Umum Tere-Margareth, yaitu: Melakukan yang terbaik pada
setiap saat yang kami miliki.
(45)
3.3. Struktur Organisasi Rumah Sakit Umum Tere-Margareth
Setiap perusahaan baik swasta maupun instansi Pemerintah dan lembaga atau
dinas-dinas lainnya harus mempunyai struktur. Dimana organisasi adalah merupakan
gambaran secara skematis tentang hubungan kerjasama dari orang-orang yang ada
dalam organisasi. Struktur organisasi juga menunjukkan kerangka dan susunan
perwujudan pola tetap dan hubungan-hubungan diantara fungsi-fungsi, bagian-bagian,
maupun orang-orang yang menunjukkan kedudukannya, tugas, wewenang dan
tanggung jawab yang berbeda-beda dalam organisasi. Struktur mengandung
unsur-unsur spesialisasi kerja, standarisasi, koordinasi, sentralisasi, atau desentralisasi dalam
pembuatan keputusan dan ukuran status kerja. Struktur organisasi perusahaan
disesuaikan dengan bidang usaha yang dikelola, mempunyai bentuk organisasi
fungsional.
Pengurus Yayasan Rumah Sakit Umum Tere-Margareth adalah direksi yang
terdiri dari Ketua Yayasan, seorang Direktur utama dan 3 orang Direktur, 3 orang
Komite. Struktur organisasi Rumah Sakit Umum Tere-Margareth, secara garis besar
dapat dilihat pada susunan struktur organisasi di halaman berikut:
SUSUNAN PIMPINAN RUMAH SAKIT UMUM TERE-MARGARETH
1.
Ketua yayasan: dr. Terry Heliane Kemur
2.
Direktur utama: dr. Hasahatan Simangungsong, Sp.B
3.
Direktur medis dan keperawatan: dr. Sondang
4.
Direktur administrasi dan keuangan: Charles Nainggolan, S.Kep.
5.
Direktur penunjang medis: dr. Novianty, Sp.PK.
6.
Kepala satuan pengawas intern: Letda Dasmen Nainggolan
7.
Kepala komisi medis: dr. Harris Parhusip, Sp.PD.
(46)
9.
Kepala divisi keuangan: Yusnidar, S.Kep.
10.
Kepala bagian hukum: dr. Januari Siregar, SH, M.Hum.
3.4. Penjelasan Jabatan
Untuk penjelasan jabatan para pegawai di Rumah Sakit Umum Tere-Margareth akan
dijelaskan di bawah ini.
3.4.1. Direktur
Direktur mempunyai tugas, yaitu:
1.
Menetapkan program kerja dan rencana kerja.
2.
Menyusun program kerja Rumah Sakit.
3.
Menyusun rencana dan program kerja pengelolaan dan pengembangan Rumah
Sakit.
4.
Mengkoordinasi pelaksanaan tugas-tugas dan fungsi Rumah Sakit.
5.
Menyusun kebijakan dan keputusan pelaksanaan operasional Rumah Sakit.
6.
Melaksanakan tugas pelaksanaan kesehatan secara berdaya guna dan berhasil
dengan mengutamakan upaya penyembuhan, pemulihan, dan pencegahan
penyakit.
7.
Mengkoordinasi seluruh rencana strategi program kegiatan pelayanan, anggaran
keuangan, dan pembangunan Rumah Sakit.
8.
Menetapkan prosedur kerja di lingkungan Rumah Sakit.
9.
Melakukan peningkatan sumber daya manusia di lingkungan Rumah Sakit.
10.
Memberi petunjuk kepada bawahan baik lisan maupun tulisan.
(47)
12.
Mendelegasi sebagian pelaksanaan tugas-tugas kepada bawahan.
3.4.2. Bagian Keuangan dan Anggaran
Bagian keuangan dan anggaran mempunyai tugas, yaitu:
1.
Melaksanakan penatausahaan keuangan Rumah Sakit.
2.
Menyiapkan pelaporan dan pertanggungjawaban keuangan.
3.
Melaporkan seluruh pelaksanaan tugas kepada Direktur.
4.
Melaksanakan tugas-tugas lain yang diberikan pimpinan.
3.4.3. Bagian Perencanaan, Evaluasi, dan Pelaporan
Bagian perencanaan, evaluasi, dan pelaporan mempunyai tugas, yaitu:
1.
Menyiapkan bahan-bahan perumusan teknis, program, dan kegiatan di Rumah
Sakit.
2.
Melaksanakan evaluasi pelaksanaan program Rumah sakit melalui pelaporan
setiap bulan.
3.
Melaporkan seluruh pelaksanaan tugas kepada atasan.
4.
Membuat hasil pelaksanaan tugas kepada Direktur.
5.
Memberi petunjuk kepada bawahan baik lisan maupun tulisan.
6.
Melaporkan seluruh pelaksanaan tugas kepada Direktur.
7.
Melaksanakan tugas-tugas lain yang diberikan kepada pimpinan.
3.4.4. Bagian Pemeliharaan dan Perlengkapan
(48)
1.
Melaksanakan urusan perlengkapan meliputi: penggunaan, pengamanan, dan
pemeliharaan inventaris Rumah Sakit.
2.
Melaporkan seluruh pelaksanaan tugas kepada Direktur.
3.
Melaksanakan tugas-tugas lain yang diberikan pimpinan.
3.4.5. Bidang Pelayanan dan Keperawatan
Bidang pelayanan dan keperawatan mempunyai tugas, yaitu:
1.
Mengatur, merencanakan, menyusun dan menetapkan kebijakan serta tata tertib
pelayanan medis dan keperawatan.
2.
Merencanakan, menyusun, dan menetapkan falsafah keperawatan yang
disesuaikan dengan falsafah Rumah Sakit.
3.
Merencanakan jumlah dan kategori tenaga keperawatan yang dibutuhkan Rumah
Sakit.
4.
Merencanakan pembinaan dan pengembangan keperawatan.
5.
Memberi petunjuk kepada bawahan baik lisan maupun tulisan.
6.
Melakukan penilaian dan evaluasi atas kerja bawahan.
7.
Membuat dan menyampaikan laporan hasil pelaksanaan tugas kepada Direktur.
8.
Melaksanakan tugas-tugas lain yang diberikan pimpinan.
3.4.6. Bidang Pelayanan Medis dan Keperawatan
Bidang pelayanan medis dan keperawatan mempunyai tugas, yaitu:
1.
Mengawasi dan mengendalikan kegiatan pelayanan medis dan keperawatan pada
beberapa Unit Pelaksanaan Fungsional (UPF) yang menjadi tanggung jawabnya.
(49)
2.
Merencanakan kebutuhan tenaga medis dan para medis dari segi jumlah dan
kategori tenaga untuk setiap unit pelayanan.
3.
Merencanakan jumlah dan jenis peralatan yang dibutuhkan oleh unit-unit
pelayanan.
4.
Melaksanakan sebagian tugas yang dilimpahkan oleh kepala bidang medis dan
keperawatan.
5.
Menyampaikan dan menjelaskan kebijakan bidang medis dan keperawatan kepada
kepala ruang rawat yang berada dibawah tanggung jawabnya.
6.
Memberikan bimbingan kepada kepala ruang rawat tentang pelaksanaan pelayanan
medis dan keperawatan sesuai kebijakan kepala bidang pelayanan medis dan
keperawatan.
7.
Melaksanakan bimbingan kepada tenaga kerja perawatan yang berada dibawah
tanggung jawabnya untuk melaksanakan program kesehatan Rumah Sakit.
8.
Melaksanakan program orientasi kepada tenaga medis, paramedic dan perawat
yang bekerja di unit pelayanan Rumah Sakit.
9.
Menampung dan menanggulangi usul-usul serta keluhan-keluhan baik tentang
masalah tenaga medis, paramedis, dan perawatan serta menyampaikan kepada
kepala bidang medis dan keperawatan.
10.
Menilai mutu pelayanan bersama dengan pengawas pelayanan medis dan
keperawatan berkala atau sewaktu waktu bila diperlukan agar pelayanan dapat
ditingkatkan dan perkembangan kemajuan di bidang pelayanan medis.
11.
Memberi petunjuk kepada bawahan baik lisan maupun tulisan.
12.
Melakukan penilaian dan evaluasi atas kerja bawahan.
(50)
14.
Melaksanakan tugas-tugas lain diberikan pimpinan.
3.4.7. Seksi Pengawasan Pelayanan, Etika, dan Diklat Keperawatan.
Seksi pengawasan pelayanan, etika, dan diklat keperawatan mempunyai tugas, yaitu:
1.
Memberi bimbingan kepada kepala ruang rawat tentang pelaksanaan pelayanan
kesehatan sesuai dengan prosedur yang sudah ditetapkan.
2.
Memberi bimbingan kepada tenaga medis/non medis untuk melaksanakan
kesehatan terpadu di Rumah Sakit.
3.
Mengawasi pelaksanaan kebijakan bidang pelayanan di Rumah Sakit.
4.
Mengadakan kunjungan keliling secara berkala atau sewaktu-waktu ke ruang
rawat, agar tujuan pelayanan kesehatan yang ingin dicapai tetap terjamin.
5.
Melaksanakan penilaian hasil kerja tenaga medis dan non medis di Rumah Sakit
untuk meningkatkan dan mempertahankan mutu pelayanan.
6.
Mengawasi penggunaan dan pemeliharaan peralatan kesehatan serta obat-obatan
melalui sistem pencatatan dan pelaporan secara tepat dan benar di Rumah Sakit.
7.
Melakukan evaluasi dan monitoring terhadap pelayanan kesehatan di Rumah
Sakit.
8.
Memberi petunjuk kepada bawahan baik lisan maupun tulisan.
9.
Melakukan penilaian dan evaluasi atas kerja bawahan.
10.
Melaporkan seluruh pelaksanan tugas kepada kepala bidang.
11.
Melaksanakan tugas-tugas lain yang diberikan pimpinan.
3.4.8. Seksi Sarana dan Prasarana, Pemeliharaan, dan Perlengkapan
(51)
1.
Melaksanakan urusan perlengkapan meliputi: penggunaan, pengamanan, dan
pemeliharaan inventaris Rumah Sakit.
2.
Menginventarisasi dan pemeliharaan perlengkapan medis.
3.
Pengawasan penggunaan sarana dan prasarana Rumah Sakit.
4.
Membuat dan menyampaikan laporan hasil pelaksanaan tugas.
5.
Melaksanakan tugas-tugas lain yang diberikan pimpinan.
3.4.9. Seksi Informasi dan Rekam Medis
Seksi informasi dan rekam medis mempunyai tugas, yaitu:
1.
Melaksanakan program administrasi Rumah Sakit melalui data, informasi, dan
rekam medis yang akurat.
2.
Memberikan pelayanan umum pada masyarakat melalui penyuluhan kesehatan di
Rumah Sakit.
3.
Membuat dan menyampaikan seluruh hasil pelaksanaan tugas.
4.
Melaksanakan tugas-tugas lain yang diberikan pimpinan.
3.4.10. Sekretariat
Sekretariat mempunyai tugas, yaitu:
1.
Sekretariat mempunyai tugas melaksanakan ketatausahaan, administrasi
kepegawaian pengelolaan sumber daya manusia Rumah Sakit, kerumahtanggaan,
perlengkapan kantor, hukum, kehumasan, pemasaran sosial, koordinasi dengan
instansi lain yang terkait, penyusunan anggaran kegiatan, pembendaharaan,
verifikasi akuntansi dan mobilisasi dana.
(52)
2.
Untuk melaksanakn
tugas, secretariat
mempunyai
fungsi
pelaksanaan
ketatausahaan tugas pokok dan fungsi masing-masing sub bagian:
3.4.11. Bidang Perencanaan dan Rekam Medis
Bidang perencanaan dan rekam medis mempunyai tugas, yaitu:
1.
Bidang perencanaan dan rekam medis mempunyai tugas menyusun rencana
strategi Rumah Sakit, melakukan audit program, sistem Rumah sakit, mutu
pelayanan dan kinerja penelitian dan pengembangan sumber daya manusia Rumah
Sakit dan urusan rekam medis.
2.
Untuk melaksanakan tugas, bidang perencanaan dan rekam medis mempunyai
tugas:
a.
Penyusunan strategi Rumah Sakit.
b.
Pelaksanaan audit program sistem dan mutu pelayanan serta kinerja
Rumah Sakit.
c.
Pelaksanaan penelitian dan pengembangan produk Rumah Sakit, medis
maupun non medis.
d.
Pengembangan sumber daya manusia Rumah Sakit.
e.
Pelaksanaan tugas-tugas lain yang diberikan oelh Direktur sesuai dengan
tugas dan fungsinya.
3.4.12. Bidang Pelayanan Medis dan Penunjang Medis
Bidang pelayanan medis dan penunjang medis mempunyai tugas, yaitu:
1.
Bidang pelayanan medis dan penunjang medis mempunyai tugas yaitu
mengkoordinasikan semua kebutuhan pelayanan medis dan penunjang medis,
(53)
pemantauan dan pengawasan penggunaan fasilitas kesehatan, kegiatan pelayanan
medis, penunjang medis serta penerimaan dan pemulangan pasien.
2.
Bidang pelayanan medis dan penunjang medis mempunyai fungsi:
a.
Pelaksanaan koordinasi pelayanan medis dan penunjang medis.
b.
Pemantauan dan pengawasan di bidang pembinaan fasilitas kesehatan
Rumah Sakit.
c.
Pelaksanaan tugas-tugas lain yang diberikan oleh Direktur.
3.4.13. Bidang Keperawatan
Bidang keperawatan mempunyai tugas, yaitu:
1.
Mengkoordinasikan, mengatur dan mengendalikan urusan keperawatan,
merencanakan pengembangan mutu keperawatan, pembinaan mutu dan etika
keperawatan, mengatur kebutuhan peralatan keperawatan serta perawatan jenazah.
2.
Untuk melaksanakan tugas, bidang keperawatan mempunyai fungsi:
a.
Pengkoordinasian, penyaluran, dan pengendalian pengurusan keperawatan.
b.
Perencanaan pengembangan mutu keperawatan.
c.
Pembinaan mutu dan etika keperawatan.
d.
Penyaluran kebutuhan peralatan keperawatan.
e.
Pelaksanaan tugas lain yang diberikan oleh Direktur.
3.4.14. Satuan Pengawas Intern (SPI)
Satuan Pengawas Intern (SPI) mempunyai tugas, yaitu:
1.
Satuan pengawas intern adalah satuan kerja fungsional yang bertugas
melaksanakan pengawasan intern Rumah Sakit.
(1)
3.1. Sejarah Singkat Rumah Sakit Umum Tere-Margareth 30
3.2. Visi, Misi, dan Motto 31
3.2.1. Visi 31
3.2.2. Misi 31
3.2.3. Motto 32
3.3. Struktur Organisasi Rumah Sakit Umum Tere-Margareth 32
3.4. Penjelasan Jabatan 33
3.4.1. Direktur 33
3.4.2. Bagian Keuangan dan Anggaran 34 3.4.3. Bagian Perencanaan, Evaluasi, dan Pelaporan 34 3.4.4. Bagian Pemeliharaan dan Perlengkapan 35 3.4.5. Bidang Pelayanan dan Keperawatan 35 3.4.6. Bidang Pelayanan Medis dan Keperawatan 36 3.4.7. Seksi Pengawasan Pelayanan, Etika, dan Diklat
Keperawatan 37
3.4.8. Seksi Sarana dan Prasarana, Pemeliharaan, dan Perlengkapan
38
3.4.9. Seksi Informasi dan Rekam Medis 39
3.4.10. Sekretariat 39
3.4.11. Bidang Perencanaan dan Rekam Medis 40 3.4.12. Bidang Pelayanan Medis dan Penunjang Medis 40
3.4.13. Bidang Keperawatan 41
3.4.14. Satuan Pengawas Intern (SPI) 41
3.4.15. Komite 42
3.4.16. Instalasi 43
3.4.17. Kelompok Jabatan Fungsional 43
3.4.18. Staf Medik Fungsional 43
3.5. Tata Kerja 44
BAB 4 Perancangan Sistem
4.1. Perancangan Sistem 46
4.2. Data Flow Diagram (DFD) 46
4.2.1. Aliran Data Flow Diagram (DFD) Level 0 48
4.3. Perancangan Database 49
4.4. Relasi Antartabel Database 55
4.5. Rancangan Menu 55
4.5.1. Menu Utama 55
4.5.2. Rancangan Input (Masukan) 58
4.5.2.1. Setup parameter 58
4.5.2.2. Referensi agama 59
4.5.2.3. Referensi jabatan 59
4.5.2.4. Referensi pekerjaan 60 4.5.2.5. Referensi data pegawai 61 4.5.2.6. Referensi data pasien 62 4.5.2.7. Referensi tindakan medis 63
(2)
4.5.2.9. Ubah password 64 4.5.2.10. Referensi rincian pemeriksaan
laboratorium 64
4.5.2.11. Pemeriksaan laboratorium 65 BAB 5 Implementasi Sistem
5.1. Definisi Implementasi Sistem 66
5.2. Komponen Utama dalam Implementasi Sistem 66
5.3. Tujuan Implementasi Sistem 67
5.4. Tampilan Program Sistem Informasi Laboratorium
Rumah Sakit 68
5.4.1. Form Login 68
5.4.2. Menu Utama Program 69
5.4.3. Menu Setup Parameter 70
5.4.4. Menu Referensi Agama 71
5.4.5. Menu Referensi Jabatan 71
5.4.6. Menu Referensi Pekerjaan 72
5.4.7. Menu Referensi Data Pegawai 73 5.4.8. Menu Referensi Data Pasien 73 5.4.9. Menu Referensi Tindakan Medis 74
5.4.10. Menu User Login 74
5.4.11. Menu Ubah Password 75
5.4.12. Menu Referensi Pemeriksaan Laboratorium 75 5.4.13. Menu Pemeriksaan Laboratorium 76 BAB 6 Kesimpulan dan Saran
6.1. Kesimpulan 77
6.2. Saran 78
DAFTAR PUSTAKA LAMPIRAN
(3)
DAFTAR TABEL
Nomor Judul Halaman
Tabel
2.1. Simbol-Simbol DFD 17
2.2. Simbol-Simbol Flowchart 19
4.1. Tabel Agama 49
4.2. Tabel Jabatan 49
4.3. Tabel Jenis Kelamin 49
4.4. Tabel Pekerjaan 49
4.5. Tabel Tindakan 1 50
4.6. Tabel Tindakan 2 50
4.7. Tabel Tindakan 3 50
4.8. Tabel Tindakan 4 51
4.9. Tabel Setup 51
4.10. Tabel Laboratorium 52
4.11. Tabel Laboratorium_DT 52
4.12. Tabel Laboratorium_DT2 52
4.13. Tabel Pasien 53
(4)
DAFTAR GAMBAR
Nomor Judul Halaman
Gambar
2.1. Lingkungan IDE 21
2.2. MenuBar 22
2.3. ToolBar/SpeedBar 22
2.4. Jendela ToolBox Standart 23
2.5. Jendela Form Designer 25
2.6. Jendela Project 26
2.7. Jendela Properties 26
4.1. Data Flow Diagram(DFD) Konteks 47
4.2. DFD Level 0 48
4.3. Relational Database Management System (RDBMS) 55
4.4. Rancangan Form Menu Utama 56
4.5. Rancangan Form Menu Master 56
4.6. Rancangan Form Menu Laboratorium 57
4.7. Setup Parameter 58
4.8. Referensi Agama 59
4.9. Referensi Jabatan 59
4.10. Referensi Pekerjaan 60
4.11. Daftar Pegawai 61
4.12. Referensi Data Pasien bagian 1 62
4.13. Referensi Data Pasien bagian 2 62
4.14. Referensi Tindakan Medis 63
4.15. User Login 63
4.16. Ubah Password 64
4.17. Referensi Rincian Pemeriksaan Laboratorium 64
4.18. Pemeriksaan Laboratorium 65
5.1. Tampilan Form Login 68
5.2. Tampilan Menu Utama 70
5.3. Tampilan Menu Setup Parameter 70
5.4. Tampilan Menu Referensi Agama 71
5.5. Tampilan Menu Referensi Jabatan 72
5.6. Tampilan Menu Referensi Pekerjaan 72
5.7. Tampilan Menu Referensi Data Pegawai 73
5.8. Tampilan Menu Referensi Data Pasien 73
(5)
5.10. Tampilan Menu User Login 75
5.11. Tampilan Menu Ubah Password 75
5.12. Tampilan Menu Referensi Pemeriksaan Laboratorium 76
(6)
DAFTAR LAMPIRAN
Nomor Judul Halaman
Lampiran
1. Listing Program 78
2. Surat Keterangan Hasil Uji Program
Tugas Akhir Mahasiswa 72