BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1....

84
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

Transcript of BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1....

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

Print

«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

Print

«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

Print

Pilih Tombol

Exit

Tampil Laporan

Psikotes

End

Pertahun

Print

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

Print

Pilih Tombol

Exit

Tampil Laporan

Cuti

End

PIlih

Semua

Pilih Per

Karyawan

Pilih Nik

Karyawan

Print

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

Print

Pilih Tombol

Exit

Tampil Laporan

SP

End

PIlih

Semua

Pilih Per

Karyawan

Pilih Nik

Karyawan

Semua

Exit

Pertahun

Perbulan Per Karyawan

Print

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

Print

Pilih Tombol

Exit

Tampil Laporan

Absen

End

PIlih

Semua

Pilih Per

Karyawan

Pilih Nik

Karyawan

Exit

Print

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

Print

Pilih Tombol

Exit

Tampil Laporan

Gaj i

End

PIlih

Semua

Pilih Per

Karyawan

Pilih Nik

Karyawan

Exit

Semua

Perbulan

Print

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

email

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

email

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

108

Sumber : HRD

Tujuan : Direktur

Media : Kertas

Frekuensi : Setiap Bulan

Format : Lampiran B-6

g. Nama Dokumen : Laporan Data SP

Fungsi : Sebagai laporan data SP di perusahaan

Sumber : HRD

Tujuan : Direktur

Media : Kertas

Frekuensi : Setiap Bulan

Format : Lampiran B-7