SISTEM INFORMASI DATABASE OBAT UNTUK DOKTER
Nico Andrianto / 0727013
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. Drg. Suria Sumantri 65
Bandung 40164, Indonesia
ABSTRAK
Perkembangan teknologi saat ini sudah diterapkan di berbagai bidang, salah satu contohnya adalah bidang kedokteran. Bidang kedokteran sudah sangat berkembang dan dapat dilihat dengan peralatan yang serba terkomputerisasi di dalam rumah sakit. Dengan adanya komputer maka diharapkan dapat mempermudah manusia jika mencari data dalam jumlah yang banyak. Untuk itu dibuat sistem informasi database obat untuk dokter.
Pada proyek ini telah dirancang dan dibuat sistem informasi yang berfungsi untuk menyimpan data obat yang banyak. Sistem informasi ini dapat menampilkan data yang ingin dicari, contohnya ingin mencari komposisi obat, nama obat dan lain-lain. Sehingga dengan adanya aplikasi ini dapat membantu manusia.
Sistem informasi secara keseluruhan telah diuji dan aplikasi yang dibuat ini memberikan hasil yang baik karena telah berfungsi sesuai dengan yang diharapkan. Aplikasi ini dapat mencari data dengan mudah dan cepat.
ABSTRACT
The development of technology has been applied in various fields today, one example is in the medical field. It is highly developed and can be seen with all computerized equipment in the hospital. It is expected to make human easier searching for data in significant amounts. That is the purpose of making the information system drug database for physician.
This project has been designed and created an information sistem that
serves to store data that a lot of drugs. Te system can display the data you want to find, for example, want to find a drug composition, drug name and others. So with this application, it can help humans.
Overall information sistem has been tested and made application this gives good results because it has been functioning as expected. This application can search the data easily and quickly.
DAFTAR ISI
Abstrak ... ... i
Abstract ... ... ii
Kata Pengantar... ... iii
Daftar Isi ... ... v
Daftar Gambar... ... ix
Daftar Tabel... ... x
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan... ... 3
1.4 Pembatasan Masalah ... 3
1.5 Sistematika pembahasan ... 3
BAB II LANDASAN TEORI 2.1 Borland Delphi 7.0 ... 6
2.1.1 IDE (Integrated Development Environment) Delphi...6
2.1.2 Menu Bar...7
2.1.3 Tool Bar/Speed Bar...8
2.1.4 Component Palette………..8
2.1.5 Control………...……….8
2.1.6 Form... 9
2.1.7 Object Inspector... ... 9
2.1.8 Object Tree View... 10
2.1.9 Code Editor ... 11
2.2 InterBase ... ... 12
2.2.1 Perancangan Database ... 14
2.2.1 Tipe Data Field InterBase………...15
2.3 Query ... 16
2.4 Structure Query Language………....…...17
2.5 Relasi... ... 27
BAB III PERANCANGAN 3.1 Tombol Cari ... 29
3.2 Tombol Obat Baru...………..30
3.3 Tombol Ubah ... 31
3.4 Tombol Hapus……...………....….32
3.5 Tombol Keluar ... 33
3.6 Tombol Tambah Pada Form Pasien ... 33
3.7 Tombol Cari Pada Form Pasien..………..34
BAB IV PEMBAHASAN 4.1 Pengujian Software.. ... 41
4.1.1 Pengujian Login ... 41
4.1.2 Pengujian Input Data Obat.. ... 42
4.1.3 Pengujian Ubah Data Obat ... 43
4.1.4 Pengujian Hapus Data Obat ... 44
4.1.5 Pengujian Input Data Pasien ... 45
4.1.6 Pengujian Edit Data Pasien……….……..46
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan... ... 47
5.2 Saran... ... 47
DAFTAR PUSTAKA... ... 48 LAMPIRAN A Foto Software.………...A LAMPIRAN B Program...B
DAFTAR GAMBAR
Gambar 2.1 Interface Delphi 7 ... 7
Gambar 2.2 Menu Bar ... 7
Gambar 2.3 Tool Bar... 8
Gambar 2.4 Menu Control ... 8
Gambar 2.5 Form Delphi ... 9
Gambar 2.6 Object Inspector ... 10
Gambar 2.7 Object Treeview ... 11
Gambar 2.8 Code Editor ... 12
Gambar 2.9 IBConsole ... 13
Gambar 2.10 Database Mobil...13
Gambar 3.1 Flowchart Keseluruhan Program ... 28
Gambar 3.2 Flowchart Cari ... 29
Gambar 3.3 Flowchart obat baru...30
Gambar 3.4 Flowchart Ubah Obat ... 31
Gambar 3.5 Flowchart Hapus Obat ... 32
Gambar 3.6 Flowchart Keluar ... 33
Gambar 3.7 Flowchart Tambah Pada Form Pasien ... 33
Gambar 3.8 Flowchart Cari Pada Form Pasien ... 33
Gambar 3.9 Database Obat ... 35
Gambar 3.11 Database Pasien ... 37
Gambar 3.12 Relasi Pasien ... 38
Gambar 3.13 Database User Name ... 39
Gambar 3.14 Relasi User Name ... 40
Gambar 4.1 Login ... 41
Gambar 4.2 Tampilan Menu ... 42
Gambar 4.3 Input Data Obat ... 43
Gambar 4.4 Data Output ... 43
Gambar 4.5 Ubah Data Obat ... 44
Gambar 4.6 Hasil Data Yang Diubah ... 44
Gambar 4.7 Menghapus Data ... 45
Gambar 4.8 Data Yang dihapus Tidak Ada ... 45
Gambar 4.9 Input Data Pasien ... 46
Gambar 4.10 Hasil Data Pasien ... 46
Gambar 4.11 Edit Data Pasien ... 47
Gambar 4.12 Hasil Edit Data Pasien ... 47
DAFTAR TABEL
Tabel 2.2.2 Tipe Data Field InterBase………..……15
LAMPIRAN A
LAMPIRAN B
PROGRAM
/*****************************************************
This program was produced by the
Borland Delphi 7
Project : Sistem Informasi Database Obat Untuk Dokter
Author : NicoAndrianto - 0727013
Comments: Proyek Tugas Akhir
Program type : Application
*****************************************************
procedure Tfrmmenu.OBAT1Click(Sender: TObject);
begin
frmobat.Show;
end;
procedure Tfrmmenu.exit1Click(Sender: TObject);
begin
frmmenu.close
procedure Tfrmmenu.PASIEN1Click(Sender: TObject);
begin
frmpasien.showmodal;
end;
procedure Tfrmmenu.FormCreate(Sender: TObject);
begin
end;
end.
//==========PERIKSA DULU DATANYA KOSONG GAK==========
if (eduser.Text='') or (edpass.Text='') then
begin
showmessage('Username dan password tidak boleh kosong');
end
//==========AMBIL DATA DARI TABEL USER_ACCOUNT==========
else
begin
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select pass from user_name where user_name=:us');
prepare;
parambyname('us').AsString:=trim(eduser.Text);
open;
edbuffpass.Text:=fields[0].AsString;
end;
if (edbuffpass.Text = edpass.Text) then
begin
frmmenu.ShowModal;
end
else
begin
showmessage('Password salah atau user name tidak ada!');
end;
end;
end;
procedure Tfrmlogin.btkeluarClick(Sender: TObject);
begin
application.Terminate;
procedure Tfrmobat.btbaruClick(Sender: TObject);
begin
frmentryobat.label1.Caption:='INPUT DATA OBAT';
frmentryobat.Caption:='INPUT OBAT';
frmentryobat.edkode.Visible :=true;
frmentryobat.ednama.Enabled:=true;
frmentryobat.cmbsatuan.Enabled:=true;
frmentryobat.edperusahaan.Enabled :=true;
frmentryobat.edkomposisi.Enabled :=true;
frmentryobat.memoindikasi.Enabled :=true;
frmentryobat.memodosis.Enabled :=true;
frmentryobat.memokontraindikasi.Enabled :=true;
frmentryobat.memoperhatian.Enabled :=true;
frmentryobat.memoefeksamping.Enabled :=true;
frmentryobat.memointeraksiobat.Enabled :=true;
frmentryobat.edkemasan.Enabled:=true;
frmentryobat.edus.Enabled:=true;
frmentryobat.cmbkode.Visible :=false;
frmentryobat.btubah.Visible:=false;
frmentryobat.bttambah.Visible:=true;
frmentryobat.bthapus.Visible:=false;
frmentryobat.ShowModal;
end;
procedure Tfrmobat.btubahClick(Sender: TObject);
begin
frmentryobat.label1.Caption:='UBAH DATA OBAT';
frmentryobat.Caption:='UBAH DATA OBAT';
frmentryobat.edkode.Visible :=false;
frmentryobat.ednama.Enabled:=true;
frmentryobat.cmbsatuan.Enabled:=true;
frmentryobat.edperusahaan.Enabled :=true;
frmentryobat.edkomposisi.Enabled :=true;
frmentryobat.memoindikasi.Enabled :=true;
frmentryobat.memodosis.Enabled :=true;
frmentryobat.memokontraindikasi.Enabled :=true;
frmentryobat.memoperhatian.Enabled :=true;
frmentryobat.memoefeksamping.Enabled :=true;
frmentryobat.memointeraksiobat.Enabled :=true;
frmentryobat.edkemasan.Enabled:=true;
frmentryobat.edus.Enabled:=true;
frmentryobat.cmbkode.Visible :=false;
frmentryobat.btubah.Visible:=false;
frmentryobat.bthapus.Visible:=false;
frmentryobat.cmbkode.Visible :=true;
frmentryobat.btubah.Visible:=true;
frmentryobat.bttambah.Visible:=false;
frmentryobat.bthapus.Visible:=false;
frmentryobat.ShowModal;
end;
procedure Tfrmobat.bthapusClick(Sender: TObject);
begin
frmentryobat.label1.Caption:='HAPUS DATA OBAT';
frmentryobat.Caption:='HAPUS DATA OBAT';
frmentryobat.edkode.Visible :=false;
frmentryobat.ednama.Enabled:=false;
frmentryobat.cmbsatuan.Enabled:=false;
frmentryobat.edperusahaan.Enabled :=false;
frmentryobat.edkomposisi.Enabled :=false;
frmentryobat.memoindikasi.Enabled :=false;
frmentryobat.memodosis.Enabled :=false;
frmentryobat.memokontraindikasi.Enabled :=false;
frmentryobat.memoperhatian.Enabled :=false;
frmentryobat.memoefeksamping.Enabled :=false;
frmentryobat.memointeraksiobat.Enabled :=false;
frmentryobat.edkemasan.Enabled:=false;
frmentryobat.edus.Enabled:=false;
frmentryobat.cmbkode.Visible :=false;
frmentryobat.btubah.Visible:=false;
frmentryobat.bttambah.Visible:=true;
frmentryobat.bthapus.Visible:=false;
frmentryobat.cmbkode.Visible :=true;
frmentryobat.btubah.Visible:=false;
frmentryobat.bttambah.Visible:=false;
frmentryobat.bthapus.Visible:=true;
frmentryobat.ShowModal;
end;
procedure Tfrmobat.Button1Click(Sender: TObject);
begin
//========TAMPILKAN SELURUH DATE KE DB GRID=========
with frmmenu.qData do
close;
sql.Clear;
sql.Add('select * from obat order by kode_obat');
open;
end;
end;
procedure Tfrmobat.FormShow(Sender: TObject);
begin
//========TAMPILKAN SELURUH DATE KE DB GRID=========
with frmmenu.qProses do
begin
close;
sql.Clear;
sql.Add('select * from obat order by kode_obat');
open;
end;
end;
procedure Tfrmobat.btcariClick(Sender: TObject);
begin
//=JIKA EDCARI KOSONG ATAU JENIS PENCARIAN BELUM DIPILIH ==
IF ((edcari.Text='') or (combobox1.Text='JENIS PENCARIAN')) then
begin
showmessage('Isi data pencarian dan pilih jenis pencarian');
end
else
begin
{PENCARIAN BERDASARKAN KODE OBAT}
if combobox1.ItemIndex = 0 then
begin
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select kode_obat, nama_obat, nama_perusahaan, kemasan_harga, us_fda_preg_cat, jenis_obat '+
'from obat where kode_obat like:kb order by kode_obat');
prepare;
parambyname('kb').AsString:='%'+edcari.Text+'%';
open;
end;
end;
{PENCARIAN BERDASARKAN NAMA OBAT}
if combobox1.ItemIndex = 1 then
begin
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select kode_obat, nama_obat, nama_perusahaan, kemasan_harga, us_fda_preg_cat, jenis_obat '+
'from obat where nama_obat like:kb order by nama_obat');
prepare;
parambyname('kb').AsString:='%'+edcari.Text+'%';
open;
end;
end;
{PENCARIAN BERDASARKAN JENIS OBAT}
if combobox1.ItemIndex = 2 then
begin
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select kode_obat, nama_obat, nama_perusahaan, kemasan_harga, us_fda_preg_cat, jenis_obat '+
'from obat where jenis_obat like:kb order by jenis_obat');
prepare;
parambyname('kb').AsString:='%'+edcari.Text+'%';
open;
end;
end;
{PENCARIAN BERDASARKAN KOMPOSISI OBAT}
if combobox1.ItemIndex = 3 then
begin
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select kode_obat, nama_obat, nama_perusahaan, kemasan_harga, us_fda_preg_cat, jenis_obat '+
'from obat where komposisi_obat like:kb order by komposisi_obat');
prepare;
parambyname('kb').AsString:='%'+edcari.Text+'%';
open;
end;
end;
end;
end;
procedure Tfrmobat.btkeluarClick(Sender: TObject);
begin
frmobat.Close;
end;
procedure Tfrmobat.DBGrid1DblClick(Sender: TObject);
begin
{MENAMPILKAN ATTRIBUT OBAT}
//if MessageDlg('Maulihat?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
With frmmenu.qProses Do
Begin
Close;
Sql.Clear;
Sql.Add('select * From obat where kode_obat=:kp');
prepare;
parambyname('kp').AsString :=dbgrid1.Fields[0].AsString;
open;
memoindikasi.Text :=fields[4].AsString;
memodosis.Text :=fields[5].AsString;
memokontra.Text :=fields[6].AsString;
memoperhatian.Text :=fields[7].AsString;
memoefeksamping.Text :=fields[8].AsString;
memointeraksi.Text :=fields[9].AsString;
memokomposisi.Text :=fields[2].AsString;
End;
end;
procedure Tfrmobat.FormActivate(Sender: TObject);
begin
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select * from obat order by kode_obat');
open;
end;
end;
procedure Tfrmentryobat.bttambahClick(Sender: TObject);
begin
{CEK DULU DATANYA KOSONG GAK}
if ((edkode.Text='') or (ednama.Text='') or (cmbsatuan.Text='')) then
begin
showmessage('Data harus lengkap!');
end
{TERUS PERIKSA KODE OBAT YANG DIINPUT UDAH ADA BELOM DI DATABASE}
else
begin
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select * from obat where kode_obat=:kb');
prepare;
parambyname('kb').AsString:=trim(edkode.Text);
open;
{kalau kode obat belum ada, boleh diinputin}
if fields[0].IsNull then
begin
with frmmenu.qproses do
begin
close;
sql.Clear;
Sql.Add('Insert Into
obat(kode_obat,nama_obat,jenis_obat,nama_perusahaan,komposisi_obat, '+
'indikasi, dosis, kontra_indikasi, perhatian, efek_samping, interaksi_obat, kemasan_harga, us_fda_preg_cat) '+
'Values(:ko, :no, :jo, :np, :kmp, :in, :do, :ki, :pr, :es, :io, :kh, :uf)');
parambyname('ko').AsString:=trim(edkode.Text);
parambyname('no').AsString:=trim(ednama.Text);
parambyname('jo').AsString:=trim(cmbsatuan.Text);
parambyname('np').AsString:=trim(edperusahaan.Text);
parambyname('kmp').AsString:=trim(edkomposisi.Text);
parambyname('in').AsString:=trim(memoindikasi.Text);
parambyname('do').AsString:=trim(memodosis.Text);
parambyname('ki').AsString:=trim(memokontraindikasi.Text);
parambyname('pr').AsString:=trim(memoperhatian.Text);
parambyname('es').AsString:=trim(memoefeksamping.Text);
parambyname('io').AsString:=trim(memointeraksiobat.Text);
parambyname('kh').AsString:=trim(edkemasan.Text);
parambyname('uf').AsString:=trim(edus.Text);
ExecSql;
showmessage('Data telah berhasil disimpan');
end;
end
{kalo kode obat udah ada, gak bisa dimasukin}
else
begin
showmessage('Kode Obat Sudah Ada! Data tidak dapat diinputkan!');
end;
end;
end;
edkode.Clear;
ednama.Clear;
edperusahaan.Clear;
edkomposisi.Clear;
memoindikasi.clear;
memodosis.clear;
memokontraindikasi.clear;
memoperhatian.clear;
memoefeksamping.clear;
memointeraksiobat.clear;
edkemasan.Clear;
edus.Clear;
//========TAMPILKAN SELURUH DATE KE DB GRID=========
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select * from obat order by kode_obat');
end;
end;
procedure Tfrmentryobat.FormShow(Sender: TObject);
begin
cmbkode.Clear;
{=======MENAMPILKAN KODE OBAT KE COMBOBOX========}
With frmmenu.QData Do
Begin
Close;
Sql.Clear;
Sql.Add('Select Distinct kode_obat From obat');
Sql.Add('Order by kode_obat');
Open;
while not Eof do
begin
cmbkode.Items.Add(Trim(Fields[0].AsString));
Next;
end;
end;
end;
procedure Tfrmentryobat.bthapusClick(Sender: TObject);
begin
//cek dulu datanya kosong gak
if (cmbkode.Text='') then
begin
showmessage('kode obat harus diisi!')
end
else
begin
{---hapus data obat---}
With frmmenu.qProses Do
Begin
Close;
Sql.Clear;
Sql.Add('Delete From obat');
Sql.Add('Where kode_obat =:ko');
Prepare;
ParamByName('ko').AsString := cmbkode.Text;
ExecSql;
End;
frmmenu.trobat.Commit;
ednama.Clear;
edperusahaan.Clear;
edkomposisi.Clear;
memoindikasi.clear;
memodosis.clear;
memokontraindikasi.clear;
memoperhatian.clear;
memoefeksamping.clear;
memointeraksiobat.clear;
edkemasan.Clear;
edus.Clear;
showmessage('Data Berhasil Dihapus');
end;
{---}
{=============MENAMPILKAN KODE OBAT KE
COMBOBOX==============}
With frmmenu.QData Do
Begin
Close;
Sql.Clear;
Sql.Add('Select Distinct kode_obat From obat');
Sql.Add('Order by kode_obat');
Open;
while not Eof do
begin
cmbkode.Items.Add(Trim(Fields[0].AsString));
Next;
end;
end;
{============================================================ =}
end;
procedure Tfrmentryobat.cmbkodeChange(Sender: TObject);
begin
{TAMPILKAN DATA KE MASING MASING TEXTBOX}
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select nama_obat, nama_perusahaan, komposisi_obat, jenis_obat, indikasi, '+
' dosis, kontra_indikasi, perhatian, efek_samping, interaksi_obat as Interaksi_Obat, kemasan_harga, us_fda_preg_cat from obat where kode_obat=:kb');
parambyname('kb').AsString:=trim(cmbkode.Text);
open;
ednama.Text:=fields[0].AsString;
edperusahaan.Text:=fields[1].AsString;
edkomposisi.Text:=fields[2].AsString;
cmbsatuan.Text:=fields[3].AsString;
memoindikasi.Text:=fields[4].AsString;
memodosis.Text:=fields[5].AsString;
memokontraindikasi.Text:=fields[6].AsString;
memoperhatian.Text:=fields[7].AsString;
memoefeksamping.Text:=fields[8].AsString;
memointeraksiobat.Text:=fields[9].AsString;
edkemasan.Text:=fields[10].AsString;
edus.Text:=fields[11].AsString;
end;
end;
procedure Tfrmentryobat.btubahClick(Sender: TObject);
begin
if (cmbkode.Text='') then
begin
showmessage('Kode obat harus diisi!');
end
else
begin
{---mengubah obat---}
With frmmenu.qProses Do
Begin
Close;
Sql.Clear;
Sql.Add('update obat set nama_obat=:no, jenis_obat=:jo,'+
'nama_perusahaan=:np, komposisi_obat=:kmp, indikasi=:in, dosis=:do, kontra_indikasi=:ki, perhatian=:pr,'+
'efek_samping=:es, interaksi_obat=:io, kemasan_harga=:kh, us_fda_preg_cat=:uf '+
'where kode_obat=:ko');
Prepare;
ParamByName('no').AsString :=ednama.Text;
ParamByname('jo').AsString :=cmbsatuan.Text;
ParamByname('np').AsString :=edperusahaan.Text;
ParamByname('kmp').AsString:=edkomposisi.Text;
ParamByname('ko').asstring :=cmbkode.Text;
parambyname('do').AsString :=memodosis.Text;
parambyname('ki').AsString :=memokontraindikasi.Text;
parambyname('pr').AsString :=memoperhatian.Text;
parambyname('es').AsString :=memoefeksamping.Text;
parambyname('io').AsString :=memointeraksiobat.Text;
parambyname('kh').AsString :=edkemasan.Text;
parambyname('uf').AsString :=edus.Text;
ExecSql;
frmmenu.trobat.Commit;
edkode.Clear;
ednama.Clear;
edperusahaan.Clear;
edkomposisi.Clear;
memoindikasi.clear;
memodosis.clear;
memokontraindikasi.clear;
memoperhatian.clear;
memoefeksamping.clear;
memointeraksiobat.clear;
edkemasan.Clear;
edus.Clear;
End;
showmessage('Data berhasil Diubah')
end;
{=====MENAMPILKAN KODE OBAT KE COMBOBOX=====}
With frmmenu.QData Do
Begin
Close;
Sql.Clear;
Sql.Add('Select Distinct kode_obat From obat');
Sql.Add('Order by kode_obat');
Open;
while not Eof do
begin
cmbkode.Items.Add(Trim(Fields[0].AsString));
Next;
end;
end;
end;
procedure Tfrmentryobat.Button1Click(Sender: TObject);
begin
frmentryobat.Close;
end;
procedure Tfrmpasien.btTambahClick(Sender: TObject);
begin
{CEK DULU DATANYA KOSONG GAK}
if ((ednama.Text='') or (edumur.Text='') or (edalamat.Text='')) then
begin
showmessage('Data harus lengkap!');
end
ELSE
begin
with frmmenu.qproses do
begin
close;
sql.Clear;
Sql.Add('Insert Into
pasien(kode_pasien,nama_pasien,umur_pasien,keterangan_medis,tanggal_berobat,ko de_obat,alamat) '+
'Values(:kp, :np, :up, :km, :tb, :ko, :al)');
prepare;
parambyname('kp').AsString:=trim(edkodepasien.Text);
parambyname('np').AsString:=trim(ednama.Text);
parambyname('up').AsString:=trim(edumur.Text);
parambyname('km').AsString:=trim(edketeranganmedis.Text);
parambyname('ko').AsString:=trim(edkodeobat.Text);
parambyname('tb').Asdate:=(datetimepicker1.date);
parambyname('al').AsString:=trim(edalamat.Text);
ExecSql;
showmessage('Data telah berhasil disimpan');
end;
end ;
edkodepasien.Clear;
ednama.Clear;
edumur.Clear;
edketeranganmedis.Clear;
edkodeobat.Clear;
edalamat.Clear;
with frmmenu.qproses Do
begin
close;
sql.clear;
sql.add('select* from pasien');
open;
end;
procedure Tfrmpasien.FormActivate(Sender: TObject);
begin
datetimepicker1.DateTime := now;
with frmmenu.qproses Do
begin
close;
sql.clear;
sql.add('select* from pasien');
open;
end;
end;
procedure Tfrmpasien.DBGrid1DblClick(Sender: TObject);
begin
With frmmenu.qData Do
Begin
Close;
Sql.Clear;
Sql.Add('select * from PASIEN where KODE_PASIEN =:kp');
prepare;
parambyname('kp').AsString := dbgrid1.Fields[0].AsString;
open;
edkodepasien.Text:=fields[0].AsString;
memo1.Text := fields[3].AsString;
frmedit.Memo1.Text:=fields[3].AsString;
End;
end;
procedure Tfrmpasien.btCariClick(Sender: TObject);
begin
with frmmenu.qProses do
begin
close;
Sql.Clear;
Sql.Add('select * from pasien');
Sql.Add('Where NAMA_PASIEN like :kp');
prepare;
ParamByName('kp').AsString :='%'+edCari.Text+'%';
open;
end;
procedure Tfrmpasien.btShowAllClick(Sender: TObject);
begin
//========TAMPILKAN SELURUH DATE KE DB GRID=========
with frmmenu.qData do
begin
close;
sql.Clear;
sql.Add('select * from pasien order by kode_pasien');
open;
end;
end;
procedure Tfrmpasien.Button1Click(Sender: TObject);
begin
frmedit.ShowModal;
end;
procedure Tfrmpasien.Timer1Timer(Sender: TObject);
begin
if edkodepasien.Text=''then button1.Enabled:=false
else
button1.Enabled:= true;
procedure TFrmEdit.FormActivate(Sender: TObject);
begin
edkodepasien.Text:=frmpasien.edkodepasien.Text;
end;
procedure TFrmEdit.btSimpanClick(Sender: TObject);
begin
With frmmenu.qProses Do
Begin
Close;
Sql.Clear;
Sql.Add('update pasien set keterangan_medis = :km where kode_pasien =:kp');
Prepare;
ParamByName('km').AsString :=memo1.Text;
ParamByname('kp').AsString :=edkodepasien.Text ;
ExecSql;
frmmenu.trobat.Commit;
showmessage('Data berhasil Diubah');
end;
end;
/*****************************************************
This program was produced by the
Interbase 6.5
*****************************************************
CREATE TABLE "OBAT" (
"KODE_OBAT" VARCHAR(10) NOT NULL,
"NAMA_OBAT" VARCHAR(50),
"KOMPOSISI_OBAT" VARCHAR(600),
"NAMA_PERUSAHAAN" VARCHAR(200),
"INDIKASI" VARCHAR(1000),
"DOSIS" VARCHAR(800),
"KONTRA_INDIKASI" VARCHAR(1000),
"PERHATIAN" VARCHAR(1000),
"EFEK_SAMPING" VARCHAR(1000),
"INTERAKSI_OBAT" VARCHAR(900),
"KEMASAN_HARGA" VARCHAR(200),
"US_FDA_PREG_CAT" VARCHAR(50),
"JENIS_OBAT" VARCHAR(50),
CONSTRAINT "PKOBAT" PRIMARY KEY ("KODE_OBAT")
);
CREATE TABLE "PASIEN" (
"KODE_PASIEN" VARCHAR(10) NOT NULL,
"NAMA_PASIEN" VARCHAR(30),
"UMUR_PASIEN" INTEGER,
"KETERANGAN_MEDIS" VARCHAR(3000),
"TANGGAL_BEROBAT" DATE,
"KODE_OBAT" VARCHAR(10),
"ALAMAT" VARCHAR(120),
CONSTRAINT "PKPASIEN" PRIMARY KEY ("KODE_PASIEN")
);
CREATE TABLE "USER_NAME" (
"USER_NAME" VARCHAR(20) NOT NULL,
"PASS" VARCHAR(20),
CONSTRAINT "PKUSER_NAME" PRIMARY KEY ("USER_NAME")
1 Universitas Kristen Maranatha BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Saat ini perkembangan dalam dunia teknologi sangat berkembang. Segala teknologi yang canggih sudah dapat membantu bahkan meringankan dalam pekerjaan manusia. Salah satu teknologi canggih yang membantu manusia dalam membatu pekerjaannya adalah komputer. Penggunaan komputer telah menjadi salah satu hal yang penting dalam kehidupan sehari-hari. Ada beberapa fungsi dari komputer, yaitu komputer dapat bermain game, membuat tugas, browsing ke dalam dunia internet, membuat program, dan dapat menyimpan file-file yang penting dan lain-lain. Dengan adanya komputer diharapkan dapat membuat sistem informasi untuk menyimpan data-data dengan mudah.
Bidang kedokteran sekarang sudah berkembang. Salah satu contoh penggunaan komputer dalam dunia kedokteran adalah penggunaan sistem CAT (Computerized
Axial Tomography) digunakan untuk mengambil seluruh organ tubuh yang lainnya.
Sistem informasi dapat diterapkan dalam bidang kedokteran. Sistem informasi dapat digunakan dalam menyimpan data-data pasien, dan data-data lainnya. Tetapi untuk data-data obat masih tersimpan di dalam buku. Dokter tidak mungkin akan ingat semua data obat yang ada di dalam buku, tentunya hal ini akan mempersulit jika dokter harus membuka buku untuk mencari jenis-jenis obat.
Untuk membuat menjadi lebih mudah, dapat dipergunakan sistem informasi
database obat untuk dokter. Dokter tidak perlu membuka buku untuk mencari
jenis-jenis obat, tetapi hanya mengetik data obat yang ingin dicari.
1.2 Rumusan Masalah
Sistem informasi ini merupakan sebuah software yang dibuat dengan program dan berfungsi untuk membantu dokter dalam mencari data obat. Dengan adanya sistem informasi ini dokter tidak membutuhkan waktu yang lama dalam mencari data obat yang ingin dicari. Sistem informasi ini juga mempunyai interface baik dan mudah dimengerti. Dilihat dari keadaan tersebut, muncul pertanyaan-pertanyaan sebagai berikut.
3 Universitas Kristen Maranatha 1.3 Tujuan
Tugas akhir ini dibuat untuk merancang dan membuat sistem informasi database obat untuk dokter, yang didalamnya terdapat informasi mengenai obat yaitu nama obat, komposisi obat, efek samping dan lain-lain.
1.4Batasan Masalah
Batasan-batasan masalah dalam tugas akhir ini adalah sebagai berikut: 1. Pembuatan tugas akhir ini hanya dibuat oleh softwareDelphi 7 .
2. Pembuatan tugas akhir ini data yang diambil hanya didasarkan pada buku Mims.
1.5Sistematika Pembahasan
Penyusunan sistematika pembahasan dilakukan untuk mempermudah penyampaian informasi berdasarkan aturan dan urutan yang benar dari apa yang telah dilakukan. Sistematika pembahasan laporan tugas akhir ini adalah sebagai berikut.
BAB I PENDAHULUAN
Bab ini membahas tentang latar belakang, rumusan masalah, tujuan, batasan masalah, dan sistematika pembahasan.
BAB II DASAR TEORI
Bab ini membahas tentang teori-teori penunjang, seperti pengertian database, pengertian sistem informasi, penjelasan tentang program Delphi, penjelasan tentang InterBase, penjelasan tentang query, Structure Query language dan penjelasan tentang relasi.
BAB III PERANCANGAN DAN REALISASI
5 Universitas Kristen Maranatha BAB IV PENGUJIAN ALAT DAN PENGAMATAN
Bab ini berisi tentang hasil-hasil yang didapat atas pengujian yang telah dilakukan terhadap sistem informasi yang digunakan.
BAB V KESIMPULAN DAN SARAN
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil ujicoba dan pengamatan, dapat diambil kesimpulan sebagai berikut.
Sistem informasi database obat untuk dokter telah selesai dirancang
dan dibuat
Setelah dilakukan pengujian, keseluruhan software dapat berjalan
sesuai dengan yang diinginkan.
5.2 Saran
Setelah dilakukan evaluasi terhadap sistem informasi database obat untuk dokter, diharapkan proyek ini dapat dikembangkan lebih lanjut dengan penambahan-penambahan sebagai berikut.
Sistem informasi database obat untuk dokter ini tidak hanya mencatat
data obat tetapi bisa untuk mencatat resep obat
Sistem informasi database obat untuk dokter, dapat melakukan
49 Universitas Kristen Maranatha DAFTAR PUSTAKA
1. Wong, Hendri. “Pemrograman pemograman database menggunakan delphi”.
Bandung: Informatika.
2. http://www.dafferianto.web.ugm.ac.iddiakses pada tanggal 1 Januari 2011
3. http://iptek-hiban.blogspot.com/2008/12/pengertian-delphi.html diakses pada
tanggal 10 Desember 2010
4. http://soil.faperta.ugm.ac.id/tj/1981/1990%20SISTEM%20INFORMASI.pdf
diakses pada tanggal 31 Desember 2010
5. http://agungsr.staff.gunadarma.ac.id/Downloads/files/3412/Konsep+SI.pdf
diakses pada tanggal 20 Desember 2010
6. http://www.scribd.com/doc/23089559/Kumpulan-Perintah-SQL diakses pada tanggal 15 Februari 2011