Universitas Kristen Maranatha
iii
SISTEM INFORMASI KESEHATAN HEWAN Tomi Januardi Sunarto / 0827038
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. Drg. Suria Sumantri 65
Bandung 40164, Indonesia
ABSTRAK
Universitas Kristen Maranatha
iv
ANIMAL HEALTH INFORMATION SYSTEM
Tomi Januardi Sunarto / 0827038
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. Drg. Suria Sumantri 65
Bandung 40164, Indonesia
ABSTRACT
Universitas Kristen Maranatha
v
DAFTAR ISI
KATA PENGANTAR ... i
ABSTRAK ... iii
ABSTRACT ... iv
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... ix
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Identifikasi Masalah ... 2
1.3 Tujuan ... 2
1.4 Pembatasan Masalah ... 2
1.5 Sistematika Pembatasan ... 3
BAB II DASAR TEORI 2.1 Sistem Informasi ... 4
2.1.1 Pengertian Sistem Informasi ... 4
2.1.2 Komponen Sistem Informasi ... 6
2.2 Database ... 7
2.2.1 Tabel... 7
2.2.2 Relasi ... 8
2.2.3 Kunci ... 9
Universitas Kristen Maranatha
vi
2.2.3.2 Candidate Key ... 10
2.2.3.3 Primary Key ... 11
2.3 SDLC (System Development Life Cycle)... 12
2.3.1 Identifikasi ... 13
2.3.2 Analisis ... 13
2.3.3 Design ... 13
2.3.4 Coding ... 13
2.3.5 Implementasi ... 14
2.3.6 Maintenance ... 14
2.4 Borland Delphi ... 15
2.4.1 Keunggulan Borland Delphi ... 15
2.4.2 Kelemahan Borland Delphi... 16
2.5 Firebird ... 16
2.6 Klasifikasi Keanekaragaman Hayati ... 17
2.6.1 Tujuan dan Manfaat Klasifikasi ... 18
2.6.2 Proses dan Hasil Klasifikasi... 18
2.6.3 Tata Nama Mahluk Hidup ... 19
2.6.3.1 Kingdom ... 20
2.6.3.2 Filum ... 21
2.6.3.3 Class ... 21
2.6.3.4 Ordo ... 21
2.6.3.5 Family ... 21
2.6.3.6 Genus ... 22
Universitas Kristen Maranatha
vii BAB III PERANCANGAN DAN REALISASI
3.1 Data Flow Diagram ... 24
3.2 Relasi Antar tabel ... 27
3.3 Database ... 29
BAB IV PEMBAHASAN 4.1 Penggunaan Program Aplikasi ... 33
4.1.1 Fungsi Pencarian ... 34
4.1.3 Fungsi Catatan... 40
BAB V KESIMPULAN DAN SARAN... 41
DAFTAR PUSTAKA ... 42
Universitas Kristen Maranatha
viii
DAFTAR GAMBAR
Gambar 2.1 SDLC ... 12
Gambar 3.1 Konteks Diagram ... 24
Gambar 3.2 Data Flow Diagram level 0 ... 25
Gambar 3.3 Data Flow Diagram level 1 ... 26
Gambar 3.4 Tabel relasi ... 27
Gambar 4.1 Tampilan Awal ... 33
Gambar 4.2 Search 1 ... 34
Gambar 4.3 Search 2 ... 35
Gambar 4.4 Search 3 ... 35
Gambar 4.5 Search 4 ... 36
Gambar 4.6 Search 5 ... 36
Gambar 4.7 Search 6 ... 37
Gambar 4.8 Search 7 ... 37
Gambar 4.9 Search 8 ... 38
Gambar 4.10 Search 9 ... 49
Gambar 4.11 Search 10 ... 49
Universitas Kristen Maranatha
ix
DAFTAR TABEL
Tabel 3.1 Tabel Class... 29
Tabel 3.2 Tabel Ordo ... 29
Tabel 3.3 Tabel Family ... 29
Tabel 3.4 Tabel Genus ... 30
Tabel 3.5 Tabel Species ... 30
Tabel 3.6 Tabel Nama ... 30
Tabel 3.7 Tabel Tubuh ... 31
Tabel 3.8 Tabel Penyakit ... 31
Tabel 3.9 Tabel Penanganan Item ... 31
LAMPIRAN A
Script Program
Universitas Kristen Maranatha
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls;
type
TFrmHewan = class(TForm) MainMenu1: TMainMenu;
procedure Keluar1Click(Sender: TObject); procedure Search1Click(Sender: TObject); procedure Catatan1Click(Sender: TObject); private
FrmHewan: TFrmHewan;
implementation
uses U_catatan, u_Search;
{$R *.dfm}
procedure TFrmHewan.Keluar1Click(Sender: TObject); begin
application.Terminate end;
procedure TFrmHewan.Search1Click(Sender: TObject); begin
Universitas Kristen Maranatha
A-2
Application.CreateForm(TfrmSearch, frmSearch); end;
frmSearch.Show; end;
procedure TFrmHewan.Catatan1Click(Sender: TObject); begin
if frmCatatan = nil then begin
Application.CreateForm(TfrmCatatan, frmCatatan); end;
SysUtils, Classes, DB, IBCustomDataSet, IBQuery, IBDatabase;
type
Universitas Kristen Maranatha
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, Grids, DBGrids;
type
TfrmSearch = class(TForm) cmbClass: TComboBox;
cmbNamaPenyakit: TComboBox; memo: TMemo;
Label10: TLabel; EdKodeSpec: TEdit; Edit1: TEdit;
procedure Keluar1Click(Sender: TObject); procedure Kembali1Click(Sender: TObject); procedure catatan1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject);
Universitas Kristen Maranatha
A-4 procedure Edit1Change(Sender: TObject);
procedure cmbNamaPenyakitChange(Sender: TObject);
{procedure kondisi; }
frmSearch: TfrmSearch;
implementation
uses U_catatan, U_module;
{$R *.dfm}
procedure TfrmSearch.Keluar1Click(Sender: TObject); begin
application.Terminate; end;
procedure TfrmSearch.Kembali1Click(Sender: TObject); begin
close; end;
procedure TfrmSearch.catatan1Click(Sender: TObject); begin
frmCatatan.Show; frmSearch.Close; end;
procedure TfrmSearch.FormClose(Sender: TObject; var Action: TCloseAction); begin
WindowState := wsMinimized; frmSearch := nil;
Action := caFree; end;
Universitas Kristen Maranatha
A-5 //Tarik data species
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriSpec from Species'); Sql.add('order by CiriSpec');
open;
Sql.add('select distinct CiriClass from Class'); Sql.add('order by CiriClass');
open;
//Tarik Data ordo with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriOrdo from Ordo'); Sql.add('order by CiriOrdo');
Universitas Kristen Maranatha
A-6 //Tarik Data family
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct Cirifam from family'); Sql.add('order by Cirifam');
open;
//Tarik Data genus with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriGenus from genus'); Sql.add('order by CiriGenus');
open;
procedure TfrmSearch.edNamaChange(Sender: TObject); var ks : string;
sql.add('Select kodeSpec from nama'); sql.Add('Where nama =:nm');
prepare;
parambyname('nm').AsString := trim(ednama.Text); open;
ks := fields[0].AsString;
Universitas Kristen Maranatha
A-7 //Tarik Data Species
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriSpec from Species'); sql.add('where kodeSpec =:ks');
Sql.add('order by CiriSpec'); prepare;
parambyname('ks').AsString := ks; open;
cmbSpecies.Text :=trim(fields[0].AsString); edKodeSpec.Text :=trim(fields[0].AsString); end;
end;
procedure TfrmSearch.cmbSpeciesChange(Sender: TObject); var kc,ko,kf,kg,nm : string;
begin
with dm.QProses do begin
close; sql.clear;
sql.add('Select kodeclass,kodeordo,kodefam,kodegenus from species'); sql.Add('Where cirispec =:cs');
prepare;
parambyname('cs').AsString := cmbspecies.Text; open;
sql.Add('Select nama.nama from species');
sql.Add('Inner Join nama on nama.kodespec=species.kodespec'); sql.Add('Where nama =:nm');
prepare;
parambyname('nm').AsString := cmbspecies.Text; open;
Universitas Kristen Maranatha
A-8 //Tarik Data Class
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriClass from Class'); sql.add('where kodeclass =:kc');
Sql.add('order by CiriClass'); prepare;
parambyname('kc').AsString := kc; open;
cmbclass.Text :=trim(fields[0].AsString); end;
//Tarik Data Ordo
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriOrdo from Ordo'); sql.add('where kodeordo =:ko');
Sql.add('order by CiriOrdo'); prepare;
parambyname('ko').AsString := ko; open;
cmbOrdo.Text :=trim(fields[0].AsString); end;
//Tarik Data Family
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriFam from Family'); sql.add('where kodefam =:kf');
Sql.add('order by CiriFam'); prepare;
parambyname('kf').AsString := kf; open;
Universitas Kristen Maranatha
A-9 //Tarik Data Genus
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriGenus from Genus'); sql.add('where kodegenus =:kg');
Sql.add('order by CiriGenus'); prepare;
parambyname('kg').AsString := kg; open;
cmbGenus.Text :=trim(fields[0].AsString); end;
Sql.add('select distinct nama from nama'); sql.add('where nama =:nm');
Sql.add('order by nama'); prepare;
parambyname('nm').AsString := nm; open;
edNama.Text :=trim(fields[0].AsString); end;
end;
procedure TfrmSearch.EdKodeSpecChange(Sender: TObject); var kc,ko,kf,kg : string;
begin
with dm.QProses do begin
close; sql.clear;
sql.add('Select kodeclass,kodeordo,kodefam,kodegenus from species'); sql.Add('Where cirispec =:cs');
prepare;
parambyname('cs').AsString := cmbspecies.Text; open;
Universitas Kristen Maranatha
A-10 kg := fields[3].asString;
end;
//Tarik Data Class
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriClass from Class'); sql.add('where kodeclass =:kc');
Sql.add('order by CiriClass'); prepare;
parambyname('kc').AsString := kc; open;
cmbclass.Text :=trim(fields[0].AsString); end;
//Tarik Data Ordo
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriOrdo from Ordo'); sql.add('where kodeordo =:ko');
Sql.add('order by CiriOrdo'); prepare;
parambyname('ko').AsString := ko; open;
cmbOrdo.Text :=trim(fields[0].AsString); end;
//Tarik Data Family
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriFam from Family'); sql.add('where kodefam =:kf');
Sql.add('order by CiriFam'); prepare;
parambyname('kf').AsString := kf; open;
Universitas Kristen Maranatha
A-11 end;
//Tarik Data Genus
with dm.QData Do begin
Close; Sql.Clear;
Sql.add('select distinct CiriGenus from Genus'); sql.add('where kodegenus =:kg');
Sql.add('order by CiriGenus'); prepare;
parambyname('kg').AsString := kg; open;
cmbGenus.Text :=trim(fields[0].AsString); end;
end;
procedure TfrmSearch.cmbClassChange(Sender: TObject); begin
sql.Add('Inner Join class on class.kodeclass=species.kodeclass' ); sql.add('Inner Join ordo on ordo.kodeordo=species.kodeordo'); sql.Add('where class.ciriclass=:kc');
prepare;
Universitas Kristen Maranatha
A-12
procedure TfrmSearch.cmbOrdoChange(Sender: TObject); begin
sql.Add('Select distinct species.kodeordo,ordo.ciriordo, species.kodefam, family.cirifam from species');
sql.Add('Inner Join ordo on ordo.kodeordo=species.kodeordo' ); sql.add('Inner Join family on family.kodefam=species.kodefam'); sql.Add('where ordo.ciriordo=:ko');
prepare;
parambyname('ko').AsString := trim(cmbordo.Text); open;
procedure TfrmSearch.cmdFamilyChange(Sender: TObject); begin
sql.Add('Select distinct species.kodefam,family.cirifam, species.kodegenus, genus.cirigenus from species');
sql.add('Inner Join family on family.kodefam=species.kodefam'); sql.Add('Inner Join genus on genus.kodegenus=species.kodegenus' ); sql.Add('where family.cirifam=:kf');
prepare;
parambyname('kf').AsString := trim(cmdfamily.Text); open;
while not Eof do begin
Universitas Kristen Maranatha
A-13 end;
end;
end;
procedure TfrmSearch.cmbGenusChange(Sender: TObject); begin
sql.Add('Select distinct species.kodegenus,genus.cirigenus, species.kodespec, species.cirispec from species');
sql.Add('Inner Join genus on genus.kodegenus=species.kodegenus' ); sql.Add('where genus.cirigenus=:kg');
prepare;
parambyname('kg').AsString := trim(cmbgenus.Text); open;
procedure TfrmSearch.edTubuhChange(Sender: TObject); var kp : string;
sql.add('Select kodeTubuh from Tubuh'); sql.Add('Where namatubuh =:nt'); prepare;
parambyname('nt').AsString := trim(edTubuh.Text); open;
kp := fields[0].AsString; edit1.Text:=kp;
Universitas Kristen Maranatha
A-14 //Tarik Data penyakit
with dm.qData do begin
close; sql.Clear;
sql.Add('Select distinct penangananitem.kodepenyakit,penyakit.namapenyakit, '+'penangananitem.kodetubuh, tubuh.namatubuh,
penangananitem.kodespec, species.cirispec from penangananitem'); sql.Add('Inner Join penyakit on
penangananitem.kodepenyakit=penyakit.kodepenyakit' );
sql.add('Inner Join tubuh on penangananitem.kodetubuh=tubuh.kodetubuh'); sql.add('Inner Join penanganan on
penangananitem.kodespec=penanganan.kodespec');
sql.add('Inner Join species on penangananitem.kodespec=species.kodespec'); sql.add('where penangananitem.kodetubuh =:nt and species.cirispec =:ns'); prepare;
parambyname('nt').AsString := edit1.Text;
parambyname('ns').AsString := cmbSpecies.Text; open;
while not Eof do begin
cmbNamaPenyakit.items.add(trim(fields[1].AsString)); Next;
end; end; end;
procedure TfrmSearch.Edit1Change(Sender: TObject); begin
sql.Add('Select distinct penangananitem.kodepenyakit,penyakit.namapenyakit, '+ 'penangananitem.kodetubuh, tubuh.namatubuh,
penangananitem.kodespec,
penanganan.kodespec, species.kodespec from penangananitem'); sql.Add('Inner Join penyakit on
penangananitem.kodepenyakit=penyakit.kodepenyakit' );
sql.add('Inner Join tubuh on penangananitem.kodetubuh=tubuh.kodetubuh'); sql.add('Inner Join penanganan on
penangananitem.kodespec=penanganan.kodespec');
Universitas Kristen Maranatha
A-15 prepare;
parambyname('np').AsString := trim(edit1.Text); open;
while not Eof do begin
cmbNamaPenyakit.items.add(trim(fields[1].AsString)); Next;
end; end; end;
procedure TfrmSearch.cmbNamaPenyakitChange(Sender: TObject); begin
with dm.qData do begin
close; sql.Clear;
sql.Add('Select penangananitem.penanganan from penangananitem'); sql.Add('Inner Join penyakit on
penangananitem.kodepenyakit=penyakit.kodepenyakit' );
sql.add('Inner Join tubuh on penangananitem.kodetubuh=tubuh.kodetubuh'); sql.add('Inner Join penanganan on
penangananitem.kodespec=penanganan.kodespec');
sql.add('Inner Join species on penangananitem.kodespec=species.kodespec'); sql.add('where penangananitem.kodetubuh =:nt and species.cirispec =:ns and penyakit.namapenyakit =:np');
prepare;
parambyname('np').AsString := cmbNamaPenyakit.Text; parambyname('nt').AsString := edit1.Text;
parambyname('ns').AsString := cmbSpecies.Text; open;
memo.Text :=fields[0].asString; end;
end;
Universitas Kristen Maranatha
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls;
type
TfrmCatatan = class(TForm) btNew: TButton;
procedure Seach1Click(Sender: TObject); procedure Kembali1Click(Sender: TObject); procedure Seacrh1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject);
procedure btNewClick(Sender: TObject); procedure Button2Click(Sender: TObject); private
frmCatatan: TfrmCatatan;
implementation
uses u_Search, U_Penyakit, U_module;
{$R *.dfm}
procedure TfrmCatatan.Seach1Click(Sender: TObject); begin
frmSearch.show; end;
Universitas Kristen Maranatha
procedure TfrmCatatan.Seacrh1Click(Sender: TObject); begin
frmSearch.Show; end;
procedure TfrmCatatan.FormClose(Sender: TObject; var Action: TCloseAction); begin
WindowState := wsMinimized; frmSearch := nil;
Action := caFree; end;
procedure TfrmCatatan.FormShow(Sender: TObject); begin
edTanggal.Text :=DateToStr(date); end;
procedure TfrmCatatan.btNewClick(Sender: TObject); begin
memo1.Clear; end;
procedure TfrmCatatan.Button2Click(Sender: TObject); begin
with dm.qData do begin
Close; sql.Clear;
sql.add('insert into Catatan(catatan, tanggal)'+ 'values(:ct, :tg)');
prepare;
ParamByName('ct').AsString :=memo1.text; ParamByName('tg').AsString :=edTanggal.text; execSql;
end;
dm.trHewan.Commit;
Universitas Kristen Maranatha
A-18 Close;
Sql.Clear;
Sql.Add('select catatan, tanggal from catatan'); open;
end; end;
1
Universitas Kristen Maranatha
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dewasa ini, perkembangan teknologi semakin berkembang ke arah
yang lebih maju. Manusia selalu menginginkan segala sesuatu dapat
dikerjakan dengan cepat, mudah, dan tepat. Komputer adalah salah satu
hasil dari perkembangan teknologi yang sangat berpengaruh. Maka dari itu
penerapan teknologi komputer marak dilakukan di berbagai bidang
kehidupan manusia.
Demikian pula dengan penyimpanan informasi diagnosis kesehatan
pada dunia binatang. Meningkatnya kebiasaan masyarakat untuk
memelihara binatang liar atau binatang yang tidak umum dipelihara
(eksotis) menuntut dokter hewan memiliki informasi yang lebih kompleks.
Sulitnya mendapat informasi penanganan ketika keadaan darurat pun
menjadi salah satu kendala dunia kedokteran hewan saat ini. Dengan
menggunakan sistem informasi atau program aplikasi database, hal
tersebut akan lebih mudah diakses dengan komputer oleh dokter hewan
2
Universitas Kristen Maranatha 1.2 Identifikasi Masalah
Bagaimana merancang Sistem Informasi untuk Kesehatan Hewan.
Informasi apa saja yang ada di dalam Sistem Informasi untuk
Kesehatan Hewan.
Kurangnya informasi tentang penyakit dan cara penanganan hewan
yang tergolong eksotis.
1.3 Tujuan
Membuat program database mengenai kesehatan dunia hewan,
terutama hewan eksotis yang tidak umum untuk dipelihara.
Membantu dokter hewan mencari informasi tambahan tentang
penyakit dan penanganan.
1.4 PembatasanMasalah
Program aplikasi database dibuat dengan menggunakan software
Borland Delphi 7.
Database yang digunakan adalah Firebird.
Program aplikasi database ini bersifat stand alone.
Program aplikasi database ini hanya memberikan informasi, user
tidak dapat memberikan input data baru.
Pencarian informasi taksonomi dibatasi dari class sampai ke
3
Universitas Kristen Maranatha 1.5 Sistematika Pembahasan
Sistematika pembahasan Tugas Akhir ini disusun menjadi lima
bab, yaitu sebagai berikut :
Bab I : Pendahuluan
Bab ini membahas tentang latar belakang, identifikasi masalah,
tujuan, pembatasan masalah, serta sistematika pembahasan
Bab II : Landasan Teori
Bab ini membahas dasar – dasar teori dari Sistem Informasi,
Firebird, SDLC, Borland Delphi 7, dan Keanekaragaman hayati.
Bab III : Perancangan
Bab ini membahas tentang bagaimana dirancangnya Sistem
Informasi Kesehatan Hewan.
Bab IV : Pembahasan
Bab ini membahas relasi antar tabel dan penggunaan aplikasi
Bab V : Kesimpulan dan Saran
Bab ini merupakan bab penutup. Pada bab ini dimuat kesimpulan
41
Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil pembuatan Sistem Informasi Kesehatan Hewan dapat
disimpulkan sebagai berikut :
Sistem Informasi Kesehatan Hewan yang dikhususkan untuk dokter
hewan telah dapat direalisasikan.
Sistem Informasi Kesehatan Hewan dapat memberikan informasi
alternatif tambahan bagi dokter hewan saat mendiagnosis pasiennya.
5.2 Saran
Dari hasil Tugas Akhir ini maka dapat disarankan hal sebagai berikut:
Sistem Informasi Kesehatan Hewan dapat lebih dikembangkan
42
Universitas Kristen Maranatha
DAFTAR PUSTAKA
Al Fatta, Hanif. 2007. Analisis & Perancangan Sistem Informasi untuk
keunggulan bersaing perusahaan & organisasi modern.Yogyakarta: Andi.
http://www.google.com/sejarah borland delphi/
http://www.google.com/sejarah firebird/
Nugroho, Adi. 2004. Konsep Pengembangan Sistem Basis Data .Bandung:
Informatika
Maryati, Sri. 2004. Penuntun Biologi untuk Kelas X. Jakarta: Erlangga