69
38 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Aplikasi sistem informasi absensi pada PT Rama Jasindo Abadi sudah terkomputerisasi agar lebih efisien dengan menggunakan beberapa user. Berikut ini spesifikasi kebutuhan (system requirement) dari aplikasi sistem informasi tersebut: Akses Admin: A1. Admin dapat login A2. Admin dapat mengelola data master admin A3. Admin dapat mengelola data master jabatan A4. Admin dapat mengelola data master karyawan A5. Admin dapat mengelola data master lembur A6. Admin dapat mengelola data master pengguna A7. Admin dapat melakukan perubahan data login A8. Admin dapat melakukan logout Akses Pengguna: B1. Pengguna dapat login B2. Pengguna dapat melihat dashboard

BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

38

BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN

4.1. Analisis Kebutuhan Software

A. Tahapan Analisis

Aplikasi sistem informasi absensi pada PT Rama Jasindo Abadi sudah

terkomputerisasi agar lebih efisien dengan menggunakan beberapa user.

Berikut ini spesifikasi kebutuhan (system requirement) dari aplikasi sistem

informasi tersebut:

Akses Admin:

A1. Admin dapat login

A2. Admin dapat mengelola data master admin

A3. Admin dapat mengelola data master jabatan

A4. Admin dapat mengelola data master karyawan

A5. Admin dapat mengelola data master lembur

A6. Admin dapat mengelola data master pengguna

A7. Admin dapat melakukan perubahan data login

A8. Admin dapat melakukan logout

Akses Pengguna:

B1. Pengguna dapat login

B2. Pengguna dapat melihat dashboard

Page 2: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

39

B3. Pengguna dapat mengelola data master karyawan

B4. Pengguna dapat melihat laporan absensi karyawan

B5. Pengguna dapat melihat laporan lembur karyawan

B6. Pengguna dapat melakukan perubahan data login

B7. Pengguna dapat melakukan logout

Akses Karyawan

C1. Karyawan dapat melakukan absen masuk

C2. Karyawan dapat melihat informasi absen

C3. Karyawan dapat melakukan absen keluar

C4. Karyawan dapat melakukan lembur

B. Use Case Diagram

Diagram usecase menunjukan interaksi antara use case, actor dan

pekerja. Diagram ini menggambarkan model lengkap tentang apa yang

perusahaan lakukan, siap yang ada didalam berperan didalamnya dan siapa

orang yang berperan diluarnya. Hal ini menggambarkan ruang lingkup

organisasi, sehingga dapat dilihat apa atau siapa saja yang ada di luar

organisasi dan sampai mana batasannya.

Page 3: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

40

1. Use Case Diagram Halaman Admin

Login

Mengelola

Data Master

Merubah

Data Login

Logout

Merubah

Data Master

Menghapus

Data Master

Menambahkan

Data Master

Admin

<<include>>

<<include>>

<<include>>

<<extend>>

<<extend>>

<<extend>>

Gambar IV.1. Use Case Diagram Halaman Admin

Page 4: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

41

Tabel IV.1.

Use Case Diagram Halaman Admin

Use Case Name Halaman Admin

Requirements A1,A2,A3,A4,A5,A6,A7,A8

Goal - Admin dapat menambah, mengedit

dan menghapus data master.

- Admin dapat merubah data login.

- Admin dapat melakukan keluar

aplikasi.

Pre-conditions Admin melakukan login

Post-conditions - Menyimpan, menghapus dan

merubah data master

- Merubah data login.

Failed end condition Gagal menyimpan, mengupdate dan

menghapus

Primary Actors Admin

Main Flow / Basic Path - Admin melakukan login

- Admin masuk ke halaman

administrator

- Admin dapat menambahkan data

admin, data jabatan, data karyawan,

data lembur dan data pengguna.

- Admin dapat mengubah data admin,

data jabatan, data karyawan, data

lembur dan data pengguna.

- Admin dapat menghapus data

admin, data jabatan, data karyawan,

data, data lembur dan data

pengguna.

- Admin dapat merubah data login

Invariant A A9. Admin memilih action print pada

halaman data master karyawan.

A10. Admin mencetak id card

karyawan.

Page 5: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

42

2. Use Case Diagram Halaman Pengguna

Login

Dashboard

Mengelola

Data Karyawan

Melihat

Laporan Absen

Merubah

Data LoginLogout

Melihat

Laporan Lembur

Secara Detail

Secara

Ringkas

Pengguna

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

Merubah

Data Karyawan

Menghapus

Data Karyawan

Menambahkan

Data Karyawan

<<include>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Gambar IV.2. Use Case Diagram Halaman Pengguna

Page 6: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

43

Tabel IV.2.

Use Case Diagram Halaman Pengguna

Use Case Name Halaman Pengguna

Requirements B1,B2,B3,B4,B5,B6,B7

Goal - Pengguna dapat menambah, mengedit dan

menghapus data karyawan.

- Pengguna dapat melihat laporan absen

karyawan.

- Pengguna dapat melihat laporan lembur

secara detail maupun ringkas.

- Pengguna dapat merubah data login.

- Pengguna dapat melakukan keluar aplikasi.

Pre-conditions Pengguna melakukan login

Post-conditions - Menyimpan, menghapus dan merubah data

karyawan.

- Melihat laporan absen karyawan

- Melihat laporan lembur secara detail

maupun secara ringkas.

- Merubah data login.

Failed end

condition

Gagal login, menyimpan, mengupdate dan

menghapus

Primary Actors Pengguna

Main Flow /

Basic Path

- Pengguna melakukan login.

- Pengguna masuk ke halaman hrd.

- Pengguna dapat menambahkan, mengubah

dan menghapus data karyawan.

- Pengguna dapat melihat laporan absen

karyawan berdasarkan nama, perbulan,

pertanggal maupun pertahun.

- Pengguna dapat melihat laporan lembur

karyawan secara detail maupun secara

ringkas

- Pengguna dapat merubah data login

Invariant A B8. Pengguna memilih action print pada

halaman data master karyawan.

B9. Pengguna mencetak id card karyawan.

Page 7: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

44

3. Use Case Diagram Absensi Karyawan

Melakukan

Absen Masuk

Melihat Informasi absen

dan Informasi karyawan

Karyawan

<<include>>

Melakukan

Lembur

Melakukan

Absen Keluar

<<include>>

<<include>>

Gambar IV.3. Use Case Diagram Absensi Karyawan

Page 8: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

45

Tabel IV.3.

Use Case Diagram Absensi Karyawan

Use Case Name Halaman Karyawan

Requirements C1,C2,C3,C4

Goal - Karyawan melakukan absen masuk

- Karyawan melakukan absen keluar

- Karyawan melakukan lembur

Pre-conditions Karyawan melakukan absen masuk

Post-conditions - Menyimpan absen masuk

- Menyimpan absen keluar

Failed end condition Gagal absen keluar

Primary Actors Karyawan

Main Flow /

Basic Path

- Karyawan melakukan absen masuk.

- System akan menampilkan informasi data

karyawan dan keterangan absen masuk.

- System akan memberikan keterangan telat

apabila karyawan melakukan absen masuk

diatas pukul 08:00.

- Karyawan melakukan absen keluar.

- System akan menolak jika karyawan

melakukan absen keluar dibawah pukul

16:00.

- Jika karyawan melakukan absen keluar

diatas pukul 16:00 maka system akan

menampilkan kembali data karyawan dan

keterangan absen keluar

- System akan memberikan keterangan

lembur apabila karyawan melakukan absen

keluar diatas pukul 17:00.

Invariant A B8. Pengguna memilih action print pada

halaman data master karyawan.

B9. Pengguna mencetak id card karyawan.

Page 9: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

46

C. Activity Diagram

1. Activity Diagram Absen Masuk

Activity DiagramActivity Diagram

KaryawanKaryawan SystemSystem PenggunaPengguna

Act

ivit

y D

iag

ram

Pro

ses

Ab

sen

Mas

uk

Act

ivit

y D

iag

ram

Pro

ses

Ab

sen

Mas

uk

Memasukkan

Nomor Induk

Karyawan

Y

T

Rekap AbsenMelihat rekap

absensi

Absen Masuk

Lebih dari jam 8

pagi

Terinput TelatTerinput Tepat

Waktu

YT

Pengecekan Nomor

Induk Karyawan

Gambar IV.4. Activity Diagram Absen Masuk

Page 10: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

47

2. Activity Diagram Absen Keluar dan Perhitungan Lembur

Activity DiagramActivity Diagram

KaryawanKaryawan SystemSystem PenggunaPengguna

Act

ivit

y D

iag

ram

Pro

ses

Ab

sen

Kel

uar

dan

Per

hit

un

gan

Lem

bu

rA

ctiv

ity

Dia

gra

m P

rose

s A

bse

n K

elu

ar d

an P

erh

itu

ng

an L

emb

ur

Memasukkan

Nomor Induk

Karyawan

Y

T

Rekap AbsenMelihat rekap

absensi

Lebih dari jam 4

Absen Keluar

Y

Pengecekan Nomor

Induk Karyawan

T

Lebih dari jam 5

Perhitungan Lembur

Y

T

Melihat rekap

lemburRekap Lembur

Gambar IV.5.

Activity Diagram Absen Keluar dan Perhitungan Lembur

Page 11: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

48

3. Activity Diagram Halaman Pengguna

Activity DiagramActivity Diagram

PenggunaPengguna SystemSystem

Act

ivit

y D

iagra

m H

alam

an P

engguna

Act

ivit

y D

iagra

m H

alam

an P

engguna

Login Validasi

Lihat laporan absen,

lembur dan

karyawan

T

Y

Gambar IV.6. Activity Diagram Halaman Pengguna

Page 12: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

49

4. Activity Diagram Halaman Admin

Activity DiagramActivity Diagram

AdminAdmin SystemSystem

Act

ivit

y D

iag

ram

Hal

aman

Ad

min

Act

ivit

y D

iag

ram

Hal

aman

Ad

min

Login Validasi

Mengelola data

master

T

Y

Gambar IV.7. Activity Diagram Halaman Admin

Page 13: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

50

4.2. Desain

4.2.1. Database

A. Entity Relationship Diagram

KaryawanAbsensi

Jabatan

Pengguna

Lembur

Melakukan

Melihat

Memiliki

Mengelola

Memiliki

absensiid

tanggal

jam_masuk

jam_keluar

status_absen

status_kehadiran

gambar_absenmasuk

gambar_absenkeluar

nik

jabatanid namajabatan

nik

namakaryawan

notelp email

tanggal_lahir

alamatkaryawanjabatanid

fotokaryawan

lemburid biaya_lembur jabatanid

id_pengguna

username

nama

password

fotopengguna

id_pengguna

id_pengguna

Gambar IV.8. Entity Relationship Diagram

Page 14: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

51

B. Logical Record Structure

AbsensiAbsensi

KaryawanKaryawan

JabatanJabatan

LemburLembur

PenggunaPengguna

absensiidabsensiidPKPK

tanggaltanggal

jam_masukjam_masuk

jam_keluarjam_keluar

status_absenstatus_absen

status_kehadiranstatus_kehadiran

gambar_absenmasukgambar_absenmasuk

gambar_absenkeluargambar_absenkeluar

banyak_lemburbanyak_lembur

niknikFKFK

niknikPKPK

namakaryawannamakaryawan

notelpnotelp

emailemail

tanggal_lahirtanggal_lahir

alamatkaryawanalamatkaryawan

fotokaryawanfotokaryawan

jabatanidjabatanidFKFK

jabatanidjabatanidPKPK

namajabatannamajabatan

lemburidlemburidPKPK

biaya_lemburbiaya_lembur

jabatanidjabatanidFKFK

id_penggunaid_penggunaPKPK

usernameusername

passwordpassword

namanama

fotopenggunafotopengguna

id_penggunaid_penggunaFKFK

id_penggunaid_penggunaFKFK

1

M

1

1

1

1

1

M

1

1

Gambar IV.9. Logical Record Structure

Page 15: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

52

C. Spesifikasi File

1. Spesifikasi File Absensi

Nama File : Absensi

Akronim : absensi.frm

Fungsi : untuk menyimpan data absensi dan perhitungan

lembur karyawan

Tipe File : File Transaksi

Organisasi File : Indexed Sequential

Akses File : Random

Media : Harddisk

Panjang Record : 589 byte

Kunci Field : absensiid

Software : Mysql

Page 16: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

53

Tabel IV.4.

Spesifikasi file Absensi

No Elemen data Nama Field Tipe Size Ket

1 ID Absen absensiid int 11 Primary Key,

Auto Increment

2 Tanggal

Absensi tanggal date

3 Jam Masuk jam_masuk varchar 8

4 Jam Keluar jam_keluar varchar 8

5 Status Absen status_absen enum(‘1’,’2’,

‘3’,’4’,’5’)

6 Status

Kehadiran status_kehadiran

enum(‘TW’,

’TL’)

7 Gambar Absen

Masuk gambar_absenmasuk text 255

8 Gambar Absen

Keluar gambar_absenkeluar text 255

9 Banyaknya

Lembur banyak_lembur int 11

10 Nomor Induk

Karyawan nik varchar 7 Foreign Key

11 Id Pengguna id_pengguna int 11 Foreign Key

Page 17: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

54

2. Spesifikasi File Admin

Nama File : Admin

Akronim : admin.frm

Fungsi : untuk menyimpan data master administrator

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Harddisk

Panjang Record : 341 byte

Kunci Field : id_admin

Software : Mysql

Table IV.5.

Spesifikasi file Admin

No Elemen data Nama Field Tipe Size Ket

1 ID Admin id_admin int 11 Primary Key,

Auto Increment

2 Username username varchar 25

3 Password password varchar 25

4 Nama nama varchar 25

5 Foto Admin fotoadmin text 255

Page 18: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

55

3. Spesifikasi File Jabatan

Nama File : Jabatan

Akronim : jabatan.frm

Fungsi : untuk menyimpan data master jabatan

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Harddisk

Panjang Record : 31 byte

Kunci Field : jabatanid

Software : Mysql

Tabel IV.6.

Spesifikasi file Jabatan

No Elemen data Nama Field Tipe Size Ket

1 ID Jabatan jabatanid int 11 Primary Key,

Auto Increment

2 Nama Jabatan namajabatan varchar 30

Page 19: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

56

4. Spesifikasi File Karyawan

Nama File : Karyawan

Akronim : karyawan.frm

Fungsi : untuk menyimpan data master karyawan

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Harddisk

Panjang Record : 651 byte

Kunci Field : nik

Software : Mysql

Tabel IV.7.

Spesifikasi file Karyawan

No Elemen data Nama Field Tipe Size Ket

1 Nomor Induk Karyawan nik varchar 7 Primary Key

2 Nama Karyawan namakaryawan varchar 50

3 No Telp notelp varchar 12

4 Email email varchar 50

5 Tanggal Lahir tanggal_lahir date

6 Alamat Karyawan alamatkaryawan text 255

7 Foto Karyawan fotokaryawan text 255

8 ID Jabatan jabatanid int 11 Foreign Key

9 ID Pengguna id_pengguna int 11 Foreign Key

Page 20: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

57

5. Spesifikasi File Lembur

Nama File : Lembur

Akronim : lembur.frm

Fungsi : untuk menyimpan data master lembur

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Harddisk

Panjang Record : 30 byte

Kunci Field : lemburid

Software : Mysql

Tabel IV.8.

Spesifikasi file Lembur

No Elemen data Nama Field Tipe Size Ket

1 ID Lembur lemburid int 11 Primary Key,

Auto Increment

2 Biaya Lembur biaya_lembur double 8

3 ID Jabatan jabatanid int 11 Foreign Key

Page 21: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

58

6. Spesifikasi File Pengguna

Nama File : Pengguna

Akronim : pengguna.frm

Fungsi : untuk menyimpan data master pengguna

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Harddisk

Panjang Record : 356 byte

Kunci Field : id_pengguna

Software : Mysql

Tabel IV.9.

Spesifikasi file Pengguna

No Elemen data Nama Field Tipe Size Ket

1 ID Pengguna id_pengguna int 11 Primary Key,

Auto Increment

2 Username username varchar 20

3 Password password varchar 20

4 Nama nama varchar 50

5 Foto Pengguna fotopengguna text 255

Page 22: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

59

4.2.2. Software Architecture

A. Class Diagram

AbsenAbsen

+index

-Mkaryawan-Mabsen

AdminAdmin

+index+login+data_admin+data_jabatan+data_karyawan+data_lembur+data_pengguna+pengaturan+update

-Madmin-Mkaryawan-Mjabatan-Mlembur-Mpengguna

AuthAuth

+admin+pengguna+logout_admin+logout_pengguna

-Madmin-Mpengguna

Page404Page404

+index

PenggunaPengguna

+index+cuti+bolos+sakit+laporan_absen+laporan_tampil+lembur_detail+lembur_detail_tampil+lembur_ringkasan+lembur_ringkasan_tampil+data_karyawan+pengaturan+update+login

-Mabsen-Mkaryawan-Mpengguna

MabsenMabsen

+get_bydatarow+insert+update+get_all+get_bydata+get_bydatajoin+get_bydatajoinlembur

MadminMadmin

+get_bydata+get_byid+get_all+update+delete+insert

MjabatanMjabatan

+get_bydata+get_byid+get_all+update+delete+insert

MkaryawanMkaryawan

+get_bydata+get_byidrow+get_join+get_all+update+delete+insert

MlemburMlembur

+get_bydata+get_byid+get_all+update+delete+insert

MpenggunaMpengguna

+get_bydata+get_byid+get_all+update+insert+delete

viewAbsenviewAbsen

+Absen

viewAdminviewAdmin

+Admin

viewPenggunaviewPengguna

+Pengguna

view404view404

+Page404

Gambar IV.10. Class Diagram

Page 23: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

60

B. Component Diagram

Frontend PageApache

Database Backend Page

Browser

Controller

View

Model

Gambar IV.11. Component Diagram

Page 24: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

61

C. Deployment Diagram

Frontend Page

Backend Page

Controller

View

Model

Browser

Port 80

Apache Server

Database

Server

Port 3306

Gambar IV.12. Deployment Diagram

Page 25: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

62

4.2.3. User Interface

A. Interface Halaman Absen Masuk Karyawan

Gambar IV.13. Halaman Absen Masuk Karyawan

Keterangan :

1) Hak Akses : Karyawan

2) Nama : Halaman Absen Masuk Karyawna

3) Fungsi : Melakukan absen masuk untuk karyawan dan melihat

keterangan absen.

Page 26: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

63

B. Interface Halaman Absen Keluar Karyawan

Gambar IV.14. Halaman Absen Keluar Karyawan

Keterangan :

1) Hak Akses : Karyawan

2) Nama : Halaman Absen Keluar Karyawan

3) Fungsi : Melakukan absen keluar untuk karyawan dan melihat

keterangan absen.

Page 27: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

64

C. Interface Halaman Login Pengguna

Gambar IV.15. Halaman Login Pengguna

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Login Pengguna

3) Fungsi : Untuk masuk ke halaman pengguna.

Page 28: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

65

D. Interface Halaman Dashboard Pengguna

Gambar IV.16. Halaman Dashboard Pengguna

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Dashboard Pengguna

3) Fungsi : Melihat kegiatan absensi hari ini dan memberikan

action status absen jika karyawan melakukan ijin

maupun cuti.

Page 29: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

66

E. Interface Halaman Laporan Absensi

Gambar IV.17. Halaman Laporan Absensi

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Laporan Absensi

3) Fungsi : Menentukan laporan yang akan dicetak di halaman

selanjutnya berdasarkan nama. pertanggal, perbulan

dan pertahun.

Page 30: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

67

F. Interface Halaman Tampil Laporan Absensi

Gambar IV.18. Halaman Tampil Laporan Absensi

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Tampil Laporan Absensi

3) Fungsi : Melihat/menampilkan laporan absensi yang sudah

ditentukan di halaman sebelumnya

Page 31: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

68

G. Interface Halaman Laporan Lembur Detail

Gambar IV.19. Halaman Laporan Lembur Detail

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Laporan Lembur Detail

3) Fungsi : Menentukan laporan yang akan dicetak di halaman

selanjutnya berdasarkan nama. pertanggal, perbulan

dan pertahun.

Page 32: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

69

H. Interface Halaman Tampil Laporan Lembur Detail

Gambar IV.20. Halaman Tampil Laporan Lembur Detail

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Tampil Laporan Lembur Detail

4) Fungsi : Melihat/menampilkan laporan lembur secara detail

yang sudah ditentukan di halaman sebelumnya.

Page 33: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

70

I. Interface Halaman Laporan Lembur Ringkasan

Gambar IV.21. Halaman Laporan Lembur Ringkasan

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Laporan Lembur Ringkasan

4) Fungsi : Menentukan laporan yang akan dicetak di halaman

selanjutnya berdasarkan nama. pertanggal, perbulan

dan pertahun.

Page 34: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

71

J. Interface Halaman Tampil Laporan Lembur Ringkasan

Gambar IV.22. Halaman Tampil Laporan Lembur Ringkasan

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Tampil Laporan Lembur Ringkasan

5) Fungsi : Melihat/menampilkan laporan lembur secara ringkas

yang sudah ditentukan di halaman sebelumnya.

Page 35: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

72

K. Interface Halaman Data Master Karyawan

Gambar IV.23. Halaman Data Master Karyawan

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Data Master Karyawan

3) Fungsi : Mengelola data master karyawan.

Page 36: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

73

L. Interface Halaman Cetak ID Card Karyawan

Gambar IV.24. Halaman Cetak ID Card Karyawan

Keterangan :

1) Hak Akses : Pengguna

2) Nama : Halaman Cetak ID Card Karyawan

3) Fungsi : Mencetak ID Card karyawan.

Page 37: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

74

M. Interface Halaman Pengaturan Pengguna

Gambar IV.25. Halaman Pengaturan Pengguna

Keterangan :

1) Hak Akses : Penguna

2) Nama : Halaman Pengaturan Pengguna

3) Fungsi : Merubah data login pengguna.

Page 38: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

75

N. Interface Halaman Login Admin

Gambar IV.26. Halaman Login Admin

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Login Admin

3) Fungsi : Untuk masuk ke halaman admin.

Page 39: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

76

O. Interface Halaman Data Master Admin

Gambar IV.27. Halaman Data Master Admin

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Admin

3) Fungsi : Mengelola data master admin.

Page 40: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

77

P. Interface Halaman Data Master Jabatan

Gambar IV.28. Halaman Data Master Jabatan

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Jabatan

3) Fungsi : Mengelola data master jabatan.

Page 41: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

78

Q. Interface Halaman Data Master Karyawan

Gambar IV.29. Halaman Data Master Karyawan

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Karyawan

3) Fungsi : Mengelola data master karyawan.

Page 42: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

79

R. Interface Halaman Data Master Lembur

Gambar IV.30. Halaman Data Master Lembur

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Lembur

3) Fungsi : Mengelola data master lembur.

Page 43: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

80

S. Interface Halaman Data Master Pengguna

Gambar IV.31. Halaman Data Master Pengguna

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Pengguna

3) Fungsi : Mengelola data master pengguna

Page 44: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

81

T. Interface Halaman Pengaturan Admin

Gambar IV.32. Halaman Pengaturan Admin

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Pengaturan Admin

3) Fungsi : Merubah data login admin.

Page 45: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

82

4.3. Code Generation

A. Class Absen

<!--

/**********************************************************

*/

/

/

/ @copyright handc0de

/

/ [email protected]

/

/

/

/**********************************************************

*/

-->

<?php

class Absen extends CI_Controller {

public function __construct() {

parent::__construct();

//load model

$this->load->model('Mabsen');

$this->load->model('Mkaryawan');

//load helper

$this->load->helper(array('url', 'form'));

}

public function index() {

Page 46: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

83

$nik = $this->input->post('nik');

$data['title'] = "Aplikasi Absensi";

$data['judul'] = "Absen";

$data['nik'] = $nik;

$jam = date('H:i:s');

$tanggal = date('Y-m-d');

$jam_pembatas = date('H');

if(!empty($nik)) {

$this->cek = $this->Mkaryawan->get_byidrow($nik);

if ($this->cek>0) {

if ($jam_pembatas < '16') {

if ($jam_pembatas < '08') {

$kehadiran = 'TW';

$keterangan = 'Tepat Waktu';

} else {

$kehadiran = 'TL';

$keterangan = 'Telat';

}

$w = "nik='$nik' and

tanggal='$tanggal'";

$this->cekabsen = $this->Mabsen-

>get_bydatarow($w);

if ($this->cekabsen>0) {

$data['pesan'] = "<div

class='alert alert-block alert-danger fade in'>

<button data-dismiss='alert'

class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Gagal!</strong> Anda

sudah melakukan absen masuk

Page 47: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

84

</div>";

$data['gambar'] = 'no-pict.png';

$data['folder_gambar'] = 'default';

$data['keterangan'] = 'Data not found';

$data['jam'] = 'Data not

found';

} else {

$encoded_data = $this->input-

>post('mydata');

$binary_data =

base64_decode($encoded_data);

// save to server (beware of

permissions)

$date = date('Y-m-d H-i-s');

$gambar = $date.".jpg";

$result = file_put_contents(

'./upload/absen_masuk/'.$date.'.jpg', $binary_data );

$d = array(

'tanggal'

=> $tanggal,

'jam_masuk' =>

$jam,

'jam_keluar' =>

'',

'status_absen' =>

'1',

'status_kehadiran' =>

$kehadiran,

'gambar_absenmasuk' =>

$gambar,

'nik'

=> $nik

);

$this->Mabsen->insert($d);

$data['pesan'] = "<div

class='alert alert-success fade in'>

Page 48: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

85

<button data-dismiss='alert'

class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Sukses!</strong>

Berhasil melakukan absen masuk

</div>";

$data['gambar'] = $gambar;

$data['folder_gambar'] = 'absen_masuk';

$data['keterangan'] = $keterangan;

$data['jam'] = 'Anda

melakukan Absen Masuk pada jam '.$jam;

}

} else {

$w = "nik='$nik' and status_absen='2'

and tanggal='$tanggal'";

$this->cekabsen = $this->Mabsen-

>get_bydatarow($w);

if ($this->cekabsen>0) {

$data['pesan'] = "<div

class='alert alert-block alert-danger fade in'>

<button data-dismiss='alert'

class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Gagal!</strong> Anda

sudah melakukan absen hari ini

</div>";

$data['gambar'] = 'no-pict.png';

$data['folder_gambar'] = 'default';

$data['keterangan'] = 'Data not found';

$data['jam'] = 'Data not

found';

} else {

$encoded_data = $this->input-

>post('mydata');

Page 49: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

86

$binary_data =

base64_decode($encoded_data);

// menyimpan pict ke server

$date = date('Y-m-d H-i-s');

$gambar = $date.".jpg";

$result = file_put_contents(

'./upload/absen_keluar/'.$date.'.jpg', $binary_data );

$this->result = $this-

>Mkaryawan->get_join($nik);

foreach ($this->result as $h) {}

if ($h->jabatanid == "1" or $h-

>jabatanid == "3") {

$banyak_lembur = '0';

} else {

if ($jam_pembatas >

"20") {

$banyak_lembur

= "4";

} else {

$banyak_lembur

= $jam_pembatas - "16";

}

}

$d = array(

'jam_keluar'

=> $jam,

'status_absen'

=> '2',

'gambar_absenkeluar' =>

$gambar,

'banyak_lembur'

=> $banyak_lembur

Page 50: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

87

);

$w = array (

'tanggal' =>

$tanggal,

'nik' =>

$nik

);

$this->Mabsen->update($d,$w);

$data['pesan'] = "<div

class='alert alert-success fade in'>

<button data-dismiss='alert'

class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Sukses!</strong>

Berhasil melakukan absen keluar

</div>";

$data['gambar'] = $gambar;

$data['folder_gambar'] = 'absen_keluar';

$data['keterangan'] = 'Anda lembur selama

'.$banyak_lembur.' jam';

$data['jam'] = 'Anda

melakukan Absen Keluar pada jam '.$jam;

}

}

} else {

$data['pesan'] = "<div class='alert alert-block

alert-danger fade in'>

<button data-dismiss='alert' class='close close-

sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Gagal!</strong> Nik anda tidak

ditemukan

</div>";

$data['gambar'] = 'no-pict.png';

Page 51: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

88

$data['folder_gambar'] = 'default';

$data['keterangan'] = 'Data not found';

$data['jam'] = 'Data not found';

}

} else {

$data['pesan'] = "";

}

$this->load->view('absen',$data);

}

}

?>

Listing Program IV.1. Class Absen

B. View Absen

<!--

/**********************************************************

*/

/ /

/ @copyright handc0de /

/ [email protected] /

/ /

/**********************************************************

*/

-->

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-

scale=1.0">

Page 52: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

89

<title><?php echo $judul ?> | <?php echo $title ?></title>

<link href="<?php echo base_url() ?>assets/css/bootstrap.min.css"

rel="stylesheet">

<link href="<?php echo base_url() ?>assets/font-awesome/css/font-

awesome.css" rel="stylesheet">

<link href="<?php echo base_url() ?>assets/css/animate.css"

rel="stylesheet">

<link href="<?php echo base_url() ?>assets/css/style.css"

rel="stylesheet">

</head>

<body class="gray-bg">

<h1 align="center">Selamat datang di Aplikasi Absensi Karyawan PT

RAMA JASINDO ABADI</h1>

<blink><h3 align="center">Gunakan barcode yang sudah disediakan

agar lebih cepat melakukan absensi</h3></blink>

<div class="loginColumns animated fadeInDown" style="margin-top:-

70px">

<div class="row">

<div class="col-md-6">

<div class="ibox-content">

<h2 class="form-signin-heading">Absen Karyawan</h2>

<form method="POST" action="<?php echo

base_url('Absen') ?>">

<input type="text" name="nik" class="form-control"

placeholder="nik" autofocus><br>

<input id="mydata" type="hidden" name="mydata"

value=""/>

<input type="submit" class="btn btn-primary"

onClick="take_snapshot()" value="Absen" style="width:100%;">

</form><br>

<div id="my_camera"></div>

<p class="m-t">

<small style="color:red">*Masukkan nik anda secara

manual jika barcode error</small>

</p>

Page 53: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

90

</div>

</div>

<div class="col-md-6">

<div class="ibox-content">

<?php

if(!empty($nik)) {

$this->db->where('nik',$nik);

$q = $this->db->get('karyawan');

$cari = $q->num_rows();

if ($cari>0) {

$this->db->select("*");

$this->db->from("karyawan");

$this->db-

>join("jabatan","jabatan.jabatanid=karyawan.jabatanid");

$this->db->where('karyawan.nik',$nik);

$q = $this->db->get();

foreach ($q->result() as $tampil) {}

?>

<h2 align="center">Selamat datang</h2>

<center><img

style="width:150px;height:150px;margin-top:2%;" src="<?php echo

base_url('upload/'.$folder_gambar.'/'.$gambar) ?>"></center>

<table width="100%" style="margin-top:5%;margin-

bottom:5%;">

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">NIK</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;"><?php echo $tampil->nik ?></div></td>

</tr>

Page 54: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

91

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Nama</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;"><?php echo $tampil->namakaryawan

?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Jabatan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;"><?php echo $tampil->namajabatan

?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Keterangan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;"><?php echo $keterangan ?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Jam</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;"><?php echo $jam ?></div></td>

</tr>

</table>

<?php

} else {

Page 55: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

92

?>

<h2 align="center">Selamat datang</h2>

<center><img style="width:150px;height:150px;margin-

top:2%;" src="<?php echo base_url('upload/default/no-pict.png')

?>"></center>

<table width="100%" style="margin-top:5%;margin-

bottom:5%;">

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">NIK</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Nama</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Jabatan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Keterangan</div></td>

Page 56: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

93

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;"><?php echo $keterangan ?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Jam</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;"><?php echo $jam ?></div></td>

</tr>

</table>

<?php

}

echo $pesan ?>

<?php

} else {

?>

<h2 align="center">Selamat datang</h2>

<center><img style="width:150px;height:150px;margin-

top:2%;" src="<?php echo base_url('upload/default/no-pict.png')

?>"></center>

<table width="100%" style="margin-top:5%;margin-

bottom:5%;">

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">NIK</div></td>

<td width="2%">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

Page 57: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

94

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Nama</div></td>

<td width="2%">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Jabatan</div></td>

<td width="2%">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Keterangan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;text-align:right;">Jam</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border-

radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

</table>

<?php echo $pesan ?>

Page 58: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

95

<?php

}

?>

</div>

</div>

</div>

<hr/>

<div class="row">

<div class="col-md-6">

PT RAMA JASINDO ABADI

</div>

<div class="col-md-6 text-right">

<small>© 2016 - <?php echo date('Y') ?></small>

</div>

</div>

</div>

<!-- First, include the Webcam.js JavaScript Library -->

<script type="text/javascript" src="<?php echo base_url()

?>assets/webcam/webcam.js"></script>

<!-- Configure a few settings and attach camera -->

<script language="JavaScript">

Webcam.set({

width: 330,

height: 240,

image_format: 'jpeg',

jpeg_quality: 90

});

Webcam.attach( '#my_camera' );

</script>

<script language="JavaScript">

function take_snapshot() {

// take snapshot and get image data

Webcam.snap( function(data_uri) {

// display results in page

var raw_image_data =

data_uri.replace(/^data\:image\/\w+\;base64\,/, '');

document.getElementById('mydata').value = raw_image_data;

Page 59: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

96

} );

}

</script>

</body>

</html>

Listing Progran IV.2. View Absen

C. Model Absen

<!--

/**********************************************************

*/

/ /

/ @copyright handc0de /

/ [email protected] /

/ /

/**********************************************************

*/

-->

<?php

class Mabsen extends CI_Model {

var $table = 'absensi';

var $table_join = 'karyawan';

var $table_join_by = 'nik';

var $table_join2 = 'jabatan';

var $table_join2_by = 'jabatanid';

public function get_bydatarow($w) {

$this->db->where($w);

return $this->db->get($this->table)->num_rows();

}

Page 60: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

97

public function insert($d) {

$this->db->insert($this->table, $d);

}

public function update($d,$w) {

$this->db->where($w);

$this->db->update($this->table,$d);

}

public function get_all() {

return $this->db->query("SELECT * from absensi

inner join

karyawan on karyawan.nik=absensi.nik

inner join jabatan

on jabatan.jabatanid=karyawan.jabatanid

order by

absensi.tanggal DESC");

}

public function get_bydata($data) {

$this->db->where($data);

return $this->db->get($this->table);

}

public function get_bydatajoin($data) {

return $this->db->query("SELECT * from absensi

inner join

karyawan on karyawan.nik=absensi.nik

inner join jabatan

on jabatan.jabatanid=karyawan.jabatanid

where $data

order by

absensi.tanggal DESC");

}

Page 61: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

98

public function get_bydatajoinlembur($data) {

return $this->db->query("SELECT * from absensi

inner join

karyawan on karyawan.nik=absensi.nik

inner join jabatan

on jabatan.jabatanid=karyawan.jabatanid

inner join lembur

on lembur.jabatanid=jabatan.jabatanid

where $data

order by

absensi.tanggal DESC");

}

}

?>

Listing Program IV.3. Model Absen

Page 62: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

99

4.4. Testing

Dalam penyusunan skripsi ini pengujian system dilakukan menggunakan

Black Box Testing.

A. Form Absen Masuk Karyawan

Tabel IV.10.

Black Box Testing Form Absen Masuk Karyawan

No Skenario Pengujian Test case Hasil yang

diharapkan

Hasil

pengujian Kesimpulan

1.

NIK tidak diisi

kemudian klik

tombol absen

Nik :

(kosong)

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

2.

NIK diisi dengan

huruf atau simbol

kemudian klik

tombol absen

Nik :

12a!@

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

3.

NIK diisi dengan

benar tapi tidak

terdaftar oleh

system

Nik :

2010202

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

4.

NIK diisi dengan

benar dan sudah

terdaftar tapi

dilakukan diatas

pukul 8 pagi

Nik :

2010002

Sistem akan

menerima dan

karyawan

dinyatakan

telat

Sesuai

harapan Valid

5.

NIK diisi dengan

benar dan sudah

terdaftar dan

dilakukan dibawah

pukul 8 pagi

Nik :

2010002

Sistem akan

menerima dan

karyawan

dinyatakan

tepat waktu

Sesuai

harapan Valid

Page 63: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

100

B. Form Absen Keluar Karyawan

Tabel IV.11.

Black Box Testing Form Absen Keluar Karyawan

No Skenario Pengujian Test case Hasil yang

diharapkan

Hasil

pengujian Kesimpulan

1.

NIK tidak diisi

kemudian klik

tombol absen

Nik :

(kosong)

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

2.

NIK diisi dengan

huruf atau simbol

kemudian klik

tombol absen

Nik :

12a!@

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

3.

NIK diisi dengan

benar tapi tidak

terdaftar oleh

system

Nik :

2010202

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

4.

NIK diisi dengan

benar dan sudah

terdaftar tapi

dilakukan dibawah

pukul 4 sore

Nik :

2010002

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

5.

NIK diisi dengan

benar dan sudah

terdaftar dan

melakukan absen

diatas pukul 4 sore

Nik :

2010002

Sistem akan

menerima dan

karyawan

telah

melakukan

absen keluar

Sesuai

harapan Valid

6.

NIK diisi dengan

benar dan sudah

terdaftar dan

dilakukan diatas

pukul 5

Nik :

2010002

Sistem akan

menerima dan

karyawan

memasuki

jam lembur

Sesuai

harapan Valid

Page 64: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

101

C. Form Login Pengguna

Tabel IV.12.

Black Box Testing Form Login Pengguna

No Skenario

Pengujian Test case

Hasil yang

diharapkan

Hasil

pengujian Kesimpulan

1.

Username dan

password tidak

diisi kemudian

klik tombol login

Username :

(kosong)

Passowrd :

(kosong)

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

2.

Username diisi

tapi password

tidak diisi

kemudian klik

tombol login

Username :

khairul

Password :

(kosong)

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

3.

Password diisi

tapi username

tidak diisi

kemudian klik

tombol login

Username :

(kosong)

Password :

khairul

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

4.

Username dan

password diisi

dengan benar tapi

tidak terdaftar

oleh sistem

Username :

retno

Password :

retno

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

5.

Username dan

password diisi

dengan benar dan

sudah terdaftar di

sistem

Username :

khairul

Password :

khairul

Sistem akan

menerima dan

pengguna

akan di

arahkan ke

halaman

pengguna

Sesuai

harapan Valid

Page 65: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

102

D. Form Login Admin

Tabel IV.13.

Black Box Testing Form Login Admin

No Skenario

Pengujian Test case

Hasil yang

diharapkan

Hasil

pengujian Kesimpulan

1.

Username dan

password tidak

diisi kemudian

klik tombol login

Username :

(kosong)

Passowrd :

(kosong)

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

2.

Username diisi

tapi password

tidak diisi

kemudian klik

tombol login

Username :

admin

Password :

(kosong)

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

3.

Password diisi

tapi username

tidak diisi

kemudian klik

tombol login

Username :

(kosong)

Password :

admin

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

4.

Username dan

password diisi

dengan benar tapi

tidak terdaftar

oleh sistem

Username :

pengguna

Password :

pengguna

Sistem akan

menolak dan

tampil

peringatan

Sesuai

harapan Valid

5.

Username dan

password diisi

dengan benar dan

sudah terdaftar di

sistem

Username :

admin

Password :

admin

Sistem akan

menerima dan

pengguna

akan di

arahkan ke

halaman

admin

Sesuai

harapan Valid

Page 66: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

103

4.5. Support

Dalam pembuatan sistem informasi absensi dan perhitungan lembur ini akan

membantu hrd untuk mengelola data-data absensi maupun perhitungan lembur dan

mempermudah dalam membuat laporan absensi maupun perhitungan lembur, untuk

itu penulis menggunakan framework PHP yang bernama CodeIgniter 3.0 dalam

pembuatan aplikasi. Untuk mengoperasikan program tersebut diperlukan spesifikasi

komputer yang cukup tinggi dan untuk mendukung pembuatan aplikasi kebutuhan

hardware yang diperlukan meliputi : processor, memory, harddisk, keyboard,

mouse, barcode scanner, camera sedangkan kebutuhan software yang diperlukan

meliputi sistem operasi dan software pendukung pemrograman lainnya.

4.5.1. Spesifikasi Hardware dan Software

Untuk menjalankan aplikasi ini membutuhkan spesifikasi hardware dan

software yang cukup tinggi agar aplikasi berjalan dengan lancar tanpa adanya bug

maupun error.

Page 67: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

104

Tabel IV.14.

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Processor Core i3 2.30 GHz

RAM 2048 MB

Harddisk 320 GB

VGA AMD Radeon HD 6480G

Webcam Logitech HD 1080

Barcode Scanner Barcode Scanner Eppos X100

Keyboard 108 key

Mouse Standart

Printer Epson T1100

Sistem Operasi Windows 7 x86

Browser Google Chrome

Web Server Apache 2.4.17, PHP 5.6.21

Database Server MariaDB 10.1.13, phpMyAdmin 4.5.1

Page 68: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

105

4.6. Spesifikasi Dokumen Sistem Usulan

A. Laporan Absensi Semua Karyawan Perbulan

Nama Dokumen : Laporan Absensi

Fungsi : Rekap file absen semua karyawan perbulan

Sumber : Halaman Pengguna

Tujuan : HRD & Umum

Media : Kertas

Frekuensi : Setiap membutuhkan laporan absensi

Format : Lampiran B - 1

B. Laporan Absensi Perkaryawan dan Perbulan

Nama Dokumen : Laporan Absensi

Fungsi : Rekap file absen perkaryawan dan perbulan

Sumber : Halaman Pengguna

Tujuan : HRD & Umum

Media : Kertas

Frekuensi : Setiap membutuhkan laporan absensi

Format : Lampiran B – 2

C. Laporan Lembur Semua Karyawan Perbulan

Nama Dokumen : Laporan Lembur

Fungsi : Rekap file lembur semua karyawan perbulan

Sumber : Halaman Pengguna

Tujuan : HRD & Umum

Media : Kertas

Page 69: BAB IV RANCANGAN SISTEM DAN PROGRAM …...53 Tabel IV.4. Spesifikasi file Absensi Status Gambar Absen No Elemen data Nama Field Tipe Size Ket 1 ID Absen absensiid int 11 Primary Key,

106

Frekuensi : Setiap membutuhkan laporan lembur

Format : Lampiran B - 3

D. Laporan Lembur Perkaryawan dan Perbulan

Nama Dokumen : Laporan Lembur

Fungsi : Rekap file lembur perkaryawan dan perbulan

Sumber : Halaman Pengguna

Tujuan : HRD & Umum

Media : Kertas

Frekuensi : Setiap membutuhkan laporan lembur

Format : Lampiran B - 4