Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

50
4. IMPLEMENTASI SISTEM 4.1. Implementasi Software Administrator Software utama yang digunakan di sini adalah Borland Delphi 7. Alasan penggunaan Borland Delphi 7 adalah karena Delphi, bersifat user friendly, dan mempunyai interface yang dapat ditata dengan baik. Database yang digunakan adalah MySQL versi 4.0.24. Program RAP mempunyai listing program dibawah ini. Penulisan listing program akan dibagi menurut form sebagai berikut: 1. Form Login. 2. Form Login Management. 3. Form User Access. 4. Form Master Supplier. 5. Form Master Worker. 6. Form Master Costumer 7. Form Master Primary Job. 8. Form Master Sub Job. 9. Form Master Material. 10. Form Master Material_Supplier. 11. Form Proses Project Header. 12. Form Proses Project Detail. 13. Form Proses Material Project. 14. Form Proses Worker Salary. 15. Form Proses Rent Equipmen. 16. Form Report Material Analisys. 17. Form Report RAP. 18. Form Report Time Schedulling. 37 Universitas Kristen Petra

description

Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

Transcript of Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

Page 1: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

4. IMPLEMENTASI SISTEM

4.1. Implementasi Software Administrator

Software utama yang digunakan di sini adalah Borland Delphi 7. Alasan

penggunaan Borland Delphi 7 adalah karena Delphi, bersifat user friendly, dan

mempunyai interface yang dapat ditata dengan baik. Database yang digunakan adalah

MySQL versi 4.0.24.

Program RAP mempunyai listing program dibawah ini. Penulisan listing program

akan dibagi menurut form sebagai berikut:

1. Form Login.

2. Form Login Management.

3. Form User Access.

4. Form Master Supplier.

5. Form Master Worker.

6. Form Master Costumer

7. Form Master Primary Job.

8. Form Master Sub Job.

9. Form Master Material.

10. Form Master Material_Supplier.

11. Form Proses Project Header.

12. Form Proses Project Detail.

13. Form Proses Material Project.

14. Form Proses Worker Salary.

15. Form Proses Rent Equipmen.

16. Form Report Material Analisys.

17. Form Report RAP.

18. Form Report Time Schedulling.

37

Universitas Kristen Petra

Page 2: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

38

1. Form Login.

4.1.1.1. Procedure jika tombol “Submit” ditekan, yang berfungsi untuk mencocokkan

data user dengan data yang ada di database.

Segmen Program 4.1. Procedure Login

procedure TFLogin.CsubmitClick(Sender: TObject);

var pass:String;

begin

with data do begin

pass:=Encrypt(cpassword.EditValue,'user');

view.SQL.Text:='select * from user_login where

user='''+cuser.Text+''' and pass='''+pass+'''';

view.Open;

If (cpassword.EditValue<>null)

and (view.IsEmpty=false)

and (view.FieldValues['user']<>null)

then begin

main.user:=cuser.Text;

main.type_user:=view.FieldValues['type'];

Query1.SQL.Text:='select * from user_access where

type='''+view.FieldValues['type']+'''';

Query1.Open;

Query1.First;

if counter=3 then

Csubmit.Enabled:=false;

End;

End;

else

ShowMessage('Data Kurang !!!');

End;

2. Form Login Management.

4.1.2.1.Procedure jika tombol “Reset” ditekan, yang berfungsi membersihkan field

user dan password.

Universitas Kristen Petra

Page 3: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

39

Segmen Program 4.2. Procedure Reset Login

procedure TFMlogin.cResetClick(Sender: TObject);

begin

cuser.Text:='';

cpass.Text:='';

ctype.Text:='';

cuuser.Text:='';

cupass.Text:='';

cutype.Text:='';

cby.Caption:='';

end;

4.1.2.2.Procedure jika tombol “Save” ditekan, yang berfungsi untuk menyimpan data

user baru dan password baru.

Segmen Program 4.3. Procedure Save Login Procedure TFMlogin.cSaveClick(Sender: TObject);

Begin

CSave.SetFocus;

with data do begin

view.SQL.Text:='select * from user_login where user='''+cuser.Text+'''';

view.Open;

if (view.IsEmpty=true) then begin

if (cuser.Text<>'') and (cpass.EditValue<>null) and (ctype.Text<>'') then begin

Tuser.Append;

Tuser.FieldValues['user']:=cuser.Text;

Tuser.FieldValues['type']:=ctype.Text; Tuser.FieldValues['pass']:=Main.Encrypt(cpass.EditValue,'user');

Tuser.FieldValues['user_by']:=Main.user; Tuser.FieldValues['Updated']:=Main.cstatus.Panels[1].Text;

Tuser.Append;

Tuser.UpdateRecord;

Tuser.Cancel;

Tuser.Close;

Universitas Kristen Petra

Page 4: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

40

Tuser.Open;

cuuser.Properties.Items.Clear;

Query1.SQL.Text:='select * from user_login';

Query1.Open;

while not Query1.Eof do begin cuuser.Properties.Items.Add(Query1.FieldValues['user']);

Query1.Next;

end;

ShowMessage('Saved!!');

cReset.Click;

cuser.SetFocus;

end;

end else

ShowMessage('User sudah Ada!!');

end;

end;

3. Form User Access.

4.1.3.1. Procedure jika tombol “Enable” ditekan, yang berfungsi memberi grant user

untuk membuka form atau menu yang tersedia.

Segmen Program 4.4. Procedure Access-Enable

procedure TFMlogin_access.cenableClick(Sender: TObject);

begin

with data do begin

Query1.SQL.Text:='Update user_access set value='''+'Y'+''' where type='''+ctype.Text+''' and key_level='''+ckey.Text+'''';

Query1.Execute;

taccess.Close;

taccess.Open;

end;

end;

4.1.3.2. Procedure jika tombol “Disable” ditekan, yang berfungsi membatasi user

untuk membuka form atau menu yang tersedia.

Universitas Kristen Petra

Page 5: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

41

Segmen Program 4.5. Procedure Access-Disable procedure TFMlogin_access.cdisableClick(Sender: TObject);

begin

with data do begin

Query1.SQL.Text:='Update user_access set value='''+'N'+''' where type='''+ctype.Text+''' and key_level='''+ckey.Text+'''';

Query1.Execute;

taccess.Close;

taccess.Open;

end;

end;

4. Form Master Supplier.

4.1.4.1. Procedure jika tombol “Save” ditekan, yang berfungsi menyimpan data-data

supplier ke dalam tabel supplier.

Segmen Program 4.6. Procedure Save-Supplier procedure TFMSupplier.cSaveClick(Sender: Tobject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text) then

cek:=1;

end;

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'') and (cidtype.Text<>'') and (cid.Text<>'') then begin

With data do begin

Query1.SQL.Text:='insert into supplier values

('''+ckode.Text+''','''+cname.Text+''','''+caddress.Text+'''

,'''+ccity.Text+''',';

Query1.SQL.Add(''''+cprovince.Text+''','''

+ccountry.Text+''','''+cid.Text+''','''+cidtype.Text+''',

Universitas Kristen Petra

Page 6: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

42

'''+cphone.Text+''','''+cfax.Text+''')');

Query1.Execute;

tsupplier.Close;

tsupplier.Open;

tsupplier.First;

cname_search.Properties.Items.Clear;

while not tsupplier.Eof do begin

cname_search.Properties.Items.Add(tsupplier.FieldValues['kode_supplier']);

tsupplier.Next;

end;

ckode.Text:='';

cname.Text:='';

caddress.Text:='';

ccity.Text:='';

cprovince.Text:='';

ccountry.Text:='';

cphone.Text:='';

cfax.Text:='';

cidtype.Text:='';

cid.Text:='';

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.4.2. Procedure jika tombol “Update” ditekan, meng-update data-data supplier.

Segmen Program 4.7. Procedure Update-Supplier procedure TFMSupplier.cUpdateClick(Sender: TObject);

begin

if (cname_search.Text<>'') and (ckode.Text<>'') and (cname.Text<>'') and (cidtype.Text<>'') and (cid.Text<>'') then begin

With data do begin

Universitas Kristen Petra

Page 7: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

43

Query1.SQL.Text:='Update supplier set supplier_name='''+cname.Text+''',supplier_address='''+caddress.Text+''',

supplier_city='''+ccity.Text+''',supplier_province='''+cprovince.Text+'''';

Query1.SQL.Add(',supplier_country='''+ccountry.Text+''',

supplier_phone='''+cphone.Text+''',supplier_fax='''+cfax.Text+'',

supplier_idtype='''+cidtype.Text+''',supplier_id='''+cid.Text+''');

Query1.SQL.Add('where kode_supplier='''+cname_search.Text+'''');

Query1.Execute;

tsupplier.Close;

tsupplier.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

5. Form MasterWorker.

4.1.5.1.Procedure jika tombol “Save” ditekan, menyimpan data-data worker ke dalam

tabel worker.

Segmen Program 4.8. Procedure Save-Worker procedure TFMworker.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text)

then

cek:=1;

end;

Universitas Kristen Petra

Page 8: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

44

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'')

and (cidtype.Text<>'')

and (cid.Text<>'') then begin

With data do begin

Query1.SQL.Text:='insert into worker values('''+ckode.Text+''',

'''+cname.Text+''','''+caddress.Text+''',

'''+ccity.Text+'''';

Query1.SQL.Add(','''+cprovince.Text+''','''+ccountry.Text+''',

'''+cid.Text+''','''+cidtype.Text+''','''+cphone.Text+''')');

Query1.Execute;

tworker.Close;

tworker.Open;

tworker.First;

cname_search.Properties.Items.Clear;

while not tworker.Eof do begin

cname_search.Properties.Items.Add(tworker.FieldValues['kode_worker']);

tworker.Next;

end;

ckode.Text:='';

cname.Text:='';

caddress.Text:='';

ccity.Text:='';

cprovince.Text:='';

ccountry.Text:='';

cphone.Text:='';

cidtype.Text:='';

cid.Text:='';

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

Universitas Kristen Petra

Page 9: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

45

4.1.5.2.Procedure jika tombol “Update” ditekan, meng-update data-data worker ke

dalam tabel worker.

Segmen Program 4.9. Procedure Update-Worker procedure TFMworker.cUpdateClick(Sender: TObject);

begin

if (cname_search.Text<>'') and (ckode.Text<>'')

and (cname.Text<>'')

and (cidtype.Text<>'') and (cid.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update worker set worker_name='''+cname.Text+''',

worker_address='''+caddress.Text+''',

worker_city='''+ccity.Text+''',

worker_province='''+cprovince.Text+'''';

Query1.SQL.Add(',worker_country='''+ccountry.Text+''',

worker_phone='''+cphone.Text+''',

worker_idtype='''+cidtype.Text+''',worker_id='''+cid.Text+'''');

Query1.SQL.Add('where kode_worker='''+cname_search.Text+'''');

Query1.Execute;

tworker.Close;

tworker.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.5.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk membersihkan

semua field yang ada dalam form worker.

Segmen Program 4.10. Procedure Reset-Worker procedure TFMworker.cResetClick(Sender: TObject);

begin

Universitas Kristen Petra

Page 10: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

46

ckode.Text:='';

cname.Text:='';

caddress.Text:='';

ccity.Text:='';

cprovince.Text:='';

ccountry.Text:='';

cphone.Text:='';

cidtype.Text:='';

cid.Text:='';

end;

4.1.5.4.Procedure jika tombol “Delete” ditekan, menghapus data-data worker dari

tabel worker

Segmen Program 4.11. Procedure Delete-Worker procedure TFMworker.cDeleteClick(Sender: TObject);

begin

if (cname_search.Text<>'') then begin

With data do begin

Query1.SQL.Text:=

'Delete from worker where kode_worker='''+cname_search.Text+'''';

Query1.Execute;

tworker.Close;

tworker.Open;

tworker.First;

cname_search.Properties.Items.Clear;

while not tworker.Eof do begin

cname_search.Properties.Items.Add(tworker.FieldValues['kode_worker']);

tworker.Next;

end;

ckode.Text:='';

cname.Text:='';

caddress.Text:='';

ccity.Text:='';

Universitas Kristen Petra

Page 11: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

47

cprovince.Text:='';

ccountry.Text:='';

cphone.Text:='';

cidtype.Text:='';

cid.Text:='';

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

6. Form Master Costumer.

4.1.6.1.Procedure jika tombol “Save” ditekan, menyimpan data-data costumer ke

dalam tabel costumer.

Segmen Program 4.12. Procedure Save-Costumer procedure TFMCustomer.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text) then

cek:=1;

end;

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'')

and (cidtype.Text<>'')

and (cid.Text<>'')

then begin

With data do begin

Query1.SQL.Text:='insert into customer values

('''+ckode.Text+''','''+cname.Text+''',

'''+caddress.Text+''','''+ccity.Text+'''';

Query1.SQL.Add(','''+cprovince.Text+''','''+ccountry.Text+'

Universitas Kristen Petra

Page 12: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

48

'',

'''+cid.Text+''','''+cidtype.Text+''','''+cphone.Text+''',

'''+cfax.Text+''')');

Query1.Execute;

tcustomer.Close;

tcustomer.Open;

tcustomer.First;

cname_search.Properties.Items.Clear;

while not tcustomer.Eof do begin

cname_search.Properties.Items.Add(tcustomer.FieldValues['kode_cust']);

tcustomer.Next;

end;

ckode.Text:='';

cname.Text:='';

caddress.Text:='';

ccity.Text:='';

cprovince.Text:='';

ccountry.Text:='';

cphone.Text:='';

cfax.Text:='';

cidtype.Text:='';

cid.Text:='';

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.6.2.Procedure jika tombol “Update” ditekan, meng-update data-data costumer ke

dalam tabel costumer.

Segmen Program 4.13. Procedure Update-Costumer procedure TFMCustomer.cUpdateClick(Sender: TObject);

begin

Universitas Kristen Petra

Page 13: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

49

if (cname_search.Text<>'') and (ckode.Text<>'') and (cname.Text<>'')

and (cidtype.Text<>'') and (cid.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update customer set cust_name='''+cname.Text+''',

cust_address='''+caddress.Text+''',

cust_city='''+ccity.Text+''',cust_province='''+cprovince.Text+'''';

Query1.SQL.Add(',cust_country='''+ccountry.Text+''',

cust_phone='''+cphone.Text+''',

cust_fax='''+cfax.Text+''',cust_idtype='''+cidtype.Text+''',

cust_id='''+cid.Text+'''');

Query1.SQL.Add('where kode_cust='''+cname_search.Text+'''');

Query1.Execute;

tcustomer.Close;

tcustomer.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.6.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk membersihkan

semua field yang ada dalam form costumer.

Segmen Program 4.14. Procedure Reset-Costumer procedure TFMCustomer.cResetClick(Sender: TObject);

begin

ckode.Text:='';

cname.Text:='';

caddress.Text:='';

ccity.Text:='';

cprovince.Text:='';

ccountry.Text:='';

cphone.Text:='';

Universitas Kristen Petra

Page 14: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

50

cfax.Text:='';

cidtype.Text:='';

cid.Text:='';

end;

4.1.6.4.Procedure jika tombol “Delete” ditekan, menghapus data-data costumer dari

tabel costumer.

Segmen Program 4.15. Procedure Delete-Costumer procedure TFMCustomer.cDeleteClick(Sender: TObject);

begin

if (cname_search.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from customer where kode_cust='''+cname_search.Text+'''';

Query1.Execute;

tcustomer.Close;

tcustomer.Open;

tcustomer.First;

cname_search.Properties.Items.Clear;

while not tcustomer.Eof do begin

cname_search.Properties.Items.Add(tcustomer.FieldValues['kode_cust']);

tcustomer.Next;

end;

ckode.Text:='';

cname.Text:='';

caddress.Text:='';

ccity.Text:='';

cprovince.Text:='';

ccountry.Text:='';

cphone.Text:='';

cfax.Text:='';

cidtype.Text:='';

cid.Text:='';

ShowMessage('Delete Success !!');

Universitas Kristen Petra

Page 15: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

51

end;

end else

ShowMessage('Delete Failed !!');

end;

end.

7. Form Master Primary Job

4.1.7.1.Procedure jika tombol “Save” ditekan, menyimpan data-data pekerjaan utama

ke dalam tabel Primary job.

Segmen Program 4.16. Procedure Save-Supplier procedure TFMprimary_job.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text) then

cek:=1;

end;

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'') then begin

With data do begin

Query1.SQL.Text:='insert into primary_job values('''+ckode.Text+''','''+cname.Text+''','''+cdesc.Text+''',

'''+cvolume_type.Text+''')';

Query1.Execute;

tprimary_job.Close;

tprimary_job.Open;

tprimary_job.First;

cname_search.Text:='';

cname.Text:='';

ckode.Text:='';

cdesc.Text:='';

Universitas Kristen Petra

Page 16: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

52

cvolume_type.Text:='';

cname_search.Properties.Items.Clear;

while not tprimary_job.Eof do begin

cname_search.Properties.Items.Add(tprimary_job.FieldValues['kode_primary_job']);

tprimary_job.Next;

end;

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.7.2.Procedure jika tombol “Update” ditekan, meng-update data-data pekerjaan

utama ke dalam tabel primary job.

Segmen Program 4.17. Procedure Update-Primary_Job procedure TFMprimary_job.cUpdateClick(Sender: TObject);

begin

if (cname_search.Text<>'') and (ckode.Text<>'') and (cname.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update primary_job set primary_job_name='''+cname.Text+''',desc='''+cdesc.Text+''',

volume_type='''+cvolume_type.Text+'''';

Query1.SQL.Add('where kode_primary_job='''+cname_search.Text+'''');

Query1.Execute;

tprimary_job.Close;

tprimary_job.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

Universitas Kristen Petra

Page 17: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

53

4.1.7.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk membersihkan

semua field yang ada dalam form primary job.

Segmen Program 4.18. Procedure Reset-Primary_Job procedure TFMprimary_job.cResetClick(Sender: TObject);

begin

cname_search.Text:='';

cname.Text:='';

ckode.Text:='';

cdesc.Text:='';

cvolume_type.Text:='';

end;

4.1.7.4.Procedure jika tombol “Delete” ditekan, menghapus data-data pekerjaan

utama dari tabel primary job.

Segmen Program 4.19. Procedure Delete-Primary_Job procedure TFMprimary_job.cDeleteClick(Sender: TObject);

begin

if (cname_search.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from primary_job

where kode_primary_job='''+cname_search.Text+'''';

Query1.Execute;

tprimary_job.Close;

tprimary_job.Open;

tprimary_job.First;

cname_search.Properties.Items.Clear;

while not tprimary_job.Eof do begin

cname_search.Properties.Items.Add(tprimary_job.FieldValues

['kode_primary_job']);

tprimary_job.Next;

end;

cname_search.Text:='';

Universitas Kristen Petra

Page 18: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

54

cname.Text:='';

ckode.Text:='';

cdesc.Text:='';

cvolume_type.Text:='';

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

8. Form Master Sub Job.

4.1.8.1.Procedure jika tombol “Save” ditekan, menyimpan data-data sub pekerjaan

utama ke dalam tabel sub job.

Segmen Program 4.20. Procedure Save-Sub_Job procedure TFMsub_job.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text) then

cek:=1;

end;

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'') then begin

With data do begin

Query1.SQL.Text:='insert into sub_job values('''+ckode.Text+''','''+cname.Text+''','''+cdesc.Text+''',

'''+cvolume_type.Text+''')';

Query1.Execute;

tsub_job.Close;

tsub_job.Open;

tsub_job.First;

Universitas Kristen Petra

Page 19: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

55

cname_search.Text:='';

cname.Text:='';

ckode.Text:='';

cdesc.Text:='';

cvolume_type.Text:='';

cname_search.Properties.Items.Clear;

while not tsub_job.Eof do begin

cname_search.Properties.Items.Add(tsub_job.FieldValues['kode_sub_job']);

tsub_job.Next;

end;

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.8.2.Procedure jika tombol “Update” ditekan, meng-update data-data sub

pekerjaan utama ke dalam tabel sub job.

Segmen Program 4.21. Procedure Update-Sub_Job procedure TFMsub_job.cUpdateClick(Sender: TObject);

begin

if (cname_search.Text<>'') and (ckode.Text<>'') and (cname.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update sub_job set sub_job_name='''+cname.Text+''',desc='''+cdesc.Text+''',volume_type='''+cvolume_type.Text+'''';

Query1.SQL.Add('where kode_sub_job='''+cname_search.Text+'''');

Query1.Execute;

tsub_job.Close;

tsub_job.Open;

ShowMessage('Update Success !!');

end;

Universitas Kristen Petra

Page 20: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

56

end else

ShowMessage('Update Failed !!');

end;

4.1.8.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk membersihkan

semua field yang ada dalam form Sub job.

Segmen Program 4.22. Procedure Reset-Sub_Job procedure TFMsub_job.cResetClick(Sender: TObject);

begin

cname_search.Text:='';

cname.Text:='';

ckode.Text:='';

cdesc.Text:='';

cvolume_type.Text:='';

end;

4.1.8.4.Procedure jika tombol “Delete” ditekan, menghapus sub pekerjaan utama

dari tabel sub job.

Segmen Program 4.23. Procedure Delete-Sub_Job procedure TFMsub_job.cDeleteClick(Sender: TObject);

begin

if (cname_search.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from sub_job where kode_sub_job='''+cname_search.Text+'''';

Query1.Execute;

tsub_job.Close;

tsub_job.Open;

tsub_job.First;

cname_search.Properties.Items.Clear;

while not tsub_job.Eof do begin

cname_search.Properties.Items.Add(tsub_job.FieldValues['kode_sub_job']);

Universitas Kristen Petra

Page 21: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

57

tsub_job.Next;

end;

cname_search.Text:='';

cname.Text:='';

ckode.Text:='';

cdesc.Text:='';

cvolume_type.Text:='';

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

9. Form Master Material

4.1.9.1.Procedure jika tombol “Save” ditekan, menyimpan data-data material ke

dalam tabel material.

Segmen Program 4.24. Procedure Save-Material procedure TFMmaterial.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text) then

cek:=1;

end;

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'') then begin

With data do begin

Query1.SQL.Text:='insert into material values('''+ckode.Text+''','''+cname.Text+''','+floattostr(clength.Value)+',

'+floattostr(cwidth.Value)+','+floattostr(cheight.Value)+',

'''+cvolume_type.Text+''')';

Query1.Execute;

Universitas Kristen Petra

Page 22: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

58

tmaterial.Close;

tmaterial.Open;

tmaterial.First;

cname_search.Text:='';

ckode.Text:='';

cname.Text:='';

cvolume_type.Text:='';

clength.Value:=0;

cwidth.Value:=0;

cheight.Value:=0;

cname_search.Properties.Items.Clear;

while not tmaterial.Eof do begin

cname_search.Properties.Items.Add(tmaterial.FieldValues['kode_material']);

tmaterial.Next;

end;

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.9.2.Procedure jika tombol “Update” ditekan, meng-update data-data material ke

dalam tabel material.

Segmen Program 4.25. Procedure Update-Material procedure TFMmaterial.cUpdateClick(Sender: TObject);

begin

if (cname_search.Text<>'') and (ckode.Text<>'') and (cname.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update material set material_name='''+cname.Text+''',vol_type='''+cvolume_type.Text+''',

lenght='+floattostr(clength.Value)+',width='+floattostr(cwidth.Value)+',

Universitas Kristen Petra

Page 23: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

59

height='+floattostr(cheight.Value)+'';

Query1.SQL.Add('where kode_material='''+cname_search.Text+'''');

Query1.Execute;

tmaterial.Close;

tmaterial.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.9.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk membersihkan

semua field yang ada dalam form material.

Segmen Program 4.26. Procedure Reset-Material procedure TFMmaterial.cResetClick(Sender: TObject);

begin

cname_search.Text:='';

ckode.Text:='';

cname.Text:='';

cvolume_type.Text:='';

clength.Value:=0;

cwidth.Value:=0;

cheight.Value:=0;

end;

4.1.9.4.Procedure jika tombol “Delete” ditekan, menghapus data-data material dari

tabel material.

Segmen Program 4.27. Procedure Delete-Material procedure TFMmaterial.cDeleteClick(Sender: TObject);

begin

if (cname_search.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from material where

Universitas Kristen Petra

Page 24: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

60

kode_material='''+cname_search.Text+'''';

Query1.Execute;

tmaterial.Close;

tmaterial.Open;

tmaterial.First;

cname_search.Properties.Items.Clear;

while not tmaterial.Eof do begin

cname_search.Properties.Items.Add(tmaterial.FieldValues['kode_material']);

tmaterial.Next;

end;

cname_search.Text:='';

ckode.Text:='';

cname.Text:='';

cvolume_type.Text:='';

clength.Value:=0;

cwidth.Value:=0;

cheight.Value:=0;

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

10. Form Master Material Supplier

4.1.10.1. Procedure jika tombol “Save” ditekan, menyimpan data-data harga

material dengan supplier tertentu ke dalam tabel material_supplier.

Segmen Program 4.28. Procedure Save-Material_Supplier Procedure TFMmaterial_supplier.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

With data do begin

Universitas Kristen Petra

Page 25: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

61

tmaterial_supplier.First;

while not tsupplier.Eof do begin

if

(csupplier.Text=tmaterial_supplier.FieldValues['kode_supplier']) and (cmaterial.Text=tmaterial_supplier.FieldValues['kode_material']) then

cek:=1;

tmaterial_supplier.Next;

end;

end;

if (cek=0) and (csupplier.Text<>'') and (cmaterial.Text<>'')

and (cunit_type.Text<>'') and (cprice.Text<>'') and (cprice.Value<>0)

then begin

With data do begin

Query1.SQL.Text:='insert into material_supplier values('''+csupplier.Text+''','''+cmaterial.Text+''',

'''+cunit_type.Text+''','+floattostr(cprice.Value)+')';

Query1.Execute;

tmaterial_supplier.Close;

tmaterial_supplier.Open;

csupplier.Text:='';

cmaterial.Text:='';

cunit_type.Text:='';

cprice.Value:=0;

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.10.2. Procedure jika tombol “Update” ditekan, meng-update data-data harga

material kedalam tabel material supplier.

Universitas Kristen Petra

Page 26: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

62

Segmen Program 4.29. Procedure Update-Material_Supplier Procedure FMmaterial_supplier.cUpdateClick(Sender: TObject);

begin

if (csupplier.Text<>'') and (cmaterial.Text<>'') and (cunit_type.Text<>'') and (cprice.Text<>'') and (cprice.Value<>0) then begin

With data do begin

Query1.SQL.Text:='Update material_supplier set kode_supplier='''+csupplier.Text+''',kode_material='''+cmaterial.Text+''',

unit_type='''+cunit_type.Text+''',price='+floattostr(cprice.Value)+'';

Query1.SQL.Add('where kode_supplier='''+csupplier.Text+''' and kode_material='''+cmaterial.Text+'''');

Query1.Execute;

tmaterial_supplier.Close;

tmaterial_supplier.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.10.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk

membersihkan semua field yang ada dalam form material supplier.

Segmen Program 4.30. Procedure Reset-Material_Supplier Procedure TFMmaterial_supplier.cResetClick(Sender: TObject);

begin

csupplier.Text:='';

cmaterial.Text:='';

cunit_type.Text:='';

cprice.Value:=0;

end;

Universitas Kristen Petra

Page 27: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

63

4.1.10.4. Procedure jika tombol “Delete” ditekan, menghapus data-data harga

material dari supplier tertentu dari tabel material supplier.

Segmen Program 4.31. Procedure Delete-Material_Supplier procedure TFMmaterial_supplier.cDeleteClick(Sender: TObject);

begin

if (csupplier.Text<>'') and (cmaterial.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from material_supplier where kode_supplier='''+csupplier.Text+''' and kode_material='''+cmaterial.Text+'''';

Query1.Execute;

tmaterial_supplier.Close;

tmaterial_supplier.Open;

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

11. Form Proses Project Header.

4.1.11.1. Procedure jika tombol “Save” ditekan, menyimpan data-data awal

proyek ke dalam tabel project_header.

Segmen Program 4.32. Procedure Save-Project_Header procedure TFPProject_header.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text) then

cek:=1;

Universitas Kristen Petra

Page 28: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

64

end;

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'') and

(clocation.Text<>'') and (ckode_customer.Text<>'') then begin

With data do begin

Query1.SQL.Text:='insert into project_header values('''+ckode.Text+''','''+cname.Text+''',

'''+clocation.Text+''',

'''+ckode_customer.Text+''')';

Query1.Excute;

tproject_header.Close;

tproject_header.Open;

tproject_header.First;

cname_search.Properties.Items.Clear;

while not tproject_header.Eof do begin

cname_search.Properties.Items.Add(tproject_header.FieldValues['kode_project']);

tproject_header.Next;

end;

cname_search.Text:='';

ckode.Text:='';

cname.Text:='';

clocation.Text:='';

ckode_customer.Text:='';

ccustomer_name.Caption:='';

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.11.2. Procedure jika tombol “Update” ditekan, meng-update data-data awal

proyak ke dalam tabel project_header.

Universitas Kristen Petra

Page 29: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

65

Segmen Program 4.33. Procedure Update-Project_Header procedure TFPProject_header.cUpdateClick(Sender: TObject);

begin

if (cname_search.Text<>'') and (ckode.Text<>'') and (cname.Text<>'') and (clocation.Text<>'') and (ckode_customer.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update project_header set project_name='''+cname.Text+''',project_location='''+clocation.Text+''',

kode_cust='''+ckode_customer.Text+'''';

Query1.SQL.Add('where kode_project='''+cname_search.Text+'''');

Query1.Execute;

tproject_header.Close;

tproject_header.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.11.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk

membersihkan semua field yang ada dalam form project_header.

Segmen Program 4.34. Procedure Reset-Project_Header procedure TFPProject_header.cResetClick(Sender: TObject);

begin

cname_search.Text:='';

ckode.Text:='';

cname.Text:='';

clocation.Text:='';

ckode_customer.Text:='';

ccustomer_name.Caption:='';

end;

Universitas Kristen Petra

Page 30: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

66

4.1.11.4. Procedure jika tombol “Delete” ditekan, menghapus data-data awal

proyek dari tabel project_header.

Segmen Program 4.35. Procedure Delete-Project_Header procedure TFPProject_header.cDeleteClick(Sender: TObject);

begin

if (cname_search.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from project_header where kode_project='''+cname_search.Text+'''';

Query1.Execute;

tproject_header.Close;

tproject_header.Open;

tproject_header.First;

cname_search.Properties.Items.Clear;

while not tproject_header.Eof do begin

cname_search.Properties.Items.Add(tproject_header.FieldValues['kode_project']);

tproject_header.Next;

end;

cname_search.Text:='';

ckode.Text:='';

cname.Text:='';

clocation.Text:='';

ckode_customer.Text:='';

ccustomer_name.Caption:='';

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

12. Form Proses Project Detail.

4.1.12.1. Procedure jika tombol “Save” ditekan, menyimpan data-data detail

proyek ke dalam tabel project_detail.

Universitas Kristen Petra

Page 31: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

67

Segmen Program 4.36. Procedure Project_Header procedure TFPDetail_project.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

for i:=0 to cname_search.Properties.Items.Count-1 do begin

if (cname_search.Properties.Items.Strings[i]=ckode.Text) then

cek:=1;

end;

if (cek=0) and (ckode.Text<>'') and (cname.Text<>'') and

(ckode_project.Text<>'')and (ckode_job.Text<>'') and (ckode_sub_job.Text<>'')

then begin

With data do begin

Query1.SQL.Text:=

'insert into project_detail values('''+ckode.Text+''','''+ckode_project.Text+''','''+cname.Text+''',

'''+ckode_job.Text+''','''+ckode_sub_job.Text+''','+floattostr(clength.Value)+',

'''+cvolume_type.Text+''','+floattostr(ctime.Value)+','+floattostr(cstart_periode.Value)+',

'+floattostr(cjob_fee.Value)+')';

Query1.Execute;

tdetail_project.Close;

tdetail_project.Open;

tdetail_project.First;

cname_search.Text:='';

ckode_project.Text:='';

ckode_job.Text:='';

cjob_name.Caption:='';

ckode_sub_job.Text:='';

ckode.Text:='';

cname.Text:='';

csub_job_name.Caption:='';

cvolume_type.Text:='';

Universitas Kristen Petra

Page 32: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

68

clength.Value:=0;

ctime.Value:=0;

cstart_periode.Value:=0;

cjob_fee.Value:=0;

query1.SQL.Text:='select project_detail_name from project_detail

where kode_project='''+cproject_search.Text+''' group by project_detail_name';

Query1.Open;

Query1.First;

cname_search.Properties.Items.Clear;

while not Query1.Eof do begin

cname_search.Properties.Items.Add(Query1.FieldValues['project_detail_name']);

Query1.Next;

end;

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.12.2. Procedure jika tombol “Update” ditekan, meng-update data-data detail

proyek ke dalam tabel project_detail.

Segmen Program 4.37. Procedure Update-Project_Detail procedure TFPDetail_project.cUpdateClick(Sender: TObject);

begin

if (cname_search.Text<>'') and (ckode.Text<>'') and (cname.Text<>'') and (ckode_project.Text<>'')and (ckode_job.Text<>'') and (ckode_sub_job.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update project_detail set project_detail_name='''+cname.Text+''',

type_volume='''+cvolume_type.Text+''',

volume='+floattostr(clength.Value)+',time='+floattostr(ctim

Universitas Kristen Petra

Page 33: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

69

e.Value)+',

start_periode='+floattostr(cstart_periode.Value)+'';

Query1.SQL.Add(',job_fee='+floattostr(cjob_fee.value)+' where kode_project_detail='''+ckode.Text+'''');

Query1.Execute;

tdetail_project.Close;

tdetail_project.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.12.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk

membersihkan semua field yang ada dalam form project detail.

Segmen Program 4.38. Procedure Reset-Project_Detail procedure TFPDetail_project.cResetClick(Sender: TObject);

begin

cP_job_search.Text:='';

Csp_job_search.Text:='';

cname_search.Text:='';

ckode_project.Text:='';

ckode_sub_job.Text:='';

ckode_job.Text:='';

cjob_name.Caption:='';

ckode.Text:='';

cname.Text:='';

cjob_name.Caption:='';

csub_job_name.Caption:='';

cvolume_type.Text:='';

clength.Value:=0;

ctime.Value:=0;

cstart_periode.Value:=0;

cjob_fee.Value:=0;

end;

Universitas Kristen Petra

Page 34: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

70

4.1.12.4. Procedure jika tombol “Delete” ditekan, menghapus data-data detail

proyek dari tabel project_detail.

Segmen Program 4.39. Procedure Delete-Project_Detail procedure TFPDetail_project.cDeleteClick(Sender: TObject);

begin

if (cname_search.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from project_detail

where kode_project_detail='''+cname_search.Text+'''';

Query1.Execute;

tdetail_project.Close;

tdetail_project.Open;

tdetail_project.First;

cname_search.Text:='';

ckode_project.Text:='';

ckode_job.Text:='';

ckode_sub_job.Text:='';

ckode.Text:='';

cname.Text:='';

csub_job_name.Caption:='';

cvolume_type.Text:='';

clength.Value:=0;

ctime.Value:=0;

cstart_periode.Value:=0;

cname_search.Properties.Items.Clear;

while not tdetail_project.Eof do begin

cname_search.Properties.Items.Add

(tdetail_project.FieldValues['kode_project_detail']);

tdetail_project.Next;

end;

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

Universitas Kristen Petra

Page 35: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

71

13. Form Proses Material Project.

4.1.13.1. Procedure jika tombol “Save” ditekan, menyimpan data-data material

yang diperlukan suatu pekerjaan ke dalam tabel material_project.

Segmen Program 4.40. Procedure Save-Material_Project procedure TFPmaterial_project.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

With data do begin

tmaterial_project.First;

while not tmaterial_project.Eof do begin

if (cmaterial.Text=tmaterial_project.FieldValues['kode_material'])

and (cxLabel1.Caption=tmaterial_project.FieldValues['kode_project_detail']) then

cek:=1;

tmaterial_project.Next;

end;

end;

if (cek=0) and (cxLabel1.Caption<>'') and (cmaterial.Text<>'')

and (cvolume_type.Text<>'') and (cvolume.Text<>'') and (cvolume.Value<>0)

then begin

With data do begin

Query1.SQL.Text:='insert into material_project values('''+cxLabel1.Caption+''','''+cmaterial.Text+''',

'''+cvolume_type.Text+''','+floattostr(cvolume.Value)+',

'+floattostr(cprice.Value)+','+floattostr(cpemkab_high.Value)+',

'+floattostr(cpemkab_medium.Value)+')';

Query1.Execute;

tmaterial_project.Close;

tmaterial_project.Open;

cmaterial.Text:='';

Universitas Kristen Petra

Page 36: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

72

cmaterial_name.Caption:='';

cvolume_type.Text:='';

cvolume.Value:=0;

cprice.Value:=0;

cpemkab_high.Value:=0;

cpemkab_medium.Value:=0;

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.13.2. Procedure jika tombol “Update” ditekan, meng-update data-data

material yang diperlukan suatu pekerjaan ke dalam tabel material_project.

Segmen Program 4.41. Procedure Update-Material_Project procedure TFPmaterial_project.cUpdateClick(Sender: TObject);

begin

if (cxLabel1.Caption<>'') and (cmaterial.Text<>'')

and (cvolume_type.Text<>'') and (cvolume.Text<>'')

and (cvolume.Value<>0) then begin

With data do begin

Query1.SQL.Text:='Update material_project set kode_material='''+cmaterial.Text+''',

volume_type='''+cvolume_type.Text+''',volume=

'+floattostr(cvolume.Value)+',price='+floattostr(cprice.Value)+',

price_pemkab_high='+floattostr(cpemkab_high.Value)+',';

Query1.SQL.Add('price_pemkab_medium='+floattostr(cpemkab_medium.Value)+' where kode_project_detail='''+cxLabel1.Caption+''' and kode_material='''+cmaterial.Text+'''');

Query1.Execute;

tmaterial_project.Close;

tmaterial_project.Open;

Universitas Kristen Petra

Page 37: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

73

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.13.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk

membersihkan semua field yang ada dalam form material project.

Segmen Program 4.42. Procedure Reset-Material_Project procedure TFPmaterial_project.cResetClick(Sender: TObject);

begin

cproject_search.Text:='';

cprice.value:=0;

cmaterial.Text:='';

cmaterial_name.Caption:='';

cvolume_type.Text:='';

cvolume.Value:=0;

cpemkab_high.Value:=0;

cpemkab_medium.Value:=0;

end;

4.1.13.4. Procedure jika tombol “Delete” ditekan, menghapus data-data material

yang diperlukan dalam suatu pekerjaan dari tabel material_project.

Segmen Program 4.43. Procedure Delete-Material_Project procedure TFPmaterial_project.cDeleteClick(Sender: TObject);

begin

if (cxLabel1.Caption<>'') and (cmaterial.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from material_project

where kode_project_detail='''+cxLabel1.Caption+'''

and kode_material='''+cmaterial.Text+'''';

Query1.Execute;

Universitas Kristen Petra

Page 38: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

74

tmaterial_project.Close;

tmaterial_project.Open;

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

14. Form Proses Worker Salary.

4.1.14.1. Procedure jika tombol “Save” ditekan, menyimpan data-data worker

yang dibutuhkan suatu pekerjaan tertentu ke dalam tabel worker_salary.

Segmen Program 4.44. Procedure Save-Worker_Salary procedure TFPworker_salary.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

With data do begin

tworker_salary.First;

while not tworker_salary.Eof do begin

if (cxLabel1.Caption=tworker_salary.FieldValues['kode_project_detail']) and (cposition.Text=tworker_salary.FieldValues['position']) then

cek:=1;

tworker_salary.Next;

end;

end;

if (cek=0) and (cxLabel1.Caption<>'') and (csp_job_search.Text<>'') and (cposition.Text<>'') and (csalary.Text<>'') and (csalary.Value<>0) then begin

With data do begin

Query1.SQL.Text:='insert into worker_salary values('''+cxLabel1.Caption+''','''+cposition.Text+''','+floattostr(csalary.Value)+',

'''+csalary_type.Text+''','

+floattostr(cquantity.value)+','+floattostr(cpemkab_high.va

Universitas Kristen Petra

Page 39: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

75

lue)+','+floattostr(cpemkab_medium.value)+')';

Query1.Execute;

tworker_salary.Close;

tworker_salary.Open;

cposition.Text:='';

csalary.Value:=0;

csalary_type.Text:='';

cpemkab_high.Value:=0;

cpemkab_medium.Value:=0;

cquantity.Value:=0;

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.14.2. Procedure jika tombol “Update” ditekan, meng-update data-data worker

yang dibutuhkan suatu pekerjaan ke dalam tabel worker_salary.

Segmen Program 4.45. Procedure Update-Worker_Salary procedure TFPworker_salary.cUpdateClick(Sender: TObject);

begin

if (cxlabel1.Caption<>'') and (cposition.Text<>'') and (csalary.Text<>'')

and

(csalary.Value<>0) then begin

With data do begin

Query1.SQL.Text:='Update

worker_salary set salary='+floattostr(csalary.Value)+',

volume_type='''+csalary_type.Text+''',

koefesien='+floattostr(cquantity.Value)+',';

Query1.SQL.Add

('price_pemkab_high='+floattostr(cpemkab_high.Value)+',

price_pemkab_medium='+floattostr(cpemkab_medium.Value)+'

where

Universitas Kristen Petra

Page 40: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

76

kode_project_detail='''+cxLabel1.Caption+'''

and position='''+cposition.Text+'''');

Query1.Execute;

tworker_salary.Close;

tworker_salary.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.14.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk

membersihkan semua fied yang ada dalam form worker salary.

Segmen Program 4.46. Procedure Reset-Worker_Salary procedure TFPworker_salary.cResetClick(Sender: TObject);

begin

cposition.Text:='';

csalary.Value:=0;

csalary_type.Text:='';

cpemkab_high.Value:=0;

cpemkab_medium.Value:=0;

cquantity.Value:=0;

end;

4.1.14.4. Procedure jika tombol “Delete” ditekan, menghapus data-data worker

yang diperlukan suatu pekerjaan dari tabel worker_salary.

Segmen Program 4.47. Procedure Delete-Worker_Salary procedure TFPworker_salary.cDeleteClick(Sender: TObject);

begin

if (cxLabel1.Caption<>'') and (cposition.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from worker_salary where position='''+cposition.Text+''' and

Universitas Kristen Petra

Page 41: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

77

kode_project_detail='''+cxLabel1.Caption+'''';

Query1.Execute;

tworker_salary.Close;

tworker_salary.Open;

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

15. Form Proses Rent Equipment

4.1.15.1. Procedure jika tombol “Save” ditekan, menyimpan data-data peralatan

yang diperlukan untuk suatu proyek ke dalam tabel rent_equipment.

Segmen Program 4.48. Procedure Save-Rent_Equipment procedure TFPRent_equipment.cSaveClick(Sender: TObject);

var cek:byte;

i:integer;

begin

cek:=0;

With data do begin

trent_equipment.First;

while not trent_equipment.Eof do begin

if (ckode_project.Text=trent_equipment.FieldValues['kode_project']) and (cequipment.Text=trent_equipment.FieldValues['kode_equipment']) then

cek:=1;

trent_equipment.Next;

end;

end;

if (cek=0) and (ckode_project.Text<>'') and (cequipment.Text<>'') and (cperiode.Text<>'') then begin

With data do begin

Query1.SQL.Text:='insert into rent_equipment values('''+ckode_project.Text+''','''+cequipment.Text+''',

'''+cperiode.Text+''','+floattostr(cprice.Value)+','+floatt

Universitas Kristen Petra

Page 42: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

78

ostr(cquantity.Value)+',

'''+crent_type.Text+''')';

Query1.Execute;

trent_equipment.Close;

trent_equipment.Open;

ckode_project.Text:='';

cequipment.Text:='';

cequipment_name.Caption:='';

cperiode.Text:='';

cprice.Value:=0;

cquantity.Value:=0;

crent_type.Text:='';

ShowMessage('Save Success !!');

end;

end else begin

ShowMessage('Save Failed !!');

end;

end;

4.1.15.2. Procedure jika tombol “Update” ditekan, meng-update data-data

peralatan yang diperlukan dalam suatu proyek ke dalam tabel rent_equipment.

Segmen Program 4.49. Procedure Update-Rent_Equipment procedure TFPRent_equipment.cUpdateClick(Sender: TObject);

begin

if (ckode_project.Text<>'') and (cequipment.Text<>'') and (cperiode.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Update rent_equipment set rent_type='''+crent_type.Text+''',periode='''+cperiode.Text+''',

price='+floattostr(cprice.Value)+',quantity='+floattostr(cquantity.Value)+'';

Query1.SQL.Add('where kode_project='''+ckode_project.Text+''' and kode_equipment='''+cequipment.Text+'''');

Query1.Execute;

trent_equipment.Close;

Universitas Kristen Petra

Page 43: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

79

trent_equipment.Open;

ShowMessage('Update Success !!');

end;

end else

ShowMessage('Update Failed !!');

end;

4.1.15.3. Procedure jika tombol “Reset” ditekan, yang berfungsi untuk

membersihkan semua field yang ada dalam form rent_equipment.

Segmen Program 4.50. Procedure Reset-Rent_Equipment procedure TFPRent_equipment.cResetClick(Sender: TObject);

begin

ckode_project.Text:='';

cequipment.Text:='';

cequipment_name.Caption:='';

cperiode.Text:='';

cprice.Value:=0;

cquantity.Value:=0;

crent_type.Text:='';

end;

4.1.15.4. Procedure jika tombol “Delete” ditekan, menghapus data-data peralatan

yang diperlukan dari tabel rent_equipment.

Segmen Program 4.51. Procedure Delete-Rent_Equipment procedure TFPRent_equipment.cDeleteClick(Sender: TObject);

begin

if (ckode_project.Text<>'') and (cequipment.Text<>'') then begin

With data do begin

Query1.SQL.Text:='Delete from rent_equipment where kode_equipment='''+cequipment.Text+''' and kode_project='''+ckode_project.Text+'''';

Query1.Execute;

trent_equipment.Close;

Universitas Kristen Petra

Page 44: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

80

trent_equipment.Open;

ShowMessage('Delete Success !!');

end;

end else

ShowMessage('Delete Failed !!');

end;

16. Form Report Material Analisys.

4.1.16.1. Procedure untuk TcxComboBox project code, yang berfungsi untuk

mengeluarkan value dari data yang telah diinput dan diproses.

Segmen Program 4.52. Procedure Material_Analisys Procedure TFRMaterial_analisis.cproject_kodePropertiesChange(

Sender: TObject);

begin

with data do begin

Query1.SQL.Text:='select * from project_header where kode_project='''+cproject_kode.Text+'''';

Query1.Open;

while not Query1.Eof do begin

cname.Caption:=Query1.FieldValues['project_name'];

clocation.Caption:=Query1.FieldValues['project_location'];

Query1.Next;

end;

view.SQL.Text:='Select volume_type,material_name,price,price_pemkab_high,price_pemkab_medium,((price/price_pemkab_high)*100) as analisis_high,((price/price_pemkab_medium)*100) as analisis_medium from project_detail ';

view.SQL.Add('inner join material_project on project_detail.kode_project_detail=material_project.kode_project_detail');

view.SQL.Add('inner join material on material_project.kode_material=material.kode_material where kode_project='''+cproject_kode.Text+''' group by material_project.kode_material');

view.Open;

Universitas Kristen Petra

Page 45: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

81

view2.SQL.Text:='Select volume_type,position,salary,price_pemkab_high,

price_pemkab_medium,((salary/price_pemkab_high)*100) as analisis_high,((salary/price_pemkab_medium)*100) as analisis_medium from project_detail ';

view2.SQL.Add('inner join worker_salary on project_detail.kode_project_detail=worker_salary.kode_project_detail');

view2.SQL.Add('where kode_project='''+cproject_kode.Text+''' group by position');

view2.Open;

view3.SQL.Text:=

'Select equipment_name,periode,rent_type,price,quantity from rent_equipment ';

view3.SQL.Add

('inner join equipment on rent_equipment.kode_equipment=equipment.kode_equipment');

view3.SQL.Add

('where kode_project='''+cproject_kode.Text+'''');

view3.Open;

end;

end;

4.1.16.2. Procedure jika tombol “Export To Exel” ditekan, berfungsi untuk

mengekspor hasil query dari tabel material_project, worker_salary dan

rent_equipment ke dalam format exel.

Segmen Program 4.53. Procedure Material_Analisys-Export_Exel procedure TFRMaterial_analisis.cexportClick(Sender: TObject);

begin

page_setup;

cetak;

xls.Workbooks[1].Saveas(ExtractFilePath(Application.ExeName)+'DatabaseExcel\'+'Material-Salary Analisis ('+cproject_kode.Text+').xls');

end;

Universitas Kristen Petra

Page 46: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

82

17. Form Report RAP

4.1.17.1. Procedure untuk TcxComboBox project code, yang berfungsi untuk

mengeluarkan value dari data yang telah di input dan diproses.

Segmen Program 4.54. Procedure RAP procedure TFRRAP.cproject_kodePropertiesChange(Sender: TObject);

begin

with data do begin

Query1.SQL.Text:='select * from project_header where kode_project='''+cproject_kode.Text+'''';

Query1.Open;

while not Query1.Eof do begin

cname.Caption:=Query1.FieldValues['project_name'];

clocation.Caption:=Query1.FieldValues['project_location'];

Query1.Next;

end;

view.SQL.Text:='Select project_detail_name,primary_job_name,sum(material_project.volume*price*project_detail.volume) as tot_material from project_detail ';

view.SQL.Add('inner join primary_job on project_detail.kode_primary_job=primary_job.kode_primary_job');

view.SQL.Add('inner join material_project on project_detail.kode_project_detail=material_project.kode_project_detail');

view.SQL.Add('where kode_project='''+cproject_kode.Text+''' group by project_detail.kode_primary_job');

view.Open;

view2.SQL.Text:='Select project_detail_name,primary_job_name,sum(koefesien*salary*volume) as tot_salary from project_detail ';

view2.SQL.Add('inner join primary_job on project_detail.kode_primary_job=primary_job.kode_primary_job');

view2.SQL.Add('inner join worker_salary on project_detail.kode_project_detail=worker_salary.kode_proje

Universitas Kristen Petra

Page 47: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

83

ct_detail');

view2.SQL.Add('where kode_project='''+cproject_kode.Text+''' group by project_detail.kode_primary_job');

view2.Open;

view3.SQL.Text:='Select project_detail.kode_project_detail,type_volume,sum(project_detail.volume) as isi,project_detail_name,primary_job_name,sub_job_name,sum(material_project.volume*price*project_detail.volume) as tot_material from project_detail ';

view3.SQL.Add('inner join primary_job on project_detail.kode_primary_job=primary_job.kode_primary_job');

view3.SQL.Add('inner join sub_job on project_detail.kode_sub_job=sub_job.kode_sub_job');

view3.SQL.Add('inner join material_project on project_detail.kode_project_detail=material_project.kode_project_detail');

view3.SQL.Add('where kode_project='''+cproject_kode.Text+''' group by project_detail.kode_sub_job,project_detail_name');

view3.Open;

view4.SQL.Text:='Select project_detail.kode_project_detail,sum(koefesien*salary) as sat_upah,type_volume,(volume) as isi,project_detail_name';

view4.SQL.Add(',primary_job_name,sub_job_name,sum(koefesien*salary*volume) as tot_salary from project_detail inner join primary_job on project_detail.kode_primary_job=primary_job.kode_primary_job');

view4.SQL.Add('inner join sub_job on project_detail.kode_sub_job=sub_job.kode_sub_job');

view4.SQL.Add('inner join worker_salary on project_detail.kode_project_detail=worker_salary.kode_project_detail');

view4.SQL.Add('where kode_project='''+cproject_kode.Text+''' group by project_detail.kode_sub_job,project_detail_name');

view4.Open;

view5.SQL.Text:='Select material_name,volume_type,sum(project_detail.volume) as vol,price,sum(material_project.volume*price*project_detail.volume) as total from project_detail ';

Universitas Kristen Petra

Page 48: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

84

view5.SQL.Add('inner join material_project on project_detail.kode_project_detail=material_project.kode_project_detail');

view5.SQL.Add('inner join material on material_project.kode_material=material.kode_material');

view5.SQL.Add('where kode_project='''+cproject_kode.Text+''' group by material_project.kode_material');

view5.Open;

end;

end;

4.1.17.2. Procedure jika tombol “Export To Exel” ditekan, berfungsi untuk

mengekspor hasil query dari tabel material_project, worker_salary dan tabel

detail_project ke dalam format exel.

Segmen Program 4.55. Procedure RAP-Export_Exel procedure TFRRAP.cexportClick(Sender: TObject);

begin

page_setup;

cetak;

sheet.PageSetup.Orientation:=2; xls.Workbooks[1].Saveas(ExtractFilePath(Application.ExeName)+'DatabaseExcel\'+'RAP ('+cproject_kode.Text+').xls');

end;

18. Form Report Project Schedulling.

4.1.18.1. Procedure untuk TcxComboBox project code, yang berfungsi untuk

mengeluarkan value dari data yang telah diinput dan diproses.

Segmen Program 4.56. Procedure Project_Schedulling procedure TFRProject_time.cprojectPropertiesChange(Sender: TObject);

begin

csubproject.Text:='';

With data do begin

Query1.SQL.text:='select project_name,project_location from project_header where

Universitas Kristen Petra

Page 49: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

85

kode_project='''+cproject.Text+'''';

Query1.Open;

if (Query1.FieldValues['project_name']<>null) then

cproject_name.Caption:=Query1.FieldValues['project_name']

else

cproject_name.Caption:='';

if (Query1.FieldValues['project_location']<>null) then

clocation.Caption:=Query1.FieldValues['project_location']

else

clocation.Caption:='';

Query1.SQL.text:='select project_detail_name from project_detail where kode_project='''+cproject.Text+''' group by project_detail_name';

Query1.Open;

Query1.First;

csubproject.Properties.Items.Clear;

while not Query1.Eof do begin

csubproject.Properties.Items.Add(Query1.FieldValues['project_detail_name']);

Query1.Next;

end;

Query1.Close;

end;

end;

4.1.18.2. Procedure jika tombol “Export To Exel” ditekan, berfungsi untuk

mengekspor hasil query dari tabel material_project, worker_salary dan

rent_equipment ke dalam format exel.

Segmen Program 4.57. Procedure Project_Schedulling-Export_Exel procedure TFRProject_time.cexportClick(Sender: TObject);

begin

page_setup;

Universitas Kristen Petra

Page 50: Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4

86

cetak;

sheet.PageSetup.PrintTitleRows:='$A1:$i8';

xls.Workbooks[1].Saveas(ExtractFilePath(Application.ExeName)+'DatabaseExcel\'+'Schedulling Time-'+cproject_name.Caption+'-'+csubproject.Text+'.xls');

end;

4.1.18.3. Procedure jika tombol “Save” ditekan, yang berfungsi menyimpan

chart time schedule ke dalam format bitmap image.

Segmen Program 4.58. Procedure Save-Chart_Time procedure TFRProject_time.cSaveClick(Sender: TObject);

begin

if SavePictureDialog1.Execute then

begin

CProject_schedulling.SaveToBitmapFile (SavePictureDialog1.FileName);

end;

end;

Universitas Kristen Petra