Sistem Informasi Laboratorium Pada Rumah Sakit Umum Tere-Margareth Menggunakan Visual Basic 6.0

(1)

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