Академический Документы
Профессиональный Документы
Культура Документы
174
BAB IV IMPLEMENTASI 4.1. Penjelasan Program Untuk mempermudah user dalam menjalankan program perlu diberikan
penjelasan alur daripada program. Didalam bab ini akan disertakan gambar-gambar tampilan form yang disertai dengan penjelasan fungsi dan kegunaan masisng-masing kontrol yang terdapat didalam form. Adapun Tampilan Program dan penjelasannya diuraikan sebagai berikut : 4.1.1 Form Menu Utama Form yang Pertama muncul pada saat program dieksekusi adalah menu utama, form ini menyediakan kepada user, langkah-langkah menjalankan program.
175
Menu utama ini terdiri dari beberapa sub menu lainnya yaitu : 1. Menu Pengguna Menu pengguna merupakan sebuah fasilitas yang dimiliki oleh pengguna dalam ha ini adalah penderita penyakit asma, dan memiliki sub menu yaitu sebagai berikut: a. Menu pengguna konsultasi yaitu satu sub menu yang merupakan fasilitas yang disediakan bagi pengguna untuk dapat memanfaatkan manfaat utama yang dimiliki oleh aplikasi ini, manfaat utamanya yaitu mendapatkan obat yang aman dan tepat bagi penderita berdasarkan metode yang cocok sesuai dengan aturan obat masing-masing. b. Menu profil yaitu bentuk form yang menampilkan pembuat aplikasi. c. Menu bantuan utama yaitu suatu form yang menampilkan tentang tata cara penggunaan aplikasi yang baik dan benar. 2. Menu Ubah Data Proses Adalah suatu menu yang menampilkan fasilitas edit data baik itu yang berperan sebagai master data (Tabel Rule), dan fasilitas edit data yang berperan sebagai detail data (Tabel Nama_Obat, Indikasi, Kontra_Indikasi, Perhatian, Interaksi_Obat), selain itu fasilitas ini hanya diperuntukan bagi user yang berperan sebagai admin , seorang admin dalam menjalankan perannya dituntut untuk mengerti alur program. Sehingga pengguna dalam tanda kutip yaitu penderita maka tidak diijinkan untuk memasuki form ini karna memiliki fasilitas login hak akses atau bila ingin memasuki form ini harus memasukan Id user dan password yang sesuai dan Id serta passwordnya telah tersimpan dalam aplikasi. Menu Ubah Data ini memiliki sub yaitu sebagai berikut:
176
a. Nama Obat b. Indikasi c. Kontra Indikasi d. Perhatian e. Interaksi Obat f. Rule 3. Menu Ubah Data Bantuan Menu ubah data bantuan juga memiliki fungsi hak akses yang sama dengan form ubah data proses atau dengan kata lain hanya Admin yang bisa meng-Edit ubah data bantuanya. Sehingga data bantuanya bisa langsung dimanfaatkan dan tersedia langsung pada: a. Form input indikasi Memiliki data bantuan mengenai pengertian atau menceritakan tentang apa itu penyakit-penyakit yang ada di Indikasi. b. Form input Kontra indikasi Memiliki data bantuan mengenai pengertian atau menceritakan tentang apa itu penyakit-penyakit yang ada di Kontra Indikasi c. Form input Perhatian Memiliki data bantuan mengenai pengertian atau menceritakan tentang apa itu penyakit-penyakit yang ada di Perhatian d. Form input interaksi Obat
177
Memiliki data bantuan mengenai pengertian atau menceritakan tentang apa itu Obat-obat yang ada dinteraksi obat atau dengan kata lain menceritakan mengenai fungsi sebenarnya dari riwayat obat lain berdasarkan fungsi atau manfaatnya. 4. Tool Login Hak Akses Tool ini fasilitas yang disediakan bagi seorang admin, tentunya seorang admin memiliki ID dan Password sendiri yang dimiliki. 5. Keluar dari Program Menu ini memberikan pilihan keluar dari program atau tidak. Adapun tampilan dari menu utama program ini seperti terlihat pada gambar dibawah ini:
178
4.1..2
Form Profil
Form Profil adalah form yang menampilkan biodata tentang pembuat aplikasi.
Adalah sebuah form yang memiliki fungsi untuk memberikan informasi kepada pengguna mengenai tata cara penggunaan aplikasi yang baik dan benar
179
Gambar 5.3 Form Bantuan Penggunaan Aplikasi Fungsi Kontrol Form Bantuan Penggunaan Aplikasi: Tombol Kembali berfungsi untuk kembali ke form awal yaitu form menu utama. Form Ubah Data Indikasi
4.1.4
Form yang memiliki fungsi untuk melakukan kegiatan pengubahan data dan tugas pengubahan data tersebut dimiliki oleh seorang admin, kegiatan pengubahan data yang dapat dilakukan ialah: edit data, tambah data, hapus data, simpan data.
180
Gambar 5.4 Form Ubah Data Indikasi Fungsi Kontrol Form Ubah Data Indikasi: Tombol Tambah digunakan untuk melakukan kegiatan penambahan data yaitu berupa data indikasi. Tombol Batal digunakan untuk membatalkan proses tambah data dan edit data Tombol Edit Data digunakan untuk melakukan kegiatan pengubahan data berupa data indikasi Tombol Hapus Data digunakan untuk melakukan pengurangan atau penghapusan data, penghapusan data dilakukan per record. Tombol Simpan digunakan untuk melakukan penyimpanan apabila kegiatan penambahan atau pengeditan telah selesai dilakukan. Tombol Kembali memiliki fungsi untuk kembali ke form menu utama
181
4.1.5
Form yang memiliki fungsi sebagai media untuk kegiatan pengubahan data berupa data kontra indikasi, dan hak akses yang berhak melakukan pengubahanya yaitu seorang admin.
Gambar 5.5 Form Ubah Data Kontra Indiaksi Fungsi Kontrol Form Ubah Data Kontra Indikasi: Tombol Tambah digunakan untuk melakukan kegiatan penambahan data yaitu berupa data Kontra indikasi. Tombol Batal digunakan untuk membatalkan proses tambah data dan edit data Tombol Edit Data digunakan untuk melakukan kegiatan pengubahan data berupa data Kontra indikasi Tombol Hapus Data digunakan untuk melakukan pengurangan atau penghapusan data, penghapusan data dilakukan per record. Tombol Simpan digunakan untuk melakukan penyimpanan apabila kegiatan penambahan atau pengeditan telah selesai dilakukan. -
182
4.1.6
Sebuah Form yang memiliki fungsi sebagai media bagi seorang admin untuk melakukan kegiatan pengubahan data yaitu berupa data perhatian, kegiatan pengubahan tersebut yang nantinya juga akan mempengaruhi keluaran proses
Gambar 5.6 Form Ubah Data Perhatian Fungsi Kontrol Form Ubah Data Perhatian: Tombol Tambah digunakan untuk melakukan kegiatan penambahan data yaitu berupa data Perhatian Tombol Batal digunakan untuk membatalkan proses tambah data dan edit data Tombol Edit Data digunakan untuk melakukan kegiatan pengubahan data berupa data Perhatian Tombol Hapus Data digunakan untuk melakukan pengurangan atau penghapusan data, penghapusan data dilakukan per record. Tombol Simpan digunakan untuk melakukan penyimpanan apabila kegiatan penambahan atau pengeditan telah selesai dilakukan.
183
4.1.7
Form ini juga memiliki fungsi yang sama dengan form-form ubah data sebelumnya yaitu sebagai media untuk melakukan kegiatan pengubahan data dengan identitas variabelnya yaitu interaksi obat.
Gambar 5.7 Form Ubah Data Interaksi Obat Fungsi Kontrol Form Ubah Data Interaksi Obat: Tombol Tambah digunakan untuk melakukan kegiatan penambahan data yaitu berupa data Interaksi Obat Tombol Batal digunakan untuk membatalkan proses tambah data dan edit data Tombol Edit Data digunakan untuk melakukan kegiatan pengubahan data berupa data Interaksi Obat Tombol Hapus Data digunakan untuk melakukan pengurangan atau penghapusan data, penghapusan data dilakukan per record. Tombol Simpan digunakan untuk melakukan penyimpanan apabila kegiatan penambahan atau pengeditan telah selesai dilakukan.
184
4.1.8
Form ini memiliki fungsi yaitu sebagai media ubah data nama obat baik itu menambah, menghapus, dan mengedit data nama obat.
Gambar 5.8 Form Ubah Data Nama Obat Fungsi Kontrol Form Ubah Data Nama Obat: Tombol Tambah digunakan untuk melakukan kegiatan penambahan data yaitu berupa data Nama Obat Tombol Batal digunakan untuk membatalkan proses tambah data dan edit data Tombol Edit Data digunakan untuk melakukan kegiatan pengubahan data berupa data Nama Obat Tombol Hapus Data digunakan untuk melakukan pengurangan atau penghapusan data, penghapusan data dilakukan per record. Tombol Simpan digunakan untuk melakukan penyimpanan apabila kegiatan penambahan atau pengeditan telah selesai dilakukan.
185
4.1.9
Form ini berfungsi untuk kegiatan pengubahan data berupa data rule proses, apabila kegiatan pengubahan terjadi pada rule nya, maka alur prosesnya pun akan berubah sehingga didapat keluaran yang mungkin akan berbeda pula tergantung tingkat pengubahan datanya, apabila pengubahan data secara ekstrim maka hasilnya pun tentu juga akan berubah
Gambar 5.9 Form Ubah Data Rule Fungsi Kontrol Form Ubah Data Rule Tombol Tambah digunakan untuk melakukan kegiatan penambahan data yaitu berupa data Interaksi Obat Tombol Hapus Data digunakan untuk melakukan pengurangan atau penghapusan data, penghapusan data dilakukan per record. Tombol Kembali berfungsi untuk mengembalikan kita pada form menu utama.
186
4.1.10 Form Konsultasi Form Konsultasi adalah form utama dalam segi fungsionalnya, sehingga penderita yang posisinya sebagai user wajib memasuki form ini agar didapat output atau hasil yaitu berupa nama obat yang aman serta tepat sesuai dengan kondisi dan riwayat penyakit dan obat penderita per individu.
Gambar 5.10 Form Ubah Data Konsultasi Fungsi Kontrol Form Konsultasi: Tombol Indikasi digunakan untuk memasuki form input indikasi Tombol Kontra Indikasi digunakan untuk memasuki form input Kontra Indikasi Tombol Perhatian digunakan untuk memasuki form input Perhatian Tombol Interaksi Obat digunakan untuk memasuki form input Interaksi Obat Tombol Proses digunakan untuk memproses untuk mendapatkan hasil obat setelah melalui proses input pada indikasi serta variabel lainnya Tombol Kembali digunakan untuk kembali ke form awal yaitu form menu utama
187
Tombol Pembuktian digunakan untuk melakukan kegiatan pembuktian mengenai variabel mana yang memang tereliminasi menurut variabelnya dan mana yang tidak ikut tereliminasi menurut variabelnya
Tombol Kondisi awal digunakan untuk mengetahui mengetahui mngenai kondisi penderita berupa tekanan darah dan kategori umur penderita
Tombol Preview Obat digunakan untuk memasuki form output obat hasil proses yang sudah berlangsung.
4.1.11 Form Input Indikasi Form Input Indikasi adalah sebuah form yang kegunaanya digunakan untuk kegiatan input indikasi kondisi asma penderita secara mendetail agar didapat nama obat yang seseuai dengan kondisi penderita sebenar-benarnya.
Gambar 5.11 Form Input Indikasi Fungsi Kontrol Input Indikasi: Tombol pindah (speed button1/>) digunakan untuk memindah indikasi atau detail asma penderita
188
Tombol Hapus (speed button2/X) digunakan untuk menghapus detail asma atau indikasi yang telah dipilih
Tombol Kembali digunakan untuk pindah ke form awal yaitu form menu utama Tombol Proses maksudnya digunakan untuk menyimpan untuk dijadikan proses aplikasi
Tombol Bantuan digunakan untuk memberikan informasi tentang pengetahuan mengenai ciri penyakit dan definisinya bagi penderita agar penderita dapat mengetahui dengan jelas tentang berbagai penyakit tersebut dan untuk membantu penderita membedakan detail penyakit agar tidak salah pilih mengenai input detail penyakit pada indikasi
4.1.12 Form Input Kontra Indikasi Form Input Kontra Indikasi adalah sebuah form yang kegunaanya digunakan untuk kegiatan input Riwayat penyakit lain yang tercantum pada detail Kontra indikasi penderita, maksudnya ditujukan untuk kegiatan memilah obat yang aman bagi penderita
189
Fungsi Kontrol Input Kontra Indikasi: Tombol pindah (speed button1/>) digunakan untuk memindah riwayat penyakit lain menurut kondisi penderita per individu sesuai yang tercantum pada list pada Form Kontra Indikasi, dipindah untuk diproses. Tombol Hapus (speed button2/X) digunakan untuk menghapus riwayat penyakit pada kontra indikasi yang telah dipilih atau dihapus untuk dibatalkan. Tombol Kembali digunakan untuk pindah ke form awal yaitu form menu utama Tombol Proses maksudnya digunakan untuk menyimpan untuk dijadikan proses aplikasi Tombol Bantuan digunakan untuk memberikan informasi tentang pengetahuan mengenai ciri penyakit dan definisinya bagi penderita agar penderita dapat mengetahui dengan jelas tentang berbagai penyakit tersebut dan untuk membantu penderita membedakan detail penyakit agar tidak salah pilih mengenai input riwayat penyakit lain pada kontra indikasi. 4.1.13 Form Input Perhatian Form Input Perhatian adalah sebuah form yang kegunaanya digunakan untuk kegiatan input Riwayat penyakit lain yang tercantum pada detail Form Perhatian untuk dipilih oleh penderita, maksudnya ditujukan untuk kegiatan memilah obat yang aman bagi penderita
190
Gambar 5.13 Form Input Perhatian Fungsi Kontrol Input Perhatian: Tombol pindah (speed button1/>) digunakan untuk memindah riwayat penyakit lain menurut kondisi penderita per individu sesuai yang tercantum pada list pada Form Perhatian, dipindah untuk diproses. Tombol Hapus (speed button2/X) digunakan untuk menghapus riwayat penyakit pada Perhatian yang telah dipilih atau dihapus untuk dibatalkan. Tombol Kembali digunakan untuk pindah ke form awal yaitu form menu utama Tombol Proses maksudnya digunakan untuk menyimpan untuk dijadikan proses aplikasi Tombol Bantuan digunakan untuk memberikan informasi tentang pengetahuan mengenai ciri penyakit dan definisinya bagi penderita agar penderita dapat mengetahui dengan jelas tentang berbagai penyakit tersebut dan untuk membantu
191
penderita membedakan detail penyakit agar tidak salah pilih mengenai input riwayat penyakit lain pada Perhatian. 4.1.14 Form Input Interaksi Obat Form Input Interaksi Obat adalah sebuah form yang kegunaanya digunakan untuk kegiatan input Riwayat Konsumsi Obat lain yang tercantum pada detail Form Interaksi Obat untuk dipilih oleh penderita, maksudnya ditujukan untuk kegiatan memilah obat yang aman bagi penderita
Gambar 5.14 Form Input Interaksi Obat Fungsi Kontrol Input Interaksi Obat: Tombol pindah (speed button1/>) digunakan untuk memindah riwayat obat lain menurut kondisi penderita per individu sesuai yang tercantum pada list pada Form Interaksi Obat, dipindah untuk diproses. Tombol Hapus (speed button2/X) digunakan untuk menghapus riwayat obat pada form interaksi obat yang telah dipilih atau dihapus untuk dibatalkan.
192
Tombol Kembali digunakan untuk pindah ke form awal yaitu form menu utama Tombol Proses maksudnya digunakan untuk menyimpan untuk dijadikan proses aplikasi
Tombol Bantuan digunakan untuk memberikan informasi tentang pengetahuan mengenai kegunaan obat pada riwayat konsumsi obat lain bagi penderita agar penderita dapat mengetahui dengan jelas tentang berbagai nama obat tersebut dan untuk membantu penderita mengetahui fungsi atau kegunaan bagi tiap obat riwayat konsumsi lain pada form interaksi obat
4.1.15 Form Pembuktian Sistem Form Pembuktian mempunyai kegunaan sebagai fasilitas pembuktian antar variabel, dan membuktikan apakah benar variabel yang dimaksud memang telah tereliminasi, sehingga dapat disimpulkan bahwa kegunaan form pembuktian ini lebih kepada pengujian proses sistem.
193
Fungsi Kontrol Form Pembuktian: Tombol kembali digunakan untuk kembali ke form konsultasi.:
4.1.16 Form Kondisi Awal Form Kondisi Awal Memiliki kegunaan untuk mengecek mengenai kondisi anda yang sebenarnya, berupa pengecekan tekanan darah serta pengecekan kategori umur apakah penderita masuk dalam kategori anak-anak,dewasa, atau lansia.
Gambar 5.16 Form Cek Kondisi Awal Fungsi Kontrol Form Pembuktian: Tombol Proses digunakan untuk memproses untuk mendapatkan hasil setelah point yang diminta telah selesai diinputkan Tombol keluar digunakan untuk keluar dari form pengecekan kondisi untuk kembali kepada form konsultasi
194
195
Gambar 5.17 Form Preview Obat Fungsi kontrol form preview obat (Spees button1) button pindah untuk cetak digunakan untuk memindah nama obat yang siap untuk dicetak dengan kategori obat yang aman (speed button2) button hapus digunakan untuk menghapus nama obat yang telah dipilih. (Spees button3) button hapus digunakan untuk menghapus nama obat yang telah dipilih. Button simpan digunakan untuk menyimpan nama obat yang telah dipilih untuk mendukung proses untuk mendapatkan rincian obat Button rincian digunakan untuk mendapatkan keluaran yaitu rincian obat berupa indikasi, efek samping, dan dosis pemakaian. 4.1.18 Form Update Bantuan Form update bantuan mempunyai kegunaan untuk mengubah data bantuan yang fungsinya dipegang oleh seorang admin untuk membantu kelancaran proses konsultasi seorang user.
196
Gambar 5.18 Form Update Bantuan Fungsi kontrol form Update bantuan: Tombol simpan berfungsi untuk menyimpan data bantuan yang telah diisi maupun telah diubah. Button kembali berfungsi untuk kembali ke form menu utama
4.1.19 Form Laporan Obat yang Aman Form laporan obat yang aman mempunyai kegunaan untuk mencetak nama obat yang diinginkan oleh seorang user dalam hal ini adalah penderita itu sendiri
197
Gambar 5.19 Form Laporan Obat Yang Aman 4.1.20 Form Rincian Obat Form laporan obat yang tepat mempunyai kegunaan untuk mencetak nama obat yang sesuai dengan kondisi sebenarnya seorang user dalam hal ini adalah penderita itu sendiri
198
4.2
Mulai
K1 Y Form Konsultasi A
Ingin Konsultasi?
T T Keluar
Form Profil
T Y
Buka form Update Kontra Indikasi Buka form Ubah Data Cara pemakaian aplikasi Y Form Ubah Data Cara Pemakaian Aplikasi T
T Y Form Ubah Data Bantuan Indkasi Buka form Update Interaksi Y Form Update Interaksi E
H T
I K1
K1
199
4.2.2
Flowchart Konsultasi
A
sa
T K1
sa
T Pilih detail asma pada input indikasi Y vindikasi . Append ; vindikasi ['kd_ indikasi ' ]:= AQifindikasi ['kd_ indikasi ']; vindikasi [' indikasi ' ]:= AQifindikasi [' indikasi ']; vindikasi . Post; Proses Berhenti
Speedbutton1 klik
DBGrid1
Speedbutton 2 klik
vindikasi . First; form2.ind:=''; form2. Kind:=''; for Lp:= 1 to vindikasi . RecordCount do begin form 2.ind:=form2.ind+ vindikasi [' indikasi ' ]+','; form 2. Kind:=form2. Kind+''''+ vindikasi ['kd_ indikasi ' ]+''''+','; vindikasi . Next; end; form2. iakhir:=copy( form2. ind,1, length( form2.ind)-1); form2. Kakhir:=copy( form2. Kind,1, length( form2. Kind)-1); close;
200
sb
T K1
sc
Y Speedbutton 1 klik vki. Append ; vki[' typeki' ]:=aqfki[' typeki']; vki[' kontra_ indikasi ' ]:=aqfki[' kontraindikasi ']; DBGrid1
Speedbutton 2 klik
Button2 klik
Button1 klik
cd
vki. First; form2. KdK:=''; form2. nmk:=''; vki. First; for ki:= 1 to vki. RecordCount do begin form 2. KdK:=form2. KdK+''''+vki[' typeki' ]+''''+','; form 2. nmk:=form2. nmk+vki[' kontra_ indikasi ' ]+','; vki. Next; end; form2. akdk:=copy( form2. KdK,1, length( form2. KdK)-1); form2. anmk:=copy( form2. nmk,1, length( form2. nmk)-1); Close;
201
sc
T K1
sc
Y Speedbutton 1 klik
vperh. Append; vperh[' typeperhatian ']:= aqfperob [' typeperhatian ']; vperh [' perhatian ']:= aqfperob [' perhatian ']; vperh . Post;
DBGrid1
Speedbutton 2 klik
Button2 klik
Button1 klik
cd
fperh. First; form2. kdpr:=''; form2. nmpr:=''; for per:= 1 to vperh . RecordCount do begin form 2. kdpr:=form2. kdpr+''''+ vperh[' typeperhatian ']+''''+','; form 2. nmpr:=form2. nmpr+ vperh[' perhatian ']+','; vperh . Next; end; form 2. akdpr:=copy( form2. kdpr,1, length( form2. kdpr)-1); form 2. anmpr:=copy( form2. nmpr,1, length( form2. nmpr)-1); Close;
202
sd
T K1
sd
Y Speedbutton 1 klik
vio. Append ; vio[' typeio']:= AQfiobat [' typeio']; vio[' interaksi _ obat']:=form5. AQfiobat [' interaksi _o bat']; vio. Post; DBGrid1
Speedbutton 2 klik
Button2 klik
Button1 klik
cd
form2. kdio:=''; form2. nmio:=''; vio. First; for intobat := 1 to vio. RecordCount do begin form 2. kdio:=form2. kdio+''''+vio[' typeio']+''''+','; form 2. nmio:=form2. nmio+vio[' interaksi _ obat']+','; vio. Next; end ; form 2. akdio:=copy( form2. kdio,1, length( form2. kdio)-1); form 2. anmio:=copy( form2. nmio,1, length( form2. nmio)-1); Close;
203
4.2.3
4.2.3.1
o Button Pilih untuk dipindah procedure TForm4.SpeedButton1Click(Sender: TObject); begin vindikasi.Append; vindikasi['kd_indikasi']:=AQifindikasi['kd_indikasi']; vindikasi['indikasi']:=AQifindikasi['indikasi']; vindikasi.Post; end; o Button Hapus procedure TForm4.SpeedButton2Click(Sender: TObject); begin if vindikasi.RecordCount < 1 then exit else vindikasi.Delete; end; o Button Simpan untuk diproses procedure TForm4.Button2Click(Sender: TObject); var LP:integer; //ind,iAkhir,kind,kakhir:String; begin vindikasi.First; form2.ind:=''; form2.Kind:=''; for Lp:=1 to vindikasi.RecordCount do begin form2.ind:=form2.ind+vindikasi['indikasi']+','; form2.Kind:=form2.Kind+''''+vindikasi['kd_indikasi']+''''+','; vindikasi.Next; end; form2.iakhir:=copy(form2.ind,1,length(form2.ind)-1); form2.Kakhir:=copy(form2.Kind,1,length(form2.Kind)-1); close; end;
204
o Button Kembali procedure TForm4.Button1Click(Sender: TObject); begin form2.Show; end; o Button Bantuan procedure TForm4.Button3Click(Sender: TObject); begin form19.show; end; 4.2.3.2 Input Kontra Indikasi
o Button Pilih untuk dipindah procedure TForm6.SpeedButton1Click(Sender: TObject); begin vki.Append; vki['typeki']:=aqfki['typeki']; vki['kontra_indikasi']:=aqfki['kontraindikasi']; end; o Button Hapus procedure TForm6.SpeedButton2Click(Sender: TObject); begin if vki.RecordCount < 1 then exit else vki.Delete; end; o Button Simpan untuk diproses procedure TForm6.Button2Click(Sender: TObject); var ki:integer; begin vki.First; form2.KdK:=''; form2.nmk:='';
205
vki.First; for ki:=1 to vki.RecordCount do begin form2.KdK:=form2.KdK+''''+vki['typeki']+''''+','; form2.nmk:=form2.nmk+vki['kontra_indikasi']+','; vki.Next; end; form2.akdk:=copy(form2.KdK,1,length(form2.KdK)-1); form2.anmk:=copy(form2.nmk,1,length(form2.nmk)-1); o Button Kembali procedure Tform6.Button1Click(Sender: TObject); begin form2.Show; end; o Button Bantuan procedure TForm4.Button3Click(Sender: TObject); begin form19.show; end; 4.2.3.3 Input Perhatian
o Button Pilih untuk dipindah procedure TForm7.SpeedButton1Click(Sender: TObject); begin vperh.Append; vperh['typeperhatian']:=aqfperob['typeperhatian']; vperh['perhatian']:=aqfperob['perhatian']; vperh.Post; end; o Button Hapus procedure TForm7.SpeedButton2Click(Sender: TObject); begin if vperh.RecordCount < 1 then exit else vperh.delete;
206
end; o Button Simpan untuk diproses procedure TForm7.Button2Click(Sender: TObject); var per:integer; begin vperh.First; form2.kdpr:=''; form2.nmpr:=''; for per:=1 to vperh.RecordCount do begin form2.kdpr:=form2.kdpr+''''+vperh['typeperhatian']+''''+','; form2.nmpr:=form2.nmpr+vperh['perhatian']+','; vperh.Next; end; form2.akdpr:=copy(form2.kdpr,1,length(form2.kdpr)-1); form2.anmpr:=copy(form2.nmpr,1,length(form2.nmpr)-1); close; end; o Button Kembali procedure Tform7.Button1Click(Sender: TObject); begin form2.Show; end; o Button Bantuan procedure TForm7.Button3Click(Sender: TObject); begin form17.show; end; 4.2.3.4 Input Interaksi Obat
o Button Pilih untuk dipindah procedure TForm5.SpeedButton1Click(Sender: TObject); begin vio.Append; vio['typeio']:=AQfiobat['typeio'];
207
vio['interaksi_obat']:=form5.AQfiobat['interaksi_obat']; vio.Post; end; o Button Hapus procedure TForm5.SpeedButton2Click(Sender: TObject); begin if vio.RecordCount < 1 then exit else vio.Delete; end; o Button Simpan untuk diproses procedure TForm5.Button2Click(Sender: TObject); var intobat:integer; begin form2.kdio:=''; form2.nmio:=''; vio.First; for intobat:=1 to vio.RecordCount do begin form2.kdio:=form2.kdio+''''+vio['typeio']+''''+','; form2.nmio:=form2.nmio+vio['interaksi_obat']+','; vio.Next; end; form2.akdio:=copy(form2.kdio,1,length(form2.kdio)-1); form2.anmio:=copy(form2.nmio,1,length(form2.nmio)-1); close; end; o Button Kembali procedure Tform5.Button1Click(Sender: TObject); begin form2.Show; end; o Button Bantuan procedure TForm5.Button3Click(Sender: TObject); begin form16.show;
208
procedure TForm2.Button7Click(Sender: TObject); var ik,ki,aik,aki,prk,aprk,iokd,aiokd,sma,asma,tdk,atdk,abaru:string; lop:integer; LpKon:integer; ada:variant; probat,lokasitbl:string; begin for lpkon:=1 to virtualtable1.RecordCount do begin virtualtable1.Delete; virtualtable1.Next; end; for lpkon:=1 to form11.VAkhir.RecordCount do begin form11.VAkhir.Delete; form11.VAkhir.Next; end; ik:=''; ki:=''; aik:=''; aprk:=''; aiokd:=''; abaru:=''; asma:=''; sma:=''; // aki:='';prk:='';aprk:='';iokd:='';aiokd:='';sma:='';asma:=''; VirtualTable1.Append; VirtualTable1['indikasi']:=Iakhir;//vindikasi['indikasi']; Virtualtable1['kd_indikasi']:=Kakhir; virtualtable1['kontra_indikasi']:=anmk; //virtualtable1['komposisi_obat']:=aob;//vkomb['komposisi_obat']; //virtualtable1['typekomposisi']:=akd;//vkomb['typekomposisi']; virtualtable1['typeio']:=akdio; virtualtable1['interaksi_obat']:=anmio; virtualtable1['typeki']:=akdk; virtualtable1['perhatian']:=anmpr; virtualtable1['typeperhatian']:=akdpr; // VirtualTable1['tensidarah']:=AQfkondaw['kondisi_awal']; //Virtualtable1['kd_tensi']:=aqfkondaw['kd_kondaw'];
209
// VirtualTable1['umur']:=AQumur['kondisi_awal']; //Virtualtable1['kd_umur']:=AQumur['kd_kondaw']; // VirtualTable1['jeniskelamin']:=combobox1.Text; VirtualTable1.Post; //indikasi if Length(virtualtable1['kd_indikasi']) = 0 then aki:='' else begin form11.Qindi.Close; form11.Qindi.SQL.Clear; form11.Qindi.SQL.Add('select rule.Kd_obat,nama_obat from rule left join obat on rule.kd_obat=obat.kd_obat'+ ' where kd_variabel in ('+virtualtable1['kd_indikasi']+') group by rule.kd_obat,nama_obat'); form11.Qindi.Open; // ambil kode obat indikasi form11.Qindi.First; for lop:=1 to form11.Qindi.RecordCount do begin ki:=ki+''''+form11.Qindi['kd_obat']+''''+','; form11.Qindi.Next; end; aki:=copy(ki,1,length(ki)-1); end; //kontra indikasi if Length(virtualtable1['typeki']) = 0 then aik:='' else begin form11.QKontraindi.Close; form11.QKontraindi.SQL.clear; form11.QKontraindi.SQL.Add('Select kd_obat from rule '+ ' where kd_variabel in ('+virtualtable1['typeki']+') and kd_variabel like:a group by kd_obat'); form11.QKontraindi.Parameters[0].Value:=copy(virtualtable1['typeki'],2,2)+'%'; form11.QKontraindi.Open; //ambil kode obat kontra indikasi form11.QKontraindi.First; for lop:=1 to form11.QKontraindi.RecordCount do begin ik:=ik+''''+form11.QKontraindi['kd_obat']+''''+','; form11.QKontraindi.Next; end; probat:=copy(ik,1,length(ik));
210
form11.QKontraindi.Close; form11.QKontraindi.SQL.clear; form11.QKontraindi.SQL.Add('Select kd_obat from rule '+ ' where kd_variabel not in ('+virtualtable1['typeki']+')'+ ' and kd_obat not in('+probat+') group by kd_obat'); //QKontraindi.Parameters[0].Value:=copy(virtualtable1['typeki'],2,2)+'%'; form11.QKontraindi.Open; //ambil kode obat kontra indikasi form11.QKontraindi.First; for lop:=1 to form11.QKontraindi.RecordCount do begin ik:=ik+''''+form11.QKontraindi['kd_obat']+''''+','; form11.QKontraindi.Next; end; aik:=copy(ik,1,length(ik)); end; //perhatian if Length(virtualtable1['typeperhatian']) = 0 then aprk:='' else begin form11.Qpr.Close; form11.Qpr.SQL.clear; form11.Qpr.SQL.Add('Select kd_obat from rule '+ ' where kd_variabel in ('+virtualtable1['typeperhatian']+') and kd_variabel like:a group by kd_obat'); form11.Qpr.Parameters[0].Value:=copy(virtualtable1['typeperhatian'],2,1)+'%'; form11.Qpr.Open; form11.Qpr.First; for lop:=1 to form11.Qpr.RecordCount do begin prk:=prk+''''+form11.Qpr['kd_obat']+''''+','; form11.Qpr.Next; end; probat:=copy(prk,1,length(prk)-1); form11.Qpr.Close; form11.Qpr.SQL.clear; form11.Qpr.SQL.Add('Select kd_obat from rule '+ ' where kd_variabel not in ('+virtualtable1['typeperhatian']+') and kd_obat not in('+probat+') group by kd_obat'); //qpr.Parameters[0].Value:=copy(virtualtable1['typeperhatian'],2,1)+'%'; form11.Qpr.Open; //ambil kode obat perhatian form11.Qpr.First; for lop:=1 to form11.Qpr.RecordCount do
211
begin prk:=prk+''''+form11.Qpr['kd_obat']+''''+','; form11.Qpr.Next; end; aprk:=copy(prk,1,length(prk)); end; //interaksi obat if Length(virtualtable1['typeio']) = 0 then aiokd:='' else begin form11.qio.Close; form11.qio.SQL.clear; form11.qio.SQL.Add('Select kd_obat from rule '+ ' where kd_variabel in ('+virtualtable1['typeio']+') and kd_variabel like:a group by kd_obat'); form11.qio.Parameters[0].Value:=copy(virtualtable1['typeio'],2,2)+'%'; form11.qio.Open; form11.qio.First; for lop:=1 to form11.qio.RecordCount do begin iokd:=iokd+''''+form11.qio['kd_obat']+''''+','; form11.qio.Next; end; probat:=copy(iokd,1,length(iokd)); form11.qio.Close; form11.qio.SQL.clear; form11.qio.SQL.Add('Select kd_obat from rule '+ ' where kd_variabel not in ('+virtualtable1['typeio']+') '+ ' and kd_obat not in('+probat+') group by kd_obat'); //qio.Parameters[0].Value:=copy(virtualtable1['typeio'],2,2)+'%'; form11.qio.Open; //ambil kode obat io form11.qio.First; for lop:=1 to form11.qio.RecordCount do begin iokd:=iokd+''''+form11.qio['kd_obat']+''''+','; form11.qio.Next; end; aiokd:=copy(iokd,1,length(iokd)); end; form11.Qindi.First; for lpkon:=1 to form11.Qindi.RecordCount do begin
212
{ qupakhir.Close; qupakhir.SQL.Clear; qupakhir.SQL.Add('Insert into lokasi values(:a,:b)'); qupakhir.Parameters[0].Value:=qindi['kd_obat']; qupakhir.Parameters[1].Value:=''; } form11.VAkhir.Append; form11.VAkhir['kd_obat']:=form11.Qindi['kd_obat']; form11.VAkhir['namaobat']:=form11.Qindi['nama_obat']; // vakhir['lokasitabel']:=','; form11.VAkhir.Post; form11.Qindi.Next; end; form11.VAkhir.First; For lpkon:=1 to form11.VAkhir.RecordCount do begin vada; if form11.QKontraindi.Active = true then begin form11.Vkontra.Close; form11.Vkontra.Assign(form11.QKontraindi); form11.Vkontra.Open; form11.Vkontra.Filtered:=false; form11.vkontra.Filter:='Kd_obat ='''+form11.VAkhir['kd_obat']; form11.Vkontra.Filtered:=true; if form11.Vkontra.RecordCount < 1 then begin lokasitbl:='Not in kontra indikasi '+','+form11.VAkhir['lokasitabel']; form11.VAkhir.Edit; form11.VAkhir['lokasitabel']:=copy(lokasitbl,1,length(lokasitbl)-1); form11.VAkhir.Post; end; // else // vdel; end; if form11.qio.Active = true then begin form11.Vkontra.Close; form11.Vkontra.Assign(form11.qio); form11.Vkontra.Open; form11.Vkontra.Filtered:=false; form11.Vkontra.Filter:='Kd_obat ='''+form11.VAkhir['kd_obat']; form11.Vkontra.Filtered:=true; if form11.Vkontra.RecordCount < 1 then begin lokasitbl:='Not in interaksi obat '+','+form11.VAkhir['lokasitabel'];
213
form11.VAkhir.Edit; form11.VAkhir['lokasitabel']:=copy(lokasitbl,1,length(lokasitbl)-1); form11.VAkhir.Post; end; // else // vdel; end; if form11.Qpr.Active = true then begin form11.Vkontra.Close; form11.Vkontra.Assign(form11.Qpr); form11.Vkontra.Open; form11.Vkontra.Filtered:=false; form11.Vkontra.Filter:='Kd_obat ='''+form11.VAkhir['kd_obat']; form11.Vkontra.Filtered:=true; if form11.Vkontra.RecordCount < 1 then begin lokasitbl:='not in perhatian '+','+form11.VAkhir['lokasitabel']; form11.VAkhir.Edit; form11.VAkhir['lokasitabel']:=copy(lokasitbl,1,length(lokasitbl)-1); form11.VAkhir.Post; end; // else // vdel; end; lokasitbl:=copy(form11.VAkhir['lokasitabel'],1,length(form11.VAkhir['lokasitabel'])-1); form11.VAkhir.Edit; form11.VAkhir['lokasitabel']:=lokasitbl; form11.VAkhir.Next; //showmessage(''); end; end; //=================================================== procedure TForm2.VAkhirCalcFields(DataSet: TDataSet); begin // vakhir['lokasitabel']:=copy(vakhir['lokasitabel'],1,length(vakhir['lokasitabel'])-1); end; procedure TForm2.Button6Click(Sender: TObject); begin form9.Show;
214
end; procedure TForm2.Button8Click(Sender: TObject); begin FORM11.Show; end; procedure TForm2.Button9Click(Sender: TObject); begin form12.Show end; end.
215
4.3
Implementasi Program Aplikasi Sistem Pakar Pemilihan Obat Yang Aman dan Tepat
4.3.1
Form Awal Konsultasi Pada pengujian pertama ini penulis mencoba melakukan pengujian pemilihan
Obat Yang tepat dan aman, pada pengujian ini penulis mencoba untuk memasukan premis pada tiap variabelnya.
216
4.3.2
Gambar 5.27 Form Input Indikasi (imp2) 4.3.3 Form Input Kontra Indikasi
217
4.3.4
Gambar 5.28 Form Input Kontra Indikasi (imp3) Form Input Perhatian
218
4.3.5
219
4.3.6
220
4.3.7
Hasil Pencarian
Gambar 5.32 Form Hasil Pencarian (imp7) Outputnya Adalah: 1) Obat Yang Aman: Alupent Aminophylinum Asmabet Asmadex Astherin Meptin Air Meptin Nairet Proventol Expectoran Pulmobron
221
Bambec Berodual Berotec Bintasma Brasmatic Bricasma Expectorant Bricasma dengan Nebuhaler Bronchophyllin Brondilex Bronsolvan Cariamyl Clenil Clenil Compositum Combivent Dilatamol Etaphyllin Forasma Inflamide Inolin Intal5 Ipradol Kalbron
Retaphyl SR Salbron / Salbron Expectorant Salbuven Espectorant Sedakter Spiropent Suprasma Symbicort Tabas Teosal Terasma / Terasma Expectoran Theobron Theochodil Tilade Mint Tismalin
222
2) Obat Tidak Aman (Bila konsumsi terpaksa dilakukan dengan syarat dalam pengawasan atau konsultasi terlebih dahulu kepada Dokter dengan permasalahan pada riwayat obat lain dengan variabel Interaksi Obat) -` Accolate 3) Obat Tidak Aman (Bila konsumsi terpaksa dilakukan dengan syarat dalam pengawasan atau konsultasi terlebih dahulu kepada Dokter dengan permasalahan pada riwayat penyakit lain dengan variabel Perhatian) Asmacare Azmacon Fartolin Fartolin Expectorant Glisend Lasal Lasal Expectorant Lasmalin Librentin Salbuven Ventab Volmax Venterol
4) Obat Tidak Aman (Dilarang keras dalam kegiatan Konsumsinya) Asmano Asma Solon Asthma Soho Ephedrin HCI Neo Dilakris Neo Napacin Prinasma
223
5) Obat Yang Aman dan Tepat pada Ketiga Premis Indikasi nya Alupent Asmabet Astherin Bintasma Brasmatic Bricasma dengan Nebuhaler Etaphyllin Forasma Inflamide Meptin Nairet Pulmobron Salbron / Salbron Expectorant
224
4.3.7
225