• Tidak ada hasil yang ditemukan

B. SOURCE CODE

1. Unit Add Alternatif

Label1: TLabel;

lbledep: TLabel;

lbledrol: TLabel;

edavail: TEdit;

edep: TEdit;

edrol: TEdit;

procedure btncloseClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action:

TCloseAction);

procedure btnaddClick(Sender: TObject);

procedure btndeleteClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure cbhandakChange(Sender: TObject);

procedure saveClick(Sender: TObject);

procedure closeClick(Sender: TObject);

procedure btnprometheeClick(Sender: TObject);

procedure ednoidChange(Sender: TObject);

procedure edanChange(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end;

var

FAdd: TFAdd;

implementation

{$R *.dfm}

uses unitrecomendation;

procedure TFAdd.btnaddClick(Sender: TObject);

const petik:char='''';

var query,query1,query2:string;

begin

if ednoid.Text=''then begin

MessageDlg('Fill No. ID!', mtError, [mbOK], 0);

Ednoid.SetFocus;

end else

if edan.Text='' then begin

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

Edan.SetFocus;

end else

if cbdensity.Text='---Choose Density---' then begin

messagedlg('Fill Density Value!',mterror,[mbok],0);

cbdensity.SetFocus;

end else begin

adoquery1.Active:=false;

query:='select ID_Alternatif,Nama_Bahan_Peledak,Density from nilai_handak where ID_Alternatif='+ednoid.Text;

adoquery1.SQL.Clear;

adoquery1.SQL.Add(query);

adoquery1.Active:=true;

if (adoquery1.RecordCount<>0) then begin

showmessage('DATA SUDAH ADA');

ednoid.Text:='';

edan.Text:='';

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

ednoid.setfocus;

end else begin

query1:='insert into nilai_handak'+' values

('+petik+ednoid.text+petik+','+petik+edan.text+petik+','+petik+cb density.Text+petik+',0,0,0,0,0,0,0,0,0)';

query2:='insert into alternative'+' values

('+petik+ednoid.text+petik+','+petik+edan.text+petik+','+petik+cb density.Text+petik+',0)';

ADOConnection1.Execute(query1);

ADOConnection1.Execute(query2);

ednoid.Text:='';

edan.Text:='';

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

ednoid.SetFocus;

end;

end;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select ID_Alternatif,Nama_Bahan_Peledak ,density from nilai_handak order by ID_Alternatif asc');

adoquery1.Active:=True;

datasource1:=DataSource1.Create(Self);

datasource1.DataSet:=adoquery1;

DBGridAlter1.DataSource:=datasource1;

end;

procedure TFAdd.btncloseClick(Sender: TObject);

begin

closemodal;

end;

procedure TFAdd.btndeleteClick(Sender: TObject);

const petik:char='''';

var query1,query,query2,query3,query4:string;

begin

if ednoid.Text=''then begin

MessageDlg('Fill No. ID!', mtError, [mbOK], 0);

Ednoid.SetFocus;

end else

if edan.Text='' then begin

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

Edan.SetFocus;

end else

if cbdensity.Text='---Choose Density---' then begin

MessageDlg('Choose Density Value!', mtError, [mbOK], 0);

cbdensity.SetFocus;

end

else begin

adoquery1.Active:=false;

query:='select ID_alternatif,Nama_bahan_peledak,density from nilai_handak where ID_Alternatif='+petik+ednoid.Text+petik+'and Nama_Bahan_Peledak='+petik+edan.Text+petik+';';

adoquery1.SQL.Clear;

adoquery1.SQL.Add(query);

adoquery1.Active:=true;

if (adoquery1.RecordCount<>0) then if

(ednoid.Text=adoquery1.FieldByName('ID_Alternatif').Value)then begin

if messagedlg('Anda yakin ingin menghapus alternatif ini?',mtconfirmation,[mbyes,mbno],0)=mryes then

begin

query1:='delete from nilai_handak where ID_Alternatif='+ednoid.Text;

query2:='delete from alternative where ID_Alternatif='+ednoid.Text;

query3:='delete from nilai_lapangan where ID_Alternatif='+ednoid.Text;

query4:='delete form matriks_promethee where id_alternatif='+ednoid.Text;

adoconnection1.Execute(query1);

ADOConnection1.Execute(query2);

ADOConnection1.Execute(query3);

ednoid.Text:='';

edan.text:='';

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

ednoid.setfocus;

edan.enabled:=false;

cbdensity.enabled:=false;

end;

end else begin

showmessage('Data Tidak Ditemukan');

ednoid.Text:='';

edan.text:='';

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

ednoid.setfocus;

edan.enabled:=false;

cbdensity.enabled:=false;

end;

end;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select ID_Alternatif,Nama_Bahan_Peledak ,density from nilai_handak order by ID_Alternatif asc');

adoquery1.Active:=True;

datasource1:=DataSource1.Create(Self);

datasource1.DataSet:=adoquery1;

DBGridAlter1.DataSource:=datasource1;

end;

procedure TFAdd.saveClick(Sender: TObject);

const petik='''';

var query,kueri_action,query1:string;

insert:boolean;

begin

if(CBhandak.Text='---Choose ID---') then begin

ShowMessage('ID Bahan Peledak Belum Dipilih!');

end else begin

if Eds.Text='' then begin

MessageDlg('Fill The Strength Value!', mtError, [mbOK], 0);

Eds.SetFocus;

end

else if Edsen.Text='' then begin

MessageDlg('Fill The Sensitivity Value!', mtError, [mbOK], 0);

edSen.SetFocus;

end

else if Edvod.Text='' then begin

MessageDlg('Fill The Velocity of Detonation Value!', mtError, [mbOK], 0);

Edvod.SetFocus;

end

else if Edwr.Text='' then begin

MessageDlg('Fill The Water Resistance Value!', mtError, [mbOK], 0);

Edwr.SetFocus;

end

else if Edfc.Text='' then begin

MessageDlg('Fill The Fumes Characteristic Value!', mtError, [mbOK], 0);

Edfc.SetFocus;

end

else if Edcost.Text='' then begin

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

Edcost.SetFocus;

end

else if Edavail.Text='' then begin

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

Edavail.SetFocus;

end

else if Edep.Text='' then begin

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

Edep.SetFocus;

end

else if Edrol.Text='' then begin

MessageDlg('Fill Rule'+petik+'s of Law!', mtError, [mbOK], 0);

Edrol.SetFocus;

end else begin

btnpromethee.Enabled:=true;

ADOQNilaiHandak.Active:=false;

ADOQNilaiHandak.SQL.Clear;

query:='select * from nilai_handak where id_alternatif='+petik+cbhandak.Text+petik;

ADOQNilaiHandak.SQL.Add(query);

ADOQNilaiHandak.Active:=true;

insert:=true;

while not ADOQNilaiHandak.Eof do begin

if(ADOQNilaiHandak.FieldByName('id_alternatif').Value=CBhandak.Te xt)then

begin

insert:=false;

break;

end;

ADOQNilaiHandak.next;

end;

if insert then begin

kueri_action:='insert into nilai_handak

values('+petik+CBhandak.Text+petik+','+nama.Caption+','+eds.Text+

','+Edsen.Text+','+Edvod.Text+','+Edwr.Text+','+edfc.Text+','+edc ost.Text+','+edavail.Text+','+edep.Text+','+edrol.Text+')';

end else begin

kueri_action:='update nilai_handak set

strength='+eds.Text+',sensitivity = '+edsen.Text+',

Velocity_of_Detonation = '+edvod.Text+',Water_Resistance = '+Edwr.Text+',Fumes_Characteristic = '+edfc.Text+',Cost

='+edcost.Text+',Availability='+edavail.Text+',Material_Character istic='+edep.Text+',Law='+edrol.Text+' WHERE ID_Alternatif = '+cbhandak.Text;

end;

ADOQNilaiHandak.SQL.Clear;

ADOQNilaiHandak.SQL.Add(kueri_action);

ADOQNilaiHandak.ExecSQL;

end;

end;

ADOQNilaiHandak.SQL.Clear;

ADOQNilaiHandak.SQL.Add('Select * From nilai_handak order by ID_Alternatif asc');

ADOQNilaiHandak.Active:=True;

DSNilai_Handak:=DSNilai_Handak.Create(Self);

DSNilai_Handak.DataSet:=ADOQNilaiHandak;

DBHandak.DataSource:=DSNilai_Handak;

end;

procedure TFAdd.btnprometheeClick(Sender: TObject);

begin

Application.CreateForm(TFRecommendation,FRecommendation);

end;

procedure TFAdd.cbhandakChange(Sender: TObject);

const petik:char='''';

var query1,query:string;

begin

if CBhandak.Text<>'---Choose ID---' then

begin

eds.Color:=clwindow;

edsen.Color:=clwindow;

edvod.Color:=clwindow;

edwr.Color:=clwindow;

edfc.Color:=clwindow;

edcost.Color:=clwindow;

edavail.Color:=clwindow;

edep.Color:=clwindow;

edrol.Color:=clwindow;

query:='SELECT * from nilai_handak where id_alternatif='+CBhandak.Text;

gbnilai.Enabled:=true;

ADOQNilaiHandak.Active:=false;

ADOQNilaiHandak.SQL.Clear;

ADOQNilaiHandak.SQL.Add(query);

ADOQNilaiHandak.Active:=true;

nama.Visible:=true;

nama.Caption:=ADOQNilaiHandak.fieldbyname('Nama_Bahan_peledak').V alue;

query1:='select * from nilai_handak where id_alternatif='+CBhandak.Text;

ADOQNilaiHandak.Active:=false;

ADOQNilaiHandak.SQL.Clear;

ADOQNilaiHandak.SQL.Add(query1);

ADOQNilaiHandak.Active:=true;

if ADOQNilaiHandak.RecordCount<>0 then begin

eds.Text:=floattostr(ADOQNilaiHandak.FieldByName('strength').Valu e);

edsen.Text:=floattostr(ADOQNilaiHandak.FieldByName('sensitivity') .Value);

edvod.Text:=floattostr(ADOQNilaiHandak.FieldByName('Velocity_of_D etonation').Value);

edwr.Text:=floattostr(ADOQNilaiHandak.FieldByName('Water_Resistan ce').Value);

edfc.Text:=floattostr(ADOQNilaiHandak.FieldByName('Fumes_Characte ristic').Value);

edcost.Text:=floattostr(ADOQNilaiHandak.FieldByName('Cost').Value );

edavail.Text:=floattostr(ADOQNilaiHandak.FieldByName('Availabilit y').Value);

edep.Text:=floattostr(ADOQNilaiHandak.FieldByName('Material_Chara cteristic').Value);

edrol.Text:=floattostr(ADOQNilaiHandak.FieldByName('Law').Value);

end;

end else begin

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

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.

Dokumen terkait