You are on page 1of 25

BAB IV

IMPLEMENTASI SISTEM

4.1 Implementasi Basis Data

1. Stuktur tabel bagian

Tabel 4.1 Stuktur data tabel sparepart

No Fields Type Size Keterangan

1 Nama_Bagian* Varchar 30 Primary Key

2 Jumlah_karyawan Varchar 10 Not null

3 Deskripsi Varchar 100 null

2. Stuktur tabel karyawan

Tabel 4.2 stuktur data tabel karyawan

No Fields Type Size Keterangan

1 Nik * Varchar 30 Primary Key

2 nama Varchar 30 Not null

3 tempat lahir Varchar 30 Not null

4 tanggal lahir Varchar 30 Not null

5 alamat Varchar 50 Not null

6 telepon Varchar 30 Not null


7 status Varchar 30 Not null

8 kelamin Varchar 30 Not null

9 agama Varchar 30 Not null

10 pendidikan Varchar 30 Not null

11 nama bagian ** Varchar 30 Foreign key

3. Stuktur tabel gaji

Tabel 4.3 Stuktur data tabel gaji

No Fields Type Size Keterangan

1 Kd gaji * Varchar 20 Primary Key

2 Gaji pokok integer 20 Not null

3 Upah ot1 integer 20 Not null

4 Upah ot2 integer 20 Not null

5 Upah ot3 integer 20 Not null

6 Upah ot4 integer 20 Not null

4. Stuktur tabel lembur

No Fields Type Size Keterangan

1 Nik ** Varchar 30 Foreign Key

2 Kd gaji ** Varchar 30 Foreign Key

3 tanggal Varchar 30 Not null


4 bulan Varchar 20 Not null

5 tahun Varchar 4 Not null

6 ot1 integer 10 Not null

7 ot2 integer 10 Not null

8 ot3 integer 10 Not null

9 ot4 integer 10 Not null

10 Total ot integer 10 Not null

11 Total lembur float Not null

11 Keterangan Varchar 50 Not null

Tabel 4.4 Stuktur data tabel lembur

4.2 Implementasi Program

1. Tampilan menu form login

Gambar 4.1 Tampilan form login

procedure Tf_login.BitBtnLoginClick(Sender: TObject);

begin

with dm.Login do
begin

Close;

SQL.Clear;

SQL.Text:='select * from tb_admin where

username='+quotedstr(EditUsername.Text);

Open;

end;

if dm.Login.RecordCount = 0 then

begin

MessageDlg('Username tidak ada!'+#13+

'Silakan ulangi.', mtWarning, [mbOK], 0);

EditUsername.Text:='';

EditPassword.Text:='';

EditUsername.SetFocus;

end

else

if dm.Login.FieldByName('pass').AsString <> EditPassword.Text then

begin
MessageDlg('Username atau Password salah!'+#13+

'Silakan Ulangi.', mtWarning, [mbOK], 0);

EditUsername.Text:='';

EditPassword.Text:='';

EditUsername.SetFocus;

end

else

begin

MessageDlg('Login berhasil!'+#13+

'Jangan lupa Logout setelah selesai.',

mtInformation, [mbOK], 0);

F_MENU.Enabled:=true;

f_login.top:=2000;

end

end;
2. Tampilan menu utama

Gambar 4.2 Tampilan menu utama

procedure Tf_menu.departemenClick(Sender: TObject);

begin

with F_departemen do

begin

F_menu.Enabled:=false;

f_departemen.Enabled:=true;

show;

end;

end;
procedure Tf_menu.gajiClick(Sender: TObject);

begin

with F_gaji do

begin

F_menu.Enabled:=false;

f_gaji.Enabled:=true;

show;

end;

end;

procedure Tf_menu.karyawanClick(Sender: TObject);

begin

with F_karyawan do

begin

F_menu.Enabled:=false;

f_karyawan.Enabled:=true;

show;

end;
end;

procedure Tf_menu.keluar3Click(Sender: TObject);

begin

close;

end;

procedure Tf_menu.overtimeClick(Sender: TObject);

begin

with F_lembur do

begin

F_menu.Enabled:=false;

f_lembur.Enabled:=true;

show;

end;

end;

procedure Tf_menu.FormActivate(Sender: TObject);

begin

f_login.visible:=true;
end;

procedure Tf_menu.RekapLaporanBulanan1Click(Sender: TObject);

begin

with F_lapbulanan do

begin

F_menu.Enabled:=false;

f_lapbulanan.Enabled:=true;

show;

end;

end;

procedure Tf_menu.LaporanHarian1Click(Sender: TObject);

begin

with F_lapharian do

begin

F_menu.Enabled:=false;

f_lapharian.Enabled:=true;

show;
end;

end;

procedure Tf_menu.LaporanLemburKaryawan1Click(Sender: TObject);

begin

with F_lapkaryawan do

begin

F_menu.Enabled:=false;

f_lapkaryawan.Enabled:=true;

show;

end;

end;
3. Tampilan menu gaji

Gambar 4.3 Tampilan menu gaji

Procedure tombol update:

if (btnreset.Enabled=false) and (btnbaru.Enabled=false) then

begin

if MessageDlg('Apakah Anda yakin akan mengedit data gaji ini?',

mtConfirmation,[mbYes,mbNo], 0)=mrYes then

begin

ot1:=(strtofloat(edit2.Text)/173)*1.5;

ot2:=(strtofloat(edit2.Text)/173)*2;

ot3:=(strtofloat(edit2.Text)/173)*3;
ot4:=(strtofloat(edit2.Text)/173)*4;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('update tb_gaji set

gaji_pokok="'+Edit2.Text+'",upah_ot1="'+floattostr(ot1)+'",upah_ot2="'+floattost

r(ot2)+'",upah_ot3="'+floattostr(ot3)+'",upah_ot4="'+floattostr(ot4)+'" where

kd_gaji="'+Edit1.Text+'"');

ADOQuery1.Execute;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('select * from tb_gaji order by kd_gaji');

ADOQuery2.Open;

btnbaru.Enabled:=true;

btnsimpan.Enabled:=false;

btnbatal.Enabled:=false;

btnhapus.Enabled:=true;

btnupdate.Enabled:=true;

btnreset.Enabled:=false;

btntutup.Enabled:=true;

Edit2.Text :='';
Edit3.Text :='';

Edit1.Text :='';

Edit4.Text :='';

Edit5.Text :='';

Edit6.Text :='';

Edit8.Text :='';

Edit1.visible :=true;

Edit2.visible :=true;

Edit3.visible :=true;

Edit4.visible :=true;

Edit5.visible :=true;

Edit6.visible :=true;

Edit8.visible :=true;

Edit2.enabled :=false;

Edit3.enabled :=false;

Edit1.enabled :=false;

Edit4.enabled :=false;
Edit5.enabled :=false;

Edit6.enabled :=false;

Edit8.enabled :=true;

dbgrid1.Enabled:=true;

end;

end;

4. Tampilan menu bagian

Gambar 4.4 Tampilan menu bagian

Procedure tombol update :

if (btnreset.Enabled=false) and (btnbaru.Enabled=false) then

begin
if MessageDlg('Apakah Anda yakin akan mengedit data ini?',

mtConfirmation,[mbYes,mbNo], 0)=mrYes then

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('update tb_departemen set

jumlah_karyawan="'+Edit2.Text+'",'+

'deskripsi="'+Edit3.Text+'" where nama_departemen="'+Edit1.Text+'"');

ADOQuery1.Execute;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('select * from tb_departemen order by

nama_departemen');

ADOQuery2.Open;

btnbaru.Enabled:=true;

btnsimpan.Enabled:=false;

btnbatal.Enabled:=false;

btnhapus.Enabled:=true;

btnupdate.Enabled:=true;

btnreset.Enabled:=false;
btntutup.Enabled:=true;

Edit2.Text :='';

Edit3.Text :='';

Edit1.Text :='';

Edit2.visible :=true;

Edit3.visible :=true;

Edit1.visible :=true;

Edit8.visible :=true;

Edit2.enabled :=false;

Edit3.enabled :=false;

Edit1.enabled :=false;

Edit8.enabled :=true;

dbgrid1.Enabled:=true;

end;

end;;
5. Tampilan menu karyawan

Gambar 4.5 Tampilan menu karyawan

Procedure tombol simpan:

procedure Tf_karyawan.btnsimpanClick(Sender: TObject);

begin

if (dbedit1.Text='') or (edit1.Text='') or (edit2.Text='') then

begin

ShowMessage('Data karyawan belum lengkap!');

Exit;

end;
if (btnreset.Enabled=true) and (btnbaru.Enabled=false) then

begin

if MessageDlg('Apakah anda yakin akan menyimpan data?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin

with ADOQuery3 do

begin

SQL.Clear;

SQL.Add('select nik from tb_karyawan where

nik='+QuotedStr(Edit1.Text));

Open;

end;

if not ADOQuery3.Eof then

begin

ShowMessage('data karyawan sudah ada! Silakan diganti.');

Exit;

end;

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into tb_karyawan

(nik,nama,tempat_lahir,telepon,alamat,tanggal_lahir,kelamin,agama,status,p

endidikan,nama_departemen) '+

'values

("'+Edit1.Text+'","'+Edit2.Text+'","'+Edit3.Text+'","'+Edit5.Text+'","'+Edit

6.Text+'","'+datetostr(dt1.date)+'","'+combobox1.Text+'","'+combobox2.Te

xt+'","'+combobox3.Text+'","'+combobox4.Text+'","'+DBlookupcombobox

1.Text+'")');

ADOQuery1.Execute;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('select * from tb_karyawan order by nik');

ADOQuery2.open;

btnbaru.Enabled:=true;

btnsimpan.Enabled:=false;

btnbatal.Enabled:=false;

btnhapus.Enabled:=true;

btnupdate.Enabled:=true;

btnreset.Enabled:=false;

btntutup.Enabled:=true;;
6. Tampilan menu lembur

Gambar 4.6 Tampilan menu lembur

Procedure tombol hapus :

procedure Tf_lembur.btnhapusClick(Sender: TObject);

begin

if Edit1.Text='' then

begin

ShowMessage('Silakan pilih dahulu data lembur yang ingin dihapus!');

Exit;

end;
if MessageDlg('Apakah Anda yakin akan menghapus data lembur ini?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('select * from tb_lembur where

nik="'+dbcombobox1.Text+'"');

adoquery2.Open;

adoquery2.delete;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('select

l.nik,l.kd_gaji,l.tanggal,l.bulan,l.tahun,l.ot1,l.ot2,l.ot3,l.ot4,l.total_ot,l.total_lembu

r,l.keterangan,k.nama,g.gaji_pokok from tb_lembur as l,tb_karyawan as k,tb_gaji

as g where l.nik=k.nik and'+

' l.kd_gaji=g.kd_gaji order by l.nik ');

ADOQuery2.open;

Edit1.Text :='';

Edit2.Text :='';

Edit3.Text :='';
Edit4.Text :='';

Edit5.Text :='';

Edit6.Text :='';

Edit7.Text :='';

Edit8.Text :='';

DBEdit1.Text :='';

DBEdit2.Text :='';

DBEdit3.Text :='';

DBEdit4.Text :='';

DBEdit5.Text :='';

DBEdit6.Text :='';

dbcombobox1.text :='';

dbcombobox2.text :='';;

7. Tampilan menu cetak laporan


Gambar 4.7 Tampilan menu cetak laporan

procedure tombol cetak :

procedure Tf_lapkaryawan.btncetak2Click(Sender: TObject);

begin

adoquery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select

l.nik,l.kd_gaji,l.tanggal,l.bulan,l.tahun,l.ot1,l.ot2,l.ot3,l.ot4,l.total_ot,l.total_lembu

r,l.keterangan,k.nama,g.gaji_pokok from tb_lembur as l,tb_karyawan as k,tb_gaji

as g '+
'where l.nik=k.nik and l.kd_gaji=g.kd_gaji and l.nik="'+edit11.Text+'" and

l.bulan="'+combobox10.Text+'" and l.tahun="'+Edit10.Text+'" order by

l.tanggal');

ADOQuery1.Open;

adoquery1.Active := true;

ravekaryawan.Open;

ravekaryawan.selectReport('report3',true);

ravekaryawan.Execute;

end;;

8. Tampilan rekap lembur bulanan

Gambar 4.10 Tampilan rekap lembur bulanan


9. Tampilan rekap lembur harian

Gambar 4.11 Tampilan rekap lembur harian

10. Tampilan laporan lembur karyawan

Gambar 4.12 Tampilan laporan lembur karyawan

You might also like