• Tidak ada hasil yang ditemukan

B. SOURCE CODE

2. Unit Kriteria

end;

end;

procedure TFAdd.closeClick(Sender: TObject);

begin

closemodal;

end;

procedure TFAdd.edanChange(Sender: TObject);

begin

cbdensity.Enabled:=true;

cbdensity.Color:=clWindow;

end;

procedure TFAdd.ednoidChange(Sender: TObject);

begin

edan.Enabled:=true;

edan.Color:=clwindow;

end;

procedure TFAdd.FormClose(Sender: TObject; var Action:

TCloseAction);

begin

action:=cafree;

end;

procedure TFAdd.FormCreate(Sender: TObject);

begin

fadd.Width:=417;

fadd.Height:=493;

ADOQNilaiHandak.Active:=false;

ADOQNilaiHandak.SQL.Clear;

ADOQNilaiHandak.SQL.Add('SELECT * from nilai_handak order by id_alternatif');

ADOQNilaiHandak.Active:=true;

while not ADOQNilaiHandak.Eof do begin

CBhandak.AddItem(ADOQNilaiHandak.fieldbyname('id_alternatif').Val ue,Self);

ADOQNilaiHandak.Next;

end;

ednoid.Text:='';

edan.Text:='';

cbdensity.Text:='---Choose Density---';

end;

end.

ImgList, DB, ADODB, RpRender, RpRenderPDF, RpCon, RpConDS, RpDefine, RpRave;

type

TFEditKriteria = class(TForm) ImageList1: TImageList;

ADOConn:TADOConnection;

pnlkriteria: TPanel;

labeljudul: TLabel;

DBCri1: TDBGrid;

PanelKriteria: TPanel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

namakriteria: TLabel;

cbcriteria: TComboBox;

cbtipe: TComboBox;

edbobot: TEdit;

edgaus: TEdit;

edind: TEdit;

edpre: TEdit;

btnsave1: TButton;

btnedit: TButton;

btnclose: TButton;

ADOQKriteria: TADOQuery;

ADOQTipe: TADOQuery;

ADOQGrid: TADOQuery;

DsGrid: TDataSource;

pnlfragmen: TPanel;

Label1: TLabel;

Bevel1: TBevel;

lblrumus: TLabel;

Pembilang: TLabel;

per1: TLabel;

per2: TLabel;

per3: TLabel;

Penyebut: TLabel;

pangkat: TLabel;

Kurung: TLabel;

Memo1: TMemo;

GroupBox1: TGroupBox;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

edrmd: TEdit;

edjps: TEdit;

edjpo: TEdit;

edsgi: TEdit;

edh: TEdit;

edbi: TEdit;

edrf: TEdit;

GroupBox2: TGroupBox;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

ede: TEdit;

edb: TEdit;

eds: TEdit;

edhj: TEdit;

edvhandak: TEdit;

edvoqe: TEdit;

GroupBox3: TGroupBox;

close: TButton;

btnhitung: TButton;

edx: TEdit;

Label22: TLabel;

Label23: TLabel;

edlub: TEdit;

btnclear: TButton;

GroupBox4: TGroupBox;

Label24: TLabel;

Label25: TLabel;

edv: TEdit;

ADOConnection1: TADOConnection;

procedure Grid;

procedure Clear;

procedure FormClose(Sender: TObject; var Action:

TCloseAction);

procedure btncloseClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure cbcriteriaChange(Sender: TObject);

procedure btneditClick(Sender: TObject);

procedure cbtipeChange(Sender: TObject);

procedure btnsave1Click(Sender: TObject);

procedure btnhitungClick(Sender: TObject);

procedure btnclearClick(Sender: TObject);

private

id_type:string;

{ Private declarations } public

{ Public declarations } end;

var

FEditKriteria: TFEditKriteria;

implementation

{$R *.dfm}

procedure TFEditKriteria.Clear;

begin

cbcriteria.Enabled:=true;

cbcriteria.text:='--Choose ID Criteria--';

cbtipe.enabled:=false;

cbtipe.Text:='---Choose Type---';

namakriteria.Caption:='';

edind.Enabled:=false;

edpre.Enabled:=false;

edgaus.Enabled:=false;

edbobot.Enabled:=false;

edind.Text:='0';

edpre.Text:='0';

edgaus.Text:='0';

edbobot.Text:='0';

end;

procedure TFEditKriteria.Grid;

begin

ADOQGrid.SQL.Clear;

ADOQGrid.SQL.Add('select

id_criteria,Criteria_Name,Type,p,q,g,weight from criteria,tipe where criteria.id_type=tipe.id_type order by id_criteria asc');

ADOQGrid.Active:= true;

DsGrid:=TDataSource.Create(Self);;

DsGrid.DataSet:=ADOQGrid;

DBCri1.DataSource:=DsGrid;

CBtipe.Enabled:=false;

end;

procedure TFEditKriteria.btneditClick(Sender: TObject);

begin

cbtipe.Color:=clwindow;

cbtipe.Enabled:=true;

end;

procedure TFEditKriteria.btnsave1Click(Sender: TObject);

const petik:char='''';

var query,query1:string;

begin

if cbcriteria.text='--Choose ID Criteria--' then begin

showmessage('Choose ID. Criteria!');

cbcriteria.SetFocus;

end

else if edind.Text=''then begin

MessageDlg('Fill Indifeence Treshold!', mtError, [mbOK], 0);

Edind.SetFocus;

end else

if edpre.Text='' then begin

MessageDlg('Fill Preference Treshold!', mtError, [mbOK], 0);

Edpre.SetFocus;

end else

if edgaus.Text='' then begin

MessageDlg('Fill Gaussian!', mtError, [mbOK], 0);

Edgaus.SetFocus;

end

else if edbobot.Text='' then begin

MessageDlg('Fill Bobot!', mtError, [mbOK], 0);

Edbobot.SetFocus;

end else

begin

ADOQKriteria.Active:=false;

query:='select * from criteria where ID_criteria='+cbcriteria.text;

ADOQKriteria.SQL.Clear;

ADOQKriteria.SQL.Add(query);

ADOQKriteria.Active:=true;

if cbtipe.Text='---Choose Type---' then begin

showMessage('Choose Type');

cbtipe.SetFocus;

end;

query1:='update criteria set id_type='+petik+id_type+petik+','+'

p='+petik+edind.Text+petik+','+'q='+petik+edpre.Text+petik+','+' g='+petik+edgaus.Text+petik+','+'

weight='+petik+edbobot.Text+petik+' where ID_Criteria='+cbcriteria.Text;

ADOConn.Execute(query1);

end;

clear;

cbcriteria.setfocus;

grid;

end;

procedure TFEditKriteria.btnhitungClick(Sender: TObject);

var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,t,u,v:double;

begin

if edrmd.Text='' then begin showmessage('Fill RMD Value!');edrmd.SetFocus; end

else if edjps.Text='' then begin showmessage('Fill JPS Value!');edjps.SetFocus; end

else if edjpo.Text='' then begin showmessage('Fill JPO Value!');edjpo.SetFocus;end

else if edSGI.Text='' then begin showmessage('Fill RMD Value!');edsgi.SetFocus;end

else if edh.Text='' then begin showmessage ('Fill Hardness Value!');edh.SetFocus;end

else if ede.Text='' then begin showmessage ('Fill E Value!');ede.SetFocus;end

else if edb.Text='' then begin showmessage ('Fill Burden Value!');edb.SetFocus;end

else if eds.Text='' then begin showmessage ('Fill Spacing Value!');eds.SetFocus;end

else if edhj.Text='' then begin showmessage ('Fill H Jenjang Value!');edhj.SetFocus;end

else if edvhandak.Text='' then begin showmessage ('Fill Volume Handak!');edvhandak.SetFocus;end

else if edlub.Text='' then begin showmessage ('Fill Jumlah Lubang!');edlub.SetFocus;end

else begin

a:=strtofloat(edrmd.Text);

b:=strtofloat(edjps.Text);

c:=strtofloat(edjpo.Text);

d:=strtofloat(edsgi.Text);

e:=strtofloat(edh.Text);

f:=0.5*(a+b+c+d+e);

edbi.Text:=floattostr(f);

g:=0.15*f;

edrf.Text:=floattostr(g);

h:=strtofloat(ede.Text);

i:=strtofloat(edb.Text);

j:=strtofloat(eds.Text);

k:=strtofloat(edhj.Text);

l:=strtofloat(edvhandak.Text);

t:=strtofloat(edlub.Text);

m:=i*j*k;

u:=l/t;

n:=m/u;

edvoqe.Text:=floattostr(n);

o:=h/115;

p:=g*(exp((0.8)*ln(n)))*(exp(((1/6))*ln(u)))*(exp(((1/6)-(0.8))*ln(o)));

v:=exp(3*(p));

edx.Text:=floattostr(p);

edv.Text:=floattostr(v);

edx.Font.Color:=clred;

end;

end;

procedure TFEditKriteria.btnclearClick(Sender: TObject);

begin

edrmd.Text:='';

edjps.Text:='';

edjpo.Text:='';

edsgi.Text:='';

edh.Text:='';

edbi.Text:='';

edrf.Text:='';

ede.Text:='';

edb.Text:='';

eds.Text:='';

edhj.Text:='';

edvhandak.Text:='';

edlub.Text:='';

edvoqe.Text:='';

edx.Text:='';

edv.Text:='';

end;

procedure TFEditKriteria.btncloseClick(Sender: TObject);

begin

feditkriteria.closemodal;

end;

procedure TFEditKriteria.cbcriteriaChange(Sender: TObject);

var query1,query:string;

begin

if cbcriteria.Text<>'--Choose ID Criteria--' then begin

btnedit.Enabled:=true;

query:='SELECT * from criteria where id_criteria='+cbcriteria.Text;

ADOQKriteria.Active:=false;

ADOQKriteria.SQL.Clear;

ADOQKriteria.SQL.Add(query);

ADOQKriteria.SQL.Clear;

ADOQKriteria.SQL.Add(query);

ADOQKriteria.Active:=true;

namakriteria.Caption:=ADOQKriteria.fieldbyname('criteria_name').V alue;

query1:='select * from criteria where id_criteria='+cbcriteria.Text;

ADOQKriteria.Active:=false;

ADOQKriteria.SQL.Clear;

ADOQKriteria.SQL.Add(query1);

ADOQKriteria.Active:=true;

if ADOQKriteria.RecordCount<>0 then begin

cbtipe.text:=ADOQKriteria.FieldByName('id_type').Value;

edind.Text:=ADOQKriteria.FieldByName('p').Value;

edpre.Text:=ADOQKriteria.FieldByName('q').Value;

edgaus.Text:=ADOQKriteria.FieldByName('g').Value;

edbobot.Text:=ADOQKriteria.FieldByName('weight').Value;

end;

end else begin

MessageDlg('Choose ID. Bahan Peledak!', mtError, [mbOK], 0);

end;

end;

procedure TFEditKriteria.cbtipeChange(Sender: TObject);

begin

if cbtipe.Text<>'--Choose ID Criteria--' then begin

if cbtipe.Text='biasa' then begin

edbobot.Enabled:=true;

edbobot.Color:=clwindow;

edbobot.SetFocus;

edpre.Text:='0';

edind.Text:='0';

edgaus.Text:='0';

id_type:='1';

end;

if cbtipe.Text='quasy' then begin

edbobot.Enabled:=true;

edbobot.Color:=clwindow;

edpre.Enabled:=true;

edpre.Color:=clwindow;

edind.Text:='0';

edgaus.Text:='0';

edpre.SetFocus;

id_type:='2';

end;

if cbtipe.Text='preferensi linier' then begin

edbobot.Enabled:=true;

edbobot.Color:=clwindow;

edind.Enabled:=true;

edind.Color:=clwindow;

edpre.Text:='0';

edgaus.Text:='0';

edind.SetFocus;

id_type:='3';

end;

if cbtipe.Text='level' then

begin

edbobot.Enabled:=true;

edbobot.Color:=clwindow;

edpre.Enabled:=true;

edpre.Color:=clwindow;

edind.Enabled:=true;

edind.Color:=clwindow;

edgaus.Text:='0';

edind.SetFocus;

id_type:='4';

end;

if cbtipe.Text='preferensi linier dan area yang tidak berbeda' then

begin

edbobot.Enabled:=true;

edbobot.Color:=clwindow;

edpre.Enabled:=true;

edpre.Color:=clwindow;

edind.Enabled:=true;

edind.Color:=clwindow;

edgaus.Text:='0';

edind.SetFocus;

id_type:='5';

end;

if cbtipe.Text='gaussian' then begin

edbobot.Enabled:=true;

edbobot.Color:=clwindow;

edpre.Enabled:=true;

edpre.Color:=clwindow;

edind.Enabled:=true;

edind.Color:=clwindow;

edgaus.Enabled:=true;

edgaus.Color:=clwindow;

edind.SetFocus;

id_type:='6';

end;

end;

end;

procedure TFEditKriteria.FormClose(Sender: TObject; var Action:

TCloseAction);

begin

action:=cafree;

end;

procedure TFEditKriteria.FormCreate(Sender: TObject);

begin

ADOQKriteria.Active:=false;

ADOQKriteria.SQL.Clear;

ADOQKriteria.SQL.Add('SELECT * from criteria');

ADOQKriteria.Active:=true;

while not ADOQKriteria.Eof do begin

cbcriteria.AddItem(ADOQKriteria.fieldbyname('id_criteria').Value, Self);

ADOQKriteria.Next;

end;

ADOQTipe.Active:=false;

ADOQTipe.SQL.Clear;

ADOQTipe.SQL.Add('SELECT * from tipe');

ADOQTipe.Active:=true;

while not ADOQTipe.Eof do begin

cbtipe.AddItem(ADOQTipe.fieldbyname('type').Value,Self);

ADOQTipe.Next;

end;

memo1.Lines.LoadFromFile('ket.txt');

end;

end.

Dokumen terkait