Jiunkpe Ns s1 2007 26401232 4927 Rencana Anggaran Chapter4
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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