Sunteți pe pagina 1din 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

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,'u
ser');
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
value='''+'Y'+'''
where
type='''+ctype.Text+'''
key_level='''+ckey.Text+'''';

set
and

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
value='''+'N'+'''
where
type='''+ctype.Text+'''
key_level='''+ckey.Text+'''';

set
and

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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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['ko
de_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='''+caddr
ess.Text+''',
supplier_city='''+ccity.Text+''',supplier_province='''+cpro
vince.Text+'''';
Query1.SQL.Add(',supplier_country='''+ccountry.Text+''',
supplier_phone='''+cphone.Text+''',supplier_fax='''+cfax.Te
xt+'',
supplier_idtype='''+cidtype.Text+''',supplier_id='''+cid.Te
xt+''');
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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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
values('''+ckode.Text+''',

into

worker

'''+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_name='''+cname.Text+''',

worker

set

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
kode_worker='''+cname_search.Text+'''';

where

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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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['ko
de_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<>'')
(cname.Text<>'')

and

(ckode.Text<>'')

and

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


With data do begin
Query1.SQL.Text:='Update
cust_name='''+cname.Text+''',

customer

set

cust_address='''+caddress.Text+''',
cust_city='''+ccity.Text+''',cust_province='''+cprovince.Te
xt+'''';
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
kode_cust='''+cname_search.Text+'''';

where

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.FieldValu
es['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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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<>'')
(cname.Text<>'') then begin

and

(ckode.Text<>'')

and

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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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['kod
e_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<>'')
(cname.Text<>'') then begin

and

(ckode.Text<>'')

and

With data do begin


Query1.SQL.Text:='Update
sub_job
set
sub_job_name='''+cname.Text+''',desc='''+cdesc.Text+''',vol
ume_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
kode_sub_job='''+cname_search.Text+'''';

sub_job

where

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['kod
e_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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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(c
length.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['ko
de_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<>'')
(cname.Text<>'') then begin

and

(ckode.Text<>'')

and

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(cwi
dth.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['ko
de_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_suppli
er'])
and
(cmaterial.Text=tmaterial_supplier.FieldValues['kode_materi
al']) then
cek:=1;
tmaterial_supplier.Next;
end;
end;
if
(cek=0)
(cmaterial.Text<>'')

and

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

(csupplier.Text<>'')
and

(cprice.Text<>'')

and
and

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
TObject);

FMmaterial_supplier.cUpdateClick(Sender:

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

(cmaterial.Text<>'')
(cprice.Text<>'')

and
and

With data do begin


Query1.SQL.Text:='Update
material_supplier
set
kode_supplier='''+csupplier.Text+''',kode_material='''+cmat
erial.Text+''',
unit_type='''+cunit_type.Text+''',price='+floattostr(cprice
.Value)+'';
Query1.SQL.Add('where
kode_supplier='''+csupplier.Text+'''
kode_material='''+cmaterial.Text+'''');

and

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
TObject);

TFMmaterial_supplier.cResetClick(Sender:

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
TObject);

TFMmaterial_supplier.cDeleteClick(Sender:

begin
if (csupplier.Text<>'')
begin

and

(cmaterial.Text<>'')

then

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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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<>'')
begin

and

(ckode_customer.Text<>'')

then

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.FieldValu
es['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<>'')
(cname.Text<>'')
and
(clocation.Text<>'')
(ckode_customer.Text<>'') then begin

and
and

With data do begin


Query1.SQL.Text:='Update
project_header
set
project_name='''+cname.Text+''',project_location='''+clocat
ion.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
kode_project='''+cname_search.Text+'''';

where

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.FieldValu
es['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
begin

i:=0

to

cname_search.Properties.Items.Count-1

do

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_sub_job.Text<>'')

(ckode_job.Text<>'')

and

then begin
With data do begin
Query1.SQL.Text:=
'insert
into
project_detail
values('''+ckode.Text+''','''+ckode_project.Text+''','''+c
name.Text+''',
'''+ckode_job.Text+''','''+ckode_sub_job.Text+''','+floatt
ostr(clength.Value)+',
'''+cvolume_type.Text+''','+floattostr(ctime.Value)+','+fl
oattostr(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

project_detail_name

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

from

group

by

Query1.Open;
Query1.First;
cname_search.Properties.Items.Clear;
while not Query1.Eof do begin
cname_search.Properties.Items.Add(Query1.FieldValues['proj
ect_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
project_detail_name='''+cname.Text+''',

set

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_materia
l'])
and
(cxLabel1.Caption=tmaterial_project.FieldValues['kode_proje
ct_detail']) then
cek:=1;
tmaterial_project.Next;
end;
end;
if
(cek=0)
and
(cmaterial.Text<>'')
and (cvolume_type.Text<>'')
(cvolume.Value<>0)

(cxLabel1.Caption<>'')
and

(cvolume.Text<>'')

and
and

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.Valu
e)+',
'+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
TObject);

TFPmaterial_project.cUpdateClick(Sender:

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
kode_material='''+cmaterial.Text+''',

set

volume_type='''+cvolume_type.Text+''',volume=
'+floattostr(cvolume.Value)+',price='+floattostr(cprice.Val
ue)+',
price_pemkab_high='+floattostr(cpemkab_high.Value)+',';

Query1.SQL.Add('price_pemkab_medium='+floattostr(cpemkab_me
dium.Value)+'
where
and
kode_project_detail='''+cxLabel1.Caption+'''
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
TObject);

TFPmaterial_project.cDeleteClick(Sender:

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

then

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<>'')
(csp_job_search.Text<>'')
and
(cposition.Text<>'')
(csalary.Text<>'') and (csalary.Value<>0) then begin

and
and

With data do begin


Query1.SQL.Text:='insert
into
worker_salary
values('''+cxLabel1.Caption+''','''+cposition.Text+''','+fl
oattostr(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<>'')
(csalary.Text<>'')

and

(cposition.Text<>'')

and

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<>'')
begin

then

With data do begin


Query1.SQL.Text:='Delete
position='''+cposition.Text+'''

from

worker_salary

where
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_proje
ct'])
and
(cequipment.Text=trent_equipment.FieldValues['kode_equipmen
t']) 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(cq
uantity.Value)+'';
Query1.SQL.Add('where
kode_project='''+ckode_project.Text+'''
kode_equipment='''+cequipment.Text+'''');

and

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<>'')
begin

and

(cequipment.Text<>'')

then

With data do begin


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

where
and

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
kode_project='''+cproject_kode.Text+'''';

where

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_pem
kab_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_pr
oject_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)
analisis_high,((salary/price_pemkab_medium)*100)
analisis_medium from project_detail ';

as
as

view2.SQL.Add('inner
join
worker_salary
on
project_detail.kode_project_detail=worker_salary.kode_proje
ct_detail');
view2.SQL.Add('where
kode_project='''+cproject_kode.Text+'''
position');

group

by

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
TObject);

TFRMaterial_analisis.cexportClick(Sender:

begin
page_setup;
cetak;
xls.Workbooks[1].Saveas(ExtractFilePath(Application.ExeName
Analisis
)+'DatabaseExcel\'+'Material-Salary
('+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
TObject);

TFRRAP.cproject_kodePropertiesChange(Sender:

begin
with data do begin
Query1.SQL.Text:='select * from project_header
kode_project='''+cproject_kode.Text+'''';

where

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.v
olume*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_jo
b');
view.SQL.Add('inner
join
material_project
on
project_detail.kode_project_detail=material_project.kode_pr
oject_detail');
view.SQL.Add('where
kode_project='''+cproject_kode.Text+'''
project_detail.kode_primary_job');

group

by

view.Open;

view2.SQL.Text:='Select
project_detail_name,primary_job_name,sum(koefesien*salary*v
olume) as tot_salary from project_detail ';
view2.SQL.Add('inner
join
primary_job
on
project_detail.kode_primary_job=primary_job.kode_primary_jo
b');
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+'''
project_detail.kode_primary_job');

group

by

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(m
as
aterial_project.volume*price*project_detail.volume)
tot_material from project_detail ';
view3.SQL.Add('inner
join
primary_job
on
project_detail.kode_primary_job=primary_job.kode_primary_jo
b');
view3.SQL.Add('inner
join
sub_job
project_detail.kode_sub_job=sub_job.kode_sub_job');

on

view3.SQL.Add('inner
join
material_project
on
project_detail.kode_project_detail=material_project.kode_pr
oject_detail');
view3.SQL.Add('where
kode_project='''+cproject_kode.Text+'''
group
project_detail.kode_sub_job,project_detail_name');

by

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_jo
b');
view4.SQL.Add('inner
join
sub_job
project_detail.kode_sub_job=sub_job.kode_sub_job');

on

view4.SQL.Add('inner
join
worker_salary
on
project_detail.kode_project_detail=worker_salary.kode_proje
ct_detail');
view4.SQL.Add('where
kode_project='''+cproject_kode.Text+'''
group
project_detail.kode_sub_job,project_detail_name');

by

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_pr
oject_detail');
view5.SQL.Add('inner
join
material
on
material_project.kode_material=material.kode_material');
view5.SQL.Add('where
kode_project='''+cproject_kode.Text+'''
material_project.kode_material');

group

by

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
TObject);

TFRProject_time.cprojectPropertiesChange(Sender:

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['projec
t_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

S-ar putea să vă placă și