25
25
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisa Kebutuhan Software
A. Tahapan Analisis
Program sistem kepegawaian pada PT. Evolusi Teknologi Solusi belum
terkomputerisasi agar lebih efisien dengan menggunakan beberapa user. Berikut
ini spesifikasi kebutuhan (system requirement) dari program sistem kepegawaian
tersebut.
Akses HRD :
A1. HRD dapat melakukan login
A2. HRD dapat mengolah data pelamar
A3. HRD dapat mengolah data karyawan
A4. HRD dapat mengolah data jabatan
A5. HRD dapat mengolah data user
A6. HRD dapat memproses hasil psikotest
A7. HRD dapat memproses absen
A8. HRD dapat memproses cuti
A9. HRD dapat memproses sp
A10. HRD dapat melihat dan mencetak laporan : pelamar, jabatan, karyawan,
absen, psikotes, cuti dan sp
26
A11. HRD dapat melakukan exit
Akses Bagian Keuangan :
B1. Bagian Keuangan dapat melakukan login
B2. Bagian Keuangan dapat memproses gaji
B3. Bagian Keuangan dapat melihat dan mencetak laporan gaji
B4. Bagian Keuangan dapat melakukan exit
A. Use Case Diagram
Diagram use case menunjukkan interaksi antara use case, actor, dan pekerja.
Diagram ini menggambaran model lengkap tentang apa yang sekolah lakukan,
siapa yang berperan di dalamnya dan diluarnya.
27
1. Use Case Diagram Sistem Kepegawaian Akses HRD
uc Use Case Akses HRD
HRD
Login
Mengolah Data
Pelamar
Mengolah Data
Karyawan
Mengolah Data
Jabatan
Mengolah Data User
Memproses Hasil
Psikotest
Memproses Absen
Mencetak LaporanKeluar
Tampil Form
Pelamar
Tampil Form
Karyawan
Tampil Form
Jabatan
Tampil Form User
Tampil Form
Psikotest
Tampil Form Absen
Tampil Form Cetak
Laporan
Exit
Add
Edit
Delete
Find
Memproses Cuti
Memproses SP
Tampil Form Cuti
Tampil Form SP
Sav e
Cancel
«extend»
«extend»
«extend»«include»
«extend»
«extend»
«include»
«extend»
«extend»
«include»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«include»
«extend»
«extend»«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«extend»
«extend»«extend»
«include»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«extend»
«include»
«extend»
«extend»
«extend»
«include»
«extend»
Gambar IV.1
Detail Use Case Diagram Sistem Kepegawaian Akses HRD
Deskripsi Use Case Sistem Kepegawaian Akses HRD :
Tabel IV.1
Deskripsi Use Case Sistem Kepegawaian Akses HRD
Use Case Name Akses HRD
Requirements A1 – A11
Goal 1. HRD dapat menambah, mencari, mengedit,
menghapus dan menyimpan data pelamar,
jabatan dan user.
2. HRD dapat menambah dan menyimpan proses
hasil psikotest, absen, cuti dan SP.
3. HRD dapat melihat dan mencetak laporan calon
pegawai, jabatan, karyawan, absen, psikotest,
cuti dan SP lewat aplikasi program.
Pre-conditions HRD telah login
Post-conditions 1. Data pelamar, karyawan, jabatan dan user dapat
tersimpan, terupdate atau terhapus.
2. Proses data absen, psikotest, cuti dan SP dapat
tersimpan.
Failed end condition 1. HRD gagal menyimpan, mengupdate atau
menghapus data pelamar, karyawan, jabatan dan
28
user.
2. HRD gagal menyimpan data Proses data absen,
psikotest, cuti dan SP.
Primary Actors HRD
Main Flow / Basic Path 1. HRD menambah data pelamar, karyawan,
jabatan, user, proses hasil psikotest, proses
absen, proses cuti dan proses SP.
2. HRD menyimpan data pelamar, karyawan,
jabatan, user, proses hasil psikotest, proses
absen, proses cuti dan proses SP.
Alternate Flow /
Invariant
1. HRD mengedit data pelamar, karyawan, jabatan
dan user.
2. HRD menghapus data pelamar, karyawan,
jabatan dan user.
3. HRD mencari data pelamar, karyawan, jabatan
dan user.
Invariant HRD membatalkan program
2. Use Case Diagram Sistem Kepegawaian Akses Bagian Keuangan
uc Use Case Akses Bagian Keuangan
Keuangan
Login
Keluar
Memproses Gaj i
Melihat dan Mencetak
Laporan Gaj i
Tampil Form Gaj i
Tampil Form Cetak
Laporan Gaj i
Add
Sav e
Exit
«extend»
«extend»
«include»
«extend»«extend»
«extend»
«extend»
«extend»
«extend»
«include»
Gambar IV.2
Detail Use Case Diagram Sistem Kepegawaian Akses Bagian Keuangan
29
Deskripsi Use Case Sistem Kepegawaian Akses Bagian Keuangan :
Tabel IV.2
Deskripsi Use Case Sistem Kepegawaian Akses Bagian Keuangan
Use Case Name Sistem Penggajian Akses Bagian Keuangan
Requirements B1-B4
Goal 1. Bagian Keuangan dapat menambah dan
menyimpan proses gaji.
2. Bagian Keuangan dapat melihat dan mencetak
laporan gaji lewat aplikasi program.
Pre-conditions Bagian Keuangan telah login
Post-conditions Proses data Gaji dapat tersimpan.
Failed end condition Bagian Keuangan gagal menyimpan data Proses data
gaji
Primary Actors Bagian Keuangan
Main Flow / Basic Path 1. Bagian Keuangan menambah data gaji.
2. Bagian Keuangan menyimpan data Gaji.
Invariant Bagian Keuangan membatalkan program
C. Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alir berawal, decision yang
mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
30
1. Activity Diagram Akses HRD
a. Activity Diagram Mengolah Data Pelamar
act Activ ity DIagram Mengolah Data Pelamar
SistemHRD
Start
Melakukan
Login
Pilih Sub Menu
Master Pelamar
Tampil Form
Data Pelamar
Pilih Tombol
AddInput Data
Pelamar
Pilih Tombol
Sav e
Pilih Tombol
Cancel
Menyimpan Data
Pelamar
Membersihkan
Form
Pilih Tombol
Find
Input Data
Pencarian
Data Tidak
Ditemukan
Menampilkan
Data Pencarian
Pilih Tombol
Edit
Ubah Data
Pelamar
Pilih Tombol
Update
Mengupdate
Data
Pelamar
Pilih Tombol
Cancel
Membersihkan
Form
Pilih Tombol
Delete
Menghapus Data
Pelamar
Pilih Tombol
Exit
Keluar Dari
Form Pelamar
End
Update
Find
Edit
Delete
Save
Exit
Cancel
Cancel
Data Ada
Add
Data Tidak Ada
Gambar IV. 3
Activity Diagram Mengolah Data Pelamar
31
b. Activity Diagram Mengolah Data Karyawan
act Activ irty Diagram Mengolah Data Karyawan
SistemHRD
Start
Melakukan
Login
Pilih Sub Menu
Master Karyawan
Tampil Form
Data Karyawan
Pilih Tombol
AddInput Data
Karyawan
Pilih Tombol
Sav e
Pilih Tombol
Cancel
Menyimpan Data
Karyawan
Membersihkan
Form
Pilih Tombol
Find
Input Data
Pencarian
Data Tidak
Ditemukan
Menampilkan
Data Pencarian
Pilih Tombol
Edit
Ubah Data
Karyawan
Pilih Tombol
Update
Mengupdate
Data
Karyawan
Pilih Tombol
Cancel
Membersihkan
Form
Pilih Tombol
Delete
Menghapus Data
Karyawan
Pilih Tombol
Exit
Keluar Dari
Form
Karyawan
End
Data Ada
Save
Cancel
Edit
Delete
Add
Data Tidak Ada
Cancel
Exit
Update
Find
Gambar IV. 4
Activity Diagram Mengolah Data Karyawan
32
c. Activity Diagram Mengolah Data Jabatan
act Activ irty Diagram Mengolah Data Jabatan
SistemHRD
Start
Melakukan
Login
Pilih Sub Menu
Master Jabatan
Tampil Form
Data Jabatan
Pilih Tombol
AddInput Data
Jabatan
Pilih Tombol
Sav e
Pilih Tombol
Cancel
Menyimpan Data
Jabatan
Membersihkan
Form
Pilih Tombol
Find
Input Data
Pencarian
Data Tidak
Ditemukan
Menampilkan
Data Pencarian
Pilih Tombol
Edit
Ubah Data
Jabatan
Pilih Tombol
Update
Mengupdate
Data
Jabatan
Pilih Tombol
Cancel
Membersihkan
Form
Pilih Tombol
Delete
Menghapus Data
Jabatan
Pilih Tombol
Exit
Keluar Dari
Form Jabatan
End
Data Ada
Find
Cancel
Edit
Save
Add
Delete
Exit
Data Tidak Ada
Cancel
Update
Gambar IV. 5
Activity Diagram Mengolah Data Jabatan
33
d. Activity Diagram Mengolah Data User
act Activ irty Diagram Mengolah Data User
SistemHRD
Start
Melakukan
Login
Pilih Sub Menu
Master User
Tampil Form
Data User
Pilih Tombol
AddInput Data
User
Pilih Tombol
Sav e
Pilih Tombol
Cancel
Menyimpan Data
User
Membersihkan
Form
Pilih Tombol
Find
Input Data
Pencarian
Data Tidak
Ditemukan
Menampilkan
Data Pencarian
Pilih Tombol
Edit
Ubah Data
User
Pilih Tombol
Update
Mengupdate
Data User
Pilih Tombol
Cancel
Membersihkan
Form
Pilih Tombol
Delete
Menghapus Data
User
Pilih Tombol
Exit
Keluar Dari
Form User
End
Cancel
Data Ada
Save
Find
Cancel
Add
Update
Edit
Data Tidak Ada
Exit
Delete
Gambar IV. 6
Activity Diagram Mengolah Data User
34
e. Activity Diagram Proses Psikotes
act Activ ity Diagram Proses Psikotest
SistemHRD
Start
Melakukan Login
Pilih Sub Menu Proses
Psikotest
Menampilkan Form
Proses Psikotest
Menginput Proses Data
Psikotest
Menyimpan Proses Data
Psikotest
Add
FindMencari Data Psikotest
Exit End
End
Pilih Tombol Add
Pilih Tombol Find
Pilih Tombol Exit
Save Pilih Tombol Sav e
Cancel Pilih Tombol Cancel Membersihkan Form
End
End
Keluar dari Form Proses
Psikotest
Tidak
Ya
Ya
Tidak
Ya
Tidak
Ya
Ya
Tidak
Tidak
Gambar IV. 7
Activity Diagram Proses Psikotes
35
f. Activity Diagram Proses Cuti
act Activ ity Diagram Proses Cuti
SistemHRD
Start
Melakukan Login
Pilih Sub Menu Proses
Cuti
Menampilkan Form
Proses Cuti
Menginput Proses Data
Cuti
Menyimpan Proses Data
Cuti
Add
Find
Exit
Mencari Data Cuti
Pilih Tombol Add
SavePilih Tombol Sav e
Cancel Pilih Tombol Cancel Membersihkan Form
Pilih Tombol Find
Pilih Tombol Exit
End
End
End
EndKeluar dari Form Proses
Cuti
Tidak
Tidak
Tidak
Tidak
Ya
Tidak
Ya
Ya
Ya
Ya
Gambar IV. 8
Activity Diagram Proses Cuti
36
g. Activity Diagram Proses SP
act Activ ity Diagram Proses SP
SistemHRD
Start
Melakukan Login
Pilih Sub Menu Proses SP Menampilkan Form
Proses SP
AddPilih Tombol Add
Menginput Proses Data
SP
Save
Cancel
Pilih Tombol Sav e
Pilih Tombol Cancel
Menyimpan Proses Data
SP
Membersihkan FormEnd
Find
End
Pilih Tombol Find
Pilih Tombol ExitExit
Mencari Data SP
Keluar dari Form Proses
SP
End
End
Ya
Ya
Tidak
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Gambar IV. 9
Activity Diagram Proses SP
37
h. Activity Diagram Proses Absen
act Activ ity Diagram Proses Absen
SistemHRD
Start
Melakukan Login
Pilih Sub Menu Proses
Absen
Menampilkan Form
Proses Absen
Menginput Proses Data
Absen
Menyimpan Proses Data
Absen
Add
Exit
Pilih Tombol Add
SavePilih Tombol Sav e
Cancel Pilih Tombol Cancel Membersihkan Form
Pilih Tombol Exit
End
End
End End
Keluar dari Form Proses
Absen
Tidak
Ya
Tidak
Ya
Ya
Ya
Tidak
Tidak
Gambar IV. 10
Activity Diagram Proses Absen
38
i. Activity Diagram Cetak Laporan Psikotes
act Activ irty Diagram Mencetak Laporan Psikotes
SistemHRD
Start
Melakukan Login
Memilih Sub
Menu Laporan
Psikotes
Tampil Form
Laporan Psikotes
Pilih
Perbulan
Pilih
Pertahun
Pilih Tombol
Pilih Tombol
Exit
Tampil Laporan
Psikotes
End
Pertahun
Exit
Perbulan
Gambar IV. 11
Activity Diagram Cetak Laporan Psikotes
39
j. Activity Diagram Cetak Laporan Cuti
act Activ irty Diagram Mencetak Laporan Cuti
SistemHRD
Start
Melakukan Login
Memilih Sub
Menu Laporan
Cuti
Tampil Form
Laporan Cuti
Pilih
Perbulan
Pilih
Pertahun
Pilih Tombol
Pilih Tombol
Exit
Tampil Laporan
Cuti
End
PIlih
Semua
Pilih Per
Karyawan
Pilih Nik
Karyawan
Semua
Per KaryawanPerbulan
Pertahun
Exit
Gambar IV. 12
Activity Diagram Cetak Laporan Cuti
40
k. Activity Diagram Cetak Laporan SP
act Activ irty Diagram Mencetak Laporan SP
SistemHRD
Start
Melakukan Login
Memilih Sub
Menu Laporan
SP
Tampil Form
Laporan SP
Pilih
Perbulan
Pilih
Pertahun
Pilih Tombol
Pilih Tombol
Exit
Tampil Laporan
SP
End
PIlih
Semua
Pilih Per
Karyawan
Pilih Nik
Karyawan
Semua
Exit
Pertahun
Perbulan Per Karyawan
Gambar IV. 13
Activity Diagram Cetak Laporan SP
41
l. Activity Diagram Cetak Laporan Absen
act Activ irty DIagram Mencetak Laporan Absen
SistemHRD
Start
Melakukan Login
Memilih Sub
Menu Laporan
Absen
Tampil Form
Laporan Absen
Pilih
Perbulan
Pilih
Pertahun
Pilih Tombol
Pilih Tombol
Exit
Tampil Laporan
Absen
End
PIlih
Semua
Pilih Per
Karyawan
Pilih Nik
Karyawan
Exit
Semua
Perbulan
Pertahun
Per Karyawan
Gambar IV. 14
Activity Diagram Cetak Laporan Absen
42
2. Activity Diagram Akses Bagian Keuangan
a. Activity Diagram Proses Gaji
act Activ ity Diagram Proses Gaj i
SistemBagian Keuangan
Start
Melakukan Login
Pilih Sub Menu Proses
Gaj i
Menampilkan Form
Proses Gaj i
Menginput Proses Data
Gaj i
Menyimpan Proses Data
Gaj i
Add
Exit
Pilih Tombol Add
SavePilih Tombol Sav e
Cancel Pilih Tombol Cancel Membersihkan Form
Pilih Tombol Exit
End
End
End End
Keluar dari Form Proses
Gaj i
Ya
Tidak
Tidak
Ya
Ya
Tidak
Ya
Tidak
Gambar IV. 15
Activity Diagram Proses Gaji
43
b. Activity Diagram Cetak Laporan Gaji
act Activ irty DIagram Mencetak Laporan Gaj i
SistemKeuangan
Start
Melakukan Login
Memilih Sub
Menu Laporan
Gaj i
Tampil Form
Laporan Gaj i
Pilih
Perbulan
Pilih
Pertahun
Pilih Tombol
Pilih Tombol
Exit
Tampil Laporan
Gaj i
End
PIlih
Semua
Pilih Per
Karyawan
Pilih Nik
Karyawan
Exit
Semua
Perbulan
Per Karyawan
Pertahun
Gambar IV. 16
Activity Diagram Cetak Laporan Gaji
44
4.2. Desain
4.2.1 Database
1. Entity Relationship Diagram (ERD)
ERD dalam Sistem Kepegawaian pada PT. Evolusi Teknologi Solusi
sebagai berikut:
absen
psikotes
pelamar
jabatan
karyawan
cuti
sp
gaji
user
tanggal
test
attitude
hasil
no_pelamar
iduser
nopsikotes
overtimekodejabatan
namajabatan
gajipokok
uangmakan
memilih
1
1
melakukan
no_pelamar
nama_pelamar
alamat_pelamar
tempat_lahir
tanggal_lahir
jenis_kelamin
agama
status
telepon
pendidikan
noktp
kodejabatan
1
1
menjadi
melakukan
mengajukan
mendapatkan
mendapatkan
memprosesmemproses
memproses
memproses
memproses
memprosesnocuti
tanggalawal
tgl
tanggalakhirnik
iduser
nosp
nik
selesaisp
tanggal
mulaisp
iduser
iduser
namauser
statususerpassword
tahungaji
noslip
nik
bulangaji
noabsen
tidakhadir
totalgajiiduser
totallembur
totalpotongan
nik
hadir
iduser
noabsen
jamlembur
harikerja
tahunabsen
bulanabsen1
1
1
1 1
1
1
1
1
1
1
1
11
1
1
1
1
1
1
1
1
tanggallahir
alamatkaryawantelepon
namakaryawan
tempatlahir
nik
tanggalaktif
no_pelamarjeniskelamin
memiliki
1
1
kodejabatan
tglinput
tanggalslip
Gambar IV.17
ERD (Entity Relationship Diagram)
45
2. Logical Record Structure
nopsikotes
tanggal
test
attitude
hasil
no_pelamar
iduser
psikotes
no_pelamar
nama_pelamar
alamat_pelamar
tempat_lahir
tanggal_lahir
jenis_kelamin
agama
status
telepon
pendidikan
noktp
kodejabatan
pelamar
nik
namakaryawan
alamatkaryawan
tempatlahir
tanggallahir
telepon
jeniskelamin
tanggal aktif
kodejabatan
no_pelamar
karyawan
noslip
tanggalslip
bulangaji
tahungaji
totallembur
totalpotongan
totalgaji
iduser
noabsen
nik
gaji
noabsen
tglinput
bulanabsen
tahunabsen
jamlembur
harikerja
hadir
tidakhadir
iduser
nik
absen
iduser
namauser
statususer
pasword
user
kodejabatan
namajabatan
gajipokok
uangmakan
overtime
jabatan
nocuti
tgl
tanggalawal
tanggalakhir
nik
iduser
cuti
nosp
tanggal
mulaisp
selesaisp
nik
iduser
sp
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1
11
1
1
11
1
1
1
1
1
1
Gambar IV.18
LRS (Logical Record Structure)
3. Spesifikasi File
a. Spesifikasi File Pelamar
Nama Database : simpeg.mdb
Nama File : Pelamar
Akronim : pelamar
Tipe File : File Master
Media Penyimpanan : Hardisk
Akses File : Index Sequential
Panjang Record : 201 byte
46
Kunci Field : no_pelamar
Tabel IV.3
Spesifikasi File Pelamar
No Elemen Data Nama Field Type Size Keterangan
1 No Pelamar no_pelamar Text 8 Primary Key
2 Nama Pelamar nama_pelamar Text 25
3 Alamat Pelamar alamat_pelamar Text 50
4 Tempat Lahir tempat_lahir Text 20
5 Tanggal Lahir tanggal_lahir Date 8
6 Jenis Kelamin jenis_kelamin Text 11
7 Agama Agama Text 11
8 Status Status Text 13
9 Telepon Telepon Text 13
10 Pendidikan pendidikan Text 3
11 Email Email Text 20
12 Nomor Ktp Noktp Date 16
13 Kode Jabatan kodejabatan Text 3 Foreign Key
b. Spesifikasi File Karyawan
Nama Database : simpeg.mdb
Nama File : Karyawan
Akronim : karyawan
Tipe File : File Master
Media Penyimpanan : Hardisk
47
Akses File : Index Sequential
Panjang Record : 154 byte
Kunci Field : nik
Tabel IV.4
Spesifikasi File Karyawan
No Elemen Data Nama Field Type Size Keterangan
1 Nik Nik Text 8 Primary Key
2 Nama Karyawan namakaryawan Text 25
3 Alamat Karyawan alamatkaryawan Text 50
4 Tempat Lahir tempatlahir Text 20
5 Tanggal Lahir tanggallahir Date 8
6 Jenis Kelamin jeniskelamin Text 11
7 Telepon Telepon Text 13
8 Tanggal Aktif tanggalaktif Date 8
9 Kode Jabatan kodejabatan Text 3 Foreign Key
10 No Pelamar no_pelamar Text 8 Foreign Key
c. Spesifikasi File Jabatan
Nama Database : simpeg.mdb
Nama File : Jabatan
Akronim : jabatan
Tipe File : File Master
Media Penyimpanan : Hardisk
Akses File : Index Sequential
48
Panjang Record : 18 byte
Kunci Field : kodejabatan
Tabel IV.5
Spesifikasi File Jabatan
No Elemen Data Nama Field Type Size Keterangan
1 Kode Jabatan kodejabatan Text 3 Primary Key
2 Nama Jabatan namajabatan Text 15
3 Gaji Pokok Gajipokok Currency
4 Uang Makan uangmakan Currency
5 Overtime Overtime Currency
d. Spesifikasi File User
Nama Database : simpeg.mdb
Nama File : User
Akronim : user
Tipe File : File Master
Media Penyimpanan : Hardisk
Akses File : Index Sequential
Panjang Record : 46 byte
Kunci Field : iduser
Tabel IV.6
Spesifikasi File User
No Elemen Data Nama Field Type Size Keterangan
1 Id User Iduser Text 5 Primary Key
49
2 Nama User Namauser Text 25
3 Status User statususer Text 8
4 Password User Password Text 8
e. Spesifikasi File Psikotes
Nama Database : simpeg.mdb
Nama File : Psikotes
Akronim : psikotes
Tipe File : File Transaksi
Media Penyimpanan : Hardisk
Akses File : Random
Panjang Record : 62 byte
Kunci Field : nopsikotes
Tabel IV.7
Spesifikasi File Psikotes
No Elemen Data Nama Field Type Size Keterangan
1 No Psikotest nopsikotes Text 8 Primary Key
2 Tanggal Tanggal date 8
3 Nilai Test Test Int 11
4 Nilai Attitude Attitude Int 11
5 Hasil Hasil Text 11
6 Id User Iduser Text 5 Foreign Key
7 No Pelamar no_pelamar Text 8 Foreign Key
50
f. Spesifikasi File Cuti
Nama Database : simpeg.mdb
Nama File : Cuti
Akronim : cuti
Tipe File : File Transaksi
Media Penyimpanan : Hardisk
Akses File : Random
Panjang Record : 45 byte
Kunci Field : nocuti
Tabel IV.8
Spesifikasi File Cuti
No Elemen Data Nama Field Type Size Keterangan
1 No Cuti Nocuti Text 8 Primary Key
2 Tanggal Tgl date 8
3 Tanggal Awal tanggalawal date 8
4 Tanggal Selesai tanggalakhir date 8
5 Nik Nik Text 8 Foreign Key
6 Id User Iduser Text 5 Foreign Key
g. Spesifikasi File SP
Nama Database : simpeg.mdb
Nama File : SP
Akronim : sp
Tipe File : File Transaksi
51
Media Penyimpanan : Hardisk
Akses File : Random
Panjang Record : 45 byte
Kunci Field : nosp
Tabel IV.9
Spesifikasi File SP
No Elemen Data Nama Field Type Size Keterangan
1 No SP Nosp Text 8 Primary Key
2 Tanggal Tanggal date 8
3 Mulai SP Mulaisp date 8
4 Selesai SP Selesaisp date 8
5 Nik Nik Text 8 Foreign Key
6 Id User Iduser Text 5 Foreign Key
h. Spesifikasi File Absen
Nama Database : simpeg.mdb
Nama File : Absen
Akronim : absen
Tipe File : File Transaksi
Media Penyimpanan : Hardisk
Akses File : Random
Panjang Record : 93 byte
Kunci Field : noabsen
52
Tabel IV.10
Spesifikasi File Absen
No Elemen Data Nama Field Type Size Keterangan
1 Nomor Absen Noabsen Text 8 Primary Key
2 Tanggal Input Tglinput Date 8
3 Bulan Absen bulanabsen Text 9
4 Tahun Absen tahunabsen Int 11
5 Jam Lembur jamlembur Int 11
6 Hari Kerja harikerja Int 11
7 Hadir Hadir Int 11
8 Tidak Hadir tidakhadir Int 11
9 Id User Iduser Text 5 Foreign Key
10 Nik Nik Text 8 Foreign Key
i. Spesifikasi File Gaji
Nama Database : simpeg.mdb
Nama File : Gaji
Akronim : gaji
Tipe File : File Transaksi
Media Penyimpanan : Hardisk
Akses File : Random
Panjang Record : 57 byte
Kunci Field : noslip
53
Tabel IV.11
Spesifikasi File Gaji
No Elemen Data Nama Field Type Size Keterangan
1 No Slip Noslip Text 8 Primary Key
2 Tanggal Slip tanggalslip Date 8
3 Bulan Gaji bulangaji Text 9
4 Tahun Gaji tahungaji Int 11
5 Total Lembur totallembur Currency
6 Total Potongan totalpotongan Currency
7 Total Gaji totalgaji Currency
8 Id User Iduser Text 5 Foreign Key
9 No Absen Noabsen Text 8 Foreign Key
10 Nik Nik Text 8 Foreign Key
4.2.2 Software Architecture
1. Deployment Diagram
Deployment diagram menunjukan susunan fisik suatu sistem, menunjukan
perangkat lunak mana yang berjalan pada perangkat lunak mana.
54
deployment Deployment Kepegawaian
Program Serv er
Database Serv er
Application Database
<SIMPEG>
MySql Database
Frontpage Application
<SIMPEG>
Admin Application
<SIMPEG>
Microsoft Access
2013
Microsoft Visual
Basic 6.0
MySql Connector
ODBC 5.1
Crystal Report
Client PC
Browser
Gambar IV.19
Deployment Diagram
2. Component Diagram
Component diagram digunakan untuk merepresentasikan dunia riil item
yaitu component software. Component software menetap di komputer bukan di
benak para analis, berikut gambar component software:
55
cmp Component Kepegawaian
MySql DatabaseApplication Database
<SIMPEG>
Microsoft Access
2013
Admin Application
<SIMPEG>
Microsoft Visual
Basic 6.0
MySql Connector
ODBC 5.1
Crystal Report
Frontpage Application
<SIMPEG>
Gambar IV.20
Component Diagram
56
4.2.3. User Interface
a. Tampilan Login
Gambar IV.21
Tampilan Login
b. Tampilan Menu Utama
Gambar IV.22
Tampilan Menu Utama
57
c. Tampilan Form Data Pelamar
Gambar IV.23
Tampilan Form Data Pelamar
d. Tampilan Form Data Karyawan
Gambar IV.24
Tampilan Form Data Karyawan
58
e. Tampilan Form Data Jabatan
Gambar IV.25
Tampilan Form Data Jabatan
f. Tampilan Form Data User
Gambar IV.26
Tampilan Form Data User
59
g. Tampilan Form Proses Psikotes
Gambar IV.27
Tampilan Form Proses Psikotes
h. Tampilan Form Proses Cuti
Gambar IV.28
Tampilan Form Proses Cuti
60
i. Tampilan Form Proses SP
Gambar IV.29
Tampilan Form Proses SP
j. Tampilan Form Proses Absen
Gambar IV.30
Tampilan Form Proses Absen
61
k. Tampilan Form Proses Gaji
Gambar IV.31
Tampilan Form Proses Gaji
l. Tampilan Laporan Data Karyawan
Gambar IV.32
Tampilan Laporan Data Karyawan
62
m. Tampilan Form Laporan Psikotest
Gambar IV.33
Tampilan Form Laporan Psikotest
n. Tampilan Form Laporan Cuti
Gambar IV.34
Tampilan Form Laporan Cuti
63
o. Tampilan Form Laporan SP
Gambar IV.35
Tampilan Form Laporan SP
p. Tampilan Form Laporan Absen
Gambar IV.36
Tampilan Form Laporan Absen
64
q. Tampilan Form Laporan Gaji
Gambar IV.37
Tampilan Form Laporan Gaji
r. Tampilan Form Ganti Password
Gambar IV.38
Tampilan Form Ganti Password
65
4.3. Code Generation
a. Form Login
Sub Bersih()
NmUser = ""
PwdUser = ""
End Sub
Private Sub batal_Click()
pesan = MsgBox("Batalkan Login?", vbQuestion + vbYesNo,
"Konfirmasi")
If pesan = vbYes Then
Unload Me
End If
End Sub
Private Sub cmdlogin_Click()
Call DBsimpeg
rsuser.Open "Select * from [user]", kon
ProgressBar1.Visible = True
For a = 0 To ProgressBar1.Max
ProgressBar1 = a
Next
MsgBox "Sistem Informasi Kepegawaian PT. Evoteks Jakarta",
vbInformation + vbOKOnly, "Anda Berhasil Login"
menuutama.Show
66
menuutama.StatusBar1.Panels(1) = NmUser
menuutama.StatusBar1.Panels(2) = kduser
menuutama.StatusBar1.Panels(3) = Stat
login.Hide
End Sub
Private Sub Form_Activate()
NmUser.Enabled = True
NmUser.SetFocus
End Sub
Private Sub Form_Load()
Bersih
cmdlogin.Enabled = False
PwdUser.Enabled = False
NmUser.MaxLength = 5
PwdUser.MaxLength = 8
Me.ProgressBar1.Visible = False
End Sub
Private Sub NmUser_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
67
Call DBsimpeg
rsuser.Open "Select * from [user] where [iduser]='" & NmUser & "'", kon
If rsuser.EOF Then
MsgBox "Id User Salah"
NmUser = ""
NmUser.SetFocus
Else
NmUser.Enabled = False
PwdUser.Enabled = True
PwdUser.SetFocus
End If
End If
End Sub
Private Sub PwdUser_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
Call DBsimpeg
rsuser.Open "Select * from [user] where [password]='" & PwdUser & "'",
kon
If rsuser.EOF Then
MsgBox "Password Salah", vbInformation, "Perhatian!!"
PwdUser = ""
PwdUser.SetFocus
68
Else
cmdlogin.Enabled = True
PwdUser.Enabled = False
cmdlogin.SetFocus
Stat = rsuser!statususer
kduser = rsuser!namauser
End If
End If
End Sub
b. FormPelamar
Private Sub cmbagama_Click()
cmbstatus.SetFocus
End Sub
Private Sub cmbjabatan_Click()
cmdtambah.SetFocus
End Sub
Private Sub cmbpendidikan_Click()
txtemail.SetFocus
End Sub
Private Sub cmbstatus_Click()
69
txttelp.SetFocus
End Sub
Private Sub cmdcari_Click()
txtcari.Enabled = True
txtcari.SetFocus
End Sub
Private Sub cmdhapus_Click()
Dim pesan As String
pesan = MsgBox("Hapus Data??", vbInformation + vbYesNo,
"Konfirmasi")
If pesan = vbYes Then
Dim HapusDT As String
Call DBsimpeg
HapusDT = "Delete from [pelamar] where [no_pelamar]='" & txtno & "'"
kon.Execute HapusDT
Call Form_Load
Call Awal
MsgBox "Data Dihapus", vbInformation, "Informasi"
ElseIf pesan = vbNo Then
Call Form_Load
Call Awal
End If
70
End Sub
Private Sub cmdkeluar_Click()
If cmdkeluar.Caption = "&Exit" Then
Unload Me
menuutama.Enabled = True
menuutama.Show
Else
Call Form_Load
End If
End Sub
Sub aktif()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Enabled = True
Next
Dim mengontrol As Control
For Each mengontrol In Me.Controls
If TypeOf mengontrol Is ComboBox Then mengontrol.Enabled = True
Next
optlaki.Enabled = True
optperempuan.Enabled = True
dttanggal.Enabled = True
71
txtcari.Enabled = False
End Sub
Private Sub cmdtambah_Click()
If cmdtambah.Caption = "&Add" Then
Call aktif
Call auto
txtnama.SetFocus
cmdtambah.Enabled = True
cmdtambah.Caption = "&Save"
cmdkeluar.Caption = "&Cancel"
txtcari.Enabled = False
cmdcari.Enabled = False
Else
If cmbjabatan = "" Or txtno = "" Or txtnama = "" Or txtalamat = "" Or
txttempat = "" Or txtktp = "" Or optlaki.Value = False And
optperempuan.Value = False Or cmbagama = "" Or cmbstatus = "" Or
txttelp = "" Or cmbpendidikan = "" Or txtemail = "" Then
MsgBox "Data Belum Lengkap!", vbInformation, "Perhatian!!"
Else
Dim TambahDT As String
c = Format(Me.dttanggal.Value, "YYYY/MM/DD")
d = Left(cmbjabatan, 3)
If optlaki.Value = True Then
72
TambahDT = "insert into [pelamar] values('" & txtno.Text & "','"
& txtnama.Text & "','" & txtalamat.Text & "','" & txttempat.Text & "','" & c
& "','" & optlaki.Caption & "','" & cmbagama.Text & "','" & cmbstatus.Text
& "','" & txttelp.Text & "','" & cmbpendidikan.Text & "','" & txtemail.Text
& "','" & txtktp.Text & "','" & d & "')"
kon.Execute TambahDT
ElseIf optperempuan.Value = True Then
TambahDT = "insert into [pelamar] values('" & txtno.Text & "','"
& txtnama.Text & "','" & txtalamat.Text & "','" & txttempat.Text & "','" & c
& "','" & optperempuan.Caption & "','" & cmbagama.Text & "','" &
cmbstatus.Text & "','" & txttelp.Text & "','" & cmbpendidikan.Text & "','" &
txtemail.Text & "','" & txtktp.Text & "','" & d & "')"
kon.Execute TambahDT
End If
Form_Load
Awal
MsgBox "Data Pelamar Berhasil Disimpan", vbInformation,
"Informasi"
End If
End If
End Sub
Sub auto()
Call DBsimpeg
rspelamar.Open "Select * from [pelamar] where " _
73
& " [no_pelamar] in (select max([no_pelamar])from [pelamar])" _
& " order by [no_pelamar] desc ", kon
rspelamar.Requery
Dim Hitung As Long
If rspelamar.EOF Then
txtno.Text = "P" + Format(Date, "YYMM") + "001"
Else
If Mid(rspelamar![no_pelamar], 2, 4) <> Format(Date, "YYMM") Then
txtno.Text = "P" + Format(Date, "YYMM") + "001"
Else
Hitung = Right(rspelamar![no_pelamar], 3) + 1
txtno.Text = "P" + Format(Date, "YYMM") + Right("000" & Hitung,
3)
End If
End If
txtno.Enabled = False
End Sub
Private Sub cmdubah_Click()
If cmdubah.Caption = "&Edit" Then
cmdubah.Caption = "&Update"
cmdtambah.Enabled = False
74
cmdhapus.Enabled = False
cmdubah.Enabled = True
cmdkeluar.Caption = "&Cancel"
Call aktif
txtno.Locked = True
txtnama.SetFocus
Else
If cmbjabatan = "" Or txtno = "" Or txtnama = "" Or txtalamat = "" Or
txttempat = "" Or txtktp = "" Or optlaki.Value = False And
optperempuan.Value = False Or cmbagama = "" Or cmbstatus = "" Or
txttelp = "" Or cmbpendidikan = "" Or txtemail = "" Then
MsgBox "Data Belum Lengkap!", vbInformation, "Perhatian!!"
Else
Dim UbahDT As String
c = Format(Me.dttanggal.Value, "YYYY/MM/DD")
d = Left(cmbjabatan, 3)
UbahDT = "Update [pelamar] Set [nama_pelamar]='" & txtnama &
"',[alamat_pelamar]='" & txtalamat & "',[tempat_lahir]='" & txttempat & "',"
_
& " [tanggal_lahir]='" & c & "',[agama]='" & cmbagama &
"',[status]='" & cmbstatus & "',[telepon]='" & txttelp & "',[pendidikan]='" &
cmbpendidikan & "',[email]='" & txtemail & "',[noktp]='" & txtktp &
"',[kodejabatan]='" & d & "' where [no_pelamar]='" & txtno & "'"
kon.Execute UbahDT
75
MsgBox "Data Berhasil Diperbarui", vbInformation, "Informasi"
Form_Load
Awal
End If
End If
End Sub
Private Sub dtpelamar_DblClick()
With rspelamar
If Not rspelamar.EOF Then
txtno.Text = rspelamar![no_pelamar]
txtnama.Text = rspelamar![nama_pelamar]
txtalamat.Text = rspelamar![alamat_pelamar]
txttempat.Text = rspelamar![tempat_lahir]
dttanggal.Value = rspelamar![tanggal_lahir]
If rspelamar.Fields("jenis_kelamin") = "Laki-Laki" Then
optlaki.Value = True And optperempuan.Value = False
ElseIf rspelamar.Fields("jenis_kelamin") = "Perempuan" Then
optperempuan.Value = True And optlaki.Value = False
End If
cmbagama.Text = rspelamar![agama]
cmbstatus.Text = rspelamar![Status]
txttelp.Text = rspelamar![telepon]
cmbpendidikan.Text = rspelamar![pendidikan]
76
txtemail.Text = rspelamar![email]
txtktp.Text = rspelamar![noktp]
cmbjabatan.Text = rspelamar![kodejabatan]
End If
End With
Call NonAktif
cmdhapus.Enabled = True
cmdubah.Enabled = True
cmdtambah.Enabled = False
cmdkeluar.Caption = "&Cancel"
End Sub
Private Sub dttanggal_change()
txtktp.SetFocus
End Sub
Private Sub Form_Load()
Call DBsimpeg
kon.CursorLocation = adUseClient
rspelamar.Open "SELECT * FROM [pelamar]", kon
Set dtpelamar.DataSource = rspelamar.DataSource
Call Awal
Call Bersih
77
cmbjabatan.Clear
Set rsjabatan = New ADODB.Recordset
rsjabatan.Open "SELECT * FROM [jabatan]", kon, adOpenDynamic,
adLockOptimistic
Do Until rsjabatan.EOF
cmbjabatan.AddItem rsjabatan!kodejabatan & Space(5) &
rsjabatan!namajabatan
rsjabatan.MoveNext
Loop
rsjabatan.Close
cmdubah.Enabled = False
cmdhapus.Enabled = False
End Sub
Sub tampilgrid()
Call DBsimpeg
kon.CursorLocation = adUseClient
rspelamar.Open "SELECT * FROM [pelamar]", kon
Set dtpelamar.DataSource = rspelamar.DataSource
End Sub
Sub Awal()
NonAktif
cmdtambah.Enabled = True
cmdubah.Enabled = False
cmdhapus.Enabled = False
78
cmdcari.Enabled = True
cmdtambah.Caption = "&Add"
cmdubah.Caption = "&Edit"
cmdkeluar.Caption = "&Exit"
End Sub
Sub NonAktif()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Enabled = False
Next
Dim mengontrol As Control
For Each mengontrol In Me.Controls
If TypeOf mengontrol Is ComboBox Then mengontrol.Enabled = False
Next
optlaki.Enabled = False
optperempuan.Enabled = False
dttanggal.Enabled = False
End Sub
Sub Bersih()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Text = ""
Next
Dim mengontrol As Control
79
For Each mengontrol In Me.Controls
If TypeOf mengontrol Is ComboBox Then mengontrol.Text = ""
Next
optlaki.Value = False
optperempuan.Value = False
End Sub
Private Sub optlaki_Click()
cmbagama.Enabled = True
cmbagama.SetFocus
End Sub
Private Sub optperempuan_Click()
cmbagama.Enabled = True
cmbagama.SetFocus
End Sub
Private Sub txtalamat_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txttempat.SetFocus
End If
End Sub
Private Sub txtcari_Change()
80
Set rspelamar = New ADODB.Recordset
rspelamar.Open "Select * from [pelamar]" _
& " Where [no_pelamar] LIKE '%" & txtcari.Text & "%' " _
& " or [nama_pelamar] LIKE '%" & txtcari.Text & "%'", kon
If Not rspelamar.EOF Then
With rspelamar
With dtpelamar
Set .DataSource = rspelamar
.Refresh
End With
End With
Else
MsgBox "Data Pelamar Tidak Ditemukan", _
vbInformation, "Informasi"
End If
End Sub
Private Sub txtemail_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
cmbjabatan.SetFocus
End If
End Sub
Private Sub txtktp_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
81
optlaki.SetFocus
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =
vbKeyBack) Then KeyAscii = 0
End Sub
Private Sub txtnama_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtalamat.SetFocus
End If
End Sub
Private Sub txttelp_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
cmbpendidikan.SetFocus
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =
vbKeyBack) Then KeyAscii = 0
End Sub
Private Sub txttempat_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
dttanggal.SetFocus
End If
End Sub
82
c. Form Psikotes
Private Sub cmdcari_Click()
txtcari.Enabled = True
txtcari.SetFocus
End Sub
Private Sub cmdkeluar_Click()
If cmdkeluar.Caption = "&Exit" Then
Unload Me
menuutama.Enabled = True
menuutama.Show
Else
Call Form_Load
End If
End Sub
Private Sub cmdpelamar_Click()
Frame3.Visible = True
dtpelamar.Enabled = False
End Sub
Private Sub cmdtambah_Click()
If cmdtambah.Caption = "&Add" Then
Call aktif
Call auto
cmdtambah.Enabled = True
cmdtambah.Caption = "&Save"
cmdkeluar.Caption = "&Cancel"
txtcari.Enabled = False
83
cmdcari.Enabled = False
cmdpelamar.Enabled = True
cmdpelamar.SetFocus
Else
If txtno = "" Or txtpelamar = "" Or txtntest = "" Or txtnattitude = "" Or
txtid = "" Then
MsgBox "Data Belum Lengkap!", vbInformation, "Perhatian!!"
Else
Dim TambahDT As String
c = Format(Me.dttanggal.Value, "YYYY/MM/DD")
TambahDT = "insert into [psikotes] values('" & txtno.Text & "','" &
c & "','" & txtntest.Text & "','" & txtnattitude.Text & "','" & txthasil.Text &
"','" & txtid.Text & "','" & txtpelamar.Text & "')"
kon.Execute TambahDT
dtpsikotes.Refresh
MsgBox "Data Psikotest Berhasil Disimpan", vbInformation,
"Informasi"
Form_Load
Awal
End If
End If
End Sub
Sub auto()
Call DBsimpeg
rspsikotes.Open "Select * from [psikotes] where " _
& " [nopsikotes] in (select max([nopsikotes])from [psikotes])" _
& " order by [nopsikotes] desc ", kon
rspsikotes.Requery
Dim Hitung As Long
If rspsikotes.EOF Then
84
txtno.Text = "T" + Format(Date, "YYMM") + "001"
Else
If Mid(rspsikotes![nopsikotes], 2, 4) <> Format(Date, "YYMM") Then
txtno.Text = "T" + Format(Date, "YYMM") + "001"
Else
Hitung = Right(rspsikotes![nopsikotes], 3) + 1
txtno.Text = "T" + Format(Date, "YYMM") + Right("000" & Hitung,
3)
End If
End If
txtno.Enabled = False
End Sub
Sub aktif()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Enabled = True
Next
End Sub
Private Sub Command1_Click()
Frame3.Visible = False
End Sub
Private Sub dtpelamar_Click()
'rspelamar.Open "SELECT * FROM [pelamar]", kon
With rspelamar
If Not rspelamar.EOF Then
txtpelamar.Text = rspelamar![no_pelamar]
txtnama.Text = rspelamar![nama_pelamar]
85
End If
End With
Frame3.Visible = False
txtntest.SetFocus
End Sub
Private Sub Form_Load()
Call DBsimpeg
kon.CursorLocation = adUseClient
rspsikotes.Open "SELECT * FROM [psikotes]", kon
Set dtpsikotes.DataSource = rspsikotes.DataSource
Call Awal
Call Bersih
Set rspelamar = New ADODB.Recordset
rspelamar.Open "SELECT * FROM [pelamar]where not exists (select *
from [psikotes] where pelamar.no_pelamar=psikotes.no_pelamar) order by
[no_pelamar] desc", kon, adOpenDynamic, adLockOptimistic
Set dtpelamar.DataSource = rspelamar.DataSource
'Frame2.Visible = False
Frame3.Visible = False
txtid.Text = menuutama.StatusBar1.Panels(1)
End Sub
Sub Awal()
NonAktif
cmdtambah.Enabled = True
cmdcari.Enabled = True
cmdtambah.Caption = "&Add"
cmdkeluar.Caption = "&Exit"
cmdpelamar.Enabled = False
End Sub
86
Sub NonAktif()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Enabled = False
Next
dttanggal.Enabled = False
cmdpelamar.Enabled = False
End Sub
Sub Bersih()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Text = ""
Next
End Sub
Private Sub txtcari_Change()
Set rspsikotes = New ADODB.Recordset
rspsikotes.Open "Select * from [psikotes]" _
& " Where [no_pelamar] LIKE '%" & txtcari.Text & "%' " _
& " or [nopsikotes] LIKE '%" & txtcari.Text & "%'", kon
If Not rspsikotes.EOF Then
With rspsikotes
With dtpsikotes
Set .DataSource = rspsikotes
.Refresh
End With
End With
Else
MsgBox "Data Psikotest Tidak Ditemukan", _
87
vbInformation, "Informasi"
End If
End Sub
Private Sub txtcaripelamar_Change()
kon.CursorLocation = adUseClient
Set rspelamar = New ADODB.Recordset
rspelamar.Open "Select * from [pelamar]" _
& " Where not exists (select * from [psikotes] where
pelamar.no_pelamar=psikotes.no_pelamar) and [no_pelamar] LIKE '%" &
txtcaripelamar.Text & "%' " _
& " or not exists (select * from [psikotes] where
pelamar.no_pelamar=psikotes.no_pelamar) and [nama_pelamar] LIKE '%"
& txtcaripelamar.Text & "%'", kon
If Not rspelamar.EOF Then
With rspelamar
With dtpelamar
Set .DataSource = rspelamar
.Refresh
End With
End With
dtpelamar.Enabled = True
End If
End Sub
Private Sub txtnattitude_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim total As Integer
total = (0.6 * Val(txtntest.Text)) + (0.4 * Val(txtnattitude.Text))
If total >= 80 Then
txthasil.Text = "Lulus"
88
Else
txthasil.Text = "Tidak Lulus"
End If
cmdtambah.SetFocus
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =
vbKeyBack) Then KeyAscii = 0
End Sub
Private Sub txtntest_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtnattitude.SetFocus
End If
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =
vbKeyBack) Then KeyAscii = 0
End Sub
d. Form Absensi
Private Sub cmdkeluar_Click()
If cmdkeluar.Caption = "&Exit" Then
Unload Me
menuutama.Enabled = True
menuutama.Show
Else
Call Form_Load
End If
End Sub
Private Sub cmdnik_Click()
89
Frame3.Visible = True
txtcaripelamar.Enabled = True
txtcaripelamar.SetFocus
End Sub
Private Sub cmdtambah_Click()
If cmdtambah.Caption = "&Add" Then
Call aktif
Call auto
cmdtambah.Enabled = True
cmdtambah.Caption = "&Save"
cmdkeluar.Caption = "&Cancel"
txtbulan.SetFocus
Else
If txtkode = "" Or txtbulan = "" Or txttahun = "" Or txtnik = "" Or
txthadir = "" Or txthari = "" Or txttidak = "" Or txtlembur = "" Then
MsgBox "Data Belum Lengkap!", vbInformation, "Perhatian!!"
Else
Dim TambahDT As String
b = Format(txttanggal.Caption, "YYYY/MM/DD")
TambahDT = "insert into [absen] values('" & txtkode.Text & "','"
& b & "','" & txtbulan.Text & "','" & txttahun.Text & "','" &
txtlembur.Text & "','" & txthari.Text & "','" & txthadir.Text & "','" &
txttidak.Text & "','" & lbluser.Caption & "','" & txtnik.Text & "')"
kon.Execute TambahDT
MsgBox "Data Absen Berhasil Disimpan", vbInformation,
"Informasi"
Form_Load
Awal
End If
End If
90
End Sub
Sub aktif()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Enabled = True
Next
Dim mengontrol As Control
For Each mengontrol In Me.Controls
If TypeOf mengontrol Is ComboBox Then mengontrol.Enabled = True
Next
cmdnik.Enabled = True
End Sub
Private Sub dtkaryawan_click()
With rskaryawan
rskaryawan.Open "select * from [karyawan]", kon, 3, 2
If Not rskaryawan.EOF Then
txtnik.Text = rskaryawan![nik]
txtnama.Text = rskaryawan![namakaryawan]
txtkodejabatan.Text = rskaryawan![kodejabatan]
End If
End With
Frame3.Visible = False
Set rsjabatan = New ADODB.Recordset
rsjabatan.Open "select * from [jabatan] where [kodejabatan] = '" &
txtkodejabatan.Text & "'", kon
If Not rsjabatan.EOF Then
txtjabatan.Text = rsjabatan![namajabatan]
91
End If
txtnama.Enabled = False
txtjabatan.Enabled = False
txthari.SetFocus
End Sub
Private Sub Form_Load()
txttanggal.Caption = Format(Date, "DD/MM/YYYY")
lbluser.Caption = menuutama.StatusBar1.Panels(1)
For i = 1 To 12
txtbulan.AddItem (MonthName(i))
Next i
For i = 2014 To Year(Now)
txttahun.AddItem (STR(i))
Next i
Call DBsimpeg
kon.CursorLocation = adUseClient
rsabsen.Open "SELECT * FROM [absen]", kon
Call Awal
Call Bersih
Set rskaryawan = New ADODB.Recordset
rskaryawan.Open "SELECT * FROM [karyawan]", kon, adOpenDynamic,
adLockOptimistic
Set dtkaryawan.DataSource = rskaryawan.DataSource
Frame3.Visible = False
End Sub
Sub auto()
Call DBsimpeg
rsabsen.Open "Select * from [absen] where " _
92
& " [noabsen] in (select max([noabsen])from [absen])" _
& " order by [noabsen] desc ", kon
rsabsen.Requery
Dim Hitung As Long
If rsabsen.EOF Then
txtkode.Text = "A" + Format(Date, "YYMM") + "001"
Else
If Mid(rsabsen![noabsen], 2, 4) <> Format(Date, "YYMM") Then
txtkode.Text = "A" + Format(Date, "YYMM") + "001"
Else
Hitung = Right(rsabsen![noabsen], 3) + 1
txtkode.Text = "A" + Format(Date, "YYMM") + Right("000" &
Hitung, 3)
End If
End If
txtkode.Enabled = False
End Sub
Sub Awal()
NonAktif
cmdtambah.Enabled = True
cmdtambah.Caption = "&Add"
cmdkeluar.Caption = "&Exit"
cmdnik.Enabled = False
End Sub
Sub Bersih()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Text = ""
93
Next
Dim mengontrol As Control
For Each mengontrol In Me.Controls
If TypeOf mengontrol Is ComboBox Then mengontrol.Text = ""
Next
End Sub
Sub NonAktif()
Dim kontrol As Control
For Each kontrol In Me.Controls
If TypeOf kontrol Is TextBox Then kontrol.Enabled = False
Next
Dim mengontrol As Control
For Each mengontrol In Me.Controls
If TypeOf mengontrol Is ComboBox Then mengontrol.Enabled = False
Next
End Sub
Private Sub txtbulan_Click()
txttahun.SetFocus
End Sub
Private Sub txtcaripelamar_Change()
kon.CursorLocation = adUseClient
Set rskaryawan = New ADODB.Recordset
rskaryawan.Open "Select * from [karyawan]" _
& " Where [nik] LIKE '%" & txtcaripelamar.Text & "%' " _
& " or [namakaryawan] LIKE '%" & txtcaripelamar.Text & "%'", kon
If Not rskaryawan.EOF Then
With rskaryawan
With dtkaryawan
94
Set .DataSource = rskaryawan
.Refresh
End With
End With
dtkaryawan.Enabled = True
Else
MsgBox "Data Karyawan Tidak Ditemukan", _
vbInformation, "Informasi"
End If
End Sub
Private Sub txthadir_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txttidak.Text = Val(txthari.Text) - Val(txthadir.Text)
txtlembur.SetFocus
End If
End Sub
Private Sub txthari_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txthadir.SetFocus
End If
End Sub
Private Sub txtlembur_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
cmdtambah.SetFocus
End If
End Sub
95
Private Sub txttahun_Click()
cmdnik.SetFocus
End Sub
e. Form Cetak Laporan Absen
Private Sub cmdclose_Click()
Unload Me
menuutama.Enabled = True
menuutama.Show
End Sub
Private Sub cmdprint_Click()
If optbulan.Value = True Then
Call DBsimpeg
rsabsen.Open "select * from absen where month(tglinput)='" &
Val(cmbbulan) & "' and year (tglinput)='" & (cmbtahun) & "'", kon
If rsabsen.EOF Then
MsgBox "Data Tidak Ditemukan", vbInformation, "Informasi"
Exit Sub
Combo4.SetFocus
End If
If optsemua.Value = True Then
CR.SelectionFormula = "Month({absen.tglinput})=" &
Val(Left(cmbbulan, 2)) & " and Year({absen.tglinput})=" &
Val(cmbtahun.Text)
CR.ReportFileName = App.Path & "\Laporan_Absen.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
96
CR.Action = 1
ElseIf optkaryawan.Value = True Then
If cmbkaryawan = "" Then
MsgBox "Pilih Karyawan", vbInformation, "Perhatian"
Exit Sub
End If
CR.SelectionFormula = "Month({absen.tglinput})=" &
Val(Left(cmbbulan, 2)) & " and Year({absen.tglinput})=" &
Val(cmbtahun.Text) & " and ({absen.nik})='" & Left(cmbkaryawan, 8) &
"'"
CR.ReportFileName = App.Path & "\Laporan_absen.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End If
ElseIf opttahun.Value = True Then
If optsemua.Value = True Then
Call DBsimpeg
rsabsen.Open "select*from absen where year (tglinput)='" &
(cmbtahun) & "'", kon
If rsabsen.EOF Then
MsgBox "Data Tidak Ada", vbInformation, "Informasi"
Exit Sub
cmbtahun.SetFocus
End If
CR.SelectionFormula = "Year({absen.tglinput})=" &
Val(cmbtahun.Text)
CR.ReportFileName = App.Path & "\Laporan_Absen.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
97
ElseIf optkaryawan.Value = True Then
Call DBsimpeg
rsabsen.Open "select*from absen where year (tglinput)='" &
(cmbtahun) & "'", kon
If rsabsen.EOF Then
MsgBox "Data Tidak Ada", vbInformation, "Informasi"
Exit Sub
cmbtahun.SetFocus
End If
If cmbkaryawan = "" Then
MsgBox "Pilih Karyawan", vbInformation, "Perhatian"
Exit Sub
End If
CR.SelectionFormula = "Year({absen.tglinput})=" &
Val(cmbtahun.Text) & " and ({absen.nik})='" & Left(cmbkaryawan, 8) &
"'"
CR.ReportFileName = App.Path & "\Laporan_Absen.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End If
End If
End Sub
Private Sub Form_Load()
Call DBsimpeg
Dim rskaryawan As New ADODB.Recordset
rskaryawan.Open "Select distinct karyawan.nik,karyawan.namakaryawan
from karyawan,absen where karyawan.nik=absen.nik", kon
Do While Not rskaryawan.EOF
98
cmbkaryawan.AddItem rskaryawan!nik & Space(3) &
rskaryawan!namakaryawan
rskaryawan.MoveNext
Loop
kon.Close
Call DBsimpeg
Dim RSTGL As New ADODB.Recordset
RSTGL.Open "Select distinct month (tglinput) as bulan from absen", kon
Do While Not RSTGL.EOF
cmbbulan.AddItem RSTGL!bulan & Space(5) &
MonthName(RSTGL!bulan)
RSTGL.MoveNext
Loop
kon.Close
Call DBsimpeg
Dim RSTHN As New ADODB.Recordset
RSTHN.Open "Select distinct year (tglinput) as tahun from absen", kon
Do While Not RSTHN.EOF
cmbtahun.AddItem RSTHN!tahun
RSTHN.MoveNext
Loop
kon.Close
cmbkaryawan.Enabled = False
optsemua.Value = False
optkaryawan.Value = False
optbulan.Enabled = False
opttahun.Enabled = False
99
cmbtahun.Enabled = False
cmbbulan.Enabled = False
End Sub
Private Sub optbulan_Click()
cmbbulan.Enabled = True
cmbtahun.Enabled = True
cmbtahun.Text = ""
cmbbulan.Text = ""
End Sub
Private Sub optkaryawan_Click()
cmbkaryawan.Enabled = True
optbulan.Enabled = True
opttahun.Enabled = True
cmbbulan.Text = ""
cmbtahun.Text = ""
End Sub
Private Sub optsemua_Click()
cmbkaryawan.Enabled = False
optbulan.Enabled = True
opttahun.Enabled = True
cmbbulan.Text = ""
cmbtahun.Text = ""
End Sub
100
Private Sub opttahun_Click()
cmbtahun.Enabled = True
cmbbulan.Enabled = False
cmbtahun.Text = ""
cmbbulan.Text = ""
End Sub
4.4 Testing
A. Form Login
Tabel IV.12
Hasil Pengujian Black Box Testing Form Login
No Skenario
Pengujian
Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Username atau
password
dikosongkan
Username :
(kosong)
Password :
(kosong)
Sistem tidak akan bisa
Login
Sesuai
Harapan
Valid
2 Username
benar,
Password salah
Username :
Us-01
Password :
1111111
Sistem akan menolak
dan menampilkan pesan
“Password Salah”
Sesuai
Harapan
Valid
3 Username dan
password
benar
Username :
Us-01
Password :
12345678
Sistem menerima akses,
akan muncul progress
bar dan muncul pesan
“Sistem Informasi
Kepegawaian PT.
Evoteks Jakarta” lalu
akan menampilkan form
menu utama
Sesuai
Harapan
Valid
101
B. Form Data Jabatan
Tabel IV.13
Hasil Pengujian Black Box Testing Form Data Jabatan
No Skenario
Pengujian
Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Input kode
jabatan sama
Kode
jabatan
yang di
input sudah
ada
Sistem akan menolak,
dan menampilkan pesan
“Kode Jabatan Sudah
Ada!”
Sesuai
Harapan
Valid
2 Input kode
jabatan
berbeda
Kode
jabatan
yang di
input data
baru
Sistem akan menyetujui
dan menampilkan pesan
“Kode XXX Data Baru!”
Sesuai
Harapan
Valid
3 Masih ada data
yang belum
diinput,
Klik Simpan
Salah satu
ada yang
kosong
Sistem akan menolak,
dan menampilkan pesan
“Data Belum Lengkap!”
Sesuai
Harapan
Valid
4 Data diinput
lengkap, lalu
klik Simpan
Data diinput
lengkap
Sistem akan menyimpan
data ke tabel dan
menampilkan pesan
“Data Jabatan Berhasil
Disimpan”
Sesuai
Harapan
Valid
5 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari: (tidak
ada)
Sistem tidak akan
menampilkan data dan
menampilkan pesan
“Data Jabatan Tidak
Ditemukan”
Sesuai
Harapan
Valid
6 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari :
(benar) Sistem menampilkan
data yang dicari
Sesuai
Harapan
Valid
7 Hapus data Hapus data Sistem menampilkan
pesan : “Hapus Data??”
Jika Ya maka data akan
terhapus dan
menampilkan pesan
“Data Dihapus”
Sesuai
Harapan
Valid
8 Ubah data Ubah data Sistem menampilkan
data untuk di ubah dan
jika di update akan
menampilkan pesan
“Data Berhasil
Sesuai
Harapan
Valid
102
Diperbarui”
C. Form Data User
Tabel IV.14
Hasil Pengujian Black Box Testing Form Data User
No Skenario
Pengujian
Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Masih ada data
yang belum
diinput,
Klik Simpan
Salah satu
ada yang
kosong
Sistem akan menolak,
dan menampilkan pesan
“Data Belum Lengkap!”
Sesuai
Harapan
Valid
2 Data diinput
lengkap, lalu
klik Simpan
Data diinput
lengkap
Sistem akan menyimpan
data ke tabel dan
menampilkan pesan
“Data User Berhasil
Disimpan”
Sesuai
Harapan
Valid
3 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari: (tidak
ada)
Sistem tidak akan
menampilkan data dan
menampilkan pesan
“Data User Tidak
Ditemukan”
Sesuai
Harapan
Valid
4 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari :
(benar) Sistem menampilkan
data yang dicari
Sesuai
Harapan
Valid
5 Hapus data Hapus data Sistem menampilkan
pesan : “Hapus Data??”
Jika Ya maka data akan
terhapus dan
menampilkan pesan
“Data Dihapus”
Sesuai
Harapan
Valid
6 Ubah data Ubah data Sistem menampilkan
data untuk di ubah dan
jika di update akan
menampilkan pesan
“Data Berhasil
Diperbarui”
Sesuai
Harapan
Valid
103
D. Form Data Pelamar
Tabel IV.15
Hasil Pengujian Black Box Testing Form Data Pelamar
No Skenario
Pengujian
Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Masih ada data
yang belum
diinput,
Klik Simpan
Salah satu
ada yang
kosong
Sistem akan menolak,
dan menampilkan pesan
“Data Belum Lengkap!”
Sesuai
Harapan
Valid
2 Data diinput
lengkap, lalu
klik Simpan
Data diinput
lengkap
Sistem akan menyimpan
data ke tabel dan
menampilkan pesan
“Data Pelamar Berhasil
Disimpan”
Sesuai
Harapan
Valid
3 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari: (tidak
ada)
Sistem tidak akan
menampilkan data dan
menampilkan pesan
“Data Pelamar Tidak
Ditemukan”
Sesuai
Harapan
Valid
4 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari :
(benar) Sistem menampilkan
data yang dicari
Sesuai
Harapan
Valid
5 Hapus data Hapus data Sistem menampilkan
pesan : “Hapus Data??”
Jika Ya maka data akan
terhapus dan
menampilkan pesan
“Data Dihapus”
Sesuai
Harapan
Valid
6 Ubah data Ubah data Sistem menampilkan
data untuk di ubah dan
jika di update akan
menampilkan pesan
“Data Berhasil
Diperbarui”
Sesuai
Harapan
Valid
104
E. Form Psikotes
Tabel IV.16
Hasil Pengujian Black Box Testing Form Psikotes
No Skenario
Pengujian
Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Masih ada data
yang belum
diinput,
Klik Simpan
Salah satu
ada yang
kosong
Sistem akan menolak,
dan menampilkan pesan
“Data Belum Lengkap!”
Sesuai
Harapan
Valid
2 Data diinput
lengkap, lalu
klik Simpan
Data diinput
lengkap
Sistem akan menyimpan
data ke tabel dan
menampilkan pesan
“Data Psikotes Berhasil
Disimpan”
Sesuai
Harapan
Valid
3 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari: (tidak
ada)
Sistem tidak akan
menampilkan data dan
menampilkan pesan
“Data Psikotes Tidak
Ditemukan”
Sesuai
Harapan
Valid
4 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari :
(benar) Sistem menampilkan
data yang dicari
Sesuai
Harapan
Valid
F. Form Data Karyawan
Tabel IV.17
Hasil Pengujian Black Box Testing Form Data Karyawan
No Skenario
Pengujian
Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Masih ada data
yang belum
diinput,
Klik Simpan
Salah satu
ada yang
kosong
Sistem akan menolak,
dan menampilkan pesan
“Data Belum Lengkap!”
Sesuai
Harapan
Valid
2 Data diinput
lengkap, lalu
klik Simpan
Data diinput
lengkap
Sistem akan menyimpan
data ke tabel dan
menampilkan pesan
“Data Karyawan
Berhasil Disimpan”
Sesuai
Harapan
Valid
3 Klik tombol
Cari, cari
Cari: (tidak
ada)
Sistem tidak akan
menampilkan data dan
Sesuai
Harapan
Valid
105
berdasarkan
kata kunci
menampilkan pesan
“Data Karyawan Tidak
Ditemukan”
4 Klik tombol
Cari, cari
berdasarkan
kata kunci
Cari :
(benar)
Sistem menampilkan
data yang dicari
Sesuai
Harapan
Valid
5 Hapus data Hapus data Sistem menampilkan
pesan : “Hapus Data??”
Jika Ya maka data akan
terhapus dan
menampilkan pesan
“Data Dihapus”
Sesuai
Harapan
Valid
6 Ubah data Ubah data Sistem menampilkan
data untuk di ubah dan
jika di update akan
menampilkan pesan
“Data Berhasil
Diperbarui”
Sesuai
Harapan
Valid
G. Form Ubah Password
Tabel IV.18
Hasil Pengujian Black Box Testing Form Ubah Password
No Skenario
Pengujian
Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpulan
1 Password lama
input salah
Password
lama salah
Sistem akan menolak,
dan menampilkan pesan
“Password Salah
Sesuai
Harapan
Valid
2 Password baru
kosong
Password
baru tidak di
input
Sistem akan menolak,
dan menampilkan pesan
“Password Baru Belum
Diisi”
Sesuai
Harapan
Valid
3 Password baru
Lebih Dari 8
Digit
Password
Baru :
123456789
Sistem akan menolak,
dan menampilkan pesan
“Password Maksimal 8
Digit”
Sesuai
Harapan
Valid
4 Password
konfirmasi
tidak sama
Password
konfirmasi
tidak sama
Sistem akan menolak,
dan menampilkan pesan
“Password Konfirmasi
Tidak Sama”
Sesuai
Harapan
Valid
106
4.5. Support
4.5.1 Spesifikasi Hardware dan Software
Tabel IV.19
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi Windows 7 atau windows 8
Processor Intel Core i-3
RAM Minimal 2 GB
Harddisk 500 GB
Monitor 14 Inch
Keyboard Standart
Printer Laser Jet
Mouse PS2
Software Mysql Connector ODBC, Xampp, Visual Basic
6.0,Crystal Report
4.6. Spesifikasi Dokumen Sistem Usulan
a. Nama Dokumen : Laporan Data Psikotes
Fungsi : Sebagai laporan data psikotes di perusahaan
Sumber : HRD
Tujuan : Direktur
Media : Kertas
Frekuensi : Setiap Bulan
Format : Lampiran B-1
b. Nama Dokumen : Laporan Data Karyawan
Fungsi : Sebagai laporan data karyawan di perusahaan
Sumber : HRD
Tujuan : Direktur
Media : Kertas
Frekuensi : Setiap Bulan
107
Format : Lampiran B-2
c. Nama Dokumen : Laporan Data Absen
Fungsi : Sebagai laporan data absen karyawan
Sumber : HRD
Tujuan : Direktur
Media : Kertas
Frekuensi : Setiap bulan
Format : Lampiran B-3
d. Nama Dokumen : Laporan Data Gaji
Fungsi : Sebagai laporan data gaji di perusahaan
Sumber : Bagian Keuangan
Tujuan : Direktur
Media : Kertas
Frekuensi : Setiap bulan
Format : Lampiran B-4
e. Nama Dokumen : Slip Gaji
Fungsi : Sebagai bukti gaji karyawan
Sumber : Bagian Keuangan
Tujuan : Karyawan
Media : Kertas
Frekuensi : Setiap bulan
Format : Lampiran B-5
f. Nama Dokumen : Laporan Data Cuti
Fungsi : Sebagai laporan data cuti karyawan di perusahaan
Top Related