daftar pustakadaftar pustaka amin, widjaja tunggal, drs, 2000, dasar analisis laporan...

23
DAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar-Dasar Analisis Laporan Keuangan, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar Sistem Pakar, Edisi Pertama, Andi Offset Yogyakarta Djarwanto, Ps, 2001, Pokok-Pokok Analisa Laporan Keuangan, Cetakan ke delapan, BPFE, Yogyakarta Giarattano, J. & Riley, G., 1994, Expert System Principles and Programming, PWS Publishing Company, Boston Jumingan, Drs, 2006, Analisis Laporan Keuangan, Cetakan Pertama, Bumi Aksara, Jakarta Universitas Sumatera Utara

Upload: others

Post on 01-Sep-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

DAFTAR PUSTAKA

Amin, Widjaja Tunggal, Drs, 2000, Dasar-Dasar Analisis Laporan Keuangan,

Cetakan Pertama, Rineka Cipta, Jakarta

Arhami, Muhammad, 2005, Konsep Dasar Sistem Pakar, Edisi Pertama, Andi Offset

Yogyakarta

Djarwanto, Ps, 2001, Pokok-Pokok Analisa Laporan Keuangan, Cetakan ke delapan,

BPFE, Yogyakarta

Giarattano, J. & Riley, G., 1994, Expert System Principles and Programming, PWS

Publishing Company, Boston

Jumingan, Drs, 2006, Analisis Laporan Keuangan, Cetakan Pertama, Bumi Aksara,

Jakarta

Universitas Sumatera Utara

Page 2: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

Kusrini, 2006, Sistem Pakar Teori dan Aplikasi, Edisi Pertama, Andi Offset,

Yogyakarta

Kusrini, 2008, Aplikasi Sistem Pakar Menentukan Faktor Kepastian Pengguna

dengan Metode Kuantifikasi Pertanyaan, Andi Offset, Yogyakarta

Kusumadewi, Sri, 2003, Artificial Intelligence Teknik dan Aplikasinya, Edisi

Pertama, Graha Ilmu, Yogyakarta

Kuswadi, MBA, Ir, 2004, Memahami Angka-Angka Dan Manajemen Keuangan Bagi

Orang Awam, Elex Media Komputindo, Jakarta

Kuswadi, Son, 2007, Kendali Cerdas Teori dan Aplikasi Praktisnya, Edisi Satu, Andi

Offset, Yogyakarta

Martin, J & Oxman, S., 1988, Building Expert Systems a tutorial, Prentice Hall, New

Jersey

Suparman dan Marlan, 2007, Komputer Masa Depan, Edisi Pertama, Andi Offset,

Yogyakarta

Syamsuddin, Lukman Drs, 2007, Manajemen Keuangan Perusahaan : Konsep

Aplikasi Dalam Perencanaan, Pengawasan dan Pengambilan Keputusan,

Edisi Sembilan, PT. Raja Grafindo Persada, Jakarta

Turban, E., 1995, 1995, Decision Support System and Expert Systems, Prentice Hall

Internation Inc., USA

DDL DATABASE

CREATE GENERATOR "IDPARAMETER"; CREATE GENERATOR "IDBADRATIO"; CREATE GENERATOR "IDSYARATLAIN"; CREATE GENERATOR "IDKONDISI"; CREATE GENERATOR "IDRULE"; CREATE GENERATOR "IDRULEKEUTDKSEHAT"; SET GENERATOR IDPARAMETER TO 0; SET GENERATOR IDBADRATIO TO 0; SET GENERATOR IDSYARATLAIN TO O; SET GENERATOR IDKONDISI TO 0; SET GENERATOR IDRULE TO 0; SET GENERATOR IDRULEKEUTDKSEHAT TO 0; /* Table: PENGGUNA, Owner: SYSDBA */ CREATE TABLE "PENGGUNA" (

Universitas Sumatera Utara

Page 3: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

"IDPENGGUNA" INTEGER NOT NULL, "NAMA" VARCHAR(30) NOT NULL, "SANDI" VARCHAR(10) NOT NULL, "AKSES" VARCHAR(20) NOT NULL, PRIMARY KEY ("IDPENGGUNA") ); /* Table: PARAMETERRATIO, Owner: SYSDBA */ CREATE TABLE "PARAMETERRATIO" ( "NOPARAMETER" INTEGER NOT NULL, "NAMA" VARCHAR(80) NOT NULL, PRIMARY KEY ("NOPARAMETER") ); /* Table: BADRATIO, Owner: SYSDBA */ CREATE TABLE "BADRATIO" ( "NORATIO" INTEGER NOT NULL, "NAMARATIO" VARCHAR(60) NOT NULL, PRIMARY KEY ("NORATIO") ); /* Table: SYARATLAIN, Owner: SYSDBA */ CREATE TABLE "SYARATLAIN" ( "NOLAIN" INTEGER NOT NULL, "NAMALAIN" VARCHAR(50) NOT NULL, PRIMARY KEY ("NOLAIN") ); /* Table: KEUTDKSEHAT, Owner: SYSDBA */ CREATE TABLE "KEUTDKSEHAT" ( "NOKONDISI" INTEGER NOT NULL, "NAMAKONDISI" VARCHAR(30) NOT NULL, PRIMARY KEY ("NOKONDISI") ); /* Table: DETAIL_RULEBADRATIO, Owner: SYSDBA */ CREATE TABLE "DETAIL_RULEBADRATIO" ( "IDRULE" INTEGER NOT NULL, "OP_RULE" INTEGER NOT NULL, "IDPARAMETER" INTEGER NOT NULL ); /* Table: RULEKEUTDKSEHAT, Owner: SYSDBA */ CREATE TABLE "RULEKEUTDKSEHAT" ( "NOATURAN" INTEGER NOT NULL, "NOKONDISI" INTEGER NOT NULL,

Universitas Sumatera Utara

Page 4: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

"CFKONDISI" FLOAT NOT NULL, PRIMARY KEY ("NOATURAN") ); /* Table: CEKKEUTDKSEHAT, Owner: SYSDBA */ CREATE TABLE "CEKKEUTDKSEHAT" ( "NOATURAN" INTEGER NOT NULL, "CFFINAL" FLOAT NOT NULL, "NAMAKONDISI" VARCHAR(30) NOT NULL, PRIMARY KEY ("NOATURAN") ); /* Table: CEKPARAMETER, Owner: SYSDBA */ CREATE TABLE "CEKPARAMETER" ( "IDRULE" INTEGER NOT NULL, "OP_RULE" INTEGER NOT NULL, "IDPARAMETER" INTEGER NOT NULL, "JAWABAN" INTEGER NOT NULL ); /* Table: CEKRATIO, Owner: SYSDBA */ CREATE TABLE "CEKRATIO" ( "NORASIO" INTEGER NOT NULL, "HASIL" FLOAT NOT NULL, "NOATURAN" INTEGER NOT NULL, "OP_RULE" INTEGER NOT NULL, PRIMARY KEY ("NORASIO") ); /* Table: CEKSYRTLAIN, Owner: SYSDBA */ CREATE TABLE "CEKSYRTLAIN" ( "NOLAIN" INTEGER NOT NULL, "JAWABAN" FLOAT NOT NULL, "NOATURAN" INTEGER NOT NULL, "OP_RULE" INTEGER NOT NULL, PRIMARY KEY ("NOLAIN") ); /* Table: DETAIL1_RULEKEUTDKSEHAT, Owner: SYSDBA */ CREATE TABLE "DETAIL1_RULEKEUTDKSEHAT" ( "NOATURAN" INTEGER NOT NULL, "OP_RULE" INTEGER NOT NULL, "NORATIO" INTEGER NOT NULL ); /* Table: DETAIL2_RULEKEUTDKSEHAT, Owner: SYSDBA */ CREATE TABLE "DETAIL2_RULEKEUTDKSEHAT"

Universitas Sumatera Utara

Page 5: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

( "NOATURAN" INTEGER NOT NULL, "OP_RULE" INTEGER NOT NULL, "NOSYARATLAIN" INTEGER NOT NULL ); /* Table: RULEBADRATIO, Owner: SYSDBA */ CREATE TABLE "RULEBADRATIO" ( "IDRULE" INTEGER NOT NULL, "IDRATIO" INTEGER NOT NULL, "CFRATIO" FLOAT NOT NULL, PRIMARY KEY ("IDRULE") );

LIST PROGRAM

Form Login unit ULogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls, IBQuery, DB, IBCustomDataSet, IBTable, IBDatabase; type TFSpanike = class(TForm) Shape1: TShape; Shape2: TShape; Label1: TLabel;

Universitas Sumatera Utara

Page 6: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

Label2: TLabel; Edit1: TEdit; Label3: TLabel; Edit2: TEdit; MonthCalendar1: TMonthCalendar; Shape3: TShape; BitBtn1: TBitBtn; BitBtn2: TBitBtn; Label4: TLabel; IBDatabase1: TIBDatabase; IBTransaction1: TIBTransaction; IBTable1: TIBTable; DataSource1: TDataSource; IBQuery1: TIBQuery; Image1: TImage; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var FSpanike: TFSpanike; implementation uses UUtama; {$R *.dfm} procedure TFSpanike.BitBtn2Click(Sender: TObject); begin application.Terminate; end; procedure TFSpanike.BitBtn1Click(Sender: TObject); begin if edit1.Text='' then begin messagedlg('User belum diisi',mtError,[mbOk],0); edit1.SetFocus; exit; end; if edit2.Text='' then begin messagedlg('Password belum diisi',mtError,[mbOK],0); edit2.SetFocus; exit; end;

Universitas Sumatera Utara

Page 7: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

with IBQuery1 do begin close; SQL.Clear;

SQL.Add('select akses from pengguna where nama=:nama and sandi=:sandi');

Parambyname('Nama').AsString:=edit1.Text; Parambyname('Sandi').AsString:=edit2.Text; open;

If Isempty then begin

messagedlg('User atau password belum terdaftar',mtError,[mbOK],0);

edit1.SetFocus; exit; end;

if fields[0].AsString='ADMIN' then begin

Futama.Show; FUtama.Menu:=futama.MmAdmin; end

else if fields[0].AsString='PAKAR' then begin Futama.Show; fUtama.Menu:=futama.MmPakar end

else begin Futama.Show; futama.Menu:=futama.MmPengguna; end; end; end;

procedure TFSpanike.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin if sender=edit1 then edit2.SetFocus; end; end; end.

Form Manajemen Pengguna unit UPengguna; interface

Universitas Sumatera Utara

Page 8: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Grids, DBGrids, StdCtrls, Buttons, DB, IBDatabase, IBQuery, IBCustomDataSet, IBTable; type TFPengguna = class(TForm) DBGrid1: TDBGrid; Panel1: TPanel; IBTable1: TIBTable; IBQuery1: TIBQuery; IBDatabase1: TIBDatabase; IBTransaction1: TIBTransaction; DataSource1: TDataSource; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Image1: TImage; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; ComboBox1: TComboBox; Bevel1: TBevel; BitBtn4: TBitBtn; BitBtn5: TBitBtn; procedure BitBtn1Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FPengguna: TFPengguna; implementation uses UDM; {$R *.dfm}

Universitas Sumatera Utara

Page 9: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

procedure TFPengguna.BitBtn1Click(Sender: TObject); begin

groupbox1.Visible:=true; end; procedure TFPengguna.BitBtn5Click(Sender: TObject); begin

groupbox1.Visible:=false; end; procedure TFPengguna.BitBtn4Click(Sender: TObject); begin if (edit1.Text='')or(edit2.Text='')or (edit3.Text='')or (combobox1.Text='')then begin showmessage('Data masih ada yang kosong'); end else

DM.IBTable1.Insert; DM.IBTable1['IDPengguna']:=edit1.Text; DM.IBTable1['Nama']:=edit2.Text; DM.IBTable1['Sandi']:=edit3.Text; DM.IBTable1['Akses']:=combobox1.Text; DM.IBTable1.Post;

if DM.IBTransaction1.InTransaction and (messagedlg('Simpan data pengguna baru?',mtConfirmation,[mbYes,mbNo],0)=mrYes) then begin

DM.IBTransaction1.Commit; DM.IBTransaction1.Active:=true; DM.IBTable1.Open;

end else messagedlg('Perubahan tidak disimpan ke database',mtError,[mbOK],0); DM.IBTransaction1.Rollback; DM.IBTable1.Open;

end; procedure TFPengguna.BitBtn2Click(Sender: TObject); begin

groupbox1.Visible:=true; edit1.Text:=DM.IBTable1.Fields[0].AsString; edit2.Text:=DM.IBTable1.Fields[1].AsString; edit3.Text:=DM.IBTable1.Fields[2].AsString; combobox1.Text:=DM.IBTable1.Fields[3].AsString;

end; procedure TFPengguna.BitBtn3Click(Sender: TObject); begin

DM.IBTable1.Delete; end;

Universitas Sumatera Utara

Page 10: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

end.

Form Data Dasar unit UParameterRasio; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, IBTable, IBDatabase, IBCustomDataSet, IBQuery, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, ComCtrls; type TFDataDasar = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; TabSheet4: TTabSheet; Label1: TLabel; edParameter: TEdit; BitBtn1: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; Label2: TLabel; EdRatio: TEdit; DBGrid2: TDBGrid; BitBtn5: TBitBtn; BitBtn7: TBitBtn; BitBtn8: TBitBtn; Label3: TLabel; EdSyaratLain: TEdit; Label4: TLabel; EdKondisi: TEdit; BitBtn11: TBitBtn; BitBtn12: TBitBtn; DBGrid3: TDBGrid; DBGrid4: TDBGrid; BitBtn13: TBitBtn; BitBtn14: TBitBtn; BitBtn15: TBitBtn; BitBtn9: TBitBtn; DBGrid1: TDBGrid; Shape1: TShape; Shape2: TShape; BitBtn2: TBitBtn; BitBtn6: TBitBtn; Shape3: TShape; Shape4: TShape; BitBtn10: TBitBtn; BitBtn16: TBitBtn; procedure BitBtn4Click(Sender: TObject); procedure BitBtn8Click(Sender: TObject);

Universitas Sumatera Utara

Page 11: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

procedure BitBtn12Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn7Click(Sender: TObject); procedure BitBtn9Click(Sender: TObject); procedure BitBtn11Click(Sender: TObject); procedure BitBtn15Click(Sender: TObject); procedure BitBtn14Click(Sender: TObject); procedure BitBtn13Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FDataDasar: TFDataDasar; implementation uses UDM, UEdParameterRasio; {$R *.dfm} {Membersihkan Isian edit Parameter} procedure TFDataDasar.BitBtn4Click(Sender: TObject);

begin

edParameter.Text:='';

end;

{Menambah Data Parameter ke Dalam Table ParameterRasio} procedure TFDataDasar.BitBtn1Click(Sender: TObject);

begin

if edParameter.Text='' then begin

messagedlg('Nama parameter harus diisi

dulu!',mtInformation,[mbOk],0);

exit;

end;

with DM.IBQuery2 do begin

Close;

SQL.Clear;

SQL.Add('Insert into ParameterRatio(NoParameter,Nama)'+

'values(gen_id(IDParameter,1),:nama)');

Parambyname('Nama').AsString:=edParameter.Text;

Open;

DM.IBTransaction1.Active:=TRUE;

DM.IBTransaction1.Commit;

Universitas Sumatera Utara

Page 12: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

end;

end;

{Menghapus Data Parameter dari Dalam Table ParameterRatio} procedure TFDataDasar.BitBtn3Click(Sender: TObject); begin if messagedlg('Anda yakin akan menghapus data ini?',mtConfirmation, [mbYes,mbNo],0)=mrYes then begin

with DM.IBQuery2 do begin Close; SQL.Clear; SQL.Add('Delete from ParameterRatio where nama=:nama'); Parambyname('Nama').AsString:=edParameter.Text; try

execSQL; except; DM.IBTransaction1.Rollback; Messagedlg('Penghapusan gagal dilakukan',mtError,[mbOK],0); exit; end; messagedlg('Penghapusan berhasil dilakukan!',mtConfirmation,[mbOK],0); DM.IBTransaction1.Commit; DM.IBTable2.Refresh; DM.IBTable2.Open; end; end; end; DM.IBTable5.Refresh; DM.IBTable5.Open; end; end; end; {Mengubah Data Parameter dari Dalam Tabel ParameterRatio} procedure TFDataDasar.BitBtn6Click(Sender: TObject); begin

fEdParameterRasio.show; fEdParameterRasio.Edit1.Text:=DM.IBTable2.Fields[0].AsString; fEdParameterRasio.Edit2.Text:=DM.IBTable2.Fields[1].AsString;

end; end.

Form Akuisisi Pengetahuan unit UBadRatios; interface uses

Universitas Sumatera Utara

Page 13: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls; type TFAkuisisiBadRatios = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; Bevel1: TBevel; Label1: TLabel; CbRatio: TComboBox; Label5: TLabel; edCF: TEdit; GroupBox1: TGroupBox; Label3: TLabel; CbLogika: TComboBox; Label4: TLabel; CbParameter: TComboBox; Label6: TLabel; bbMasukkanAturan: TBitBtn; edIDRatio: TEdit; edOperator: TEdit; edIDParameter: TEdit; bbSimpanAturan: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; Bevel2: TBevel; BitBtn1: TBitBtn; procedure FormActivate(Sender: TObject); procedure bbMasukkanAturanClick(Sender: TObject); procedure CbLogikaClick(Sender: TObject); procedure CbParameterClick(Sender: TObject); procedure bbSimpanAturanClick(Sender: TObject); procedure CbRatioClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FAkuisisiBadRatios: TFAkuisisiBadRatios; implementation

uses UDM, ULapBadRatios;; {$R *.dfm}

{Memasukkan Daftar Nama Parameter dan BadRatios ke dalam ComboBox ketika Form diAktifkan}

Universitas Sumatera Utara

Page 14: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

procedure TFAkuisisiBadRatios.FormActivate(Sender: TObject); begin With DM.IBQuery3 do begin Close; SQL.Clear; SQL.Add('Select*from BadRatio order by noratio'); open; while not Eof do begin cbratio.Items.Add(fieldbyname('Namaratio').AsString); Next; end; end; with DM.IBQuery2 do begin close; SQL.Clear; SQL.Add('Select*from ParameterRatio order by noParameter'); open; while not Eof do begin cbparameter.Items.Add(fieldbyname('Nama').AsString); Next; end; end; end; procedureTF AkuisisiBadRatios.bbMasukkanAturanClick(Sender: TObject); begin if(cbratio.Text<>'')and(edCF.Text<>'') then begin groupbox1.Visible:=true; end else begin showmessage('Nama rasio ataupun nilai CF belum dimasukkan'); end; end; end; procedure TFAkuisisiBadRatios.CbLogikaClick(Sender: TObject); begin if cblogika.Text='JIKA' then begin edOperator.Text:='0'; end else if cblogika.Text='DAN' then begin edOperator.Text:='1'; end else if cblogika.Text='ATAU' then begin edOperator.Text:='2'; end end;

Universitas Sumatera Utara

Page 15: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

procedure TFAkuisisiBadRatios.CbParameterClick(Sender: TObject); begin

with DM.IBQuery2 do begin close; SQL.Clear; SQL.Add('Select*from ParameterRatio where Nama=:nama'); prepare; parambyname('nama').AsString:=cbParameter.Text; open; edIDParameter.Text:=fieldbyname('NoParameter').Value;;

end; end; procedure TFAkuisisiBadRatios.bbSimpanAturanClick(Sender: TObject); begin with DM.IBQuery3 do begin Close; SQL.Clear; SQL.Add('Insert into RuleBadRatio(IDRule,IDRatio,CFRatio)'+ 'values(gen_id(IDRule,1),:IDRatio,:CF)'); Parambyname('IDRatio').AsInteger:=strtoint(edIDRatio.Text); Parambyname('CF').AsFloat:=strtofloat(edCF.Text); Open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit; end; with DM.IBQuery3 do begin Close; SQL.Clear; SQL.Add('Insert into Detail_RuleBadRatio(IDRule,Op_Rule,IDParameter)'+ 'values(:IDRule,:Op_Rule,:IDParameter)'); Parambyname('IDRule').AsInteger:=strtoint(edIDRatio.Text); Parambyname('Op_Rule').AsInteger:=strtoint(edOperator.Text); Parambyname('IDParameter').AsInteger:=strtoint(edIDParameter.text); Open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit; end; groupbox1.Visible:=false; end; procedure TFAkuisisiBadRatios.CbRatioClick(Sender: TObject); begin

with DM.IBQuery3 do begin close; SQL.Clear; SQL.Add('Select*from BadRatio where Namaratio=:nama'); prepare; parambyname('nama').AsString:=cbratio.Text; open;

Universitas Sumatera Utara

Page 16: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

edIDRatio.Text:=fieldbyname('NoRatio').Value;; end;

end; procedure TFAkuisisiBadRatios.BitBtn1Click(Sender: TObject); begin fLapBadRatios.show; end; end.

Form Konsultasi unit UUnsatisfied; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, IBDatabase, DB, IBCustomDataSet, IBTable, IBQuery, Grids, DBGrids; type TfKonsultasi = class(TForm) GroupBox3: TGroupBox; Memo1: TMemo; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; BbBerikutnya: TBitBtn; GroupBox2: TGroupBox; edNo: TEdit; MemoKonsultasi: TMemo; RadioGroup1: TRadioGroup; bbOK: TBitBtn; bbNEXT: TBitBtn; BitBtn1: TBitBtn; Panel1: TPanel; Label1: TLabel; Edit2: TEdit; bbSaveSyarat: TBitBtn; Label4: TLabel; GbKesimpulan: TGroupBox; DBGrid1: TDBGrid; procedure FormActivate(Sender: TObject); procedure bbNEXTClick(Sender: TObject); procedure RadioGroup1Click(Sender: TObject);

Universitas Sumatera Utara

Page 17: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

procedure BitBtn1Click(Sender: TObject); procedure CariParameter; procedure bbOKClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure SimpanJwbn; procedure CariSyaratLain; procedure SimpanSyaratLain; procedure BbBerikutnyaClick(Sender: TObject); procedure bbSaveSyaratClick(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); private { Private declarations } public { Public declarations } end; var fKonsultasi: TfKonsultasi; IDRule,Op_Rule,Jawaban,i,No,NoAturan,Operator:integer; Answer:real; a:array of real; implementation uses UDM; {$R *.dfm} procedure TFkonsultasi.CariParameter; begin with DM.IBQuery2 do begin

Close; SQL.Clear; SQL.Add('select D.*, P.NAMA '+ 'from Detail_RuleBadRatio D, ParameterRatio P '+ 'where D.IDPARAMETER=P.NOPARAMETER and IDParameter=:ID order by D.IDRULE'); Parambyname('ID').AsInteger:=i; Open; IDRule:=fieldbyname('IDRule').asinteger; Op_Rule:=fieldbyname('Op_Rule').AsInteger; edNo.Text:=inttostr(fieldbyname('IDParameter').asinteger); memokonsultasi.Lines.Clear; memokonsultasi.Lines.Add('Apakah'+' '+ fieldbyname('Nama').AsString+'?');

end; end; procedure TFKonsultasi.CariSyaratLain;

Universitas Sumatera Utara

Page 18: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

begin with DM.IBQuery4 do begin SQL.Clear; SQL.Add('select D.*, S.NamaLain '+ 'from Detail2_RuleKeuTdkSehat D, SyaratLain S '+ 'where D.NoSyaratLain=S.NoLain and NoSyaratLain=:No order by NoLain'); Parambyname('No').AsInteger:=No; Open; NoAturan:=fieldbyname('NoAturan').asinteger; Operator:=fieldbyname('Op_Rule').asinteger; label4.Caption:=inttostr(fieldbyname('NoSyaratLain').AsInteger

); memo1.Lines.Clear; memo1.Lines.add('Apakah'+' '+fieldbyname('NamaLain').AsString+'?'); end; end; procedure TFkonsultasi.SimpanJwbn; begin

with DM.IBQuery8 do begin Close; SQL.Clear; SQL.Add('Insert into CekParameter(IDRule,Op_Rule,IDParameter,Jawaban)'+

'values(:ID,:Op_Rule,:IDParameter,:Jawaban)'); Parambyname('ID').AsInteger:=IDRule;

Parambyname('Op_Rule').AsInteger:=Op_Rule; Parambyname('IDParameter').AsInteger:=strtoint(edNo.Text); Parambyname('Jawaban').AsInteger:=Jawaban;

Open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit; end; bbOK.Enabled:=false; bbNext.Enabled:=true;

end; procedure TFkonsultasi.SimpanSyaratLain; begin

if radiobutton1.Checked=true then begin Answer:=(1)*(strtofloat(edit2.text)); end else if radiobutton2.Checked=true then begin answer:=strtofloat(edit2.Text); end else if radiobutton3.Checked=true then begin Answer:=(-1)*(strtofloat(edit2.text)); end;

with DM.IBQuery13 do begin Close; SQL.Clear;

Universitas Sumatera Utara

Page 19: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

SQL.Add('Insert into CekSyrtLain(NoLain,Jawaban,NoAturan,Op_Rule)'+

'values(:NoLain,:Jawaban,:NoAturan,:Op_Rule)'); Parambyname('NoLain').AsInteger:=strtoint(label4.Caption); Parambyname('Jawaban').AsFloat:=Answer; Parambyname('NoAturan').AsInteger:=NoAturan; Parambyname('Op_Rule').AsInteger:=Operator; Open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit;

end; bbBerikutnya.Enabled:=true; end; procedure TfKonsultasi.FormActivate(Sender: TObject); begin

i:=1; CariParameter;

end; procedure TfKonsultasi.bbNEXTClick(Sender: TObject); begin

inc(i); CariParameter; bbNext.Enabled:=false; bbOK.Enabled:=true;

end; procedure TfKonsultasi.RadioGroup1Click(Sender: TObject); begin case Radiogroup1.ItemIndex of

0:Jawaban:=1; 1:Jawaban:=0; 2:Jawaban:=-1;

end; end;

{Menghapus isi tabel yang digunakan pada saat inferensi} procedure TfKonsultasi.BitBtn1Click(Sender: TObject); begin with DM.IBQuery8 do begin Close; SQL.Clear; SQL.Add('Delete from CekParameter'); Open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit; end;

Universitas Sumatera Utara

Page 20: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

with DM.IBQuery12 do begin close; SQL.Clear; SQL.Add('Delete from CekRatio'); open; DM.IBTransaction1.Active:=True; DM.IBTransaction1.Commit; end; with DM.IBQuery13 do begin close; SQL.Clear; SQL.Add('Delete from CekSyrtLain'); open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit; end; with DM.IBQuery6 do begin close; SQL.Clear; SQL.Add('Delete from CekKeuTdkSehat'); open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit; end; i:=1; CariParameter; bbOK.Enabled:=true; end; procedure TfKonsultasi.bbOKClick(Sender: TObject); var ID,IDRatio,CFUser,NoAturan,Op_Rule:integer; CFPakar,hasil:real; begin No:=1; SimpanJwbn; if edno.Text='20' then begin bbnext.Enabled:=false; edNo.Text:=''; memokonsultasi.Text:=''; messagedlg('Lanjutkan ke tes syarat lain',mtConfirmation,[mbOk],0); for ID:=1 to 10 do begin with DM.IBQuery8 do begin close; SQL.Clear; SQl.Add('select min(jawaban)as CFUser from CekParameter where IDRule=:ID'); Parambyname('ID').AsInteger:=ID; open; CFUser:=fieldvalues['CFUser'];

Universitas Sumatera Utara

Page 21: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

with DM.IBQuery3 do begin SQL.Clear; SQL.Add('select R.IDRatio, R.CFRatio, D.NoAturan, D.Op_Rule '+ 'from Rulebadratio R, Detail1_RuleKeuTdkSehat D '+ 'where R.IDRatio=D.NoRatio and R.IDRule=:ID'); Parambyname('ID').AsInteger:=ID; open; IDRatio:=fieldvalues['IDRatio']; CFPakar:=fieldvalues['CFRatio']; NoAturan:=fieldvalues['NoAturan']; Op_Rule:=fieldvalues['Op_Rule']; Hasil:=CFUser*CFPakar; with DM.IBQuery12 do begin Close; SQL.Clear; SQL.Add('insert into CEKRATIO(Norasio,hasil,NoAturan,Op_Rule)'+ 'values(:NoRasio,:Hasil,:NoAturan,:Op_Rule)'); Parambyname('NoRasio').AsInteger:=IDRatio; Parambyname('Hasil').AsFloat:=Hasil; Parambyname('NoAturan').AsInteger:=NoAturan; Parambyname('Op_Rule').AsInteger:=Op_Rule; open; DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit; bbOK.Enabled:=false; bbNext.Enabled:=false; groupbox3.Visible:=true; No:=1; CariSyaratLain; end; end; end; end; end; end; procedure TfKonsultasi.FormCreate(Sender: TObject); begin bbnext.Enabled:=false; end; procedure TfKonsultasi.BbBerikutnyaClick(Sender: TObject); begin inc(No); CariSyaratLain; end; procedure TfKonsultasi.bbSaveSyaratClick(Sender: TObject); var y,rule:integer; hasilmax,CFfinal,CFHslSementara,CFKondisi:real; NamaKondisi:string;

Universitas Sumatera Utara

Page 22: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

begin if (edit2.Text='')then begin showmessage('Nilai CF masih kosong!'); end else SimpanSyaratLain; edit2.Clear; radiobutton1.Checked:=false; radiobutton2.Checked:=false; radiobutton3.Checked:=false; if label4.Caption='8' then begin showmessage ('SELESAI'); bbBerikutnya.Enabled:=false; for rule:=1 to 3 do

With DM.IBQuery5 do begin close; SQL.clear;

SQL.Add('select namakondisi from KeuTdkSehat where NoKondisi=:No');

Parambyname('No').AsInteger:=rule; open; NamaKondisi:=fieldvalues['NamaKondisi'];

with DM.IBQuery12 do begin Close; SQL.Clear; SQL.Add('select max(hasil) as hasilmax from CekRatio where Noaturan=:Rule'); Parambyname('Rule').AsInteger:=rule; open; Hasilmax:=fieldvalues['Hasilmax'];

with DM.IBQuery13 do begin close; sql.Clear; sql.Add('select C.*, R.CFKondisi '+ 'from CekSyrtLain C, RuleKeuTdkSehat R '+

'where C.Noaturan=R.NoAturan and Noaturan=:NoAturan order by Noaturan');

Parambyname('NoAturan').AsInteger:=Rule; open; CFKondisi:=Fieldvalues['CFKondisi']; first; while not eof do begin next; setlength(a,Recordcount); First; for y:=1 to Recordcount do begin a[y-1]:=fieldbyname('Jawaban').AsFloat; Next; end; CFHslSementara:=hasilmax; for y:=1 to recordcount do

Universitas Sumatera Utara

Page 23: DAFTAR PUSTAKADAFTAR PUSTAKA Amin, Widjaja Tunggal, Drs, 2000, Dasar Analisis Laporan KeuanganDasar-, Cetakan Pertama, Rineka Cipta, Jakarta Arhami, Muhammad, 2005, Konsep Dasar

if CFHslSementara>a[y-1] then CFHslSementara:=a[y-1]; CFFinal:=CFHslSementara*CFKondisi; with DM.IBQuery6 do close; SQL.Clear; SQL.Add('insert into CEKKEUTDKSEHAT(NoAturan,NamaKondisi,CFFinal)'+ 'values (:NoAturan,:NamaKondisi,:CFFinal)'); Parambyname('NoAturan').AsInteger:=Rule; Parambyname('NamaKondisi').AsString:=NamaKondisi; Parambyname('CFFinal').AsFloat:=CFFinal; open; DM.IBTransaction1.Active:=true; DM.IBTransaction1.Commit; DM.IBTable6.Close; DM.IBTable6.Open; dbgrid1.Visible:=true; end; end; end; end; end; end; procedure TfKonsultasi.RadioButton2Click(Sender: TObject); begin edit2.Text:='0'; end;

{Perintah agar latar dbgrid berwarna merah jika CF Final>0} procedure TfKonsultasi.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if not (gdfocused in state) then begin if DM.Ibtable6.fieldbyname('CFFinal').asfloat>0 then dbgrid1.Canvas.Brush.Color:=clred; dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; end.

Universitas Sumatera Utara