Sistem Informasi Database Obat Untuk Dokter.
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.
(2)
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.
(3)
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 v Universitas Kristen Maranatha
(4)
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
(5)
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
(6)
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.10 Relasi Obat ... 36 iix Universitas Kristen Maranatha
(7)
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
(8)
DAFTAR TABEL
Tabel 2.2.2 Tipe Data Field InterBase………..……15
(9)
LAMPIRAN
A
(10)
LAMPIRAN A FOTO SOFTWARE
(11)
(12)
(13)
LAMPIRAN
B
(14)
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 end;
(15)
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'); B-2
(16)
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; end;
(17)
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;
(18)
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.bttambah.Visible:=true;
(19)
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; B-6
(20)
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
(21)
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;
(22)
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;
(23)
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;
(24)
{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
(25)
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;
(26)
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;
(27)
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}
(28)
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)'); prepare;
(29)
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;
(30)
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'); open;
(31)
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;
(32)
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; edkode.Clear;
(33)
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');
(34)
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'); prepare;
(35)
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!'); B-22
(36)
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('in').AsString :=memoindikasi.Text;
(37)
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;
(38)
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;
(39)
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); B-26
(40)
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; end;
(41)
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;
(42)
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;
(43)
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;
(44)
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; end.
(45)
/***************************************************** 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") );
(46)
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") );
(47)
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.
Dengan adanya alat ini dapat lebih mudah bagi dokter untuk menganalisa sakit apa yang diderita pasien. Dalam bidang kedokteran dibutuhkan tempat untuk menyimpan data-data, baik data-data pasien atau data rekam medis. Untuk menyimpan data-data tersebut dibutuhkan sistem informasi.
(48)
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.
1. Bagaimana cara membuat sistem informasi database obat untuk dokter? 2. Bagaimana cara menghubungkan sistem informasi dengan database? 3. Bagaimana mendesain interface agar mudah digunakan?
(49)
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.
3. Data tentang obat hanya kode obat, nama obat, komposisi obat, nama perusahaan, indikasi, dosis, kontra indikasi, perhatian, efek samping, interaksi obat, kemasan dan harga, us fda preg cat, jenis obat.
(50)
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
Bab ini berisi tentang pembahasan atas perancangan yang dilakukan terhadap sistem informasi ini.
(51)
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 ini berisi kesimpulan, yaitu pengetahuan yang didapat setelah mengerjakan karya ilmiah ini. Selain itu berisi pula saran, yaitu hal baru yang dapat digunakan untuk mengembangkan karya ilmiah ini.
(52)
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 diagnosa penyakit.
(53)
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
7. http://agnez-dylan.blogspot.com/2008/10/penjelasan-sql.html pada tanggal 15 Februari 2011
(1)
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.
1. Bagaimana cara membuat sistem informasi database obat untuk dokter? 2. Bagaimana cara menghubungkan sistem informasi dengan database? 3. Bagaimana mendesain interface agar mudah digunakan?
(2)
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.
3. Data tentang obat hanya kode obat, nama obat, komposisi obat, nama perusahaan, indikasi, dosis, kontra indikasi, perhatian, efek samping, interaksi obat, kemasan dan harga, us fda preg cat, jenis obat.
(3)
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
Bab ini berisi tentang pembahasan atas perancangan yang dilakukan terhadap sistem informasi ini.
(4)
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 ini berisi kesimpulan, yaitu pengetahuan yang didapat setelah mengerjakan karya ilmiah ini. Selain itu berisi pula saran, yaitu hal baru yang dapat digunakan untuk mengembangkan karya ilmiah ini.
(5)
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 diagnosa penyakit.
(6)
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
7. http://agnez-dylan.blogspot.com/2008/10/penjelasan-sql.html pada tanggal 15 Februari 2011