Sistem Informasi Asuransi Kesehatan.

SISTEM INFORMASI
ASURANSI KESEHATAN
Domingo Bima K / 0827011
Jurusan Sistem Komputer, Fakultas Teknik
Universitas Kristen Maranatha
Jalan Prof. drg. Surya Sumantri, MPH 65
Bandung

ABSTRAK

Seiring

dengan

perkembangan

jaman,

teknologi

mengalami


perkembangan yang sangat pesat, khususnya dalam bidang komputer
sangat membantu manusia dalam melakukan pekerjaan sehingga
mendapatkan hasil yang maksimal dan lebih baik. Sebagai contoh dalam
bidang kesehatan adalah penggunaan komputer untuk pengolahan data
pada asuransi kesehatan, untuk membantu perusahaan asuransi
kesehatan dalam melakukan kegiatan operasional perusahaan contohnya
dalam melakukan proses pencatatan data secara komputerisasi sehingga
meminimalkan proses kesalahan dalam pencatatan data.

vi

HEALTH INSURANCE
INFORMATION SYSTEM

Domingo Bima K / 0827011
Computer Engineering, Faculty of Engineering
Maranatha Christian University
Prof. drg. Surya Sumantri Street , MPH 65
Bandung


ABSTRACT

As time goes by technology has developed very rapidly, especially in
sector of computer it helps people to works easier and get maximum
result. One of the example on health sector is computer to helps on data
processing in health insurance, and this assists the health insurance
companies in conducting usual operational such as in performing a
process of computerized based entry data so that errors can be
minimized.

vii

DAFTAR ISI

HALAMAN

BAB I LATAR BELAKANG ..................................................................... 1
1.1. Latar Belakang ......................................................................... 1
1.2. Identifikasi Masalah .................................................................. 1

1.3. Tujuan ...................................................................................... 2
1.4. Pembatasan Masalah............................................................... 2
1.5. Sistematika Penulisan .............................................................. 2
BAB II LANDASAN TEORI .................................................................... 4
2.1. Konsep Dasar Sistem............................................................... 4
2.2. Konsep Dasar Informasi ........................................................... 4
2.3. Konsep Dasar Sistem Informasi ............................................... 5
2.4. Konsep Dasar Database .......................................................... 6
2.5. Konsep Dasar SQL .................................................................. 7
2.6. Borlan Delphi 7 Stuido Enterprise .......................................... 12
2.7. Interbase 6.0 .......................................................................... 16
2.8. Tabel Relasi ........................................................................... 17
2.9. Data Flow Diagram................................................................. 18
2.10. Entity Relationship Diagram ................................................. 19
BAB III PERANCANGAN ..................................................................... 21
3.1. Tentang Program .................................................................. 21
3.2. Data Flow Diagram................................................................ 22
3.3. Entitiy Relationship Diagram .................................................. 25

viii


3.4. Perancangan Tabel ............................................................... 29
3.5. Relasi Antar Tabel .................................................................. 36
3.6. Perancangan Program ........................................................... 36
BAB IV PEMBAHASAN ....................................................................... 53
4.1. Proses setting Interbase......................................................... 53
4.2. Proses setting BDE Administrator .......................................... 56
4.3. Proses Input Data Master ..................................................... 57
4.4. Proses Input Layanan Kesehatan ......................................... 70
4.5.Proses Input Data Keuangan ................................................. 81
4.6. Laporan Keuangan Dan Layanan Kesehatan ....................... 85
BAB V KESIMPULAN DAN SARAN ................................................... 96
5.1. Kesimpulan ........................................................................... 96
5.2. Saran..................................................................................... 96
DAFTAR PUSTAKA ............................................................................ 98
LAMPIRAN A KODE PROGRAM........................................................A-1
LAMPIRAN B SURAT KETERANGAN

ix


DAFTAR GAMBAR

Halaman
Gambar 2.1 Borland Delphi 7 .............................................................. 12
Gambar 2.2 Menu Bar ......................................................................... 13
Gambar 2.3 Toolbar ............................................................................. 14
Gambar 2.4 Componen Pallete............................................................ 14
Gambar 2.5 Object Tree View.............................................................. 14
Gambar 2.6 Object Inspector ............................................................... 15
Gambar 2.7 Form................................................................................. 15
Gambar 2.8 Code Editor ...................................................................... 16
Gambar 2.9 InterBase.......................................................................... 16
Gambar 2.10 One To One ................................................................... 17
Gambar 2.11 One To Many ................................................................. 17
Gambar 2.12 Many To Many ............................................................... 18
Gambar 2.13 Simbol DFD .................................................................... 19
Gambar 2.14 Simbol ERD ................................................................... 20
Gambar 3.1 Diagram Konteks.............................................................. 23
Gambar 3.2 DFD Level 0 ..................................................................... 24
Gambar 3.3 DFD Level 1 Rawat Jalan & Inap ..................................... 25


x

Gambar 3.4 Proses Daftar Peserta ...................................................... 26
Gambar 3.5 Proses Sebelum Peserta Berobat .................................... 26
Gambar 3.6 Proses Pasien Berobat Rawat Jalan ................................ 27
Gambar 3.7 Proses Pasien Berobat Rawat Inap ................................. 27
Gambar 3.8 Proses Asuransi ............................................................... 28
Gambar 3.9 Antar Muka Tabel User .................................................... 29
Gambar 3.10 Antar Muka Tabel Peserta.............................................. 30
Gambar 3.11 Antar Muka Tabel Dokter ............................................... 30
Gambar 3.12 Antar Muka Tabel Poliklinik ............................................ 31
Gambar 3.13 Antar Muka Tabel Kelas Inap ......................................... 31
Gambar 3.14 Antar Muka Tabel Paket Asuransi ................................. 32
Gambar 3.15 Antar Muka Tabel Master Obat ...................................... 32
Gambar 3.16 Antar Muka Tabel Rawat Jalan ...................................... 33
Gambar 3.17 Antar Muka Tabel Detil Obat Jalan................................. 33
Gambar 3.18 Antar Muka Tabel Rawat Inap ........................................ 34
Gambar 3.19 Antar Muka Tabel Detil Obat Inap .................................. 34
Gambar 3.20 Antar Muka Tabel Penerimaan ....................................... 35

Gambar 3.21 Antar Muka Tabel Pengeluaran ...................................... 35
Gambar 3.22 Tabel Relasi ................................................................... 36
Gambar 3.23 Data Module ................................................................... 37
Gambar 3.24 Perintah Uses ................................................................ 38
Gambar 3.25 Form User ..................................................................... 38
Gambar 3.26 Form Peserta ................................................................. 39
Gambar 3.27 Form Dokter ................................................................... 40
Gambar 3.28 Form Poliklinik ................................................................ 40

xi

Gambar 3.29 Form Kelas Inap ............................................................. 41
Gambar 3.30 Form Paket Asuransi...................................................... 42
Gambar 3.31 Form Obat ...................................................................... 42
Gambar 3.32 Form Rawat Jalan .......................................................... 43
Gambar 3.33 Form Rawat Inap............................................................ 44
Gambar 3.34 Form Tambah Detil Obat Jalan ...................................... 45
Gambar 3.35 Form Tambah Detil Obat Inap ........................................ 45
Gambar 3.36 Form Pencarian Nama ................................................... 46
Gambar 3.37 Form Penerimaan .......................................................... 46

Gambar 3.38 Form Pengeluaran ......................................................... 47
Gambar 3.39 Form Laporan Penerimaan ............................................ 48
Gambar 3.40 Form Laporan Pengeluaran ........................................... 49
Gambar 3.41 Form Laporan Rawat Jalan ............................................ 49
Gambar 3.42 Form Laporan Rawat Inap ............................................. 50
Gambar 3.43 Quick Report Penerimaan .............................................. 51
Gambar 3.44 Quick Report Pengeluaran ............................................. 51
Gambar 3.45 Quick Report Laporan Rawat Inap ................................. 51
Gambar 3.46 Quick Report Laporan Rawat Jalan ............................... 52
Gambar 4.1 InterBase Belum Aktif...................................................... 53
Gambar 4.2 Username Dan Password ................................................ 54
Gambar 4.3 InterBase Sudah Aktif ...................................................... 54
Gambar 4.4 Add User .......................................................................... 55
Gambar 4.5 User Information............................................................... 55
Gambar 4.6 Database Connect ........................................................... 55
Gambar 4.7 Database Connect Seusai Username .............................. 56

xii

Gambar 4.8 New Database Alias ......................................................... 56

Gambar 4.9 Definition Of ASURANSI .................................................. 57
Gambar 4.10 Login .............................................................................. 57
Gambar 4.11 Form Utama ................................................................... 58
Gambar 4.12 Form User ...................................................................... 59
Gambar 4.13 Hasil Input Data User ..................................................... 59
Gambar 4.14 Level 0 ........................................................................... 60
Gambar 4.15 Level 1 ........................................................................... 60
Gambar 4.16 Level 2 ........................................................................... 61
Gambar 4.17 Input Data Peserta ......................................................... 61
Gambar 4.18 Hasil Input Data Peserta ................................................ 62
Gambar 4.19 Input Data Dokter ........................................................... 63
Gambar 4.20 Hasil Input Data Dokter .................................................. 63
Gambar 4.21 Input Data Poliklinik ....................................................... 64
Gambar 4.22 Hasil Input Data Poliklinik .............................................. 65
Gambar 4.23 Input Data Kelas Inap..................................................... 65
Gambar 4.24 Hasil Input Data Kelas Inap ........................................... 66
Gambar 4.25 Input Data Paket Asuransi ............................................ 66
Gambar 4.26 Hasil Input Data Paket Asuransi ................................... 67
Gambar 4.27 Input Data Obat .............................................................. 68
Gambar 4.28 Hasil Input Data Obat .................................................... 69

Gambar 4.29 Filter Nama Peserta ...................................................... 69
Gambar 4.30 Filter Nama Obat ........................................................... 70
Gambar 4.31 Input Data Rawat Jalan ................................................. 70
Gambar 4.32 Form Pencarian Nama Rawat Jalan ............................. 71

xiii

Gambar 4.33 Form Tambah Detil Obat Jalan ..................................... 72
Gambar 4.34 Form Pencarian Nama Obat Rawat Jalan ..................... 72
Gambar 4.35 Data Obat Yang Digunakan Rawat Jalan ...................... 73
Gambar 4.36 Total Biaya Obat Rawat Jalan ....................................... 73
Gambar 4.37 Menu Hapus Data Obat Rawat Jalan ............................ 74
Gambar 4.38 Data Obat Rawat Jalan Sebelum Dihapus .................... 74
Gambar 4.39 Data Obat Rawat Jalan Setelah Dihapus ...................... 74
Gambar 4.40 Total Biaya Obat Rawat Jalan Setelah Dihapus ........... 74
Gambar 4.41 Biaya Tindakan Rawat Jalan ......................................... 74
Gambar 4.42 Total Biaya Rawat Jalan ............................................... 75
Gambar 4.43 Hasil Input Data rawat Jalan ......................................... 75
Gambar 4.44 Form Rawat Inap ........................................................... 76
Gambar 4.45 Form Pencarian Nama Rawat Inap ............................... 77

Gambar 4.46 Form Tambah Detil Obat Inap ....................................... 77
Gambar 4.47 Form Pencarian Obat Rawat Inap ................................. 78
Gambar 4.48 Data Obat Yang Digunakan Rawat Inap ....................... 78
Gambar 4.49 Total Biaya Obat Rawat Inap ........................................ 78
Gambar 4.50 Menu Hapus Data Obat Rawat Inap ............................. 79
Gambar 4.51 Data Obat Rawat Inap Sebelum Dihapus ..................... 79
Gambar 4.52 Data Obat Rawat Inap Sesudah Dihapus ..................... 79
Gambar 4.53 Total Biaya Obat Rawat Inap Setelah Dihapus ............. 79
Gambar 4.54 Biaya Tindakan Rawat Inap .......................................... 80
Gambar 4.55 Total Biaya Rawat Inap .................................................. 80
Gambar 4.56 Hasil Input Data Rawat Inap .......................................... 80
Gambar 4.57 Form Penerimaan ......................................................... 81

xiv

Gambar 4.58 Form Pencarian Nama Penerimaan .............................. 82
Gambar 4.59 Hasil Input Data Penerimaan ........................................ 82
Gambar 4.60 Form Pengeluaran ........................................................ 83
Gambar 4.61 Cek Tanggal Periode .................................................... 84
Gambar 4.62 Pembayaran Periode Selanjutnya ................................. 84
Gambar 4.63 Hasil Input Data Pengeluaran ....................................... 85
Gambar 4.64 Laporan Penerimaan ..................................................... 85
Gambar 4.65 Cetak Laporan Penerimaan .......................................... 86
Gambar 4.66 Laporan Pengeluaran .................................................... 87
Gambar 4.67 Cetak Laporan Pengeluaran ......................................... 87
Gambar 4.68 Laporan Rawat Jalan Berdasarkan Tanggal ................. 88
Gambar 4.69 Laporan Rawat Jalan Berdasarkan Nama ..................... 89
Gambar 4.70 Laporan Rawat Jalan Berdasarkan Tanggal
Dan Nama ..................................................................... 90
Gambar 4.71 Cetak Laporan Rawat Jalan Berdasarkan Tanggal ........ 91
Gambar 4.72 Cetak Laporan Rawat Jalan Berdasarkan Nama .......... 91
Gambar 4.73 Cetak Laporan Rawat Jalan Berdasarkan Tanggal
Dan Nama ...................................................................... 92
Gambar 4.74 Laporan Rawat Inap Berdasarkan Tanggal ................... 93
Gambar 4.75 Laporan Rawat Inap Berdasarkan Nama ...................... 93
Gambar 4.76 Laporan Rawat Inap Berdasarkan Tanggal
Dan Nama ..................................................................... 94

xv

Gambar 4.77 Cetak Laporan Rawat Inap Berdasarkan Tanggal ........ 94
Gambar 4.78 Cetak Laporan Rawat Inap Berdasarkan Nama ............ 95
Gambar 4.79 Cetak Laporan Rawat Inap Berdasarkan Tanggal
Dan Nama ..................................................................... 95

xvi

A-1

LAMPIRAN A
KODE PROGRAM

unit UnitFormUtama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, Menus, StdCtrls;
type
TFormUtama = class(TForm)
Shape1: TShape;
MainMenu1: TMainMenu;
DATAMASTER1: TMenuItem;
USER1: TMenuItem;
DOKTER1: TMenuItem;
POLIKLINIK1: TMenuItem;
PESERTA1: TMenuItem;
KELASINAP1: TMenuItem;
PAKETASURANSI1: TMenuItem;
OBAT1: TMenuItem;
KELUAR1: TMenuItem;
LAYANAN1: TMenuItem;
RAWATJALAN1: TMenuItem;
RAWATINAP1: TMenuItem;
KEUANGAN1: TMenuItem;
PENERIMAAN1: TMenuItem;
PENGELUARAN1: TMenuItem;
LAPORAN1: TMenuItem;
PENGELUARAN2: TMenuItem;
PEN1: TMenuItem;
PENERIMAAN2: TMenuItem;
PENGELUARAN3: TMenuItem;
RAWATJALAN2: TMenuItem;
RAWATINAP2: TMenuItem;
Label1: TLabel;
NamaUser: TLabel;

A-2

procedure KELUAR1Click(Sender: TObject);
procedure USER1Click(Sender: TObject);
procedure DOKTER1Click(Sender: TObject);
procedure POLIKLINIK1Click(Sender: TObject);
procedure KELASINAP1Click(Sender: TObject);
procedure PAKETASURANSI1Click(Sender: TObject);
procedure OBAT1Click(Sender: TObject);
procedure PESERTA1Click(Sender: TObject);
procedure PENERIMAAN1Click(Sender: TObject);
procedure PENGELUARAN1Click(Sender: TObject);
procedure RAWATJALAN1Click(Sender: TObject);
procedure RAWATINAP1Click(Sender: TObject);
procedure PENERIMAAN2Click(Sender: TObject);
procedure PENGELUARAN3Click(Sender: TObject);
procedure RAWATJALAN2Click(Sender: TObject);
procedure RAWATINAP2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormUtama: TFormUtama;
implementation
uses UnitFormUser, UnitFormDokter, UnitFormPoliklinik,
UnitFormKelasInap,
UnitFormPaketAsuransi, UnitFormObat, UnitFormPeserta,
UnitPenerimaanKeuangan, UnitPengeluaranKeuangan,
UnitRawatJalan,
UnitRawatInap, UnitLapPenerimaan, UnitLapPengeluaran,
UnitLapRawatJalan,
UnitLapRawatInap;
{$R *.dfm}
procedure TFormUtama.KELUAR1Click(Sender: TObject);
begin
Application.Terminate;
end;

A-3

procedure TFormUtama.USER1Click(Sender: TObject);
begin
FormUser.ShowModal;
end;
procedure TFormUtama.DOKTER1Click(Sender: TObject);
begin
FormDokter.ShowModal;
end;
procedure TFormUtama.POLIKLINIK1Click(Sender: TObject);
begin
FormPoliklinik.ShowModal;
end;
procedure TFormUtama.KELASINAP1Click(Sender: TObject);
begin
FormKelasInap.ShowModal;
end;
procedure TFormUtama.PAKETASURANSI1Click(Sender: TObject);
begin
FormPaketAsuransi.ShowModal;
end;
procedure TFormUtama.OBAT1Click(Sender: TObject);
begin
FormObat.ShowModal;
end;
procedure TFormUtama.PESERTA1Click(Sender: TObject);
begin
FormPeserta.ShowModal;
end;
procedure TFormUtama.PENERIMAAN1Click(Sender: TObject);
begin
FormPenerimaanKeuangan.NamaUser.Caption
:=FormUtama.NamaUser.Caption;
FormPenerimaanKeuangan.ShowModal;
end;
procedure TFormUtama.PENGELUARAN1Click(Sender: TObject);
begin

A-4

FormPengeluaranKeuangan.NamaUser.Caption :=
FormUtama.NamaUser.Caption;
FormPengeluaranKeuangan.ShowModal;
end;
procedure TFormUtama.RAWATJALAN1Click(Sender: TObject);
begin
FormRawatJalan.NamaUser.Caption :=
FormUtama.NamaUser.Caption;
FormRawatJalan.ShowModal;
end;
procedure TFormUtama.RAWATINAP1Click(Sender: TObject);
begin
FormRawatInap.NamaUser.Caption :=
FormUtama.NamaUser.Caption;
FormRawatInap.ShowModal;
end;
procedure TFormUtama.PENERIMAAN2Click(Sender: TObject);
begin
FormLaporanPenerimaan.ShowModal;
end;
procedure TFormUtama.PENGELUARAN3Click(Sender: TObject);
begin
FormLaporanPengeluaran.ShowModal;
end;
procedure TFormUtama.RAWATJALAN2Click(Sender: TObject);
begin
FormLaporanRawatJalan.ShowModal;
end;
procedure TFormUtama.RAWATINAP2Click(Sender: TObject);
begin
FormLaporanRawatInap.ShowModal;
end;
procedure TFormUtama.FormActivate(Sender: TObject);
begin
if FormUtama.Caption = '1' then
begin
DataMaster1.Enabled := false;
Laporan1.Enabled := false;

A-5

end;
if FormUtama.Caption = '2' then
begin
User1.Enabled := false;
Dokter1.Enabled := false;
Poliklinik1.Enabled := false;
KelasInap1.Enabled := false;
PaketAsuransi1.Enabled := false;
Obat1.Enabled := false;
Layanan1.Enabled := false;
Keuangan1.Enabled := false;
Laporan1.Enabled := false;
end;
end;
procedure TFormUtama.FormCreate(Sender: TObject);
begin
end;
end.

unit UnitFormLogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TFormLogin = class(TForm)
Shape1: TShape;
Label1: TLabel;
Label2: TLabel;
NamaUser: TEdit;
KataKunci: TEdit;
BtnBatal: TBitBtn;
BtnLogin: TBitBtn;
procedure BtnBatalClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure NamaUserKeyPress(Sender: TObject; var Key:
Char);

A-6

procedure BtnLoginClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormLogin: TFormLogin;
implementation
uses UnitFormUtama, UnitDataModul;
{$R *.dfm}
procedure TFormLogin.BtnBatalClick(Sender: TObject);
begin
Close;
end;
procedure TFormLogin.FormActivate(Sender: TObject);
begin
NamaUser.Text := '';
KataKunci.Text := '';
NamaUser.SetFocus;
end;
procedure TFormLogin.NamaUserKeyPress(Sender: TObject; var
Key: Char);
begin
key := UpCase(key);
end;
procedure TFormLogin.BtnLoginClick(Sender: TObject);
begin
if (NamaUser.Text '') and (KataKunci.Text '') then
begin
DataModul.QueryID.Close;
DataModul.QueryID.SQL.Clear;
DataModul.QueryID.SQL.Add('select namauser, katakunci,
hakakses, iduser from m_user');
DataModul.QueryID.SQL.Add('where namauser =
'+QuotedStr(NamaUser.Text));
DataModul.QueryID.Open;

A-7

if DataModul.QueryID.IsEmpty then
begin
ShowMessage('USER TIDAK ADA !');
NamaUser.Text := '';
KataKunci.Text := '';
NamaUser.SetFocus;
end else
begin
if DataModul.QueryID.Fields[1].Value = KataKunci.Text
then
begin
NamaUser.Text := '';
KataKunci.Text := '';
FormUtama.Caption :=
DataModul.QueryID.Fields[2].Value;
FormUtama.NamaUser.Caption :=
DataModul.QueryID.Fields[0].Value;
FormUtama.ShowModal;
end else
begin
ShowMessage('PASSWORD SALAH !');
KataKunci.Text := '';
KataKunci.SetFocus;
end;
end;
end;
end;
end.

unit UnitFormUser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls,
Buttons, Mask;
type
TFormUser = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;

A-8

DBNavigator1: TDBNavigator;
Panel: TPanel;
BtnTambah: TBitBtn;
BtnEdit: TBitBtn;
BtnHapus: TBitBtn;
BtnTutup: TBitBtn;
DBEditNamaUser: TDBEdit;
Label1: TLabel;
Label2: TLabel;
DBEditKataKunci: TDBEdit;
Label3: TLabel;
DBEditHakAkses: TDBEdit;
BtnSimpan: TBitBtn;
BtnBatal: TBitBtn;
procedure FormActivate(Sender: TObject);
procedure BtnTutupClick(Sender: TObject);
procedure BtnTambahClick(Sender: TObject);
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnHapusClick(Sender: TObject);
procedure DBEditNamaUserKeyPress(Sender: TObject; var
Key: Char);
procedure DBEditNamaUserExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormUser: TFormUser;
implementation
uses UnitDataModul;
{$R *.dfm}
procedure TFormUser.FormActivate(Sender: TObject);
begin
Panel.Enabled := false;
end;
procedure TFormUser.BtnTutupClick(Sender: TObject);

A-9

begin
if not Panel.Enabled then Close;
end;
procedure TFormUser.BtnTambahClick(Sender: TObject);
var
id : integer;
begin
if not Panel.Enabled then
begin
DataModul.QueryID.Close;
DataModul.QueryID.SQL.Clear;
DataModul.QueryID.SQL.Add(' select max(iduser) from
m_user');
DataModul.QueryID.Open;
if DataModul.QueryID.Fields[0].AsString = '' then
id := 1 else id := DataModul.QueryID.Fields[0].Value +
1;
Panel.Enabled := true;
DataModul.TabelMUser.Insert;
DataModul.TabelMUser.FieldByName('iduser').Value := id;
DBEditNamaUser.SetFocus;
end;
end;
procedure TFormUser.BtnBatalClick(Sender: TObject);
begin
DataModul.TabelMUser.Cancel;
Panel.Enabled := false;
end;
procedure TFormUser.BtnSimpanClick(Sender: TObject);
begin
DataModul.TabelMUser.Post;
DataModul.TabelMUser.CommitUpdates;
Panel.Enabled := false;
end;
procedure TFormUser.BtnEditClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelMUser.Edit;
DBEditNamaUser.SetFocus;

A-10

end;
end;
procedure TFormUser.BtnHapusClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
if MessageDlg('HAPUS DATA USER ?',
mtconfirmation,[mbyes,mbno],0)=mryes then
begin
DataModul.TabelMUser.Delete;
DataModul.TabelMUser.CommitUpdates;
end;
end;
end;
procedure TFormUser.DBEditNamaUserKeyPress(Sender: TObject;
var Key: Char);
begin
key := UpCase(key)
end;
procedure TFormUser.DBEditNamaUserExit(Sender: TObject);
begin
DataModul.QueryNama.Close;
DataModul.QueryNama.SQL.Clear;
DataModul.QueryNama.SQL.Add('select * from m_user where
namauser = '+QuotedStr(DBEditNamaUser.Text));
DataModul.QueryNama.Open;
if not DataModul.QueryNama.IsEmpty then
begin
ShowMessage('User Sudah Ada !');
DBEditNamaUser.SetFocus;
end;
end;
end.

unit UnitFormPeserta;
interface
uses

A-11

Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons,
Grids, DBGrids;
type
TFormPeserta = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BtnTambah: TBitBtn;
BtnEdit: TBitBtn;
BtnHapus: TBitBtn;
Panel: TPanel;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
DBEditNamaPeserta: TDBEdit;
DBEditTL: TDBEdit;
BtnSimpan: TBitBtn;
BtnBatal: TBitBtn;
DBEditAlamat: TDBEdit;
BtnTutup: TBitBtn;
Label3: TLabel;
DBEditPekerjaan: TDBEdit;
Label5: TLabel;
EditFilter: TEdit;
Label6: TLabel;
DBComboBoxPaket: TDBComboBox;
procedure FormActivate(Sender: TObject);
procedure BtnTutupClick(Sender: TObject);
procedure BtnTambahClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnHapusClick(Sender: TObject);
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
procedure EditFilterChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action:
TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

A-12

var
FormPeserta: TFormPeserta;
implementation
uses UnitDataModul;
{$R *.dfm}
procedure TFormPeserta.FormActivate(Sender: TObject);
begin
DBComboBoxPaket.Clear;
DBComboBoxPaket.Items.Add('');
DataModul.TabelPaketAsuransi.First;
while not DataModul.TabelPaketAsuransi.Eof do
begin
DBComboBoxPaket.Items.Add(DataModul.TabelPaketAsuransi.Field
ByName('namapaket').Value);
DataModul.TabelPaketAsuransi.Next;
end;
Panel.Enabled := false;
EditFilter.Text := '';
end;
procedure TFormPeserta.BtnTutupClick(Sender: TObject);
begin
if not Panel.Enabled then Close;
end;
procedure TFormPeserta.BtnTambahClick(Sender: TObject);
var
id : string;
begin
if not Panel.Enabled then
begin
DataModul.QueryID.Close;
DataModul.QueryID.SQL.Clear;
DataModul.QueryID.SQL.Add(' select max(idpeserta) from
m_peserta');
DataModul.QueryID.Open;
if DataModul.QueryID.Fields[0].AsString = '' then
id := '0001'
else

A-13

id :=
FormatFloat('0000',StrToInt(DataModul.QueryID.Fields[0].Valu
e) + 1);
Panel.Enabled := true;
DataModul.TabelMPeserta.Insert;
DataModul.TabelMPeserta.FieldByName('idpeserta').Value :=
id;
DBEditNamaPeserta.SetFocus;
end;
end;
procedure TFormPeserta.BtnEditClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelMPeserta.Edit;
DBEditNamaPeserta.SetFocus;
end;
end;
procedure TFormPeserta.BtnHapusClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
if MessageDlg('HAPUS DATA PESERTA ?',
mtconfirmation,[mbyes,mbno],0)=mryes then
begin
DataModul.TabelMPeserta.Delete;
DataModul.TabelMPeserta.CommitUpdates;
end;
end;
end;
procedure TFormPeserta.BtnBatalClick(Sender: TObject);
begin
DataModul.TabelMPeserta.Cancel;
Panel.Enabled := false;
end;
procedure TFormPeserta.BtnSimpanClick(Sender: TObject);
begin
DataModul.TabelMPeserta.Post;
DataModul.TabelMPeserta.CommitUpdates;
Panel.Enabled := false;

A-14

end;
procedure TFormPeserta.EditFilterChange(Sender: TObject);
begin
if EditFilter.Text '' then
begin
DataModul.TabelMPeserta.Filter := 'namapeserta =
'+QuotedStr(EditFilter.Text+'*');
DataModul.TabelMPeserta.Filtered := true;
end else
begin
DataModul.TabelMPeserta.Filtered := false;
end;
end;
procedure TFormPeserta.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DataModul.TabelMPeserta.Filtered := false;
end;
end.

unit UnitFormDokter;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons,
Grids, DBGrids;
type
TFormDokter = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BtnTambah: TBitBtn;
BtnEdit: TBitBtn;
BtnHapus: TBitBtn;
Panel: TPanel;
Label1: TLabel;
Label2: TLabel;

A-15

DBEditNamaDokter: TDBEdit;
DBEditSpesialisasi: TDBEdit;
BtnSimpan: TBitBtn;
BtnBatal: TBitBtn;
BtnTutup: TBitBtn;
Label4: TLabel;
DBEditBiaya: TDBEdit;
procedure BtnTambahClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnHapusClick(Sender: TObject);
procedure BtnTutupClick(Sender: TObject);
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormDokter: TFormDokter;
implementation
uses UnitDataModul;
{$R *.dfm}
procedure TFormDokter.BtnTambahClick(Sender: TObject);
var
id : integer;
begin
if not Panel.Enabled then
begin
DataModul.QueryID.Close;
DataModul.QueryID.SQL.Clear;
DataModul.QueryID.SQL.Add(' select max(iddokter) from
dokter');
DataModul.QueryID.Open;
if DataModul.QueryID.Fields[0].AsString = '' then
id := 1 else id := DataModul.QueryID.Fields[0].Value +
1;
Panel.Enabled := true;
DataModul.TabelDokter.Insert;

A-16

DataModul.TabelDokter.FieldByName('iddokter').Value :=
id;
DBEditNamaDokter.SetFocus;
end;
end;
procedure TFormDokter.BtnEditClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelDokter.Edit;
DBEditNamaDokter.SetFocus;
end;
end;
procedure TFormDokter.BtnHapusClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
if MessageDlg('HAPUS DATA DOKTER ?',
mtconfirmation,[mbyes,mbno],0)=mryes then
begin
DataModul.TabelDokter.Delete;
DataModul.TabelDokter.CommitUpdates;
end;
end;
end;
procedure TFormDokter.BtnTutupClick(Sender: TObject);
begin
if not Panel.Enabled then Close;
end;
procedure TFormDokter.BtnBatalClick(Sender: TObject);
begin
DataModul.TabelDokter.Cancel;
Panel.Enabled := false;
end;
procedure TFormDokter.BtnSimpanClick(Sender: TObject);
begin
DataModul.TabelDokter.Post;
DataModul.TabelDokter.CommitUpdates;
Panel.Enabled := false;

A-17

end;
procedure TFormDokter.FormActivate(Sender: TObject);
begin
Panel.Enabled := false;
end;
end.

unit UnitFormPoliklinik;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons,
Grids, DBGrids;
type
TFormPoliklinik = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BtnTambah: TBitBtn;
BtnEdit: TBitBtn;
BtnHapus: TBitBtn;
BtnTutup: TBitBtn;
Panel: TPanel;
Label1: TLabel;
DBEditNamaPoli: TDBEdit;
DBEditBiaya: TDBEdit;
BtnSimpan: TBitBtn;
BtnBatal: TBitBtn;
Label2: TLabel;
procedure BtnTambahClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnHapusClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BtnTutupClick(Sender: TObject);
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
procedure DBEditNamaPoliKeyPress(Sender: TObject; var
Key: Char);

A-18

private
{ Private declarations }
public
{ Public declarations }
end;
var
FormPoliklinik: TFormPoliklinik;
implementation
uses UnitDataModul;
{$R *.dfm}
procedure TFormPoliklinik.BtnTambahClick(Sender: TObject);
var
id : integer;
begin
if not Panel.Enabled then
begin
DataModul.QueryID.Close;
DataModul.QueryID.SQL.Clear;
DataModul.QueryID.SQL.Add(' select max(idpoliklinik) from
poliklinik');
DataModul.QueryID.Open;
if DataModul.QueryID.Fields[0].AsString = '' then
id := 1 else id := DataModul.QueryID.Fields[0].Value +
1;
Panel.Enabled := true;
DataModul.TabelPoliklinik.Insert;
DataModul.TabelPoliklinik.FieldByName('idpoliklinik').Value
:= id;
DBEditNamaPoli.SetFocus;
end;
end;
procedure TFormPoliklinik.BtnEditClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelPoliklinik.Edit;
DBEditNamaPoli.SetFocus;

A-19

end;
end;
procedure TFormPoliklinik.BtnHapusClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
if MessageDlg('HAPUS DATA POLIKLINIK ?',
mtconfirmation,[mbyes,mbno],0)=mryes then
begin
DataModul.TabelPoliklinik.Delete;
DataModul.TabelPoliklinik.CommitUpdates;
end;
end;
end;
procedure TFormPoliklinik.FormActivate(Sender: TObject);
begin
Panel.Enabled := false;
end;
procedure TFormPoliklinik.BtnTutupClick(Sender: TObject);
begin
if not Panel.Enabled then Close;
end;
procedure TFormPoliklinik.BtnBatalClick(Sender: TObject);
begin
DataModul.TabelPoliklinik.Cancel;
Panel.Enabled := false;
end;
procedure TFormPoliklinik.BtnSimpanClick(Sender: TObject);
begin
DataModul.TabelPoliklinik.Post;
DataModul.TabelPoliklinik.CommitUpdates;
Panel.Enabled := false;
end;
procedure TFormPoliklinik.DBEditNamaPoliKeyPress(Sender:
TObject;
var Key: Char);
begin
key := UpCase(key)
end;

A-20

end.

unit UnitFormKelasInap;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons,
Grids, DBGrids;
type
TFormKelasInap = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BtnTambah: TBitBtn;
BtnEdit: TBitBtn;
BtnHapus: TBitBtn;
Panel: TPanel;
Label1: TLabel;
Label2: TLabel;
DBEditNamaKelas: TDBEdit;
DBEditBiaya: TDBEdit;
BtnSimpan: TBitBtn;
BtnBatal: TBitBtn;
BtnTutup: TBitBtn;
procedure FormActivate(Sender: TObject);
procedure BtnTutupClick(Sender: TObject);
procedure BtnTambahClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnHapusClick(Sender: TObject);
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormKelasInap: TFormKelasInap;

A-21

implementation
uses UnitDataModul;
{$R *.dfm}
procedure TFormKelasInap.FormActivate(Sender: TObject);
begin
Panel.Enabled := false;
end;
procedure TFormKelasInap.BtnTutupClick(Sender: TObject);
begin
if not Panel.Enabled then Close;
end;
procedure TFormKelasInap.BtnTambahClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelKelasInap.Insert;
DBEditNamaKelas.SetFocus;
end;
end;
procedure TFormKelasInap.BtnEditClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelKelasInap.Edit;
DBEditNamaKelas.SetFocus;
end;
end;
procedure TFormKelasInap.BtnHapusClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
if MessageDlg('HAPUS DATA KELAS INAP ?',
mtconfirmation,[mbyes,mbno],0)=mryes then
begin
DataModul.TabelKelasInap.Delete;

A-22

DataModul.TabelKelasInap.CommitUpdates;
end;
end;
end;
procedure TFormKelasInap.BtnBatalClick(Sender: TObject);
begin
DataModul.TabelKelasInap.Cancel;
Panel.Enabled := false;
end;
procedure TFormKelasInap.BtnSimpanClick(Sender: TObject);
begin
DataModul.TabelKelasInap.Post;
DataModul.TabelKelasInap.CommitUpdates;
Panel.Enabled := false;
end;
end.

unit UnitFormPaketAsuransi;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons,
Grids, DBGrids;
type
TFormPaketAsuransi = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BtnTambah: TBitBtn;
BtnEdit: TBitBtn;
BtnHapus: TBitBtn;
Panel: TPanel;
Label1: TLabel;
Label2: TLabel;
DBEditNamaPaket: TDBEdit;
DBEditPremi: TDBEdit;
BtnSimpan: TBitBtn;

A-23

BtnBatal: TBitBtn;
BtnTutup: TBitBtn;
Label3: TLabel;
DBEditKelas: TDBEdit;
Label4: TLabel;
Label5: TLabel;
DBEditRJ: TDBEdit;
DBEdit2: TDBEdit;
procedure FormActivate(Sender: TObject);
procedure BtnTutupClick(Sender: TObject);
procedure BtnTambahClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnHapusClick(Sender: TObject);
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormPaketAsuransi: TFormPaketAsuransi;
implementation
uses UnitDataModul;
{$R *.dfm}
procedure TFormPaketAsuransi.FormActivate(Sender: TObject);
begin
Panel.Enabled := false;
end;
procedure TFormPaketAsuransi.BtnTutupClick(Sender: TObject);
begin
if not Panel.Enabled then Close;
end;
procedure TFormPaketAsuransi.BtnTambahClick(Sender:
TObject);
var
id : integer;
begin

A-24

if not Panel.Enabled then
begin
DataModul.QueryID.Close;
DataModul.QueryID.SQL.Clear;
DataModul.QueryID.SQL.Add(' select max(idpaket) from
paketasuransi');
DataModul.QueryID.Open;
if DataModul.QueryID.Fields[0].AsString = '' then
id := 1 else id := DataModul.QueryID.Fields[0].Value +
1;
Panel.Enabled := true;
DataModul.TabelPaketAsuransi.Insert;
DataModul.TabelPaketAsuransi.FieldByName('idpaket').Value
:= id;
DBEditNamaPaket.SetFocus;
end;
end;
procedure TFormPaketAsuransi.BtnEditClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelPaketAsuransi.Edit;
DBEditNamaPaket.SetFocus;
end;
end;
procedure TFormPaketAsuransi.BtnHapusClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
if MessageDlg('HAPUS DATA PAKET ASURANSI ?',
mtconfirmation,[mbyes,mbno],0)=mryes then
begin
DataModul.TabelPaketAsuransi.Delete;
DataModul.TabelPaketAsuransi.CommitUpdates;
end;
end;
end;
procedure TFormPaketAsuransi.BtnBatalClick(Sender: TObject);
begin
DataModul.TabelPaketAsuransi.Cancel;
Panel.Enabled := false;

A-25

end;
procedure TFormPaketAsuransi.BtnSimpanClick(Sender:
TObject);
begin
DataModul.TabelPaketAsuransi.Post;
DataModul.TabelPaketAsuransi.CommitUpdates;
Panel.Enabled := false;
end;
end.

unit UnitFormObat;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons,
Grids, DBGrids;
type
TFormObat = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BtnTambah: TBitBtn;
BtnEdit: TBitBtn;
BtnHapus: TBitBtn;
Panel: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEditNamaObat: TDBEdit;
DBEditSatuan: TDBEdit;
BtnSimpan: TBitBtn;
BtnBatal: TBitBtn;
DBEditKelas: TDBEdit;
BtnTutup: TBitBtn;
Label6: TLabel;
EditFilter: TEdit;
procedure FormActivate(Sender: TObject);
procedure BtnTutupClick(Sender: TObject);

A-26

procedure BtnTambahClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnHapusClick(Sender: TObject);
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
procedure EditFilterChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action:
TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormObat: TFormObat;
implementation
uses UnitDataModul;
{$R *.dfm}
procedure TFormObat.FormActivate(Sender: TObject);
begin
Panel.Enabled := false;
EditFilter.Text := '';
end;
procedure TFormObat.BtnTutupClick(Sender: TObject);
begin
if not Panel.Enabled then Close;
end;
procedure TFormObat.BtnTambahClick(Sender: TObject);
var
id : integer;
begin
if not Panel.Enabled then
begin
DataModul.QueryID.Close;
DataModul.QueryID.SQL.Clear;
DataModul.QueryID.SQL.Add(' select max(idobat) from
masterobat');
DataModul.QueryID.Open;

A-27

if DataModul.QueryID.Fields[0].AsString = '' then
id := 1 else id := DataModul.QueryID.Fields[0].Value +
1;
Panel.Enabled := true;
DataModul.TabelMObat.Insert;
DataModul.TabelMObat.FieldByName('idobat').Value := id;
DBEditNamaObat.SetFocus;
end;
end;
procedure TFormObat.BtnEditClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
Panel.Enabled := true;
DataModul.TabelMObat.Edit;
DBEditNamaObat.SetFocus;
end;
end;
procedure TFormObat.BtnHapusClick(Sender: TObject);
begin
if not Panel.Enabled then
begin
if MessageDlg('HAPUS DATA OBAT ?',
mtconfirmation,[mbyes,mbno],0)=mryes then
begin
DataModul.TabelMObat.Delete;
DataModul.TabelMObat.CommitUpdates;
end;
end;
end;
procedure TFormObat.BtnBatalClick(Sender: TObject);
begin
DataModul.TabelMObat.Cancel;
Panel.Enabled := false;
end;
procedure TFormObat.BtnSimpanClick(Sender: TObject);
begin
DataModul.TabelMObat.Post;
DataModul.TabelMObat.CommitUpdates;
Panel.Enabled := false;
end;

A-28

procedure TFormObat.EditFilterChange(Sender: TObject);
begin
if EditFilter.Text '' then
begin
DataModul.TabelMObat.Filter := 'namaobat =
'+QuotedStr(EditFilter.Text+'*');
DataModul.TabelMObat.Filtered := true;
end else
begin
DataModul.TabelMObat.Filtered := false;
end;
end;
procedure TFormObat.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
DataModul.TabelMObat.Filtered := false;
end;
end.

unit UnitTambahDetilObatInap;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, Buttons, ExtCtrls;
type
TFormTambahDetilObatInap = class(TForm)
Shape1: TShape;
Label1: TLabel;
Label2: TLabel;
BtnCariObat: TBitBtn;
DBTextID: TDBText;
DBText2: TDBText;
DBText1: TDBText;
Label3: TLabel;
Label4: TLabel;
DBText3: TDBText;

A-29

DBEditJumlahObat: TDBEdit;
Label5: TLabel;
BtnBatal: TBitBtn;
BtnSimpan: TBitBtn;
procedure BtnBatalClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
procedure BtnCariObatClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormTambahDetilObatInap: TFormTambahDetilObatInap;
implementation
uses UnitDataModul, UnitFormCariNama;
{$R *.dfm}
procedure TFormTambahDetilObatInap.BtnBatalClick(Sender:
TObject);
begin
DataModul.TabelDetilObatInap.Cancel;
Close;
end;
procedure TFormTambahDetilObatInap.BtnSimpanClick(Sender:
TObject);
begin
if DBEditJumlahObat.Text '' then
begin
DataModul.TabelDetilObatInap.FieldByName('biayaobat').Value
:=
DataModul.TabelDetilObatInap.FieldByName('harga').Value
*
DataModul.TabelDetilObatInap.FieldByName('jumlahobat').Value
;
DataModul.TabelDetilObatInap.Post;
DataModul.TabelRawatInap.FieldByName('biayaobat').Value
:=

A-30

DataModul.TabelRawatInap.FieldByName('biayaobat').Value
+
DataModul.TabelDetilObatInap.FieldByName('biayaobat').Value;
DataModul.TabelRawatInap.FieldByName('totalbiaya').Value
:=
DataModul.TabelRawatInap.FieldByName('totalbiaya').Value
+
DataModul.TabelDetilObatInap.FieldByName('biayaobat').Value;
DataModul.TabelDetilObatInap.CommitUpdates;
Close
end;
end;
procedure TFormTambahDetilObatInap.BtnCariObatClick(Sender:
TObject);
begin
FormCariNama.Caption := 'OBATINAP';
FormCariNama.ShowModal;
end;
end.

unit UnitTambahDetilObatJalan;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Mask, DBCtrls;
type
TFormTambahDetilObatJalan = class(TForm)
Shape1: TShape;
BtnBatal: TBitBtn;
BtnSimpan: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBTextID: TDBText;
DBText1: TDBText;
DBText2: TDBText;

A-31

DBText3: TDBText;
DBEditJumlahObat: TDBEdit;
BtnCariObat: TBitBtn;
procedure BtnBatalClick(Sender: TObject);
procedure BtnCariObatClick(Sender: TObject);
procedure BtnSimpanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormTambahDetilObatJalan: TFormTambahDetilObatJalan;
implementation
uses UnitDataModul, UnitFormCariNama;
{$R *.dfm}
procedure TFormTambahDetilObatJalan.BtnBatalClick(Sender:
TObject);
begin
DataModul.TabelDetilObatJalan.Cancel;
Close;
end;
procedure TFormTambahDetilObatJalan.BtnCariObatClick(Sender:
TObject);
begin
FormCariNama.Caption := 'OBATJALAN';
FormCariNama.ShowModal;
end;
procedure TFormTambahDetilObatJalan.BtnSimpanClick(Sender:
TObject);
begin
if DBEditJumlahObat.Text '' then
begin
DataModul.TabelDetilObatJalan.FieldByName('biayaobat').Value
:=
DataModul.TabelDetilObatJalan.FieldByName('harga').Value
*

A-32

DataModul.TabelDetilObatJalan.FieldByName('jumlahobat').Valu
e;
DataModul.TabelDetilObatJalan.Post;
DataModul.TabelRawatJalan.FieldByName('biayaobat').Value
:=
DataModul.TabelRawatJalan.FieldByName('biayaobat').Value
+
DataModul.TabelDetilObatJalan.FieldByName('biayaobat').Value
;
DataModul.TabelRawatJalan.FieldByName('totalbiaya').Value
:=
DataModul.TabelRawatJalan.FieldByName('totalbiaya').Value +
DataModul.TabelDetilObatJalan.FieldByName('biayaobat').Value
;
DataModul.TabelDetilObatJalan.CommitUpdates;
Close
end;
end;
end.

unit UnitFormCariNama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls;
type
TFormCariNama = class(TForm)
Shape1: TShape;
DBGrid1: TDBGrid;
EditCari: TEdit;
procedure FormActivate(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key:
Char);
procedure EditCariChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }

A-33

end;
var
FormCariNama: TFormCariNama;
implementation
uses UnitDataModul, UnitPenerimaanKeuangan;
{$R *.dfm}
procedure TFormCariNama.FormActivate(Sender: TObject);
begin
if (FormCariNama.Caption='KEUANGAN') or
(FormCariNama.Caption='NAMAPESERTAJALAN') or
(FormCariNama.Caption='NAMAPESERTAINAP') then
begin
DataModul.QueryNama.Close;
DataModul.QueryNama.SQL.Clear;
DataModul.QueryNama.SQL.Add('select
m_peserta.namapeserta, m_peserta.idpeserta,
paketasuransi.premi from m_peserta, paketasuransi');
DataModul.QueryNama.SQL.Add('where
m_peserta.namapaket=paketasuransi.namapaket');
DataModul.QueryNama.Open;
DataModul.QueryNama.First;
end;
if (FormCariNama.Caption='NAMAPOLIKLINIKJALAN') then
begin
DataModul.QueryNama.Close;
DataModul.QueryNama.SQL.Clear;
DataModul.QueryNama.SQL.Add('select namapoliklinik,
idpoliklinik from poliklinik');
DataModul.QueryNama.Open;
DataModul.QueryNama.First;
end;
if (FormCariNama.Caption='NAMADOKTERJALAN') or
(FormCariNama.Caption='NAMADOKTERINAP') then
begin
DataModul.QueryNama.Close;
DataModul.QueryNama.SQL.Clear;
DataModul.QueryNama.SQL.Add('select namadokter, iddokter,
spesialisasi from dokter');
DataModul.QueryNama.Open;
DataModul.QueryNama.First;

A-34

end;
if (FormCariNama.Caption='OBATJALAN')
(FormCariNama.Caption='OBATINAP') then
begin
DataModul.QueryNama.Close;
DataModul.QueryNama.SQL.Clear;
DataModul.QueryNama.SQL.Add('select
masterobat');
DataModul.QueryNama.Open;
DataModul.QueryNama.First;
end;
if (FormCariNama.Caption='KELASINAP')
begin
DataModul.QueryNama.Close;
DataModul.QueryNama.SQL.Clear;
DataModul.QueryNama.SQL.Add('select
DataModul.QueryNama.Open;
DataModul.QueryNama.First;
end;
DBGrid1.SetFocus;
EditCari.Text := '';
end;

or

namaobat, idobat from

then

* from kelasinap');

procedure TFormCariNama.DBGrid1KeyPress(Sender: TObject; var
Key: Char);
begin
if key=#27 then
begin
FormCariNama.Close;
end else
begin
if key=#13 then
begin
FormCariNama.Close;
if not DataModul.QueryNama.IsEmpty then
begin
if FormCariNama.Caption='KEUANGAN' then
begin
DataModul.TabelPenerimaanKeuangan.FieldByName('idpeserta').V
alue := DataModul.QueryNama.Fields[1].Value;
DataModul.TabelPenerimaanKeuangan.FieldByName('jumlah').Valu
e := DataModul.QueryNama.Fields[2].Value;
end;

A-35

if FormCariNama.Caption='NAMAPESERTAJALAN' then
DataModul.TabelRawatJalan.FieldByName('idpeserta').Value :=
DataModul.QueryNama.Fields[1].Value;
if FormCariNama.Caption='NAMAPOLIKLINIKJALAN' then
begin
DataModul.TabelRawatJalan.FieldByName('idpoliklinik').Value
:= DataModul.QueryNama.Fields[1].Value;
DataModul.TabelRawatJalan.FieldByName('totalbiaya').Value :=
DataModul.TabelRawatJalan.FieldByName('totalbiaya').Value +
DataModul.TabelRawatJalan.FieldByName('biayapoliklinik').Val
ue;
end;
if FormCariNama.Caption='NAMADOKTERJALAN' then
begin
DataModul.TabelRawatJalan.FieldByName('iddokter').Value :=
DataModul.QueryNama.Fields[1].Value;
DataModul.TabelRawatJalan.FieldByName('totalbiaya').Value :=
DataModul.TabelRawatJalan.FieldByName('totalbiaya').Value +
DataModul.TabelRawatJalan.FieldByName('biayadokter').Value;
end;
if FormCariNama.Caption='OBATJALAN' then
DataModul.TabelDetilObatJalan.FieldByName('idobat').Value :=
DataModul.QueryNama.Fields[1].Value;
if FormCariNama.Caption='NAMAPESERTAINAP' then
DataModul.TabelRawatInap.FieldByName('idpeserta').Value :=
DataModul.QueryNama.Fields[1].Value;
if FormCariNama.Caption='NAMADOKTERINAP' then
DataModul.TabelRawatInap.FieldByName('iddokter').Value :=
DataModul.QueryNama.Fields[1].Value;
if FormCariNama.Caption='OBATINAP' then
DataModul.TabelDetilObatInap.FieldByName('idobat').Value :=
DataModul.QueryNama.Fields[1].Value;
if FormCariNama.Caption='KELASINAP' then
DataModul.TabelRawatInap.FieldByName('idkelas').Value :=
DataModul.Qu