Bab 4 Rvisi
Bab 4 Rvisi
Bab 4 Rvisi
A. Hasil
Embarcadero XE2.
1. Form Login
sistem informasi ini. Hanya user yang telah tersimpan dalam database
31
32
2. Menu Utama
Menu Utama adalah form yang pertama tampil setelah pengguna login
dengan benar. Maka semua menu – menu di menu utama akan aktif.
3. Manajemen Operator
4. Input Data
Menu input data memiliki 2 (dua) sub menu, yaitu Input Data Jabatan
diinputkan.
ubah.
5. Menu Proses
a. Input insentif
Form data gaji adalah form yang digunakan untuk mengelola data
gaji karyawan setiap karyawan. Adapun tampilan form input data gaji
yaitu :
Langkah untuk melakukan penginputan data pada form data gaji adalah
sebagai berikut :
5) Untuk menutup form input data gaji dan kembali ke menu utama
insentif.
a. Laporan karyawan
c. Laporan insentif
sebagai berikut :
d. Laporan gaji
laporan data gaji karyawan. Adapun tampilan form laporan data gaji
sebagai berikut :
B. Pembahasan
berikut :
c. Kemudian akan tampil kotak dialog file new database Seperti pada
gambar berikut :
47
d. Klik database kemudian isi nama database yang akan dibuat, kemudian
struktur field pada bab sebelumnya. Pada bagian Data type tentukan
format, khususnya untuk field dengan type date/time, jika sudah selesai
klik simpan
g. Lakukan hal yang sama untuk membuat tabel database yang lainnya,
(ODBC )
49
i. Pilih database yang telah dibuat klik add, pilih mysql odbc 3.51 driver,
klik finish
k. Lalu isi nama database data sourcenya, isi top/tp server dengan
a. Langkah pertama ambil komponen main menu dari tab standard yang
ini :
Membuat input data digunakan untuk memilih form input data yang
berikut :
sebagai berikut :
d. Klik build, pilih Microsoft jet 4.0 OLE DB provider kemudian klik
next.
54
jika file name sudah dimasukkan klik open maka akan muncul
i. Kemudian buka menu tool palete untuk mengambil field yang akan
yang akan digunakan pada form input jabatan, maka akan muncul
tambah 6 button yaitu button tambah, simpan, hapus, ubah, batal, dan
button cari. lalu tambahkan db grid, radio button dan dbedit untuk
l. Berikut ini adalah coding button tambah, simpan, ubah, hapus, batal,
TXT_ID_JABATAN.SetFocus;
exit;
end
else
begin
ado_jabatan['id_jabatan']:=TXT_ID_JABATAN.Text;
ado_jabatan['nama_jabatan']:=TXT_NAMA_JABATAN.Te
xt;
ado_jabatan['gaji_pokok']:=TXT_GAJI_POKOK.Text;
ado_jabatan.Post;
Application.MessageBox('DATA JABATAN
BERHASIL DISIMPAN','INFORMASI');
OnActivate(SENDER);
end;
end;
end;
end;
3 Hapus procedure Tf_input_jabatan.BTN_HAPUSClick(Sender:
TObject);
begin
if Application.MessageBox('APAKAH DATA JABATAN
INGIN DI HAPUS','peringatan',MB_YESNO or
MB_ICONQUESTION)=ID_YES then
begin
ado_jabatan.Delete;
Application.MessageBox('DATA JABATAN
BERHASIL DI HAPUS','informasi',MB_OK);
OnActivate(sender);
end;
end;
4 Ubah procedure Tf_input_jabatan.BTN_UBAHClick(Sender:
TObject);
begin
if Application.MessageBox('APAKAH YAKIN INGIN
UBAH DATA JABATAN','peringatan',MB_YESNO or
MB_ICONQUESTION)=ID_YES then
begin
ado_jabatan.Edit;
ado_jabatan['id_jabatan']:=TXT_ID_JABATAN.Text;
ado_jabatan['nama_jabatan']:=TXT_NAMA_JABATAN.Te
xt;
ado_jabatan['gaji_pokok']:=TXT_GAJI_POKOK.Text;
Application.MessageBox('DATA JABATAN
BERHASIL DIUBAH','INFORMASI',MB_OK);
ado_jabatan.Post;
OnActivate(sender);
exit;
60
end;
end;
5 Batal procedure Tf_input_jabatan.BTN_BATALClick(Sender:
TObject);
begin
ado_jabatan.Cancel;
OnActivate(SENDER);
end;
6 Cari procedure Tf_input_jabatan.BTN_CARIClick(Sender:
TObject);
begin
if RB_ID_JABATAN.Checked=True then
begin
if not ado_jabatan.Locate('id_jabatan',TXT_CARI.Text,
[])=True then
begin
MessageDlg('ID JABATAN TIDAK
DITEMUKAN',mtInformation,[mbok],0);
TXT_CARI.SetFocus;
Exit;
end
else
begin
ado_jabatan.Locate('id_jabatan',TXT_CARI.Text,[]);
hidup_dbedit;
BTN_TAMBAH.Enabled:=False;
BTN_UBAH.Enabled:=True;
BTN_HAPUS.Enabled:=True;
BTN_BATAL.Enabled:=True;
TXT_ID_JABATAN.Enabled:=FALSE;
TXT_NAMA_JABATAN.SetFocus;
end;
end
else if RB_NAMA.Checked=True then
begin
if not
ado_jabatan.Locate('nama_jabatan',TXT_CARI.Text,
[])=True then
begin
MessageDlg('NAMA JABATAN TIDAK
DITEMUKAN',mtInformation,[mbok],0);
TXT_CARI.SetFocus;
Exit;
end
else
begin
ado_jabatan.Locate('nama_jabatan',txt_cari.Text,[]);
hidup_dbedit;
BTN_TAMBAH.Enabled:=False;
BTN_UBAH.Enabled:=True;
61
BTN_HAPUS.Enabled:=True;
BTN_BATAL.Enabled:=True;
TXT_ID_JABATAN.Enabled:=FALSE;
TXT_NAMA_JABATAN.SetFocus;
end;
end;
end;
ditampilkan. Form ini terdiri dari transaksi absen, insentif, gaji, yang
berikut :
transaksi gaji dengan cara masuk ke ADOTable yang name nya telah
form gaji.
ubah, batal, keluar, cari, dan button slip gaji buat coding pada button-
pencarian.
f. Berikut ini adalah coding button tambah, simpan, ubah, hapus, batal,
SQL.Clear;
SQL.Add('SELECT *FROM tabel_gaji WHERE
no_gaji="'+TXT_NO_GAJI.Text+'"');
open;
ado_gaji['id_karyawan']:=CMB_ID_KARYAWAN.Te
xt;
ado_gaji['nama_karyawan']:=TXT_NAMA_KARYAW
AN.Text;
ado_gaji['id_jabatan']:=TXT_ID_JABATAN.Text;
ado_gaji['nama_jabatan']:=TXT_NAMA_JABATAN.T
ext;
ado_gaji['gaji_pokok']:=TXT_GAJI_POKOK.Text;
ado_gaji['bonus_insentif']:=TXT_BONUS_INSENTIF.
Text;
ado_gaji['potongan_deposit']:=TXT_POTONGAN_DE
POSIT.Text;
ado_gaji['potongan_lainnya']:=TXT_POTOGAN_LAI
NNYA.Text;
ado_gaji['total_potongan']:=TXT_TOTAL_POTONGA
N.Text;
ado_gaji['gaji_bersih']:=TXT_GAJI_BERSIH.Text;
ado_gaji.Post;
Application.MessageBox('DATA GAJI
BERHASIL DISIMPAN','INFORMASI');
OnActivate(SENDER);
end;
end;
end;
65
end;
3 Batal procedure Tf_input_gaji.BTN_BATALClick(Sender:
TObject);
begin
ado_gaji.Cancel;
OnActivate(SENDER);
end;
4 Ubah procedure Tf_input_gaji.BTN_UBAHClick(Sender:
TObject);
begin
if Application.MessageBox('APAKAH YAKIN
INGIN UBAH DATA GAJI','peringatan',MB_YESNO
or MB_ICONQUESTION)=ID_YES then
begin
ado_gaji.Edit;
ado_gaji['no_gaji']:=TXT_NO_GAJI.Text;
ado_gaji['tgl_gaji']:=DT_TGL_GAJI.Date;
ado_gaji['id_karyawan']:=CMB_ID_KARYAWAN.Te
xt;
ado_gaji['nama_karyawan']:=TXT_NAMA_KARYAW
AN.Text;
ado_gaji['id_jabatan']:=TXT_ID_JABATAN.Text;
ado_gaji['nama_jabatan']:=TXT_NAMA_JABATAN.T
ext;
ado_gaji['gaji_pokok']:=TXT_GAJI_POKOK.Text;
ado_gaji['bonus_insentif']:=TXT_BONUS_INSENTIF.
Text;
ado_gaji['potongan_deposit']:=TXT_POTONGAN_DE
POSIT.Text;
ado_gaji['potongan_lainnya']:=TXT_POTOGAN_LAI
NNYA.Text;
ado_gaji['total_potongan']:=TXT_TOTAL_POTONGA
N.Text;
ado_gaji['gaji_bersih']:=TXT_GAJI_BERSIH.Text;
Application.MessageBox('DATA GAJI
BERHASIL DIUBAH','INFORMASI',MB_OK);
ado_gaji.Post;
OnActivate(sender);
exit;
end;
66
end;
5 Hapus procedure Tf_input_gaji.BTN_HAPUSClick(Sender:
TObject);
begin
if Application.MessageBox('APAKAH DATA GAJI
INGIN DI HAPUS','peringatan',MB_YESNO or
MB_ICONQUESTION)=ID_YES then
begin
ado_gaji .Delete;
Application.MessageBox('DATA GAJI BERHASIL
DI HAPUS','informasi',MB_OK);
OnActivate(sender);
end;
end;
6 Slip Gaji procedure Tf_input_gaji.BTN_SLIPClick(Sender:
TObject);
begin
SLIP.ReportFileName:='slip_gaji.rpt';
SLIP.SelectionFormula:='{tabel_gaji.no_gaji}='+Quote
dStr(TXT_NO_GAJI.Text);
SLIP.RetrieveDataFiles;
SLIP.WindowState:=crptMaximized;
SLIP.Action:=1;
end;
TXT_NO_GAJI.Enabled:=FALSE;
CMB_ID_KARYAWAN.SetFocus;
end;
end
else if RB_NO_GAJI.Checked=True then
begin
if not ado_gaji.Locate('no_gaji',TXT_CARI.Text,
[])=True then
begin
MessageDlg('NO GAJI TIDAK
DITEMUKAN',mtInformation,[mbok],0);
TXT_CARI.SetFocus;
Exit;
end
else
begin
ado_gaji.Locate('no_gaji',txt_cari.Text,[]);
hidup_dbedit;
BTN_TAMBAH.Enabled:=False;
BTN_UBAH.Enabled:=True;
BTN_HAPUS.Enabled:=True;
BTN_BATAL.Enabled:=True;
TXT_NO_GAJI.Enabled:=FALSE;
CMB_ID_KARYAWAN.SetFocus;
end;
end;
end;
sebagai berikut :
lebih rapi.
end;
end;
end.
cr_laporan.SelectionFormula:='{tabel_karyawan.id_karyawa
n}='+QuotedStr(TXT_CARI.Text);
end
else if RB_NAMA_KARYAWAN.Checked=true then
begin
cr_laporan.SelectionFormula:='{tabel_karyawan.nama}='+Q
uotedStr(TXT_CARI.Text);
end
else if RB_JENIS_KELAMIN.Checked=true then
begin
cr_laporan.SelectionFormula:='{tabel_karyawan.jenis_kelam
in}='+QuotedStr(TXT_CARI.Text);
end
else if RB_STATUS_KAWIN.Checked=true then
begin
cr_laporan.SelectionFormula:='{tabel_karyawan.status_kawi
n}='+QuotedStr(TXT_CARI.Text);
end
else
begin
Application.MessageBox('pilih dulu pencarian
berdasarkan','informasi',MB_OK);
BTN_CARI.SetFocus;
end;
cr_laporan.RetrieveDataFiles;
cr_laporan.WindowState:=crptMaximized;
cr_laporan.Action:=1;
end;
71
dibuatkan laporan.
1.) Membuka form baru untuk memulai membuat form pencarian data
open;
End;
end;
2 Refresh procedure Tf_lap_gaji.BTN_REFRESHClick(Sender:
TObject);
begin
With query_cari_laporan do
Begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM tabel_gaji');
open;
End;
end;
3 Tampil procedure Tf_lap_gaji.BTN_TAMPILKANClick(Sender:
TObject);
begin
cr_laporan.ReportFileName:='laporan_gaji.rpt';
if RB_ID_JABATAN.Checked=true then
begin
cr_laporan.SelectionFormula:='{tabel_gaji.id_jabatan}='+
QuotedStr(TXT_CARI.Text);
end
else if RB_NAMA_JABATAN.Checked=true then
begin
cr_laporan.SelectionFormula:='{tabel_gaji.nama_jabatan}
='+QuotedStr(TXT_CARI.Text);
end
else if RB_ID_KARYAWAN.Checked=true then
begin
cr_laporan.SelectionFormula:='{tabel_gaji.id_karyawan}
='+QuotedStr(TXT_CARI.Text);
end
else if RB_NAMA_KARYAWAN.Checked=true
then
begin
cr_laporan.SelectionFormula:='{tabel_gaji.nama_karyawa
n}='+QuotedStr(TXT_CARI.Text);
end
else if RB_PER_BULAN.Checked=true then
begin
cr_laporan.SelectionFormula:='MONTH({tabel_gaji.tgl_g
aji})='+FormatDateTime('MM',DT_PERBULAN.date)+'
AND
YEAR({tabel_gaji.tgl_gaji})='+FormatDateTime('yyyy',D
75
T_PERBULAN.date)+'';
end
else if RB_PER_PERIODE.Checked=true then
begin
cr_laporan.SelectionFormula:='{tabel_gaji.tgl_gaji}>=#'+
FormatDateTime('mm-dd-yyyy',dt_tgl_awal.date)+'#
AND {tabel_gaji.tgl_gaji}<=#'+FormatDateTime('mm-
dd-yyyy',dt_tgl_akhir.date)+'#';
end;
cr_laporan.RetrieveDataFiles;
cr_laporan.WindowState:=crptMaximized;
cr_laporan.Action:=1;
end;
end.
4 Semua procedure Tf_lap_gaji.BTN_SEMUAClick(Sender:
TObject);
begin
CR_SEMUA.ReportFileName:='laporan_gaji.rpt';
CR_SEMUA.RetrieveDataFiles;
CR_SEMUA.WindowState:=crptMaximized;
CR_SEMUA.Action:=1
end;
3). Untuk membuat laporan, pada form yang sama masukkan komponen
laporan.
76
Begitu juga untuk membuat laporan dan pencarian absen, dan insentif
buka form baru untuk membuat form pencarian dan laporan, kemudian
grid dan 4 button, yaitu button cari, refresh, tampilkan, dan semua.
operator.
dalam komponen Tool palette, pilih Tool palette yang ingin digunakan