Program Energy Saving menggunakan IoT Electrical Control ...

171
i HALAMAN JUDUL Program Energy Saving menggunakan IoT Electrical Control dengan Attendance System dan Pemetaan Ruangan Gedung Disusun oleh : Evan Enza Rizqi 012201605019 Tesis Diajukan kepada Fakultas Komputer President University Sebagai salah satu syarat untuk gelar Sarjana Komputer Bidang Sistem Informasi, Fakultas Komputer Cikarang, Bekasi, Indonesia Mei 2019

Transcript of Program Energy Saving menggunakan IoT Electrical Control ...

i

HALAMAN JUDUL

Program Energy Saving menggunakan IoT Electrical Control

dengan Attendance System dan Pemetaan Ruangan Gedung

Disusun oleh :

Evan Enza Rizqi

012201605019

Tesis

Diajukan kepada Fakultas Komputer

President University

Sebagai salah satu syarat untuk gelar Sarjana Komputer

Bidang Sistem Informasi, Fakultas Komputer

Cikarang, Bekasi, Indonesia

Mei 2019

ii

Copyright by

Evan Enza Rizqi

2019

iii

HALAMAN PENGESAHAN

Program Energy Saving menggunakan IoT Electrical Control

dengan Attendance System dan Pemetaan Ruangan Gedung

Disusun oleh :

Evan Enza Rizqi

Disetujui oleh :

____________________________ _____________________________

Rila Mandala, M.Eng, Ph.D Rikip Ginanjar, M.Sc

Pembimbing Tesis Ketua Program Studi Sistem Informasi

_________________________________

Rila Mandala, M.Eng, Ph.D

Dekan Fakultas Komputer

iv

DECLARATION OF ORIGINALITY

I hereby certify that I am the sole author of this thesis and that no part of

this thesis has been published or submitted for publication.

I certify that, to the best of my knowledge, my thesis does not infringe

upon anyone’s copyright nor violate any proprietary rights and that any ideas,

techniques, quotations, or any other material from the work of other people

included in my thesis, published or otherwise, are fully acknowledged in

accordance with the standard referencing practices.

I declare that this is a true copy of my thesis, including any final

revisions, as approved by my thesis committee, and that this thesis has not been

submitted for a higher degree to any other University or Institution.

I have read the Thesis Regulations and I am aware of the potential

consequences of any breach of them.

Cikarang, May 06th , 2019

Evan Enza Rizqi

v

ABSTRAK

Energi listrik telah menjadi kebutuhan pokok dalam kehidupan sehari-

hari, serta menjadi peran utama dalam utilitas industri. Berdasarkan data

Direktorat Jendral Ketenagalistrikan Kementerian Energi dan Sumber Daya

Mineral Edisi No. 30 Tahun 2017, menunjukkan bahwa penjualan tenaga PLN

per sektor pelanggan terus mengalami peningkatan dari tahun 2012 hingga tahun

2016. Hal ini tentunya dipengaruhi oleh kebutuhan penggunaan listrik yang

semakin tinggi oleh berbagai bidang sektor pelanggan. Sehingga menyebabkan

penurunan pasokan listrik dan menjadikan PLN untuk menaikkan Tarif Dasar

Listrik (TDL) yang sangat dikeluhkan oleh masyarakat dan sektor industri.

Pada dunia usaha dan industri, kebutuhan listrik sudah menjadi utilitas

utama dalam melakukan segala aktivitas pekerjaan. Namun, dalam penggunaan

utilitas listrik tersebut kurang terkontrol dan terkendali dalam hal

penggunaanya, yang menyebabkan banyak energi listrik yang terkonsumsi dan

menjadikan beban tagihan listrik naik. Sehingga diperlukan program efektivitas

dan efisiensi dalam hal penggunaan listrik pada perusahaan dengan melakukan

program penghematan energi atau sering disebut Energy Saving.

Program Energy Saving pada perusahaan bisa terimplemtasikan dengan

memanfaatkan teknologi IoT (Internet Of Things) untuk mengintegrasikan

penggunaan konsumsi listrik pada tiap ruangan dengan sistem kehadiran

(attendance). Integrasi ini dipilih karena setiap perusahaan memiliki sistem

kehadiran yang bisa menjadi peluang untuk dimanfaatkan dalam melakukan

integrasi sistem dengan teknologi IoT (Internet Of Things). Sistem ini, memiliki

model kendali untuk mengurangi penggunaan listrik yang tidak terpakai pada

tiap ruang kerja perusahaan dengan penyelarasan pada sistem kehadiran

(attendance) karyawan. Sehingga ketika karyawan pada ruang kerja tersebut

sudah pulang semua, maka perangkat yang menggunakan listrik pada ruang

kerja tersebut akan menjadi non-aktif (OFF) secara otomatis.

Kata Kunci : Listrik, Energy Saving, Internet Of Things, Attendance System

vi

PERSEMBAHAN

• Persembahan ini saya haturkan untuk Allah SWT sebagai bentuk syukur dalam

menjalankan ibadah untuk menuntut ilmu, dan semoga ini bisa menjadi langkah

awal untuk memperoleh Rahmat-Nya dan menjadikan diri untuk terus

bertawakal kepada-Nya.

• Persembahan untuk orang tua saya, yang telah menyayangi saya dengan segala

ketulusan hati untuk melihat anaknya bisa menjadi seorang yang sukses dan

telah memberikan segala perjuangan untuk bisa memperoleh masa depan yang

cerah akan kebahagiaan.

• Persembahan untuk orang yang saya sayangi dan semua teman-teman serta

kerabat yang telah banyak memberikan dukungan baik moril maupun materiil.

vii

MOTTO

“Prove yourself be the successman !”

“Gunakan waktu sebaik mungkin, sebelum waktu itu

hilang dengan sia-sia”

“Berilah yang terbaik atas segala usaha yang telah

dilakukan”

“Teruslah berkarya untuk menciptakan sejarah hidup

yang indah”

viii

KATA PENGANTAR

Puji syukur ke hadirat Allah SWT yang telah memberikan rahmat,

berkah dan anugerah-Nya sehingga penulis dapat menyelesaikan Skripsi dengan

judul “Program Energy Saving menggunakan IoT Electrical Control

dengan Attendance System dan Pemetaan Ruangan Gedung”. Tugas Akhir

ini disusun untuk melengkapi syarat akhir studi Program Sarjana (S-1) pada

Program Studi Sistem Informasi Jurusan Fakultas Komputer President

University.

Dalam menyelesaikan Skripsi ini penulis banyak memperoleh bantuan

dari berbagai pihak. Oleh karena itu pada kesempatan ini penulis ingin

menyampaikan ucapan terima kasih kepada :

1. Bapak Dr. Jony Oktavian Haryanto, SE, MM, MA selaku Rektor

President University.

2. Bapak Rila Mandala, M.Eng, Ph.D selaku Dekan Fakultas Komputer

President University.

3. Bapak Rikip Ginanjar, M.Sc selaku Ketua Program Studi Sistem

Informasi President University.

4. Bapak Rila Mandala, M.Eng, Ph.D selaku dosen pembimbing yang telah

banyak membantu, memberikan dukungan dan bantuan berupa solusi

masalah, ide pengembangan, serta masukan yang berguna bagi penulis.

5. Seluruh dosen pengajar dan staff Program Studi Sistem Informasi

President University yang turut memberikan bantuan dan dukungan.

6. Orang tua serta keluarga yang telah memberikan doa dan dukungan

dalam pembuatan Skripsi ini.

7. Rekan-rekan mahasiswa Program Studi Sistem Informasi President

University yang telah membantu dalam proses pembuatan Skripsi ini.

8. Semua pihak yang telah membantu penulis dari awal hingga akhir yang

tidak dapat penulis sebutkan satu persatu.

Penulis menyadari bahwa dalam penyusunan laporan Skripsi ini masih jauh dari

kesempurnaan, untuk itu penulis selalu mengharapkan kritik dan saran yang

ix

membangun dari semua pihak. Penulis berharap semoga Skripsi ini dapat

bermanfaat bagi pembaca.

Bekasi, Mei 2019

Penulis

x

DAFTAR ISI

HALAMAN JUDUL ...................................................................................................... i

HALAMAN PENGESAHAN ..................................................................................... iii

DECLARATION OF ORIGINALITY ...................................................................... iv

ABSTRAK ..................................................................................................................... v

PERSEMBAHAN ........................................................................................................ vi

MOTTO ....................................................................................................................... vii

KATA PENGANTAR ............................................................................................... viii

DAFTAR ISI ................................................................................................................. x

DAFTAR TABEL ...................................................................................................... xiii

DAFTAR GAMBAR .................................................................................................. xv

BAB I ............................................................................................................................ 1

1.1 Latar Belakang ................................................................................................... 1

1.2 Identifikasi Masalah ........................................................................................... 3

1.3 Tujuan Penelitian ................................................................................................ 4

1.4 Ruang Lingkup dan Batasan Masalah ................................................................ 4

1.5 Metode Penelitian ............................................................................................... 5

1.6 Sistematika Penulisan ......................................................................................... 6

BAB II ............................................................................................................................ 9

2.1 Energy Saving .................................................................................................... 9

2.2 Sistem Kendali ................................................................................................. 10

2.3 Internet of Things ............................................................................................. 12

2.4 Attendance System ........................................................................................... 13

2.5 Smart Building ................................................................................................. 14

2.6 Penelitian Terkait ............................................................................................. 16

2.6.1 Aplikasi Sistem Pengendali dan Manajemen Penjadwal Peralatan Listrik

dalam Ruangan (oleh Aulia, TRANSMISI, 12, (2), 2010, 58). ........................... 16

2.6.2 Arduino Smart Home oleh Amphan ......................................................... 17

2.6.3 Zigbee and RFID Based Student Attendance Monitoring System with

Energy Saving (oleh Bhingude Kisan dan Bhise S.K, IARJSET, Vol.4, Special

Issue 2, January 2017). ......................................................................................... 18

xi

2.6.4 IOT Based Smart Classroom System (oleh E.K.F Chan, dkk, e-ISSN:

2289-8131 , Vol. 9 No. 3-9, UTM Johor Bahru, Malaysia) ................................. 19

2.7 Perbandingan dengan Sistem pada Penelitian Terkait ..................................... 20

BAB III ........................................................................................................................ 22

3.1 Analisis Sistem ................................................................................................. 22

3.2 Analisis Kebutuhan Sistem .............................................................................. 23

3.2.1 Analisis Kebutuhan Fungsionalitas .......................................................... 24

3.2.2 Analisis Kebutuhan Perangkat ................................................................. 25

3.2.3 Use Case Diagram .................................................................................... 26

3.2.4 Activity Diagram ...................................................................................... 47

BAB IV ........................................................................................................................ 64

4.1 Class Diagram .................................................................................................. 64

4.2 Entity Relationship Diagram (ERD) ................................................................ 66

4.3 Perancangan Basis Data ................................................................................... 67

4.3.1 Basis Data Attendance .............................................................................. 67

4.3.2 Basis Data IoT Mapping ........................................................................... 71

4.4 Perancangan Antarmuka Sistem ....................................................................... 74

4.4.1 Perancangan Antarmuka Attendance System ........................................... 74

4.4.2 Perancangan Antarmuka Electrical Control ............................................ 86

BAB V .......................................................................................................................... 88

5.1 Perlengkapan Implementasi ............................................................................. 88

5.2 Pengembangan interface dan Pengkodean ....................................................... 89

5.2.1 Aplikasi Attendance (Web Base) .............................................................. 89

5.2.2 Aplikasi Electrical Control (Desktop Base) ........................................... 126

BAB VI ...................................................................................................................... 138

6.1 Rencana Pengujian ......................................................................................... 138

6.1.1 Rencana Pengujian pada Aplikasi Attendance (Web Base) .................... 138

6.1.2 Rencana Pengujian pada Aplikasi Electrical Control (Desktop Base)

................................................................................................................ 139

6.1.3 Rencana Pengujian Efisiensi Penggunaan Listrik .................................. 140

6.2 Pengujian Sistem ............................................................................................ 140

6.2.1 Pengujian Sistem pada Aplikasi Attendance (Web Base) ...................... 141

6.2.2 Pengujian Sistem pada Aplikasi Electrical Control (Desktop Base) ..... 147

xii

6.3 Pengujian Data Efisiensi ................................................................................ 149

BAB VII ..................................................................................................................... 150

7.1 Kesimpulan ..................................................................................................... 150

7.2 Saran ............................................................................................................... 151

DAFTAR PUSTAKA ............................................................................................... 152

xiii

DAFTAR TABEL

Tabel 2.1 Perbandingan terhadap sistem dari penelitian terkait ............... 20

Tabel 3.1 Aktor pada sistem ..................................................................... 23

Tabel 3.2 Kebutuhan Perangkat Keras ..................................................... 25

Tabel 3.3 Kebutuhan perangkat lunak ...................................................... 26

Tabel 3.4 Daftar Use Case ........................................................................ 27

Tabel 3.5 Tabel skenario Create/Update Employee ................................. 30

Tabel 3.6 Tabel skenario Create New Employee ...................................... 31

Tabel 3.7 Tabel skenario Update Employee ............................................. 32

Tabel 3.8 Tabel skenario Send Notification ............................................. 33

Tabel 3.9 Tabel skenario Setup Attendance ............................................. 34

Tabel 3.10 Tabel skenario Scan FP & RFID Card .................................... 34

Tabel 3.11 Tabel skenario Upload to Machine .......................................... 36

Tabel 3.12 Tabel skenario Receive Notification ......................................... 37

Tabel 3.13 Tabel skenario Setup Employee Mapping Room ...................... 38

Tabel 3.14 Tabel skenario Monitor Attendance ......................................... 39

Tabel 3.15 Tabel skenario Print Attendance .............................................. 40

Tabel 3.16 Tabel skenario Check Attendance per Room ............................ 41

Tabel 3.17 Tabel skenario Set OFF Switch ................................................ 42

Tabel 3.18 Tabel skenario Create Log ....................................................... 43

Tabel 3.19 Tabel skenario Register Attendance ......................................... 44

Tabel 3.20 Tabel skenario Check-IN .......................................................... 45

Tabel 3.21 Tabel skenario Check-OUT ...................................................... 46

Tabel 4.1 Tabel Userinfo .......................................................................... 67

Tabel 4.2 Tabel Department ..................................................................... 69

Tabel 4.3 Tabel Checkinout ...................................................................... 69

Tabel 4.4 Tabel Machines ........................................................................ 70

Tabel 4.5 Tabel Area Employee ............................................................... 71

Tabel 4.6 Tabel Area Master .................................................................... 72

Tabel 4.7 Tabel Area Control ................................................................... 72

Tabel 4.8 Tabel IO Machines ................................................................... 73

Tabel 4.9 Tabel IO Machines ................................................................... 73

xiv

Tabel 6.1 Rencana Pengujian pada Aplikasi Attendance (Web Base) .... 139

Tabel 6.2 Rencana Pengujian pada Aplikasi Electrical Control (Desktop

Base) ....................................................................................... 139

Tabel 6. 3 Rencana Pengujian terhadap efisiensi penggunaan listrik ..... 140

Tabel 6. 4 Pengujian Dashboard ............................................................. 141

Tabel 6. 5 Pengujian Login ..................................................................... 141

Tabel 6.6 Pengujian Profile .................................................................... 142

Tabel 6.7 Pengujian Attendance ............................................................. 142

Tabel 6.8 Pengujian Energy Control ...................................................... 143

Tabel 6.9 Pengujian Check-In Canteen .................................................. 144

Tabel 6.10 Pengujian Employee ............................................................... 144

Tabel 6.11 Pengujian Department ............................................................ 145

Tabel 6.12 Pengujian Setting .................................................................... 145

Tabel 6.13 Pengujian Department ............................................................ 147

Tabel 6.14 Pengujian Read DI (Digital Input) ......................................... 147

Tabel 6.15 Pengujian Set DO (Digital Output) ........................................ 148

Tabel 6.16 Pengujian Attendance Control ................................................ 148

Tabel 6.17 Pengujian Insert Log .............................................................. 149

Tabel 6. 18 Pengujian Data Efisiensi ........................................................ 149

xv

DAFTAR GAMBAR

Gambar 1.1 Grafik Penjualan Tenaga Listrik PLN 2012-2016[2] .................. 1

Gambar 1.2 Empat Tahapan RAD ................................................................. 5

Gambar 2.1 Sistem Kendali Loop Terbuka .................................................. 11

Gambar 2.2 Sistem kendali loop terbuka ..................................................... 11

Gambar 2.3 Sektor dalam Konsep Smart Building ...................................... 15

Gambar 2.4 Aplikasi Home Automation oleh Teksun Inc ........................... 16

Gambar 2.5 Aplikasi Arduino Smart Home oleh Amphan .......................... 17

Gambar 2.6 ZigBee dan Functional Block Diagram untuk Student Attendance

Monitoring System with Energy Saving ..................................... 18

Gambar 2.7 Aplikasi Student Attendance dan Penggunaan WSN Human

Movement sebagai Energy Saving ............................................. 19

Gambar 3.1 Use Case Diagram ................................................................... 27

Gambar 3.2 Activity Diagram Create/Update Employee ............................. 47

Gambar 3.3 Activity Diagram Create Employee .......................................... 48

Gambar 3.4 Activity Diagram Update Employee ......................................... 49

Gambar 3.5 Activity Diagram Send Notification ......................................... 50

Gambar 3.6 Activity Diagram Setup Attendance ......................................... 51

Gambar 3.7 Activity Diagram Scan FP & RFID Card ................................ 52

Gambar 3.8 Activity Diagram Upload to Machine ...................................... 53

Gambar 3.9 Activity Diagram Receive Notification ..................................... 54

Gambar 3.10 Activity Diagram Setup Employee Mapping Room .................. 55

Gambar 3.11 Activity Diagram Monitor Attendance ..................................... 56

Gambar 3.12 Activity Diagram Print Attendance .......................................... 57

Gambar 3.13 Activity Diagram Check Attendance per Room ........................ 58

Gambar 3.14 Activity Diagram Set OFF Switch ............................................ 59

Gambar 3.15 Activity Diagram Create Log ................................................... 60

Gambar 3.16 Activity Diagram Register Attendance ..................................... 61

Gambar 3.17 Activity Diagram Check-IN ...................................................... 62

Gambar 3.18 Activity Diagram Check-OUT .................................................. 63

xvi

Gambar 4.1 Class Diagram Program Energy Saving menggunakan IoT

Electrical Control dengan Attendance System dan Pemetaan

Ruangan Gedung ...................................................................... 64

Gambar 4.2 Class Diagram secara detail Program Energy Saving

menggunakan IoT Electrical Control dengan Attendance

System dan Pemetaan Ruangan Gedung .................................. 65

Gambar 4.3 ERD Program Energy Saving menggunakan IoT Electrical

Control dengan Attendance System dan Pemetaan Ruangan

Gedung ..................................................................................... 66

Gambar 4.4 Perancangan Antarmuka Menu Dashboard : Profile ............... 75

Gambar 4.5 Perancangan Antarmuka Menu Dashboard : Dashboard ........ 76

Gambar 4.6 Perancangan Antarmuka Menu Attendance : Add Attendance . 77

Gambar 4.7 Perancangan Antarmuka Menu Attendance : List Attendance . 77

Gambar 4.8 Perancangan Antarmuka Menu Attendance : Log Attendance . 78

Gambar 4.9 Perancangan Antarmuka Menu Energy Control : Sign Employee

Area .......................................................................................... 79

Gambar 4.10 Perancangan Antarmuka Menu Energy Control : Energy Status .

.................................................................................................. 79

Gambar 4.11 Perancangan Antarmuka Menu Check-In Canteen : Add

Canteen Check-In ..................................................................... 80

Gambar 4.12 Perancangan Antarmuka Menu Check-In Canteen : List

Canteen Check-In ..................................................................... 81

Gambar 4.13 Perancangan Antarmuka Menu Employee : Add Employee ..... 82

Gambar 4.14 Perancangan Antarmuka Menu Employee : List Employee ...... 82

Gambar 4.15 Perancangan Antarmuka Menu Department : List Department ...

................................................................................................. 83

Gambar 4.16 Perancangan Antarmuka Menu Setting : Machine Setting ....... 84

Gambar 4.17 Perancangan Antarmuka Menu Setting : Shift Schedule .......... 84

Gambar 4.18 Perancangan Antarmuka Menu Setting : Login Access ............ 85

Gambar 4.19 Perancangan Antarmuka Electrical Control : Overview .......... 86

Gambar 4.20 Perancangan Antarmuka Electrical Control : Monitor ............ 87

Gambar 4.21 Perancangan Antarmuka Electrical Control : Event Log ......... 87

Gambar 5.1 Kode koneksi.php untuk koneksi ke database attendance ....... 90

Gambar 5.2 Kode koneksi-iot.php untuk koneksi ke database IoT ............. 90

xvii

Gambar 5.3 Tampilan Halaman Dashboard ................................................. 91

Gambar 5.4 Kode info Total Employee ....................................................... 91

Gambar 5.5 Kode info Total Attend (Present) ............................................. 92

Gambar 5.6 Kode info Total Not (Present) ................................................. 92

Gambar 5.7 Kode info Total Visitor ............................................................. 93

Gambar 5.8 Tampilan Halaman Login ......................................................... 93

Gambar 5.9 Kode Login.php ........................................................................ 94

Gambar 5.10 Kode Auth.php .......................................................................... 95

Gambar 5.11 Tampilan Halaman Profile ....................................................... 95

Gambar 5.12 Kode Profile.php ...................................................................... 96

Gambar 5.13 Kode Session.php ..................................................................... 97

Gambar 5.14 Tampilan Halaman Add Attendance (Input Data Kehadiran

Manual) .................................................................................... 98

Gambar 5.15 Tampilan Halaman Data Attendance (Data Kehadiran

Karyawan) ................................................................................ 98

Gambar 5.16 Tampilan Halaman Data Log Attendance ................................ 99

Gambar 5.17 Kode attendance-add.php ...................................................... 101

Gambar 5.18 Kode attendance-add-process.php ......................................... 102

Gambar 5.19 Kode attendance-list.php ........................................................ 103

Gambar 5.20 Kode attendance-log.php ....................................................... 104

Gambar 5.21 Kode attendance-delete.php ................................................... 105

Gambar 5.22 Tampilan Registrasi Karyawan terhadap Area Kerja (Ruangan)

................................................................................................ 106

Gambar 5.23 Kode area-employee-add.php ................................................. 106

Gambar 5.24 Kode area-employee-add.php ................................................ 107

Gambar 5.25 Kode area-employee-disabled.php ......................................... 107

Gambar 5.26 Kode Retrieve Load Data Energy Status ............................... 109

Gambar 5.27 Kode Webservice JSON Database Energy Status .................. 110

Gambar 5.28 Tampilan Menu Add Canteen Check-In ................................. 111

Gambar 5.29 Tampilan Menu List Canteen Check-In ................................. 111

Gambar 5.30 Kode Insert Data Canteen Check-In ....................................... 112

Gambar 5.31 Kode List Data Canteen Check-In ......................................... 113

Gambar 5.32 Tampilan Menu Add Employee .............................................. 114

Gambar 5.33 Tampilan Menu List Employee .............................................. 115

xviii

Gambar 5.34 Kode Add Employee ............................................................... 116

Gambar 5.35 Kode List Employee ................................................................ 117

Gambar 5.36 Kode Edit Employee ............................................................... 118

Gambar 5.37 Tampilan Halaman List Department ...................................... 119

Gambar 5.38 Kode tabel List Department ................................................... 120

Gambar 5.39 Kode Plugin Export Data tables ............................................ 121

Gambar 5.40 Tampilan Halaman Menu Setting : Machine Setting .............. 122

Gambar 5.41 Tampilan Halaman Menu Setting : Shift Schedule ................. 122

Gambar 5.42 Tampilan Halaman Menu Setting : Login Access .................. 123

Gambar 5.43 Tampilan kode halaman Machine Setting .............................. 124

Gambar 5.44 Tampilan kode halaman Shift Schedule .................................. 125

Gambar 5.45 Tampilan kode halaman Login Access ................................... 126

Gambar 5.46 Tampilan sistem kontrol kelistrikan ....................................... 127

Gambar 5.47 Tampilan Kode Class Form1 ................................................. 127

Gambar 5.48 Tampilan Kode Class IniReadSettings ................................... 128

Gambar 5.49 Tampilan Kode Class EnabledSettings .................................. 128

Gambar 5.50 Tampilan Kode Class DisabledSettings ................................. 129

Gambar 5.51 Tampilan Kode Class SaveIniSettings ................................... 129

Gambar 5.52 Tampilan Kode Class Connection .......................................... 130

Gambar 5.53 Tampilan Kode Class Connection .......................................... 131

Gambar 5.54 Tampilan Kode Event Tick Timer .......................................... 131

Gambar 5.55 Tampilan Kode Class DI (Digital Input) ............................... 132

Gambar 5.56 Tampilan Kode Class DO (Digital Output) ........................... 133

Gambar 5.57 Tampilan Kode Class Set_DIO1 (Set Digital Output) ........... 134

Gambar 5.58 Tampilan Kode Attendance Control ....................................... 134

Gambar 5.59 Tampilan Kode Class CheckHasRows ................................... 136

Gambar 5.60 Tampilan Kode Class Show Area Monitor ............................. 137

Gambar 5.61 Tampilan Kode Class InsertLog ............................................. 137

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Energi listrik telah menjadi kebutuhan pokok dalam kehidupan sehari-

hari, serta menjadi peran utama dalam utilitas industri. Berdasarkan data

Direktorat Jendral Ketenagalistrikan Kementerian Energi dan Sumber Daya

Mineral Edisi No. 30 Tahun 2017 (Triboesono, 2017), menunjukkan bahwa

penjualan tenaga PLN per sektor pelanggan terus mengalami peningkatan dari

tahun 2012 hingga tahun 2016 (Gambar 1.1). Hal ini tentunya dipengaruhi oleh

kebutuhan penggunaan listrik yang semakin tinggi oleh berbagai bidang sektor

pelanggan.

Gambar 1.1 Grafik Penjualan Tenaga Listrik PLN 2012-2016[2]

Namun semakin meningkatnya kebutuhan penggunaan listrik,

menjadikan pasokan listrik juga semakin tipis dan perlu ada peningkatan

pasokan listrik dari pembangkit. Sehingga untuk menyeimbangkan kebutuhan

2

listrik yang tinggi dengan pemasokan listrik yang terbatas, menjadikan PLN

untuk melakukan pemadaman bergilir. Sehingga pemerintah memberikan

kebijakan untuk terus menambah pasokan listrik hingga 35.000 MegaWatt

(Kementerian Sekretariat Negara RI, 2016).

Dengan alasan untuk menjaga kestabilan akan produksi listrik dan

pengurangan subsidi listrik agar lebih tepat sasaran, menyebabkan kenaikan

terhadap Tarif Dasar Listrik (TDL). Hal ini terjadi pada tahun 2003 hingga

tahun 2017, pemerintah telah menetapkan kenaikan Tarif Dasar Listrik PLN

secara berkala. Tentunya, hal ini sangat dikeluhkan oleh pelanggan rumah

tangga dan industri (Alamijaya, 2017).

Pada dunia usaha dan industri, kebutuhan listrik sudah menjadi utilitas

utama dalam melakukan segala aktivitas pekerjaan. Hal ini dapat dilihat pada

kegiatan operasional sehari-hari bahwa perusahaan memiliki berbagai macam

sistem, seperti sistem pendingin ruangan, pemanas, ventilasi, penerangan,

produksi bahkan keamanan. Namun, berbagai macam sistem tersebut terkadang

kurang terkontrol dan terkendali dalam hal penggunaanya, yang menyebabkan

banyak energi listrik yang terkonsumsi dan menjadikan beban tagihan listrik

yang meningkat.

Sehingga diperlukan program efektivitas dan efisiensi dalam hal

penggunaan listrik pada perusahaan dengan melakukan program penghematan

energi atau sering disebut Energy Saving. Program Energy Saving pada

perusahaan bisa terimplemtasikan dengan memanfaatkan teknologi IoT

(Internet Of Things) untuk mengintegrasikan penggunaan konsumsi listrik pada

tiap ruangan dengan sistem kehadiran (attendance). Sistem ini, nantinya akan

menjadi sistem kendali untuk mengurangi penggunaan listrik yang tidak

3

terpakai pada tiap ruang kerja perusahaan dengan penyelarasan pada sistem

kehadiran (attendance) karyawan. Sehingga ketika karyawan pada ruang kerja

tersebut sudah pulang semua, maka perangkat yang menggunakan listrik pada

ruang kerja tersebut akan menjadi non-aktif (OFF) secara otomatis.

1.2 Identifikasi Masalah

Identifikasi masalah yang dapat dinyatakan berdasarkan latar belakang diatas

adalah :

1. Tagihan listrik pada perusahaan yang terus mengalami kenaikan dan tidak

seimbang terhadap keluaran aktivitas kerja.

2. Belum adanya sistem kendali perangkat elektronik pada tiap ruang kerja

perusahaan yang menyebabkan terjadinya konsumsi listrik secara percuma

ketika perangkat elektronik dalam ruangan sedang tidak terpakai.

3. Tidak adanya sistem kehadiran (attendance) yang terintegrasi dengan

sistem kendali perangkat elektronik pada tiap ruang kerja perusahaan.

Dimana hal ini dapat membantu dalam program Energy Saving dengan

model sistem automatis.

4

1.3 Tujuan Penelitian

Tujuan dari pembuatan skripsi ini adalah sebagai berikut :

1. Meningkatkan efektivitas dan efisiensi penggunaan listrik dengan program

Energy Saving pada perusahaan.

2. Menyediakan media bagi perusahaan untuk melakukan monitoring

kehadiran karyawan (attendance) secara real-time yang dapat

diintegrasaikan dengan sistem kendali perangkat elektronik pada tiap ruang

kerja karyawan.

3. Memberikan media monitoring status penggunaan listrik dari tiap alokasi

mapping area kerja karyawan.

1.4 Ruang Lingkup dan Batasan Masalah

Ruang lingkup dan batasan masalah yang terdapat pada skripsi ini adalah

sebagai berikut.

1. Sistem ini merupakan kombinasi dari sistem kehadiran (attendance) dan

sistem kendali digital Input/Output yang menerapkan teknologi (Internet Of

Things).

2. Sistem aplikasi yang dikembangkan adalah sebagai berikut :

a. Aplikasi sistem kehadiran (attendance) yang memiliki fitur monitor

data kayawan, kehadiran, penempatan ruang kerja karyawan, serta

status pemakaian listrik tiap ruangan berbasis WEB.

b. Aplikasi Back-End Server sebagai driver dan kendali terhadap

perangkat mikrokontroller Moxa E1212.

5

3. Pengerjaan aplikasi ini hanya sampai pada monitoring kehadiran dan

kontrol off pada switch remote lampu sebagai prototipe (perangkat

elektronik) yang terdapat pada tiap ruang kerja.

1.5 Metode Penelitian

Dalam proses pembuatan dan pengembangan aplikasi ini proses yang

dilakukan disesuaikan dengan metode penilitian, adapun metode penelitian

yang gunakan adalah Rapid Application Development (RAD) dimana RAD ini

memiliki muatan yang hampir kesulurahan tahapannya sama dengan metode

pengembangan aplikasi System Development Life Cycle (SDLC) didalamnya

terdapat tahapan yang dimulai dari perencanaan, desain, proses pembuatan

aplikasi dan implementasi dan proses peralihan (Kosasi, 2015).

RAD memilki empat tahapan utama yaitu :

Gambar 1.2 Empat Tahapan RAD

6

a. Perencanaan Kebutuhan

Tahapan perencanaan kebutuhan berkaitan dengan tahapan perencanaan sistem

dan analisa sistem yang terdapat di SDLC. Dimana setiap pihak yang terlibat

dalam pembuatan sistem berdiskusi mengenai kebutuhan, cakupan proyek,

batasan dan kebutuhan sistem.

b. Desain

Selama tahapan desain, user berinteraksi dengan analisis sistem dan

mengembangkan model dan prototype yang mewakili keseluruhan proses,

output, dan input serta menyiapkan rencana untuk implementasi sistem.

c. Pembangunan

Tahapan pembangunan ini fokus pada implementasi yaitu pembangunan

program (coding) serta melakukan pengujian terhadap aplikasi yang telah

dibangun.

d. Peralihan

Merupakan tahapan pemindahan ke sistem baru yang telah dibangun dimana

pada tahapan ini juga terdapat sosialisasi penggunaan sistem bagi pengguna.

1.6 Sistematika Penulisan

BAB I

PENDAHULUAN

Bab I merupakan bab yang berisi tentang penjelasan latar belakang yang

menjelaskan tentang alasan pemilihan judul dan konsep, identifikasi

masalah yaitu berupa uraian dari masalah yang menjadikan alasan

pembuatan aplikasi, tujuan penilitian, ruang lingkup dan batasan dalam

7

pembuatan tulisan ini, dan metode yang dipilih dalam membuat

penulisan ini.

BAB II

LANDASAN TEORI

Dalam bab ini dijelaskan mengenai berbagai macam teori dan literatur

yang dapat digunakan sebagai acuan guna pemecahan masalah dalam

proses analisa terhadap penggunaan energi dengan model integrasi

sistem dan perancangan tentang sistem Energy Saving yang

menggunakan sistem kendali untuk smart building dengan proses

integrasi sistem attendance sebagai penerapan IOT (Internet Of Things).

BAB III

ANALISIS SISTEM

Pada bab ini diidentifikasi dan dijelaskan sumberdaya yang dibutuhkan

dalam proses pengembangan dan pembangunan sistem Energy Saving,

baik kebutuhan perangkat lunak berupa sistem attendance dan back-end

IOT Electrical Control, maupun perangkat keras berupa

mikrokontroller, mesin absensi, dan perangkat jarigan. Penulis juga

menjelaskan tentang Use Case terhadap sistem yang akan dibangun dan

dikembangkan untuk implementasi program Energy Saving dengan

penerapan IOT (Internet Of Things).

BAB IV

PERANCANGAN SISTEM

Pada bab ini akan digambarkan dan dijelaskan perancangan sistem yang

terdiri dari Perancangan antarmuka terhadap sistem attendance dan

aplikasi back-end IOT Electrical Control, Class Diagram sebagai UML

untuk menggambarkan struktur relasi dan deskripsi class, serta

8

Perancangan Database berupa ERD dari masing-masing tabel untuk

sistem attendance dan IOT Electrical Control.

BAB V

IMPLEMENTASI SISTEM

Pada bab ini akan dijelaskan proses pengembangan dan pembuatan

sistem attendance menggunakan meggunakan mesin absensi biometric

Fingerprint dan sistem back-end IOT Electrical Control sebagai sistem

kendali kelistrikan.

BAB VI

PENGUJIAN SISTEM

Bab ini akan menjelaskan dan menguraikan proses pengujian aplikasi

yang telah selesai dibangun dengan menggunakan metode yang dipilih

yaitu metode black box, yaitu dengan membuat skenario pengujian

sebagai acuan dan untuk memastikan bahwa pengujian sistem

attendance dengan mesin absensi bisa berjalan dan terintegrasi dengan

sistem kendali mikorkontroller Moxa dengan penerapan fungsional

database.

BAB VII

KESIMPULAN DAN SARAN

Pada bab ini dituliskan kesimpulan yang dapat diambil dari keselurahan

proses pembuatan dan pengembangan dari sistem Energy Saving

dengan penerapan IoT Electrical Control melalui kombinasi sistem

attendance dan sistem back-end control IOT Electrical Control, serta

akan dituliskan saran mengenai pembuatan dan pengembangannya.

9

BAB II

Landasan Teori

2.1 Energy Saving

Energy Saving atau Penghematan energi adalah tindakan mengurangi

jumlah penggunaan energi. Menghemat energi berarti tidak menggunakan

energi listrik untuk suatu hal yang tidak berguna. Penghematan energi dapat

dicapai dengan penggunaan energi secara efisien di mana manfaat yang sama

diperoleh dengan menggunakan energi lebih sedikit, ataupun dengan

mengurangi konsumsi dan kegiatan yang menggunakan energi. Penghematan

energi dapat menyebabkan berkurangnya biaya, serta meningkatnya nilai

lingkungan, keamanan negara, keamanan pribadi, serta kenyamanan.

Organisasi-organisasi serta perseorangan dapat menghemat biaya dengan

melakukan penghematan energi, sedangkan pengguna komersial dan industri

dapat meningkatkan efisiensi dan keuntungan dengan melakukan penghematan

energi (Wikipedia, 2018).

Penghematan energi adalah unsur yang penting dari sebuah kebijakan

energi. Penghematan energi menurunkan konsumsi energi dan permintaan

energi per kapita, sehingga dapat menutup meningkatnya kebutuhan energi

akibat pertumbuhan populasi. Hal ini mengurangi naiknya biaya energi, dan

dapat mengurangi kebutuhan pembangkit energi atau impor energi.

Berkurangnya permintaan energi dapat memberikan fleksibilitas dalam memilih

metode produksi energi.

10

Selain itu, dengan mengurangi emisi, penghematan energi merupakan

bagian penting dari mencegah atau mengurangi perubahan iklim. Penghematan

energi juga memudahkan digantinya sumber-sumber tak dapat diperbaharui

dengan sumber-sumber yang dapat diperbaharui. Penghematan energi sering

merupakan cara paling ekonomis dalam menghadapi kekurangan energi, dan

merupakan cara yang lebih ramah lingkungan dibandingkan dengan

meningkatkan produksi energi.

2.2 Sistem Kendali

Sistem kendali merupakan interkoneksi antar komponen yang

membentuk suatu konfigurasi yang akan memberikan respon sesuai yang

diharapkan. Dasar analisa dalam hal ini adalah terdapatnya hubungan sebab

akibat untuk komponen sistem (Phillips, 1996). Terdapat dua jenis sistem

kendali yaitu sebagai berikut

a. Sistem Kendali Loop Terbuka (Sistem Tanpa Umpan Balik)

Sistem kendali loop terbuka adalah sistem kendali yang memiliki

karakteristik dimana nilai keluaran tidak memberikan pengaruh pada aksi

kontrol. Adapun contoh dari sistem loop terbuka ini adalah operasi mesin cuci.

Proses yang terjadi yaitu penggilingan pakaian, pemberian sabun dan

pengeringan yang bekerja sebagai operasi mesin cuci tidak akan berubah (hanya

sesuai yang diinginkan seperti ketetapan diawal) walaupun tingkat kebersihan

yang merupakan nilai keluaran memiliki hasil kurang baik. Sistem kendali loop

terbuka ini lebih sederhana, murah dan mudah dalam desainnya, namun akan

menjadi tidak stabil dan seringkali memiliki tingkat kesalahan yang tinggi.

Berikut adalah gambaran umum sistem kendali loop terbuka

11

Gambar 2.1 Sistem Kendali Loop Terbuka

b. Sistem Kendali Loop Tertutup (Sistem dengan Umpan Balik)

Sistem kendali loop tertutup adalah sistem kendali dengan umpan balik

dimana nilai dari keluaran mempengaruhi aksi dari kontrol. Contoh dari sistem

kendali loop tertutup ini adalah pendingin ruangan (AC). Nilai masukkan dari

pendingin ruangan ini adalah ketetapan suhu yang diatur oleh pengguna, adapun

nilai keluarannnya adalah suhu yang dihasilkan oleh pendingin ruangan yang

diharapkan akan sama dengan suhu yang diinginkan. Dengan memberikan

umpan balik berupa derajat suhu ruangan setelah diberikan aksi udara dingin,

maka akan didapatkan kesalahan (error) dari derajat suhu aktual yang

diinginkan. Adanya kesalahan ini membuat kontroler berusaha untuk

memperbaikinya sehingga kesalahan dapat terminimalisir.

Dibandingkan dengan sistem kendali loop terbuka, sistem kendali loop

tertutup ini lebih rumit, mahal serta rumit dalam desain. Akan tetapi sistem

kendali ini memilki tingkat kestabilan yang lebih konsan dan tingkat kesalahan

yang kecil.

Berikut ini gambaran umum sistem kedali loop tertutup

Gambar 2.2 Sistem kendali loop terbuka

12

2.3 Internet of Things

Internet of Things (IoT) pertama kali diperkenalkan oleh Asthon di

tahun 2009. IoT dapat dijelaskan sebagai 1 set things yang saling terkoneksi

melalui internet, adapun things yang dimaksud dalam hal ini berupa tags,

sensor, manusia, dan lainnya. IoT berfungsi mengumpulkan data dan informasi

dari lingkungan fisik, data-data ini kemudian diproses agar dapat dipahami

maknanya (Junaidi, 2015).

IoT digunakan dibanyak bidang, IoT memiliki peran penting dalam

bidang kesehatan salah satunya adalah dalam mengelola penyakit yang kronis

yang terdapat pada satu spektrum untuk mencegah penyebaran penyakit lain.

Selain itu IoT juga dapat membantu melakukan pengawasan terhadap pola

hidup pasien .Pada pasien diabetes terdapat alat yang dapat membantu dokter

mengawasi pasien dari jauh, dari makanan yang dimakan, olah raga yang

dilakukan dan juga jumlah kalori yang terdapat pada tubuh pasien (Lopez P,

2013).

Dalam bidang perikanan IoT telah digunakan dalam hal pengawasan

pemberian makanan pada ikan, dan alat yang digunakan dapat mengontrol dan

mendeteksi kapan ikan siap dipanen. Dalam bidang pertanian, IoT dapat

digunakan sebagai sensor untuk memonitor kondisi tanah, suhu dan kelembaban

yang penting bagi tanaman. Pada teknologi mobile, IoT juga turut memberikan

peranannya yaitu dengan adanya penelitian tentang privasi di bidang

pengamatan wilayah, mendeteksi lokasi berdasarkan Location Based Service

sehingga seseorang bisa merasa nyaman menggunakan perangkat mobile tanpa

harus privasinya terganggu. Dalam cloud computing IoT digabungkan dengan

operasi cloud computing yang dikenal dengan nama CloudThings. Selain itu,

13

IoT juga dapat digunakan dalam bidang lainnya seperti sistem bangunan,

industri, transportasi dan lainnya.

Teknologi dalam IoT dibagi kedalam beberapa arsistektur layer. Layer

pertama yaitu layer perception, layer ini berfungsi untuk membaca dan

mengumpulkan informasi dari lingkungan fisik. Kemudian data akan dikirim ke

layer jaringan, yang kemudian digunakan dalam layer aplikasi. Perception layer

bertanggung jawab untuk mengkonversi data menjadi sinyal yang dikirim

melalui jaringan agar dapat dibaca oleh layer aplikasi. Contoh yang dapat

diambil dalam hal ini adalah penggunaan barcode di toko swalayan. Didalam

barcode tersebut terdapat data seperti nama, harga, dan stok barang. Ketika

informasi telah didapatkan, maka layer network akan bertanggung jawab untuk

pengiriman data dari satu host ke host yang lain. Layer yang kedua adalah layer

aplikasi, dimana layer aplikasi ini memproses informasi yang telah didapatkan

yang kemudian digunakan sesuai dengan kebutuhan (Tan & Koo, 2014).

2.4 Attendance System

Attendance System atau Sistem Kehadiran merupakan salah satu elemen

utama dalam kegiatan HRD. Selain menjadi indikator kedisplinan, kehadiran

adalah tonggak penting untuk setiap rupiah yang terima karyawan. Bagian HRD

sendiri memiliki tugas dan tanggung jawab yang besar dan sebagai salah satu

cost center dalam perusahaan. Sebagai cost center, tentu HRD sangat berhati-

hati dalam mengolah data kehadiran karyawan, bahkan menggunakan sistem

informasi untuk memudahkan pengolahan data karyawan tersebut (Rietsema,

2019).

14

Sistem kehadiran (Attendance System) sangat berperan untuk

memudahkan HRD pengolahan data karyawan dalam kehadiran. Jika

dibandingkan dengan laporan kehadiran secara manual, sistem kehadiran yang

ada saat ini jauh tidak menguras tenaga dan waktu sehingga laporan dapat cepat

diperoleh, terlebih jika sistem kehadiran dapat terintegrasi dengan sistem

payroll.

2.5 Smart Building

Smart Building atau yang biasa juga disebut dengan Intelligent Building

System (IBS) adalah konsep bangunan pintar dimana konsep ini menggunakan

sistem otomatisasi yang dinamakan Building Automation System (BAS). Sistem

otomatisasi pada Smart Building mengacu pada penggunaan teknologi

informasi dan komputer untuk mengendalikan peralatan yang berada di dalam

bangunan tersebut.

Smart building adalah sebuah konsep yang memadupadankan desain

arsitektur, desain interior dan mekanikal elektrikal agar dapat memberi

kecepatan gerak/mobilitas serta kemudahan kontrol juga akses dari arah mana

pun dan waktu kapanpun dalam hal otomatisasi dimana semua aktifitas yang

terjadi pada sebuah bangunan atau gedung dapat terjadi tanpa adanya intervensi

manusia didalamnya, dalam artian biarpun tidak ada orang didalamnya maka

bangunan ini akan menjalankan perintah sesuai dengan program yang telah kita

buat dan kita tanamkan pada otak bangunan itu. Konsep smart building ini

memiliki 9 sektor energi yang dapat dijadikan target efisiensi dari sistem

manajemen Smart Building (Doherty, 2018).

15

Gambar 2.3 Sektor dalam Konsep Smart Building

16

2.6 Penelitian Terkait

2.6.1 Aplikasi Sistem Pengendali dan Manajemen Penjadwal Peralatan Listrik

dalam Ruangan (oleh Aulia, TRANSMISI, 12, (2), 2010, 58).

Gambar 2.4 Aplikasi Home Automation oleh Teksun Inc

Aplikasi yang dikembangkan oleh Aulia Latifah Insan Firdausi

merupakan sistem kendali dan manajemen penjadwalan peralatan listrik dalam

ruangan. Sistem yang dikembangkan ini menggunakan pemrograman Delphi

7.0 dan MySQL sebagai database. Selain itu, sistem aplikasi ini sudah

dilengkapi dengan ZigBee sebagai bentuk komunikasinya. Aplikasi ini hanya

dikendalikan hanya berdasarkan penjadwalan yang telah ditentukan

sebelumnya, sehingga proses kendalinya hanya menggunakan timer. Namun

untuk melakukan monitoringnya bisa dilakukan dari jarak jauh sesuai

jangkauan pada komunikasi wireless ZigBee (Firdausi, Sumardi, & Christyono,

2012).

17

2.6.2 Arduino Smart Home oleh Amphan

Gambar 2.5 Aplikasi Arduino Smart Home oleh Amphan

Arduino Smart Home ini digunakan untuk mengontrol perangkat

elektronik dengan menghubungkan perangkat tersebut ke wifi. Adapun

perangkat yang digunakan dalam membuat aplikasi ini adalah arduino mega

atau papan yang kompatibel, lalu ethernet (WIZNet 5100), relayboard, sensor

cahaya dan gerak. Salah satu fitur yang dimiliki oleh software ini adalah fitur

yang menampilkan data realtime dari kondisi perangkat, dapat mengatur nama

perangkat dan nama sensor, kemudian kontrol sensor dapat menghasilkan

output secara otomatis (Amphan, 2014).

18

2.6.3 Zigbee and RFID Based Student Attendance Monitoring System with Energy

Saving (oleh Bhingude Kisan dan Bhise S.K, IARJSET, Vol.4, Special Issue

2, January 2017).

Gambar 2.6 ZigBee dan Functional Block Diagram untuk Student Attendance

Monitoring System with Energy Saving

Sistem Attendance ini menggunakan model penggunaan sistem wireless

dengan penggunaan RFID Tag dan Zigbee sebagai komunikasi data. Sistem ini

hanya diimplementasi pada sekolah untuk para siswa. Model kerja pada sistem

ini, menggunakan implementasi deteksi range area wireless pada RFID Tag

yang di tangkap oleh receiver ZigBee. Selain itu, dengan implementasi ini juga

memberikan nilai tambah pada program Energy Saving, dengan model kontrol

berasal dari mapping kelas beserta ruangan yang dilengkapi oleh Zigbee sebagai

Receiver dan sistem komunikasi data (Kisan & S.K., 2017).

19

2.6.4 IOT Based Smart Classroom System (oleh E.K.F Chan, dkk, e-ISSN: 2289-

8131 , Vol. 9 No. 3-9, UTM Johor Bahru, Malaysia)

Gambar 2.7 Aplikasi Student Attendance dan Penggunaan WSN Human

Movement sebagai Energy Saving

Implementasi IOT yang diterapkan oleh E.K.F. Chan, M.A. Othman,

dan M.A. Abdul Razak difungsikan sebagai sistem IOT yang menggunakan

RFID sebagai Attendance System dan penggunaan WSN (Wireless sensor

Network). Sistem ini dipakai untuk melakukan pengontrolan HVAC sebagai

smart classroom yang mampu melakukan kontrol kelistrikan dengan Arduino

Mega. Sistem ini berbasiskan WEB untuk sistem attendance pada dosen dan

mahasiswa. Namun, impelementasi dari Smart Classroom ini belum terintegrasi

dengan sistem attendance sebagai kontrol kelistrikan. Kontrol Kelistrikan

masih terpisah menggunakan WSN sebagai sensor human movement. Sensor

inilah yang dipakai untuk menghidupkan dan mematikan lampu ruangan atau

AC pada ruang kelas. Implementasi ini tentunya masih banyak kekurangan,

karena penggunaan WSN dengan sensor human movement belum bisa dikatakan

efektif, karena harus ada pergerakan manusia agar kontrol lampu atau AC dapat

ON (Chan, Othman, & Razak, 2017).

20

2.7 Perbandingan dengan Sistem pada Penelitian Terkait

Tabel 2.1 Perbandingan terhadap sistem dari penelitian terkait

Feature

Aplikasi

Sistem

Pengendali

dan

Manajemen

Penjadwal

Peralatan

Listrik dalam

Ruangan

Arduino

Smart

Home

IOT Based

Smart

Classroom

System

Zigbee and

RFID Based

Student

Attendance

Monitoring

System with

Energy Saving

Program Energy

Saving

menggunakan

IoT Electrical

Control dengan

Attendance

System dan

Pemetaan

Ruangan

Gedung

Log

Attendance - - v v v

Electrical

Control

(Energy

Saving)

v v v v v

Development

Tools Delphi 7.0

Android

Studio Web Based VB 6

Web Based &

C# Visual

Studio

Work Methods Scheduling

Timer

Button

Control

Sensor

Human

Movement

(not

integrated

attendance)

RFID Scanner

Control based

on Attendance

Biometric

Machine and

Database

Mapping Area v - - - v

Event Log &

Notification - - v - v

UI & UX - v v - v

Implementation Small Room Home Class Room Class Room Building Room

Biometric

Attendance

(Security)

- - - - v

Attendance

Status

Validation

- - - - v

21

Shifting

Schedule

Classfication - - - v

Dashbaord

Report - - - - v

Energy

Monitor - - - - v

Network

Support - v v v v

Installation

Setup Hard Easy Hard Hard Easy

Controller Arduino Arduino Arduino Arduino Moxa E1212

Enterprise

Durability - - - - v

22

BAB III

ANALISIS KEBUTUHAN

Analisa kebutuhan pada bab ini ditujukkan untuk analisa kebutuhan yang akan

didefinisikan pada proses pembuatan Sistem Attendance dan IOT (Internet Of Things)

Electrical Control. Adapun analisis yang dideskripsikan adalah analisis sistem, analisis

kebutuhan sistem, use case diagram, skenario use case dan activity diagram.

3.1 Analisis Sistem

Sistem Attendance dan IOT (Internet Of Things) Electrical Control ini

merupakan program dari Energy Saving yang diperuntukan untuk sebuah

perusahaan dengan memanfaatkan sistem monitoring attendance untuk

melakukan trigger untuk kendali sistem kelistrikan pada ruangan / area kerja.

Sehingga dengan sistem ini perusahaan dapat memantau kehadiran karyawan

secara realtime dan dapat memanfaatkan sistem automasi penggunaan

kelistrikan pada bangunan dengan pembentukan area mapping karyawan

berdasarkan ruangan. Sistem Monitor Attendance ini dibuat menggunakan

Webbase dengan database SQL Server dan dibantu driver attendance

management untuk koneksi terhadap mesin biometric attendance. Selain itu,

ada sistem IOT Electrical Control yang dibuat dengan pemrograman C# dan

database SQL Server. Sistem IOT Electrical Control ini menggunakan

microcontroller Moxa E1212 untuk kendali Digital Input dan Digital Output

pada rangkaian listrik yang dibentuk sesuai mapping area kerja bangunan.

Aktor dalam sistem ini terdiri dari empat aktor yaitu Human Resource

(HR) Department, Admin Department, Employee dan Controller. Pada HR

Department memiliki fungsional dalam membuat data karyawan yang nantinya

23

akan dihubungkan dengan data biometric kehadiran karyawan, sedangkan

Admin Department memiliki fungsi untuk mengatur area kerja pada suatu

karyawan yang telah ditentukan oleh Human Resource Department sesuai

dengan departemen masing-masing. Sistem attendance ini menggunakan mesin

Attendance Biometric menggunakan scan Fingerprint dan Kartu RFID

Karyawan. Sehingga, karyawan melakukan check-IN ketika masuk dan check-

OUT ketika pulang dengan cara melakukan scanning Fingerprint dan Tap Kartu

ID Karyawan pada mesin absensi yang telah ditentukan. Pencatatan kehadiran

yang dilakukan oleh karyawan akan secara otomatis masuk ke database dan

dapat di monitor secara realtime waktu kehadirannya.

Data kehadiran yang dapat dilakukan monitoring secara realtime,

menjadikan Controller dapat melakukan proses kendali untuk melakukan

switch off pada panel kelistrikan dan memberikan data log informasi terhadap

penggunaan listrik tiap masing-masing area kerja sebuah perusahaan.

3.2 Analisis Kebutuhan Sistem

Analisis kebutuhan sistem mendeskrispiskan kebutuhan sistem dalam

melakukan pemenuhan terhadap kebutuhan pengguna secara fungsional. Hal

pertama yang dilakukan adalah dengan menganalisa aktor yang terautorisasi

dalam menggunakan aplikasi serta hak akes yang dimilikinya

Tabel 3.1 Aktor pada sistem

No Aktor Deskripsi

1 HR Dept

(Human Resources)

HR Dept dapat melakukan Create/Update

Data Karyawan dan melakukan Setup pada

24

mesin absensi, serta memonitor kehadiran

karyawan.

2 Admin Dept Admin Dept akan menerima notifikasi dari

HR Dept terhadap Create/Update data

karyawan, serta melakukan setup mapping

area kerja karyawan baru. Selain itu, bisa

memonitor kehadiran karyawan.

3 Employee (Karyawan) User dapat melakukan pencatatan data

kehadiran pada mesin absen dengan scan

biometric fingerprint dan tapping kartu ID

Karyawan, ketika masuk (Check-IN) dan

pulang (Check-Out).

2 Controller Melakukan kendali terhadap switch

kelistrikan dengan trigger data kehadiran

karyawan berdasarkan mapping area kerja.

3.2.1 Analisis Kebutuhan Fungsionalitas

Kebutuhan fungsionalitas dari sistem ini dapat dijelaskan sebagai berikut:

1. Dapat menambahkan, mengubah, dan menapilkan data karyawan

2. Dapat menampilkan data kehadiran karyawan secara realtime

3. Dapat menampilkan dashboard tentang kehadiran karyawan

4. Dapat melakukan setup mapping area kerja terhadap karyawan

5. Dapat menampilkan informasi tentang penggunaan listrik/lampu sesuai

dengan area kerja yang telah ditentukan.

6. Menampilkan tabel list log pemberitahuan terhadap sistem kendali

25

kelistrikan.

3.2.2 Analisis Kebutuhan Perangkat

Kebutuhan Perangkat Keras

Kebutuhan perangkat keras yang dibutuhakan dalam pembuatan skripsi dan

sistem aplikasi ini adalah sebagai berikut,

Tabel 3.2 Kebutuhan Perangkat Keras

No Perangkat Keras Kebutuhan

1. PC Server • Intel® Xeon ® CPU E3-1225 v6

• Memory : 16GB

• OS : Windows Server 2008 R2

• Support : Hyper-V

2. Network • NIC (Network Interface Card)

• Switch or Wi-Fi

• Router (Optional)

3. Electrical • Microcontroller : Moxa E1212

• Relay MY4N-GS 220V

• Power Supply 24V

4. Biometric

(Attendance

Machine)

• Hardware : Solution X105-ID

• Software : Attendance Management

(Driver)

Kebutuhan Perangkat Lunak

Kebutuhan perangkat lunak yang diperlukan dalam pembuatan skripsi dan

pembuatan sistem aplikasi ini adalah sebagai berikut.

26

Tabel 3.3 Kebutuhan perangkat lunak

No Perangkat Lunak Kegunaan

1. Windows Server 2008 Operating System

Server

2. IIS / Apache 2 Web/HTTP Server

3. PHP 5.6 PHP Programming

4. Hyper-V Cloud Computing

5. SQL Server 2012 Database

6. Visual Studio 2013 Visual Programming

C#

7. Moxa DLL DLL Class Reference

Moxa

8. Solution Attendance

Management (Driver)

Driver management

attendance machine

Solution

9. Ms. Visio Perancangan,

pembuatan diagram,

UML

10. Ms. Office Word Dokumentasi

3.2.3 Use Case Diagram

Berikut adalah use case diagram dalam sistem Program Energy Saving

menggunakan IoT Electrical Control dengan Attendance System dan Pemetaan

Ruangan Gedung pada Gambar 3.1.

27

Create / Update Employee

Create New Employee

<<include>>

Update Employee<<include>>

Setup Attendance

Upload to Machine

<<include>>

Scan FP & RFID Card

Receive Notification

Monitor Attendance

Check OUT

Employee

Register Attendance

HR Dept

Send Notification

<<include>>

<<extend>>

Admin Dept

Print Attendance

<<extend>>Setup Employee Mapping Room

Energy Saving using IoT Electrical Control integrated with Attendance System and Mapping Building Room Area

Contoller

Check Attendance per Room

<<extend>>

<<include>>

Check IN

<<extend>> Set OFF Switch

Create Log

Gambar 3.1 Use Case Diagram

Use Case diagram diatas menjelaskan penggunaan sistem terhadap aktor yang

terlibat yang terdiri dari HR Department, Admin Department, Employee, dan

Controller.

a. Definisi Use Case

Tabel 3.4 Daftar Use Case

No Use Case Deskripsi

1. Create/Update Employee Proses menambah atau mengubah data

karyawan.

28

2. Create New Employee Proses manambah data karyawan baru

oleh HR Dept.

3. Update Employee Proses mengubah data karyawan oleh HR

Dept.

4. Send Notification Proses mengirim pemberitahuan kepada

Admin Dept, jika terdapat penambahan

atau pengubahan karyawan baru.

5 Setup Attendance Proses menambahkan atau mengubah

data karyawan baru pada mesin absensi

oleh HR Dept.

6 Scan FP & RFID Card Proses untuk merekam data fingerprint

(sidik jari) dan RFID Card karyawan.

7 Upload to Machine Mengupload dan mendistribusikan data

karyawan ke masing-masing mesin

absensi.

8 Receive Notification Menerima pesan notifikasi ketika

terdapat penambahan atau pengubahan

data karyawan dari HR Dept.

9 Setup Employee Mapping

Room

Melakukan setup pemetaan area kerja

karyawan dari tiap departemen.

10 Monitor Attendance Monitor data kehadiran karyawan dari

hasil record database dari tiap masing-

masing mesin absensi. Proses ini bisa

dilakukan oleh HR Dept dan Admin Dept.

11 Print Attendance Proses untuk menampilkan dan

29

mencetak data kehadiran karyawan.

12 Check Attendance per

Room

Proses pada Controller untuk membaca

dan membandingkan data Check-IN dan

Check-OUT dari data kehadiran

karyawan yang terdaftar dari hasil

mapping area kerja.

13 Set OFF Switch Proses untuk melakukan switch OFF

yang dilakukan oleh Controller.

14 Create Log Proses pencatatan informasi tiap event

yang terjadi dari proses ON/OFF pada

masing-masing panel tiap ruangan area

kerja.

15 Register Attendance Proses pendaftaran karyawan ke dalam

mesin absensi dengan cara rekam

fingerprint (sidik jari) dan RFID.

16 Check-IN Proses absensi yang dilakukan oleh

karyawan ketika masuk dengan cara

rekam fingerprint (sidik jari) dan RFID.

17 Check-OUT Proses absensi yang dilakukan oleh

karyawan ketika pulang dengan cara

rekam fingerprint (sidik jari) dan RFID.

30

b. Skenario

Berikut adalah skenario use case dari sistem yang dibuat untuk menjelaskan

secara lebih detail terhadap proses yang dilakukan.

• Skenario Use Case Create/Update Employee

Tabel 3.5 Tabel skenario Create/Update Employee

Use Case Name Create/Update Employee

Priority High

Primary Business

Actor

HR Dept

Primary System

Actor

HR Dept

Other

Participation Actor

-

Description Proses menambah atau mengubah data

karyawan.

Precondition Aktor melakukan login dan masuk ke Menu

Employee

Trigger Di dalam menu Employee, aktor memilih

Create New Employee untuk menambahkan

atau Edit dari Data Employee yang

ditampilkan.

Typical cource of

the events

Actor System

1. Aktor Memilih

Menu Employee

2. Menampilkan

Tap Pane Menu

Create Employee

dan Data

Employee.

Post Condition Tampilan Form dan Tabel Data Employee

31

• Skenario Use Case Create New Employee

Tabel 3.6 Tabel skenario Create New Employee

Use Case Name Create New Employee

Priority High

Primary Business

Actor

HR Dept

Primary System

Actor

HR Dept

Other

Participation Actor

-

Description Proses menambahkan data karyawan baru.

Precondition Aktor melakukan login, masuk ke Menu

Employee, dan pilih Create New Employee

Trigger Sistem akan menampilkan form Create New

Employee

Typical cource of

the events

Actor System

1. Aktor Memilih Menu

Employee, dan pilih

Create New Employee

2. Menampilkan

form Create New

Employee

Post Condition Tampil Form Create New Employee dan

Tersimpan ketika disubmit

32

• Skenario Use Case Update Employee

Tabel 3.7 Tabel skenario Update Employee

Use Case Name Update Employee

Priority High

Primary Business

Actor

HR Dept

Primary System

Actor

HR Dept

Other Participation

Actor

-

Description Proses mengubah data karyawan yang

sudah ada.

Precondition Aktor melakukan login, masuk ke Menu

Employee, dan pilih Edit dari Tabel

Karyawan.

Trigger Sistem akan menampilkan form Edit

Employee yang dipilih.

Typical cource of the

events

Actor System

1. Aktor melakukan

login, masuk ke Menu

Employee, dan pilih Edit

dari Tabel Karyawan.

2. Menampilkan

form Edit

Employee

Post Condition Tampil Form Create New Employee dan

Tersimpan ketika di submit

33

• Skenario Use Case Send Notification

Tabel 3.8 Tabel skenario Send Notification

Use Case Name Send Notification

Priority High

Primary Business

Actor

HR Dept

Primary System

Actor

HR Dept

Other Participation

Actor

-

Description Proses mengirim pemberitahuan kepada Admin

Dept

Precondition Terjadi penambahan/pengubahan data karyawan

Trigger Sistem mengirimkan pemberitahuan

Typical cource of the

events

Actor System

1. Aktor melakukan

penambahan atau

pengubahan data karyawan.

2. Mengirim

pemberitahuan

Post Condition Pemberitahuan terkirim

34

• Skenario Use Case Setup Attendance

Tabel 3.9 Tabel skenario Setup Attendance

Use Case Name Setup Attendance

Priority High

Primary Business

Actor

HR Dept

Primary System

Actor

HR Dept

Other Participation

Actor

-

Description Proses menambahkan atau mengubah data

karyawan baru pada mesin absensi.

Precondition Pilih mesin absensi, dan upload data ke

mesin

Trigger Mesin absen terhubung dan data ter-update

Typical cource of the

events

Actor System

1. Aktor Memilih mesin

absensi, dan upload data

karyawan ke mesin

2. Menampilkan

jika data ter-

update

Post Condition Data karyawan ter-update pada mesin

absensi

• Skenario Use Case Scan FP & RFID Card

Tabel 3.10 Tabel skenario Scan FP & RFID Card

Use Case Name Scan FP & RFID Card

Priority High

35

Primary Business

Actor

HR Dept

Primary System

Actor

HR Dept

Other Participation

Actor

Employee

Description Proses rekam fingerprint (sidik jari) dan

RFID Card

Precondition Pilih data karyawan yang akan dilakukan

proses rekam fingerprint (sidik jari) dan

RFID Card

Trigger Karyawan melakukan rekam fingerprint

(sidik jari) dan RFID Card terdaftar

Typical cource of the

events

Actor System

1. Aktor HR Dept

memilih data karyawan

yang akan dilakukan

proses rekam fingerprint

(sidik jari) dan RFID

Card

3. Aktor Employee

melakukan proses

fingerprint (sidik jari)

dan RFID Card

2. Menampilkan

form rekam pada

mesin absensi

Post Condition Data rekam fingerprint (sidik jari) dan RFID

Card tersimpan

36

• Skenario Use Case Upload to Machine

Tabel 3.11 Tabel skenario Upload to Machine

Use Case Name Upload to Machine

Priority High

Primary Business

Actor

HR Dept

Primary System

Actor

HR Dept

Other Participation

Actor

-

Description Proses upload dan distribusi data karyawan

yang telah direkam ke masing-masing mesin

absensi.

Precondition Pilih data karyawan yang akan di upload ke

masing-masing mesin absensi.

Trigger Menampilkan pemberitahuan, jika upload

data telah sukses.

Typical cource of the

events

Actor System

1. Aktor memilih

data karyawan yang di

upload ke masing-

masing mesin absensi

2. Menampilkan

pemberitahuan,

jika upload data

telah sukses.

Post Condition Data karyawan telah terdaftar pada masing-

masing mesin absensi.

37

• Skenario Use Case Receive Notification

Tabel 3.12 Tabel skenario Receive Notification

Use Case Name Receive Notification

Priority High

Primary Business Actor Admin Dept

Primary System Actor Admin Dept

Other Participation

Actor

-

Description Menerima pesan notifikasi ketika

terdapat penambahan atau pengubahan

data karyawan dari HR Dept.

Precondition

Trigger HR melakukan penambahan atau

pengubahan data karyawan

Typical cource of the

events

Actor System

2. Aktor

menerima

notifikasi dari

sistem

1. Mengirimkan

notifikasi

Post Condition Admin Dept menerima pesan notifikasi

38

• Skenario Use Case Setup Employee Mapping Room

Tabel 3.13 Tabel skenario Setup Employee Mapping Room

Use Case Name Setup Employee Mapping

Room

Priority High

Primary Business

Actor

Admin Dept

Primary System

Actor

Admin Dept

Other Participation

Actor

-

Description Melakukan setup pemetaan area kerja

karyawan dari tiap departemen.

Precondition

Trigger

Typical cource of

the events

Actor System

1. Aktor

melakukan setting data

karyawan dengan

pemetaan area kerja

2. Melakukan

penyimpanan ke

database

Post Condition Data tersimpan ke database

39

• Skenario Use Case Monitor Attendance

Tabel 3.14 Tabel skenario Monitor Attendance

Use Case Name Monitor Attendance

Priority High

Primary Business

Actor

HR Dept, Admin Dept, Controller

Primary System

Actor

HR Dept, Admin Dept, Controller

Other

Participation Actor

-

Description Monitor data kehadiran karyawan dari hasil

record database dari tiap masing-masing

mesin absensi.

Precondition

Trigger Check-IN dan Check-Out karyawan

Typical cource of

the events

Actor System

1. Aktor memilih

data attendance

2. Menampilkan

data attendance

Post Condition Menampilkan data attendance dan proses

pengecekan oleh Controller

40

• Skenario Use Case Print Attendance

Tabel 3.15 Tabel skenario Print Attendance

Use Case Name Print Attendance

Priority High

Primary Business

Actor

HR Dept, Admin Dept

Primary System

Actor

HR Dept, Admin Dept

Other Participation

Actor

-

Description Proses untuk menampilkan dan mencetak

data kehadiran karyawan.

Precondition

Trigger Ketika memilih print data

Typical cource of

the events

Actor System

1. Aktor memilih print

data attendance

2. Melakukan

proses print data

attendance

Post Condition Print data attendance

41

• Skenario Use Case Check Attendance per Room

Tabel 3.16 Tabel skenario Check Attendance per Room

Use Case Name Check Attendance per Room

Priority High

Primary Business

Actor

Controller

Primary System

Actor

Controller

Other Participation

Actor

-

Description Proses untuk membaca dan

membandingkan data Check-IN dan Check-

OUT dari data kehadiran karyawan yang

terdaftar dari hasil mapping area kerja.

Precondition

Trigger Cek data Attendance tiap ruangan

Typical cource of the

events

Actor System

1. Cek data

Attendance

Post Condition Switch-OFF panel, jika data Check-IN dan

Check-OUT sama

42

• Skenario Use Case Set OFF Switch

Tabel 3.17 Tabel skenario Set OFF Switch

Use Case Name Set OFF Switch

Priority High

Primary Business Actor Controller

Primary System Actor Controller

Other Participation

Actor

-

Description Aktor melakukan switch OFF pada

panel kelistrikan

Precondition Hasil cek data Attendance per Room

Trigger Jika data Check-IN dan Check-OUT

sama

Typical cource of the

events

Actor System

1. Mengaktifkan

perintah untuk

Switch-OFF

Post Condition Switch-OFF panel

43

• Skenario Use Case Create Log

Tabel 3.18 Tabel skenario Create Log

Use Case Name Create Log

Priority High

Primary Business

Actor

Controller

Primary System

Actor

Controller

Other Participation

Actor

-

Description Proses pencatatan informasi tiap event yang

terjadi dari proses ON/OFF pada masing-

masing panel tiap ruangan area kerja.

Precondition Event Log Conditition

Trigger Perubahan Event Log Condition

Typical cource of

the events

Actor System

1. Menyimpan

data evet log

Post Condition Event Log tersimpan di database

44

• Skenario Use Case Register Attendance

Tabel 3.19 Tabel skenario Register Attendance

Use Case Name Register Attendance

Priority High

Primary Business

Actor

Employee

Primary System

Actor

Employee

Other Participation

Actor

-

Description Proses pendaftaran karyawan ke dalam

mesin absensi dengan cara rekam

fingerprint (sidik jari) dan RFID.

Precondition Rekam fingerprint (sidik jari) dan RFID

Trigger

Typical cource of the

events

Actor System

1. Melakukan rekam

fingerprint (sidik jari)

dan RFID

2. Menyimpan

data fingerprint

(sidik jari) dan

RFID

Post Condition Data fingerprint (sidik jari) dan RFID

tersimpan di database

45

• Skenario Use Case Check-IN

Tabel 3.20 Tabel skenario Check-IN

Use Case Name Check-IN

Priority High

Primary Business

Actor

Employee

Primary System

Actor

Employee

Other Participation

Actor

-

Description Proses absensi yang dilakukan oleh

karyawan ketika masuk dengan cara rekam

fingerprint (sidik jari) dan RFID.

Precondition Pilih tombol IN, kemudian rekam fingerprint

(sidik jari) dan RFID

Trigger

Typical cource of the

events

Actor System

1. Pilih tombol IN,

kemudian rekam

fingerprint (sidik jari)

dan RFID

2. Menyimpan

data attendance

(Check-IN)

Post Condition Data attendance recorded

46

• Skenario Use Case Check-OUT

Tabel 3.21 Tabel skenario Check-OUT

Use Case Name Check-OUT

Priority High

Primary Business

Actor

Employee

Primary System

Actor

Employee

Other Participation

Actor

-

Description Proses absensi yang dilakukan oleh

karyawan ketika pulang dengan cara rekam

fingerprint (sidik jari) dan RFID.

Precondition Pilih tombol OUT, kemudian rekam

fingerprint (sidik jari) dan RFID

Trigger

Typical cource of the

events

Actor System

1. Pilih tombol OUT,

kemudian rekam

fingerprint (sidik jari)

dan RFID

2. Menyimpan

data attendance

(Check-OUT)

Post Condition Data attendance recorded

47

3.2.4 Activity Diagram

Actitvity diagram digunakan untuk menggambarkan aliran kerja tiap use

case pada Program Energy Saving menggunakan IoT Electrical Control dengan

Attendance System dan Pemetaan Ruangan Gedung. Berikut adalah activity

diagram untuk tiap masing-masing use case.

3.2.4.1 Activity Diagram Create/Update Employee

Activity Diagram ini menggambarkan aktivitas yang dilakukan saat

aktor akan melakukan create atau update employee. Activity Diagram tersebut

dapat dilihat pada Gambar 3.2.

Activity Diagram : Create/Update Employee

HR Dept System

Cre

ate/

Upd

ate

Empl

oyee

Menagakses Attendance System

Menampilkan Halaman Login

Memilih Menu Employee

Melakukan LoginMenampilkan

Halaman Utama

Create / Update ?

Menampilkan Data Employee

Menampilkan Form Create Employee

Create

Update

Menampilkan Form Edit Employee

Pilih Nama Employee

Pilih Edit

Gambar 3.2 Activity Diagram Create/Update Employee

48

3.2.4.2 Activity Diagram Create Employee

Activity diagram ini menggambarkan cara aktor HR Dept melakukan Create

Employee. Activity diagram tersebut dapat dilihat pada Gambar 3.3.

Activity Diagram : Create Employee

HR Dept System

Cre

ate

Emp

loye

eMenampilkan Form

Create Employee

Mengisi Form Create Employee

Pilih Submit

Apakah Sudah Selesei ?

Simpan Database

Iya

Belum

Gambar 3.3 Activity Diagram Create Employee

49

3.2.4.3 Activity Diagram Update Employee

Activity Diagram ini menggambarkan cara aktor HR Dept melakukan Update

Employee. Activity Diagram tersebut dapat dilihat pada Gambar 3.4.

Activity Diagram : Update Employee

HR Dept System

Upd

ate

Emp

loye

e

Menampilkan Form Edit Employee

Mengisi Form Edit Employee

Pilih Submit

Apakah Sudah Selesei ?

Simpan Database

Iya

Belum

Menampilkan Data Employee

Pilih Nama Employee

Pilih Edit

Gambar 3.4 Activity Diagram Update Employee

50

3.2.4.4 Activity Diagram Send Notification

Activity Diagram ini menggambarkan cara sistem dalam mengirimkan

pesan pemberitahuan (notification) kepada HR Dept dan Admin Dept. Activity

Diagram tersebut dapat dilihat pada Gambar 3.5.

Activity Diagram : Send Notification

HR Dept System Admin Dept

Sen

d N

oti

fica

tio

n

Send Notification

Terjadi Perubahan Database

Receive Notification Receive Notification

Gambar 3.5 Activity Diagram Send Notification

51

3.2.4.5 Activity Diagram Setup Attendance

Activity diagram ini menggambarkan aktivitas HR Dept dalam

melakukan setup attendance pada Driver Machine (Attendance Management

System Desktop). Aktivitas setup ini difungsikan untuk melakukan registrasi

employee ke dalam biometric attendance machine. Activity diagram tersebut

dapat dilihat pada Gambar 3.6.

Activity Diagram : Setup Attendance

HR Dept Driver Machine

Setu

p A

tten

dan

ce

Menagakses Driver Machine

Menampilkan Menu Aplikasi

Memilih Menu Upload User Info

Menampilkan List Employee dan

Machine

Menampilkan Nama Employee dan Machine yang

dipilih

Memilih Nama Employee dan

Machine

Pilih Upload

Gambar 3.6 Activity Diagram Setup Attendance

52

3.2.4.6 Activity Diagram Scan FP & RFID Card

Activity Diagram ini menggambarkan aktivitas aktor HR Dept dalam

melakukan registrasi employee ke dalam biometric attendance machine. Proses

Scan Finger Print (Sidik Jari) dan RFID Card ini dilakukan pada biometric

attendance machine yang telah disetup sebelumnya oleh HR Dept. Activity

Diagram tersebut dapat dilihat pada Gambar 3.7.

Activity Diagram : Scan FP & RFID Card

HR Dept Machine Employee

Scan

FP

& R

FID

Car

d

Tekan Tombol Menu

Menampilkan Menu

Memilih Menu User dan pilih User Mgt

Menampilkan List Employee

Menampilkan Details Employee

Memilih Nama Employee

Pilih Enroll Card

Pilih Enroll FP Scan Finger Print

Tap RFID Card

Menampilkan Form Scan FP

Menampilkan Form Scan RFID Card

Gambar 3.7 Activity Diagram Scan FP & RFID Card

53

3.2.4.7 Activity Diagram Upload to Machine

Activity Diagram ini menggambarkan aktivitas aktor HR Dept dalam

melakukan upload data ke biometric attendance machine terhadap hasil proses

registrasi employee yang telah dilakukan. Activity diagram tersebut dapat

dilihat pada Gambar 3.8.

Activity Diagram : Upload to Machine

HR Dept Driver Machine

Up

loa

d t

o M

ach

ine

Menagakses Driver Machine

Menampilkan Menu Aplikasi

Memilih Menu Upload User Info

Menampilkan List Employee dan

Machine

Menampilkan Nama Employee dan Machine yang

dipilih

Memilih Nama Employee dan

Machine

Pilih Upload

Gambar 3.8 Activity Diagram Upload to Machine

54

3.2.4.8 Activity Diagram Receive Notification

Activity Diagram ini menggambarkan aktivitas terhadap HR Dept dan

Admin Dept dalam menerima pesan pemberitahuan (Receive Notification) dari

sistem terhadap hasil perubahan data employee. Activity Diagram tersebut

dapat dilihat pada Gambar 3.9.

Activity Diagram : Receive Notification

HR Dept System Admin Dept

Re

ceiv

e N

oti

fica

tio

n

Send Notification

Terjadi Perubahan Database

Receive Notification Receive Notification

Gambar 3.9 Activity Diagram Receive Notification

55

3.2.4.9 Activity Diagram Setup Employee Mapping Room

Activity Diagram ini menggambarkan aktivitas aktor Admin Dept dalam

melakukan registrasi employee terhadap mapping area kerja dari masing-masing

departemen. Activity Diagram tersebut dapat dilihat pada Gambar 3.10.

Activity Diagram : Setup Employee Mapping Room

Admin Dept SystemSe

tup

Em

plo

yee

Map

pin

g R

oom

Menagakses SystemMenampilkan

Halaman & Menu Aplikasi

Memilih Menu Energy Control :

Sign Employee Area

Menampilkan Form Register Employee

Area

Memilih Nama Employee dan Area

Pilih Register

Gambar 3.10 Activity Diagram Setup Employee Mapping Room

56

3.2.4.10 Activity Diagram Monitor Attendance

Activity Diagram ini menggambarkan aktivitas oleh aktor HR Dept,

Admin Dept, dan Controller dalam melakukan monitoring attendance dari

data employee yang tercatat dalam biometric attendance machine tiap harinya.

Activity Diagram tersebut dapat dilihat pada Gambar 3.11.

Activity Diagram : Monitor Attendance

HR Dept SystemControllerAdmin Dept

Mo

nit

or

Att

end

ance

Menagakses System

Menampilkan Halaman & Menu

Aplikasi

Memilih Menu Attendance : List

Attendance

Menampilkan List Attendance

Menagakses System Menagakses System

Gambar 3.11 Activity Diagram Monitor Attendance

57

3.2.4.11 Activity Diagram Print Attendance

Activity Diagram ini menggambarkan proses print dari aktivitas aktor

HR Dept, Admin Dept, dan Controller dalam melakukan monitoring

attendance di biometric attendance machine tiap harinya. Activity Diagram

tersebut dapat dilihat pada Gambar 3.12.

Activity Diagram : Print Attendance

HR Dept SystemControllerAdmin Dept

Pri

nt

Att

end

ance

Menagakses System

Menampilkan Halaman & Menu

Aplikasi

Memilih Menu Attendance : List

Attendance

Menampilkan List Attendance

Menagakses System Menagakses System

Pilih PrintMelakukan proses

Print

Gambar 3.12 Activity Diagram Print Attendance

3.2.4.12 Activity Diagram Check Attendance per Room

Activity Diagram ini menggambarkan proses pengecekan pada

Controller dalam melakukan penghitungan Jumlah Check-IN dan Check-OUT

58

tiap ruangan kerja sesuai hasil setup employee mapping. Activity Diagram

tersebut dapat dilihat pada Gambar 3.13.

Activity Diagram : Check Attendance per Room

Controller System

Che

ck A

tten

danc

e p

er R

oom

Melakukan pengechekan

Database

Membandingkan Jumlah IN dan OUT

tiap ruangan

Gambar 3.13 Activity Diagram Check Attendance per Room

59

3.2.4.13 Activity Diagram Set OFF Switch

Activity Diagram ini menggambarkan aktivitas pada Controller dalam

menentukan proses switch OFF terhadap panel kelistrikan dengan cara

membandingkan Jumlah Check-IN dan Check-OUT pada tiap ruangan kerja

sesuai hasil setup employee mapping. Activity Diagram tersebut dapat dilihat

pada Gambar 3.14.

Activity Diagram : Set Switch OFF

Controller System

Set

Swit

ch O

FF

Melakukan pengechekan

Database

Membandingkan Jumlah IN dan OUT

tiap ruangan

Apakah IN & OUT sama ?

Tidak

Set Switch OFF Ya

Gambar 3.14 Activity Diagram Set OFF Switch

60

3.2.4.14 Activity Diagram Create Log

Activity Diagram ini menggambarkan aktivitas pada Controller dalam

membuat event log yang tersimpan dalam database dengan proses dari hasil

trigger pembacaan Digital Input pada Controller Hardware. Activity Diagram

tersebut dapat dilihat pada Gambar 3.15.

Activity Diagram : Create Log

Controller System

Cre

ate

Lo

g

Membaca Digital Input

Tidak

Ada Event padaDigital Input ?

Ya

Create Event Log

Gambar 3.15 Activity Diagram Create Log

61

3.2.4.15 Activity Diagram Register Employee

Activity Diagram ini menggambarkan aktivitas pada aktor Employee

dalam melakukan request untuk melakukan registrasi ke dalam biometric

attendance system. Proses request ini dilakukan kepada HR Dept, untuk bisa

melakukan setup attendance kedalam biometric attendance system. Proses ini

meliputi scan finger print dan tap RFID Card. Secara detail, Activity Diagram

tersebut dapat dilihat pada Gambar 3.16.

Activity Diagram : Register Attendance

HR Dept Machine Employee

Re

gist

er

Att

en

dan

ce

Tekan Tombol Menu

Menampilkan Menu

Memilih Menu User dan pilih User Mgt

Menampilkan List Employee

Menampilkan Details Employee

Memilih Nama Employee

Pilih Enroll Card

Pilih Enroll FP Scan Finger Print

Tap RFID Card

Menampilkan Form Scan FP

Menampilkan Form Scan RFID Card

Menerima Request Melakukan Request

Gambar 3.16 Activity Diagram Register Attendance

62

3.2.4.16 Activity Diagram Check-IN

Activity Diagram ini menggambarkan aktivitas pada aktor Employee

dalam melakukan proses pencatatan kedatangan ke dalam biometric

attendance system. Proses ini meliputi validasi scan finger print dan tap RFID

Card. Activity Diagram tersebut dapat dilihat pada Gambar 3.17.

Activity Diagram : Check IN

Employee Machine

Che

ck IN

Tekan Tombol IN

Scan Fingerprint & Tap RFID Card

Menampilkan Perintah Scan FP &

RFID

Apakah Data Sesuai ?

Ya

Tidak

Record ke Database

Gambar 3.17 Activity Diagram Check-IN

63

3.2.4.17 Activity Diagram Check-OUT

Activity Diagram ini menggambarkan aktivitas pada aktor Employee

dalam melakukan proses pencatatan kepulangan ke dalam biometric

attendance system. Proses ini meliputi validasi scan finger print dan tap RFID

Card. Activity Diagram tersebut dapat dilihat pada Gambar 3.18.

Activity Diagram : Check OUT

Employee Machine

Che

ck O

UT

Tekan Tombol OUT

Scan Fingerprint & Tap RFID Card

Menampilkan Perintah Scan FP &

RFID

Apakah Data Sesuai ?

Ya

Tidak

Record ke Database

Gambar 3.18 Activity Diagram Check-OUT

64

BAB IV

DESAIN SISTEM

4.1 Class Diagram

Class diagram digunakan untuk memperlihatkan hubungan antar kelas

dan penjelasan detail tiap-tiap kelas didalam model desain dari suatu sistem.

Class diagram pada Program Energy Saving menggunakan IoT Electrical

Control dengan Attendance System dan Pemetaan Ruangan Gedung dapat

dilihat pada Gambar 4.1.

Dashboard Menu Profile

DashboardAttendance Menu

Add Attendance

List Attendance

Side Menu

Setting Menu

Machine Setting

Shift Schedule

Login Access

Check-IN Canteen Menu

Add Canteen Check-IN

List Canteen Check-IN

Energy Control MenuSign Employee Area

Energy Status

Employee Menu

Add Employee

List Employee

Department Menu

Add Department

List Department

Gambar 4.1 Class Diagram Program Energy Saving menggunakan IoT

Electrical Control dengan Attendance System dan Pemetaan Ruangan Gedung

Namun, untuk lebih detail tentang class diagram beserta atribut dan

operasinya pada Program Energy Saving menggunakan IoT Electrical Control

dengan Attendance System dan Pemetaan Ruangan Gedung dapat dilihat pada

Gambar 4.2.

65

Login

- SSN : varchar(20)

+ cek_User()+ cek_Password()

- Password : varchar(50)

+ process_login()

Dashboard Menu

- Profile

+ view()+ select()

- Dashboard

Profile

+ view()

Dashboard

- Dashboard : chart

+ view()+ select()

- Status : chartAttendance Menu

- Add Attendance

+ view()

- List Attendance- Log Attendace

Add Attendance

- USERID : int

+ create()

- CHECKTIME : datetime- CHECKTYPE : varchar(1)

List Attendance

- USERID : int

+ search()+ view()+ select()

- SSN : varchar(20)- Name : varchar(40)

- VERIFYCODE : int- SENSORID : varchar(5)- sn : varchar(20)

- Date : date- DEPTNAME : varchar(30)- TITLE : varchar(100)- CheckIN : datetime- CheckOUT : datetime- Shift : varchar(9)- Duration : decimal- Count : int- Status : varchar

Log Attendance

- USERID : int

+ search()+ select()+ delete()

- SSN : varchar(20)- Name : varchar(40)- Date : date- DEPTNAME : varchar(30)- CheckType : char- CheckTime : datetime- Machines : varchar(20)- Code : varchar(24)

Side Menu

- Dashboard Menu

+ view()

- Attendance Menu- Energy Control Menu- Check-IN Canteen Menu- Employee Menu- Department Menu- Setting Menu

Setting Menu

- Machine Setting

+ view()

- Shift Schedule- Login Access

Machine Setting

- Machine Name : varchar(20)

+ view()+ select()

- IP : varchar(20)- Port : int

- sn : varchar(20)

Shift Schedule

- schName : varchar(20)

+ view()+ select()+ print()

- StartTime : datetime- EndTime : datetime- CheckInTime1 : datetime

- schClassid : int

- CheckInTime2 : datetime- CheckOutTime1 : datetime- CheckOutTime2 : datetime

Login Access

- SSN : varchar(20)

+ setup()+ view()+ select()

- Name : varchar(20)- Title : varchar(200)- Password : varchar (50)- Privilege : int

Check-IN Canteen Menu

- Add Canteen Check-IN

+ view()

- List Canteen Check-IN

Add Canteen Check-IN

- USERID : int

+ create()

- CHECKTIME : datetime- CHECKTYPE : varchar(1)

List Canteen Check-IN

- USERID : int

+ search()+ select()+ delete()

- SSN : varchar(20)- Name : varchar(40)

- VERIFYCODE : int- SENSORID : varchar(5)- sn : varchar(20)

- Date : date- DEPTNAME : varchar(30)- CheckTime : datetime- Category : varchar(20)- Machines : varchar(20)

Energy Control Menu

- Sign Employee Area

+ view()

- Energy Status

Sign Employee Area

- USERID : int

+ create()+ search()+ select()+ delete()

- SSN : varchar(20)- Name : varchar(40)- Title : varchar(30)- Area : varchar(50)

Energy Status

- ID : int

+ search()+ select()+ check_Trigger()+ read_DI()+ write_DO()

- Area_ID : int- Area_Code : varchar(100)- Area_Name : varchar(500)- Machines_ID : int- MachinesName : varchar(100)- ConnectionIP : varchar(50)- ConnectionAddress : varchar(10)- DIPort : varchar(5)- DOPort : varchar(5)- TotalEmployee : int- Today : date- CountCheckIN : int- CountCheckOUT : int- ON_OFF : varchar(5)- Status : varchar(20)

Employee Menu

- Add Employee

+ view()

- List Employee

Add Employee

- USERID : int

+ create()+ validation()

- SSN : varchar(20)- Name : varchar(40)

- Birthdate : date- Phone : varchar(20)

- Gender : varchar(8)

- Street : varchar(20) - Title : varchar(200)- DefaultDeptID : int- Company : varchar(20)- Email : varchar(100)- Code : varchar(50)- CardNo : varchar(20)

List Employee

- USERID : int

+ search()+ select()+ delete()+ print()+ export()

- SSN : varchar(20)- Name : varchar(40)

- Birthdate : date- Phone : varchar(20)

- Gender : varchar(8)

- Street : varchar(20) - Title : varchar(200)- DefaultDeptID : int- Company : varchar(20)- Email : varchar(100)- Code : varchar(50)- CardNo : varchar(20)

Department Menu

- Add Department

+ view()

- List Department

Add Department

- DeptID : int

+ create()+ validation()

- DeptName : varchar(30)- SupDeptID : int

List Department

- DeptID : int

+ search()+ select()+ delete()+ print()+ export()

- DeptName : varchar(30)- SupDeptID : int

Gambar 4.2 Class Diagram secara detail Program Energy Saving

menggunakan IoT Electrical Control dengan Attendance System dan

Pemetaan Ruangan Gedung

66

4.2 Entity Relationship Diagram (ERD)

Entity Relationship Diagram terdiri dari sekumpulan objek-objek yang

disebut dengan entitas serta hubungan yang terjadi diantara suatu objek-objek

tersebut. Entity relationship diagram Program Energy Saving menggunakan

IoT Electrical Control dengan Attendance System dan Pemetaan Ruangan

Gedung dapat dilihat pada Gambar 4.3.

USERINFO (Employee) CHECKINOUT (Attendance)

DEPARTMENT

AREA EMPLOYEEAREA MASTER

IO MACHINES

AREA CONTROL

MACHINES

USERIDPK

BADGE NUMBER

SSN

NAME

GENDER

TITLE

DEPTIDFK

PRIVILEGE

CardNo

EMAIL

USERIDFK

CHECKTIME

CHECKTYPE

VERIFYCODE

SENSORID

SNFK

DEPTIDPK

DEPTNAME

SUPDEPTID

IDPK

AREA IDFK

EMPLOYEE IDFK

STATUS

IDPK

AREA NAME

AREA CODE

IDPK

MACHINE NAME

CONNECTION IP

CONNECTION ADDRESS

STATUS

IDPK

AREA IDFK

MACHINES IDFK

DI PORT

DO PORT

ON_OFF

STATUS

ID

MACHINE ALIAS

CONNECT TYPE

IP

PORT

MACHINE NUMBER

SNPKhave

have

have

has

have

have

have

Gambar 4.3 ERD Program Energy Saving menggunakan IoT Electrical

Control dengan Attendance System dan Pemetaan Ruangan Gedung

67

4.3 Perancangan Basis Data

Perancangan basis data dalam membangun Program Energy Saving

menggunakan IoT Electrical Control dengan Attendance System dan Pemetaan

Ruangan Gedung difungsikan untuk mengetahui kebutuhan dan penjelasan dari

beberapa struktur tabel yang dibuat. Terdapat 2 basis data yang dibangun, yaitu

Basis Data Attendance dan IOT Mapping. Adapun struktur dan spesifikasinya

adalah sebagai berikut.

4.3.1 Basis Data Attendance

• Nama Basis Data : Att

• Deskripsi : Atendance

• Fungsi : Data kehadiran yang terintegrasi dengan fungsi

pencatatan data dari biometric attendance system.

• DBMS : SQL Server 2012

Adapun struktur tabelnya adalah sebagai berikut :

1. Spesifikasi Tabel Userinfo, dapat dilihat pada Tabel 4.1.

Nama Tabel : USERINFO

Fungsi : Untuk menyimpan data master employee (Karyawan)

Tipe : Data master

Tabel 4.1 Tabel Userinfo

Nama Field Tipe Panjang Keterangan Deskripsi

USERID int Primary Key Identitas

User

68

BADGENUMBER Varchar 24 ID

Penghubung

pada Mesin

Attendance

SSN varchar 20 No ID

Employee

NAME varchar 40 Nama

Employee

GENDER varchar 8 Jenis

Kelamin

TITLE varchar 100 Jabatan

BIRTHDAY datetime Tanggal

Lahir

STREET varchar 80 Alamat

DEFAULTDEPTID smallint Foreign Key ID

Department

PRIVILEGE int Hak Akses

CardNo varchar 20 No RFID

Code varchar 50 Code User

EMAIL varchar 100 Email

2. Spesifikasi Tabel Department, dapat dilihat pada Tabel 4.2.

Nama Tabel : DEPARTMENTS

Fungsi : Untuk menyimpan data master daftar Department

Tipe : Data master

69

Tabel 4.2 Tabel Department

Nama Field Tipe Panjang Keterangan Deskripsi

DEPTID int Primary Key Identitas

Department

DEPTNAME varchar 30 Nama

Department

SUPDEPTID int ID Superior

Department

3. Spesifikasi Tabel Checkinout, dapat dilihat pada Tabel 4.3.

Nama Tabel : CHECKINOUT

Fungsi : Untuk menyimpan daftar kehadiran karyawan

Tipe : Data transaksi

Tabel 4.3 Tabel Checkinout

Nama Field Tipe Panjang Keterangan Deskripsi

USERID int Primary Key Identitas User

CHECKTIME datetime Waktu absen

CHECKTYPE varchar 1 Tipe Absen, I :

In & O : Out

VERIFYCODE int Kode

verifikasi dari

mesin

SENSORID varchar 5 No Mesin

SN varchar 20 Foreign Key Serial Number

Mesin

70

4. Spesifikasi Tabel Machines, dapat dilihat pada Tabel 4.4.

Nama Tabel : Machines

Fungsi : Untuk menyimpan daftar mesin biometric atendance

Tipe : Data Master

Tabel 4.4 Tabel Machines

Nama Field Tipe Panjang Keterangan Deskripsi

ID int Primary Key Identitas

mesin

MachineAlias varchar 20 Nama mesin

ConnectType int 1 Tipe

Koneksi

IP varchar 20 IP Address

Mesin

Port int Port mesin

MachineNumber int No Mesin

SN varchar 20 Primary Key Serial

Number

Mesin

71

4.3.2 Basis Data IoT Mapping

• Nama Basis Data : IOT_MAPPING

• Deskripsi : Internet of Things Mapping

• Fungsi : Data pemetaan area kerja karyawan dan energy control

• DBMS : SQL Server 2012

Adapun struktur tabelnya adalah sebagai berikut :

1. Spesifikasi Tabel Area Employee, dapat dilihat pada tabel 4.5.

Nama Tabel : AreaEmployee

Fungsi : Untuk menyimpan daftar pemetaan area kerja karyawan

Tipe : Data Master

Tabel 4.5 Tabel Area Employee

Nama Field Tipe Panjang Keterangan Deskripsi

ID int Primary Key Identitas Area

Employee

Area_ID int Foreign Key Identitas Area

Employee_ID varchar 10 Identitas

Karyawan

Status varchar 20 Status Aktif

atau Non-

Aktif

2. Spesifikasi Tabel Area Master, dapat dilihat pada tabel 4.6.

Nama Tabel : AreaMaster

Fungsi : Untuk menyimpan daftar pemetaan area kerja karyawan

Tipe : Data Master

72

Tabel 4.6 Tabel Area Master

Nama Field Tipe Panjang Keterangan Deskripsi

ID int Primary Key Identitas Area

Area_Code varchar 100 Kode Area

Area_Name varchar 500 Nama Area

3. Spesifikasi Tabel Area Control, dapat dilihat pada tabel 4.7.

Nama Tabel : AreaControl

Fungsi : Untuk menyimpan data controller tiap area dan status

Tipe : Data Transaksi

Tabel 4.7 Tabel Area Control

Nama Field Tipe Panjang Keterangan Deskripsi

ID int Primary Key Identitas Area

Control

Area_ID int Foreign Key Identitas Area

Machines_ID int Foreign Key Identitas Mesin

Controller

DIPort varchar 5 Digital Input

DOPort varchar 5 Digital Output

ON_OFF varchar 5 Status ON/OFF

Status varchar 20 Status Aktif

atau Non-Aktif

4. Spesifikasi Tabel IO Machines, dapat dilihat pada tabel 4.8.

Nama Tabel : IOMachines

73

Fungsi : Untuk menyimpan data mesin controller dan koneksi

Tipe : Data Master

Tabel 4.8 Tabel IO Machines

Nama Field Tipe Panjang Keterangan Deskripsi

ID int Primary Key Identitas Mesin

Controller

MachineName varchar 100 Nama Mesin

Controller

ConnectionIP varchar 50 IP Address

ConnectionAddress varchar 50 Alamat koneksi

Port

Status varchar 20 Status Aktif

atau Non-Aktif

5. Spesifikasi Tabel IO Log, dapat dilihat pada tabel 4.9.

Nama Tabel : IOLog

Fungsi : Untuk menyimpan data event log dari mesin controller

Tipe : Data Transaksi

Tabel 4.9 Tabel IO Machines

Nama Field Tipe Panjang Keterangan Deskripsi

ID int Primary Key Identitas Log

DateTime datetime 100 Waktu dan

Tanggal

MachineID int Identitas

Mesin

74

Port varchar 10 Alamat

koneksi Port

Status varchar 20 Status

ON/OFF

Mode varchar 20 Mode

transisi

Auto/Manual

4.4 Perancangan Antarmuka Sistem

Antarmuka Pengguna (User Interface) merupakan bentuk mekanisme

komunikasi antara pengguna (user) dengan sistem. Perancangan antarmuka

sistem untuk Program Energy Saving menggunakan IoT Electrical Control

dengan Attendance System dan Pemetaan Ruangan Gedung dibagi menjadi dua

sistem aplikasi, yaitu aplikasi Attendance System berupa Web Base dan

Electrical Control berupa Dekstop Base.

4.4.1 Perancangan Antarmuka Attendance System

Perancangan antarmuka pada Attendance System ini menggunakan

model layout berupa aplikasi berbasiskan Web. Adapun antarmuka yang

dirancang pada Attendance System ini memiliki model layout Form, Chart,

Dashboard, dan Report. Berikut adalah penjelasan tentang perancangan

antarmuka yang terdapat pada menu-menu Attendance System.

75

1. Menu Dashboard

Pada Menu Dashboard, memiliki 2 sub menu yaitu Profile dan Dashboard.

Profile ini berfungsi sebagai bentuk overview dari data diri dalam menyimpan

session login. Perancangan antarmuka untuk Profile bisa dilihat pada Gambar

4.4.

Gambar 4.4 Perancangan Antarmuka Menu Dashboard : Profile

Pada perancangan antarmuka Dashboard memiliki tampilan informasi tentang

ringkasan data terhadap jumlah kehadiran, grafik, hingga papan angka

reporting. Perancangan antarmuka tersebut dapat dilihat pada Gambar 4.5.

76

Gambar 4.5 Perancangan Antarmuka Menu Dashboard : Dashboard

2. Menu Attendance

Pada Menu Attendance, memiliki 3 sub menu yaitu Add Attendance, List

Attendance, dan Log Attendance. Add Attendance digunakan untuk

menambahkan data kehadiran karyawan secara manual oleh HR Dept atau

Admin Department. Form ini dilakukan sesuai Standart Operational Procesure

(SOP), ketika terdapat karyawan tidak membawa kartu ID Card (RFID).

Perancangan antarmuka untuk Add Attendance bisa dilihat pada Gambar 4.6.

77

Gambar 4.6 Perancangan Antarmuka Menu Attendance : Add Attendance

Menu List Attendance, difungsikan untuk menampilkan daftar data kehadiran

karyawan. Perancangan antarmuka untuk List Attendance bisa dilihat pada

Gambar 4.7.

Gambar 4.7 Perancangan Antarmuka Menu Attendance : List Attendance

78

Menu Log Attendance, difungsikan untuk menampilkan daftar data log

kehadiran karyawan. Perancangan antarmuka untuk Log Attendance bisa dilihat

pada Gambar 4.8.

Gambar 4.8 Perancangan Antarmuka Menu Attendance : Log Attendance

3. Menu Energy Control

Pada Menu Energy Control, memiliki 2 sub menu yaitu Sign Employee Area

dan Energy Status. Menu ini dipergunakan untuk melakukan pengaturan

terhadap program Energy Saving dengan pemetaan area kerja data karyawan.

Form untuk pemetaan area kerja pada karyawan terdapat pada menu Sign

Employee Area. Perancangan antarmuka tersebut bisa dilihat pada Gambar 4.9.

79

Gambar 4.9 Perancangan Antarmuka Menu Energy Control : Sign

Employee Area

Menu Energy Status difungsikan untuk menampilkan data status pemakaian

listrik sesuai dengan pemetaan ruang area kerja. Perancangan antarmuka untuk

Energy Status bisa dilihat pada Gambar 4.10.

Gambar 4.10 Perancangan Antarmuka Menu Energy Control : Energy Status

80

4. Menu Check-In Canteen

Pada Menu Check-In Canteen berfungsi untuk melakukan penghitungan

konsumsi makan di kantin pada suatu perusahaan. Ini merupakan fitur tambahan

untuk mengetahui penghitungan konsumsi makanan per porsi karyawan oleh

pihak catering (eksternal). Pada menu ini memiliki 2 sub menu yaitu Add

Canteen Check-In dan List Canteen Check-In.

Menu Add Canteen Check-In berfungsi untuk form manual penambahan data

Check-In pada kantin, ketika terdapat karyawan atau pengunjung yang tidak

melakukan absensi check-in di kantin. Perancangan antarmuka untuk Add

Canteen Check-In bisa dilihat pada Gambar 4.11.

Gambar 4.11 Perancangan Antarmuka Menu Check-In Canteen : Add

Canteen Check-In

81

Menu List Canteen Check-In berfungsi untuk menampilkan daftar data

karyawan atau pengunjung yang melakukan Check-In pada kantin. Perancangan

antarmuka untuk List Canteen Check-In bisa dilihat pada Gambar 4.12.

Gambar 4.12 Perancangan Antarmuka Menu Check-In Canteen : List

Canteen Check-In

5. Menu Employee

Pada Menu Employee berfungsi untuk melakukan pengolahan data employee.

Menu ini memiliki 2 sub menu yaitu Add Employee dan List Employee.

Menu Add Employee memiliki perancangan antarmuka berupa form untuk

melakukan registrasi employee ke dalam database absensi karyawan.

Perancangan antarmuka ini dapat dilihat pada Gambar 4.13.

82

Gambar 4.13 Perancangan Antarmuka Menu Employee : Add Employee

Menu List Employee berfungsi untuk menampilkan daftar data master

karyawan. Perancangan antarmuka untuk List Employee bisa dilihat pada

Gambar 4.14.

Gambar 4.14 Perancangan Antarmuka Menu Employee : List Employee

83

6. Menu Department

Pada Menu Department berfungsi untuk menampilkan data master department

pada perusahaan. Adapun perancangan antarmuka untuk menu department

dapat dilihat pada Gambar 4.15.

Gambar 4.15 Perancangan Antarmuka Menu Department : List Department

7. Menu Setting

Pada Menu Setting terdapat 3 sub menu, yaitu menu Machine Setting, Shift

Schedule, dan Login Access. Menu Machine Setting memiliki fungsi untuk

menampilkan daftar mesin absensi yang terhubung dengan database attendance.

Perancangan antarmuka untuk Machine Setting dapat dilihat pada Gambar 4.16.

84

Gambar 4.16 Perancangan Antarmuka Menu Setting : Machine Setting

Menu Shift Schedule, berfungsi menampilkan data jadwal waktu kerja

perusahaan. Perancangan antarmuka Shift Schedule dapat dilihat pada Gambar

4.17.

Gambar 4.17 Perancangan Antarmuka Menu Setting : Shift Schedule

85

Menu Login Access berfungsi untuk menampilkan dan menambahkan data

akses untuk bisa login ke dalam sistem. Perancangan antarmuka Login Access

dapat dilihat pada Gambar 4.18.

Gambar 4.18 Perancangan Antarmuka Menu Setting : Login Access

86

4.4.2 Perancangan Antarmuka Electrical Control

Perancangan antarmuka pada Electrical Control ini menggunakan model layout

berupa aplikasi berbasiskan Desktop. Adapun antarmuka yang dirancang pada

Electrical Control ini memiliki beberapa tab menu untuk menampilkan Overview,

Monitor, dan Event Log. Berikut adalah penjelasan mengenai perancangan antarmuka

dari aplikasi Electrical Control.

1. Tab Menu Overview

Pada Tab Menu Overview ini menampilkan beberapa gambar lampu dan

switch untuk mengetahui konsisi atau keadaan lampu yang sedang menyala atau

mati. Adapun perancangan antarmukanya dapat dilihat pada Gambar 4.19.

Gambar 4.19 Perancangan Antarmuka Electrical Control : Overview

2. Tab Menu Monitor

Pada Tab Menu Monitor ini menampilkan list data berupa tabel yang

menunjukkan daftar ruangan beserta deskripsi dan status ON/OFF. Adapun

perancangan antarmukanya dapat dilihat pada Gambar 4.20.

87

Gambar 4.20 Perancangan Antarmuka Electrical Control : Monitor

3. Tab Menu Event Log

Pada Tab Menu Event Log ini menampilkan list data log terhadap event

yang terjadi terhadap pembacaan sistem input dan output dari controller. Pada

menu ini memiliki bentuk tampilan berupa tabel log. Adapun perancangan

antarmukanya dapat dilihat pada Gambar 4.21.

Gambar 4.21 Perancangan Antarmuka Electrical Control : Event Log

88

BAB V

IMPLEMENTASI SISTEM

Implementasi sistem adalah suatu kegiatan yang dilakukan setelah

analisa dan desain sistem suatu aplikasi. Tujuan implementasi sistem adalah

agar dapat dioperasikannya hasil dari analisa dan desain sistem yang dibuat,

serta memastikan sistem dapat berjalan sesuai dengan desain. Implementasi ini

menjabarkan tentang perlengkapan implementasi, konfigurasi program dan

pengembangan interface serta pengkodean.

5.1 Perlengkapan Implementasi

Untuk dapat menggunakan sistem, tentunya diperlukan suatu spesifikasi

perangkat keras (hardware) dan perangkat lunak (software) yang mendukung

agar sistem dapat berjalan dengan baik. Adapun spesifikasinya adalah sebagai

berikut:

No Perangkat Keras Kebutuhan

1. PC Server • Intel® Xeon ® CPU E3-

1225 v6

• Memory : 16GB

• OS : Windows Server 2008

R2

• Support : Hyper-V

2. Network • NIC (Network Interface

Card)

• Switch or Wi-Fi

• Router (Optional)

3. Electrical • Microcontroller : Moxa

E1212

89

• Relay MY4N-GS 220V

• Power Supply 24V

4. Biometric

(Attendance

Machine)

• Hardware : Solution X105-

ID

• Software : Attendance

Management (Driver)

5.2 Pengembangan interface dan Pengkodean

Pada pengembangan interface akan di jelaskan bagaimana gambaran

dari program yang sudah siap di jalankan dan disertakan dengan penjelasan

kode pemrograman dari Program Energy Saving menggunakan IoT Electrical

Control dengan Attendance System dan Pemetaan Ruangan Gedung. Sistem ini

memiliki 2 bentuk aplikasi, yaitu Attendance System berupa aplikasi Web base

dan Electrical Control berupa Desktop base.

5.2.1 Aplikasi Attendance (Web Base)

Pada aplikasi ini mengakomodasi dari fungsi Program Energy Saving

menggunakan IoT Electrical Control dengan Attendance System dan Pemetaan

Ruangan Gedung sebagai bentuk view reporting dari hasil recording pada mesin

absensi dan report control terhadap status penggunaan energi tiap ruangan (area

kerja). Aplikasi Attendance ini dikembangkan menggunakan model web base

dengan bahasa pemrograman PHP yang dintegrasikan pada database MS SQL

Server. Dalam menghubungkan aplikasi Attendance ini dengan database MS

SQL Server dapat dilihat pada Gambar 5.1. dan Gambar 5.2.

<?php

$conn = odbc_connect('att2','att','att2018.');

90

?>

Gambar 5.1 Kode koneksi.php untuk koneksi ke database attendance

Kode $conn merupakan bentuk dari variable koneksi ke database Attendance

SQL Server dengan menggunakan ODBC Driver.

Kode : odbc_connect('att2','att','att2018.') memiliki komposisi

parameter dari odbc_connect( string $dsn , string $user , string

$password [, int $cursor_type ] ), yaitu

• dsn : Database Source Name atau nama koneksi yang telah

dihubungkan pada ODBC Driver untuk database Attendance, yaitu

att2

• User : Nama Login User, yaitu att

• Password : Password Login Database, yaitu att2018.

• cursor_type : merupakan optional untuk melakukan Set Type

Cursor.

<?php

$conn = odbc_connect('iot','sa','admin2018.');

?>

Gambar 5.2 Kode koneksi-iot.php untuk koneksi ke database IoT

Demikian pula untuk kode pada Gambar 5.2, memiliki fungsi parameter sebagai

berikut :

• dsn : Database Source Name atau nama koneksi yang telah

dihubungkan pada ODBC Driver untuk database Electrical Control,

yaitu iot

• user : Nama Login User, yaitu sa

• password : Password Login Database, yaitu att2018.

91

Penejelasan secara lebih rinci mengenai pengkodean setiap menu yang ada pada

Program Energy Saving menggunakan IoT Electrical Control dengan

Attendance System dan Pemetaan Ruangan Gedung adalah sebagai berikut :

5.2.1.1 Halaman Dashboard

Gambar 5.3 Tampilan Halaman Dashboard

Gambar 5.3 merupakan halaman utama pada sistem yang dibuat sebagai

tempat summary data yang akan dibuka oleh pihak HR (Human Resource) Dept

dan petugas admin tiap department. Pada halaman Dashboard ini memiliki

beberapa menu tampilan summary dengan kode untuk pada info Total

Employee (Gambar 5.4.), Attend (Gambar 5.5), Absence (Gambar 5.6), dan

Visitor (Gambar 5.7).

//Total Employee

$query_dashboard_employee = "SELECT COUNT(e.USERID) AS

TotalEmployee FROM USERINFO e WHERE Code = 'EMPLOYEE'";

$result_dashboard_employee=odbc_exec($conn,$query_dashboard_e

mployee);

$data_dashboard_employee=odbc_fetch_array($result_dashboard_e

mployee);

Gambar 5.4 Kode info Total Employee

92

Pada Gambar 5.6. memiliki fungsi COUNT untuk menampilkan data jumlah

Total Employee pada Tabel USERINFO dengan Kolom Kode ‘EMPLOYEE’.

Kemudian, dilakukanlah execute query pada kode odbc_exec($conn,

$query_dashboard_employee) dan dilakukan pengambilan data menggunkan

kode odbc_fetch_array.

//Total Present

$query_dashboard_present = "SELECT COUNT(at.USERID) AS

TotalPresent FROM View_Attendance_All at WHERE

(at.AttendanceDate = '$today') AND at.Code = 'EMPLOYEE' AND

(ActualIN IS NOT NULL OR ActualOUT IS NOT NULL)";

$result_dashboard_present=odbc_exec($conn,

$query_dashboard_present);

$data_dashboard_present =

odbc_fetch_array($result_dashboard_present);

Gambar 5.5 Kode info Total Attend (Present)

Pada Gambar 5.5. memiliki fungsi COUNT untuk menampilkan jumlah

karyawan yang hadir ini pada table View dengan nama View_Attendance_All

dimana tanggal kehadirannya adalah hari dengan variable $today = date('Y-

m-d').

//Total Not Present

$query_dashboard_notpresent = "SELECT COUNT(a.USERID) AS

TotalNotPresent FROM USERINFO a WHERE a.Code = 'EMPLOYEE' AND

a.USERID NOT IN (SELECT at.USERID FROM View_Attendance_All at

WHERE (at.AttendanceDate = '$today') AND at.Code =

'EMPLOYEE' AND (ActualIN IS NOT NULL OR ActualOUT IS NOT

NULL))";

$result_dashboard_notpresent=odbc_exec($conn,$query_dashboard

_notpresent);

$data_dashboard_notpresent=odbc_fetch_array($result_dashboard

_notpresent);

Gambar 5.6 Kode info Total Not (Present)

Pada Gambar 5.6. memiliki fungsi COUNT untuk menampilkan jumlah

karyawan yang tidak hadir pada table dengan nama USERINFO dimana tanggal

kehadirannya adalah hari ini dengan variable $today = date('Y-m-d') dan

USERID tidak ada didalam daftar kehadiran.

93

//Total Visitor

$query_dashboard_visitor = "SELECT COUNT(vt.ID) AS

TotalVisitor FROM VIEW_VISITOR_ATT vt WHERE vt.Tanggal

='$today'";

$result_dashboard_visitor=odbc_exec($conn,

$query_dashboard_visitor);

$data_dashboard_visitor =

odbc_fetch_array($result_dashboard_visitor);

Gambar 5.7 Kode info Total Visitor

Pada Gambar 5.7. memiliki fungsi COUNT pada tabel view

VIEW_VISITOR_ATT dimana tanggal kehadiran pengunjung adalah hari ini

dengan variable $today = date('Y-m-d').

5.2.1.2 Halaman Login

Gambar 5.8 Tampilan Halaman Login

Gambar 5.8 merupakan halaman yang harus dilewati sebelum masuk

kedalam sistem. Halaman ini mengharuskan pengguna untuk memasukkan

username dan password yang sudah terdaftar pada sistem. Pengkodean dari

tampilan ini terdapat pada Gambar 5.9.

94

1. View

<form role="form" action="auth.php" method="post"

class="login-form">

<div class="form-group">

<label class="sr-only" for="form-

username">Username</label>

<input type="text" name="username"

placeholder="Username" class="form-username form-

control" id="form-username">

</div>

<div class="form-group">

<label class="sr-only" for="form-

password">Password</label>

<input type="password" name="password"

placeholder="Password" class="form-password form-

control" id="form-password">

</div>

<button type="submit" name="login" value="Login"

class="btn">Sign in!</button>

</form>

Gambar 5.9 Kode Login.php

Pada Gambar 5.9 merupakan bentuk form dari kode HTML yang

menggunakan tag <form> dengan proses aksi pada halaman auth.php

dan metode yang digunakan adalah POST. Pada kode ini memiliki form

dengan dua input type yaitu username dengan type text, yaitu username

dan password dengan type password.

2. Proses Login

<?php

include('koneksi-login.php');

if(isset($_POST['login'])){

$user = $_POST['username'];

$pass = $_POST['password'];

$sql = odbc_exec($conn, "SELECT * FROM USERLOGIN WHERE

(SSN='$user' OR BADGENUMBER='$user') AND

MVerifyPass='$pass'");

if(odbc_num_rows($sql) == 0){

echo '<script language="javascript">alert("Failed !

Username or Password Wrong");

document.location="login.php";</script>';

}else{

$row = odbc_fetch_array($sql);

if($row['MVerifyPass'] == $pass){

$_SESSION['admin']=$user;

95

echo '<script

language="javascript">alert("Successfully, Welcome to

Attendance System As Administrator");

document.location="Admin/profile.php";</script>';

}

else{

echo '<script language="javascript">alert("Sorry Your

Account Not Authenticated !");

document.location="login.php";</script>';

}

}

}?>

Gambar 5.10 Kode Auth.php

Pada Gambar 5.10 merupakan bentuk dari proses eksekusi dari aksi

authentikasi login pada form login.php . Pada kode ini dilakukan proses

pencarian dari data login pada tabel USERLOGIN dengan memasukkan

parameter variable username ($user) dan password ($pass). Jika data

ditemukan, maka akan melakukan redirect page ke halaman profile.php,

dan jika tidak, maka akan tetap berada dihalaman login.php.

5.2.1.3 Halaman Profile

Gambar 5.11 Tampilan Halaman Profile

96

Gambar 5.11 merupakan halaman yang muncul setelah berhasil

melakukan login kedalam sistem. Halaman ini menyediakan informasi menu

yaitu nama anda, nama perusahaan anda, serta level akses anda. Pengkodean

dari halaman 5.11 adalah sebagai berikut.

1. View Profile Page

<div class="active tab-pane" id="profile">

<div class="box box-widget widget-user-2">

<div class="widget-user-header bg-red">

<div class="widget-user-image">

<img class="img-circle" src="dist/img/user2-

160x160.jpg" alt="User Avatar">

</div>

<h3 class="widget-user-username"><?php echo

$nama; ?></h3>

<h5 class="widget-user-desc"><?php echo

$company; ?></h5>

</div>

<div class="box-footer no-padding">

<ul class="nav nav-stacked">

<li><a href="#">Username <span class="pull-right

badge bg-blue"><?php echo $nama; ?></span></a></li>

<li><a href="#">Company <span class="pull-right

badge bg-blue"><?php echo $company; ?></span></a></li>

<li><a href="#">Level Privileges<span class="pull-

right badge bg-green"><?php if ($level == 1){ echo

"Admin"; }else{ echo "User";} ?></span></a>

</li>

</ul>

</div>

</div

</div><!-- /.tab-pane -->

Gambar 5.12 Kode Profile.php

Pada kode profile.php (Gambar 5.12) membentuk tampilan view dari

kode HTML dengan variabel berupa $nama, $company, dan $level.

2. Session Initial

<?php

include('../koneksi-mysql.php');

$login=$_SESSION['admin'];

$querylogin=mysql_query("SELECT user.id, user.username,

user.realname, user.password, user.email, user.phone,

user.company, user.department, department.DeptName,

user.division, division.division_name, user.position,

97

position.position_name, user.level, user.kanban_level

FROM user, division, department, position WHERE

user.division = division.id AND user.position =

position.id AND user.department = department.DeptID and

user.username='$login' OR user.employee_id='$login'");

$log=mysql_fetch_array($querylogin);

$nama = $log['realname'];

$company = $log['company'];

$level = $log['level'];

$division = $log['division_name'];

$email = $log['email'];

$phone = $log['phone'];

$id = $log['id'];

?>

Gambar 5.13 Kode Session.php

Pada kode Session.php (Gambar 5.13) memiliki fungsi untuk

mengambil data identitas dari sebuah session login

($_SESSION[‘admin’]). Data dari variabel session ini membentuk

parameter dari proses login berupa username atau employee_id.

5.2.1.4 Halaman Attendance

Halaman Attendance merupakan halaman yang digunakan untuk

mengelola data attendance. Pengguna dapat menambahkan data attendance

secara manual dengan melakukan input data kehadiran karyawan, melihat dan

melakukan edit data kehadiran karyawan yang telah direcord secara otomatis ke

database melalui mesin absensi yang telah dihubungkan ke server. Tampilan

dan pengkodean untuk halaman ini dapat dilihat pada Gambar 5.14 sampai

Gambar 5.21.

98

Gambar 5.14 Tampilan Halaman Add Attendance (Input Data Kehadiran Manual)

Gambar 5.15 Tampilan Halaman Data Attendance (Data Kehadiran Karyawan)

99

Gambar 5.16 Tampilan Halaman Data Log Attendance

Adapun pengkodean untuk semua menu attendance yaitu Add

Attendance, Data Attendance, dan Log Attendance. Dibawah ini adalah

pengkodean yang digunakan pada menu Attendance :

1. View Add Attendance

<?php

<form id="forminput" name="forminput" method="post"

action="attendance-add-process.php">

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

<div class="form-group">

<label>Select Employee</label>

<select name="employee" id="employee" class="form-

control select2" onchange="changeValue1(this.value)" >

<option value='null'>Select Employee</option>

<?php

include('../koneksi.php');

$query1 = "SELECT a.USERID, a.BADGENUMBER, a.SSN,

a.NAME, a.GENDER, a.TITLE, a.DEFAULTDEPTID, b.DEPTNAME,

CONVERT (VARCHAR(10), a.BIRTHDAY, 105) AS BIRTHDATE,

a.CardNo, a.EMAIL, a.OPHONE FROM USERINFO a LEFT JOIN

DEPARTMENTS b ON a.DEFAULTDEPTID = b.DEPTID";

$result=odbc_exec($conn, $query1);

$jsArray1 = "var UID = new Array();\n";

while ($row = odbc_fetch_array($result))

{

echo '<option value="' . $row['USERID'] . '">' .

$row['SSN'] . ' - ' . $row['NAME'] . '</option>';

$jsArray1 .= "UID['" . $row['USERID'] . "'] =

{employee_id:'" . addslashes($row['SSN']) . "',name:'"

100

. addslashes($row['NAME']) . "', dept:'" .

addslashes($row['TITLE']) . "'};\n";

}

odbc_close ($conn);

?>

</select>

<script type="text/javascript">

<?php echo $jsArray1; ?>

function changeValue1(id){

document.getElementById('employee_id').value =

UID[id].employee_id;

document.getElementById('employee_name').value =

UID[id].name;

document.getElementById('department').value =

UID[id].dept;

};

</script>

</div>

<div class="form-group">

<label>Check Type</label>

<select name="check_type" id="check_type"

class="form-control select" required>

<option value='I'>IN</option>

<option value='O'>OUT</option>

</select>

</div>

<div class="form-group">

<label class="control-label">Datetime</label>

<div class='input-group date' id='datetimepicker1'>

<span class="input-group-addon">

<span class="glyphicon glyphicon-calendar"></span>

</span>

<input type='text' name="datetime" class="form-control"

placeholder="Date & Time" required/>

</div>

</div>

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

class="form-control" value="Manual" readonly>

</div><!-- /.col -->

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

<div class="form-group">

<label>Employee ID</label>

<input type="text" name="employee_id"

id="employee_id" class="form-control"

placeholder="Employee ID" readonly>

</div>

<div class="form-group">

<label>Employee Name</label>

<input type="text" name="employee_name"

id="employee_name" class="form-control"

placeholder="Employee Name" readonly>

</div>

<div class="form-group">

<label>Title/Department</label>

101

<input type="text" name="department"

id="department" class="form-control"

placeholder="Department" readonly>

</div>

</div>

</div><!-- /.row -->

</div><!-- /.box-body -->

<div class="box-footer">

<input type="submit" value="Submit" name="input"

class="btn btn-primary">

<br><br>

Please Check Fields above before submit !

</div>

</form>

Gambar 5.17 Kode attendance-add.php

Pada Kode attendance-add.php (Gambar 5.17) merupakan bentuk form

HTML dengan aksi pada halaman attendance-add-process.php

menggunakan method POST. Pada kode halaman ini memiliki 3 input

type text, yaitu employee_id, employee_name, dan department. Data

tersebut diperoleh berdasarkan event onChange select employee.

Sehingga ketika dipilih nama employee, maka secara otomatis data pada

textbox terisi sesuai dengan database USERINFO. Selanjutnya, terdapat

combo box select untuk melakukan proses IN (value = I) atau OUT

(value = O) dan terdapat datetime picker dengan input type berupa text

yang menggunakan javascript pada id='datetimepicker1' .

2. Proses Add Attendance

<?php

include "../koneksi.php";

if (isset($_POST['input'])){

$uid = addslashes(strip_tags($_POST['employee']));

$check_type =

addslashes(strip_tags($_POST['check_type']));

$datetime = $_POST['datetime'];

$sensorid = '107';

$machine = 'A5NS174560048';

$inputsql = "INSERT INTO [dbo].[CHECKINOUT]

102

([USERID],[CHECKTIME],[CHECKTYPE],[SENSORID],[sn],[User

ExtFmt])

VALUES

('$uid','$datetime','$check_type','$sensorid','$machine

','1')";

$input_exec = odbc_exec($conn, $inputsql);

if ($input_exec) {

echo "<script>alert('Input Attendance Success !');

document.location='attendance-

add.php?uid=".$uid."&datetime=".$datetime."'

</script>";

}else {

echo "<script>alert('Failed ! Please Try

Again');document.location='attendance-add.php'

</script> ";

}

}

?>

Gambar 5.18 Kode attendance-add-process.php

Pada kode attendance-add-process.php (Gambar 5.18) merupakan

bentuk halaman aksi untuk melakukan proses INSERT ke dalam tabel

CHECKINOUT, dengan query : INSERT INTO [dbo].[CHECKINOUT]

([USERID], [CHECKTIME], [CHECKTYPE], [SENSORID], [sn],

[UserExtFmt]) VALUES ('$uid', '$datetime', '$check_type',

'$sensorid', '$machine', '1')

3. View Data Attendance

<table id="example1" class="table table-hover">

<thead>

<tr>

<th>No</th>

<th>Date</th>

<th>EmployeeID</th>

<th>Name</th>

<th>Department</th>

<th>Shift</th>

<th>CheckIn</th>

<th>CheckOut</th>

<th>Duration</th>

<th>Count</th>

<th>Status</th>

<th>Action</th>

</tr>

</thead>

103

<tbody>

<?php

include('../koneksi.php');

$no=1;

$query_data = "SELECT USERID, SSN, NAME,

AttendanceDate, DEFAULTDEPTID, DEPTNAME, TITLE,

CheckIN, CheckOUT, ShiftName, ActualIN, ActualOUT,

Count, Duration, Status

FROM View_Attendance_All WHERE (ActualIN IS NOT NULL

OR ActualOUT IS NOT NULL ) AND (AttendanceDate BETWEEN

'$start' AND '$end') AND Code = 'EMPLOYEE' ORDER BY

NAME, AttendanceDate";

$result_data=odbc_exec($conn, $query_data);

while($data = odbc_fetch_array($result_data)){

?>

<tr>

<td><?php echo $no; ?></td>

<td><?php echo $data['AttendanceDate'] ?></td>

<td><?php echo $data['SSN'] ?></td>

<td><?php echo $data['NAME'] ?></td>

<td><?php echo $data['DEPTNAME'] ?></td>

<td><?php echo $shift = $data['ShiftName']; ?></td>

<td><?php echo $data['ActualIN']; $check_in =

$data['ActualIN'];?>

</td>

<td><?php echo $check_out = $data['ActualOUT'] ?></td>

<td><?php echo round($data['Duration'],2);?></td>

<td><?php echo $data['Count'] ?></td>

<td><?php echo $data['Status'] ?></td>

<td><?php echo "<a href='attendance-

details.php?eid=".$data['USERID']."&date=".$data['Atten

danceDate']."&shift=".urlencode(base64_encode($shift)).

"&start=".$check_in."&end=".$check_out."'><button

class='btn btn-primary btn-sm'><i class='fa fa-search-

plus' ></i> Details </button></a>";

?>

</td>

</tr>

<?php

$no++;

}

?>

</tbody>

</table>

Gambar 5.19 Kode attendance-list.php

Pada kode attendance-list.php (Gambar 5.19) membentuk view berupa

tabel HTML dengan kolom header : No, Date, EmployeeID, Name,

Department, Shift, CheckIn, CheckOut, Duration, Count,

Status, dan Action. Dengan menampilkan data tiap kolomnya

menggunakan kode loop dari database while($data =

104

odbc_fetch_array ($result_data)) dari query : SELECT USERID,

SSN, NAME, AttendanceDate, DEFAULTDEPTID, DEPTNAME, TITLE,

CheckIN, CheckOUT, ShiftName, ActualIN, ActualOUT, Count,

Duration, Status FROM View_Attendance_All WHERE (ActualIN

IS NOT NULL OR ActualOUT IS NOT NULL ) AND (AttendanceDate

BETWEEN '$start' AND '$end') AND Code = 'EMPLOYEE' ORDER

BY NAME, AttendanceDate.

4. View Log Attendance

<?php

$query_data = "SELECT a.USERID, b.SSN, b.NAME,

b.DEFAULTDEPTID, d.DEPTNAME, CONVERT(date, a.CHECKTIME)

AS CHECKDATE, a.CHECKTIME, a.CHECKTYPE, e.MachineAlias,

CONVERT(varchar(8), a.CHECKTIME, 112) AS DATECODE,

replace(Convert (varchar(5),a.CHECKTIME, 108),':','')

AS TIMECODE, e.MachineNumber FROM CHECKINOUT a LEFT

JOIN USERINFO b ON a.USERID = b.USERID LEFT JOIN

Machines c ON a.sn = c.sn LEFT JOIN DEPARTMENTS d ON

b.DEFAULTDEPTID = d.DEPTID INNER JOIN Machines e ON

a.sn = e.sn AND c.MachineAlias <> 'Canteen' WHERE

CONVERT(date, a.CHECKTIME) BETWEEN '$start' AND '$end'

AND Code = 'EMPLOYEE' ORDER BY b.NAME, a.CHECKTIME";

?>

Gambar 5.20 Kode attendance-log.php

Pada kode attendance-log.php (Gambar 5.20) memiliki bentuk view

berupa tabel HTML yang diambil dari query : SELECT a.USERID,

b.SSN, b.NAME, b.DEFAULTDEPTID, d.DEPTNAME, CONVERT(date,

a.CHECKTIME) AS CHECKDATE, a.CHECKTIME, a.CHECKTYPE,

e.MachineAlias, CONVERT(varchar(8), a.CHECKTIME, 112) AS

DATECODE, replace(Convert (varchar(5),a.CHECKTIME,

108),':','') AS TIMECODE, e.MachineNumber FROM CHECKINOUT

a LEFT JOIN USERINFO b ON a.USERID = b.USERID LEFT JOIN

Machines c ON a.sn = c.sn LEFT JOIN DEPARTMENTS d ON

b.DEFAULTDEPTID = d.DEPTID INNER JOIN Machines e ON a.sn

105

= e.sn AND c.MachineAlias <> 'Canteen' WHERE CONVERT(date,

a.CHECKTIME) BETWEEN '$start' AND '$end' AND Code =

'EMPLOYEE' ORDER BY b.NAME, a.CHECKTIME.

5. Proses Delete Attendance

<?php

include('../koneksi.php');

$uid = $_GET['uid'];

$checktime = $_GET['checktime'];

$date = date("Y-m-d", strtotime($checktime));

$query_delete ="Delete FROM CHECKINOUT WHERE

USERID='$uid' AND CHECKTIME = '$checktime' ";

$result_data=odbc_exec($conn, $query_delete);

if($result_data){

echo "<script>alert('Record Data DELETED

!');document.location='attendance-

details.php?eid=".$uid."&date=".$date."' </script> ";

}else{

echo "<script>alert('Failed, Please Try Again

!');document.location='attendance-

details.php?eid=".$uid."&date=".$date."' </script> ";

}

?>

Gambar 5.21 Kode attendance-delete.php

Pada kode attendance-delete.php (Gambar 5.21) memiliki fungsi

DELETE dari tabel CHECKINOUT dengan parameter USERID

(variabel GET $uid) dan CHECKTIME (variabel $checktime).

5.2.1.5 Halaman Energy Control

Halaman Energy Control merupakan halaman yang digunakan untuk

melakukan registrasi mapping area kerja (ruangan) dan melihat data kontrol

terhadap status penggunaan energi. Pengkodean untuk halaman ini dapat dilihat

pada Gambar 5.22 sampai Gambar 5.27.

106

Gambar 5.22 Tampilan Registrasi Karyawan terhadap Area Kerja (Ruangan)

Gambar 5.23 Kode area-employee-add.php

Bentuk pengkodean untuk registrasi dari Gambar 5.22 dapat dilihat sebagai

berikut.

1. Register Employee Mapping Area

<?php

include "../koneksi-iot.php";

if (isset($_POST['register'])){

$employee_id =

addslashes(strip_tags($_POST['employee_id']));

107

$area_id=

addslashes(strip_tags(strtoupper($_POST['area_id'])));

$status = "Active";

$inputsql = "INSERT INTO [dbo].[AreaEmployee]

([Area_ID]

,[Employee_ID]

,[Status])

VALUES

('$area_id'

,'$employee_id'

,'$status')";

$input_exec = odbc_exec($conn, $inputsql);

if ($input_exec) {

echo "<script>alert('Register Area Employee Success !');

document.location='area-employee.php' </script>";

}else {

echo "<script>alert('Failed ! Please Try

Again');document.location='area-employee.php' </script> ";

}

}

?>

Gambar 5.24 Kode area-employee-add.php

Pada kode area-employee-add.php (Gambar 5.24) memiliki fungsi INSERT

kedalam tabel AreaEmployee dengan koneksi-iot.php (Gambar 5.2). Proses

insert ini memasukkan value employee_id (dari $_POST[‘employee_id’]),

area_id (dari $_POST['area_id']) dan status (dengan constant

value=”active”). Eksekusi query ini diproses pada script : $input_exec =

odbc_exec($conn, $inputsql).

2. Disable Employee Mapping Area

<?php

include "../koneksi-iot.php";

if (isset($_GET['id'])){

$id = $_GET['id'];

$inputsql = "DELETE FROM [dbo].[AreaEmployee] WHERE ID =

'$id'";

$input_exec = odbc_exec($conn, $inputsql);

if ($input_exec){

echo "<script>alert('Area Employee (ID : ".$id.") Disabled

!'); document.location='area-employee.php' </script>";

}else {echo "<script>alert('Failed ! Please Try

Again');document.location='area-employee.php' </script> ";

}}?>

Gambar 5.25 Kode area-employee-disabled.php

108

Pada kode area-employee-disabled.php (Gambar 5.25) memiliki fungsi

DELETE dari tabel AreaEmployee dengan koneksi-iot.php (Gambar 5.2).

Proses delete ini menggunakan parameter value $id (dari $_GET[‘id’]).

3. Retrieve Load Data Energy Status

<script>

$(document).ready(function() {

var table = $('#area-status').DataTable({

//sScrollX: "100%",

stateSave: true,

dom: 'Bfrtip',

buttons: [

'copy', 'csv', 'excel', 'pdf', 'print'

],

"AutoWidth": true,

"ajax": {

"url": "area-status-ws.php?menu=energy",

"dataType": "json",

"cache": false,

"contentType": "application/json;

charset=utf-8"

},

"deferRender": true,

"columns" : [

{'data': 'numeric', 'sType': 'numeric', "bVisible":

true, "bSearchable": true},

{'data': 'Area_Code', 'sType': 'string', "bVisible":

true, "bSearchable": true},

{'data': 'Area_Name', 'sType': 'string', 'bVisible':

true},

{'data': 'MachineName', 'sType': 'string',

'bVisible': true},

{'data': 'DIPort', 'sType': 'string', 'bVisible':

true},

{'data': 'DOPort', 'sType': 'string', 'bVisible':

true},

{'data': 'TotalEmployee', 'sType': 'string',

'bVisible': true},

{'data': 'Today', 'sType': 'string', 'bVisible':

true},

{'data': 'CountCheckIN', 'sType': 'string',

'bVisible': true},

{'data': 'CountCheckOUT', 'sType': 'string',

'bVisible': true},

{data: 'ON_OFF', render: function (data, type, full)

{

if(data == "ON"){

return "<span class='pull-middle badge bg-

green'>ON</span>";

}else if(data == "OFF"){

return "<span class='pull-middle badge bg-

navy'>OFF</span>";

109

}else{

return "<span class='pull-middle badge bg-

yellow'>Not Defined</span>";

}

}

}

],

"order": [[ 0, "asc" ]],

} );

//AutoReload AJAX

setInterval( function () {

table.ajax.reload( null, false ); // user paging is not

reset on reload

}, 1000 );

} );

</script>

Gambar 5.26 Kode Retrieve Load Data Energy Status

Pada kode javascript datatables (Gambar 5.26) memiliki fungsi untuk

mengambil data dari halaman JSON area-status-ws.php?menu=energy

dengan fungsi statesave=true (menyimpan status temporary pada browser)

dan penambahan fungsi export/print pada buttons: [ 'copy', 'csv',

'excel', 'pdf', 'print'].

4. Webservice JSON Database Energy Status

<?php

include('../koneksi-iot.php');

$menu = isset($_GET['menu']);

if(!empty($menu)){

if($menu == "energy"){

$query_data="SELECT [ID], [Area_ID], [Area_Code],

[Area_Name], [Machines_ID], [MachineName], [ConnectionIP],

[ConnectionAddress], [DIPort], [DOPort], [TotalEmployee],

[Today], [CountCheckIN], [CountCheckOUT],[ON_OFF],

[Status]

FROM [IOT_MAPPING].[dbo].[View_AreaControl]";

result_data=odbc_exec($conn, $query_data);

$result = array();

$numeric = 1;

while($r = odbc_fetch_array($result_data)){

extract($r);

$result[] = array( "numeric"=> $numeric, "ID"=> $ID,

"Area_ID" => $Area_ID, "Area_Code" => $Area_Code,

"Area_Name" => $Area_Name, "Machines_ID" => $Machines_ID,

"MachineName" => $MachineName, "ConnectionIP" =>

110

$ConnectionIP, "ConnectionAddress" => $ConnectionAddress,

"DIPort" => $DIPort, "DOPort" => $DOPort, "TotalEmployee"

=> $TotalEmployee, "Today" => $Today, "CountCheckIN" =>

$CountCheckIN, "CountCheckOUT" => $CountCheckOUT, "ON_OFF"

=> $ON_OFF, "Status" => $Status);

$numeric++;

}

$json = array("data" => $result);

}

}else{

$json = array("status" => 0, "msg" => "Menu Not Define");}

@odbc_close($conn);

/* Output header */

header('Content-type: application/json');

echo json_encode($json);

?>

Gambar 5.27 Kode Webservice JSON Database Energy Status

Pada kode webservice JSON (Gambar 5.27) memiliki fungsi untuk

mengambil data dari database IOT_MAPPING di tabel View_AreaControl.

Data yang ditampilkan diencode menjadi format JSON dengan script :

header('Content-type: application/json');

echo json_encode($json);

5.2.1.6 Halaman Check-In Canteen

Halaman menu Check-In Canteen merupakan suatu menu yang

berfungsi untuk mengetahui daftar karyawan yang melakukan check-in ke

kantin perusahaan. Hal ini diperlukan untuk melakukan penghitungan jumlah

karyawan yang makan untuk pembiayaan jumlah porsi kepada catering.

Kebutuhan ini dilakukan pengkontrolan terhadap departemen General Affair

dan Human Resource. Sistem ini menggunakan model absensi yang disediakan

sebelum mengambil makanan. Tampilan menu Check-In Canteen dapat dilihat

pada Gambar 5.28 untuk melakukan penambahan secara menual, jika tidak

melakukan absensi pada mesin dan Gambar 5.29 untuk mengetahui seleuruh

111

daftar karyawan yang menggunakan fasilitas catering makanan di kantin

perusahaan.

Gambar 5.28 Tampilan Menu Add Canteen Check-In

Gambar 5.29 Tampilan Menu List Canteen Check-In

Adapun pengkodean untuk menu Check-In Canteen dapat dilihat pada

Gambar 5.30 dan Gambar 5.31.

1. Insert Data Canteen Check-In

112

<?php

include "../koneksi.php";

if (isset($_POST['input'])){

$uid = addslashes(strip_tags($_POST['employee']));

$check_type =

addslashes(strip_tags($_POST['check_type']));

$datetime = $_POST['datetime'];

$machine = addslashes(strip_tags($_POST['machine']));

$inputsql = "INSERT INTO [dbo].[CHECKINOUT]

([USERID]

,[CHECKTIME]

,[CHECKTYPE]

,[sn]

,[UserExtFmt])

VALUES

('$uid'

,'$datetime'

,'$check_type'

,'$machine'

,'1')";

$input_exec = odbc_exec($conn, $inputsql);

if ($input_exec) {

echo "<script>alert('Input Check-In Canteen

Success !'); document.location='canteen-

add.php?uid=".$uid."&datetime=".$datetime."'

</script>";

}else {

echo "<script>alert('Failed ! Please Try Again');

document.location='canteen-add.php' </script> ";

}

}

?>

Gambar 5.30 Kode Insert Data Canteen Check-In

Pada kode Insert Data Check-In Canteen (Gambar 5.29) memiliki

fungsi INSERT kedalam tabel CHECKINOUT dengan koneksi.php

(Gambar 5.1). Proses insert ini memasukkan value USERID (dari

$_POST[‘uid’]), CHECKTIME (dari $_POST['datetime']),

CHECKTYPE (dari $_POST['check_type']), SN (dari

$_POST['machine']), dan UserExtFmt (dengan constant value=”1”)

yang diperoleh dari kode HTML pada tampilan menu Add Canteen

Check-In (Gambar 5.27). Eksekusi query ini diproses pada script :

$input_exec = odbc_exec($conn, $inputsql).

113

2. View List Canteen Check-In

<?php

include('../koneksi.php');

$no=1;

if(isset($_GET['start'])){

$start = $_GET['start'];

$end = $_GET['end'];

}else{

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

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

}

$query_data = "SELECT a.USERID, b.SSN, b.NAME,

b.DEFAULTDEPTID, d.DEPTNAME, CONVERT(date, a.CHECKTIME)

AS CHECKDATE, MIN(a.CHECKTIME) AS Checktime,

CASE WHEN CAST(a.CHECKTIME AS time) BETWEEN '09:00:00'

AND '14:30:00' THEN 'MAKAN SIANG'

WHEN CAST(a.CHECKTIME AS time) BETWEEN '17:00:00' AND

'19:30:00' THEN 'MAKAN SORE'

WHEN CAST(a.CHECKTIME AS time) BETWEEN '00:00:00' AND

'04:30:00' THEN 'MAKAN MALAM'

ELSE 'ADDITIONAL' END AS CATEGORY, c.MachineAlias,

CONVERT(varchar(8), MIN(a.CHECKTIME), 112) AS DATECODE,

replace(Convert (varchar(5),MIN(a.CHECKTIME),

108),':','') AS TIMECODE, c.MachineNumber FROM

CHECKINOUT a LEFT JOIN USERINFO b ON a.USERID =

b.USERID LEFT JOIN Machines c ON a.sn = c.sn LEFT JOIN

DEPARTMENTS d ON b.DEFAULTDEPTID = d.DEPTID WHERE

c.MachineAlias = 'Canteen' AND (CONVERT(date,

a.CHECKTIME) >= '$start' AND CONVERT(date, a.CHECKTIME)

<= '$end') GROUP BY a.USERID, b.SSN, b.NAME,

b.DEFAULTDEPTID, d.DEPTNAME, c.MachineAlias,

c.MachineNumber, CONVERT(date, a.CHECKTIME),

CASE WHEN CAST(a.CHECKTIME AS time) BETWEEN '09:00:00'

AND '14:30:00' THEN 'MAKAN SIANG'

WHEN CAST(a.CHECKTIME AS time) BETWEEN '17:00:00' AND

'19:30:00' THEN 'MAKAN SORE'

WHEN CAST(a.CHECKTIME AS time) BETWEEN '00:00:00' AND

'04:30:00' THEN ‘MAKAN MALAM'

ELSE 'ADDITIONAL' END ";

$result_data=odbc_exec($conn, $query_data);

while($data = odbc_fetch_array($result_data)){

?>

<tr>

<td><?php echo $no; ?></td>

<td><?php echo $data['CHECKDATE'] ?></td>

<td><?php echo $data['SSN'] ?></td>

<td><?php echo $data['NAME'] ?></td>

<td><?php echo $data['DEPTNAME'] ?></td>

<td><?php echo $data['Checktime'] ?></td>

<td><?php echo $data['CATEGORY'] ?></td>

<td><?php echo $data['MachineAlias'] ?></td>

</tr>

<?php

$no++;

}

?>

Gambar 5.31 Kode List Data Canteen Check-In

114

Pada kode List Data Canteen Check-In (Gambar 5.30) memiliki fungsi

untuk menampilkan data Check-In Canteen yang diidentifikasi

menggunakan machine alias ‘Canteen’ yang telah dibagi berdasarkan

waktu CHECKTIME, yaitu Makan Siang (09:00:00-14:30:00), Makan

Sore (17:00:00-19:30:00), Makan Malam (00:00:00-04:30:00) dan

Additional (di luar jam tersebut).

5.2.1.7 Halaman Employee

Halaman menu Employee merupakan suatu menu data master

karyawan. Pada menu ini user bisa melihat, menambahkan, dan mengubah data

karyawan. Tampilan menu Employee untuk menambahkan data karyawan bisa

dilihat pada Gambar 5.32 (Add Employee) dan untuk melihat data karyawan bisa

dilihat pada Gambar 5.33 (List Attendance) yang tersedia tombol edit untuk

melakukan pengubahan data karyawan.

Gambar 5.32 Tampilan Menu Add Employee

115

Gambar 5.33 Tampilan Menu List Employee

Adapun pengkodean untuk menu menambahkan data karyawan baru

(Add Employee) dan daftar karyawan (List Employee) dapat dilihat pada

Gambar 5.34 dan Gambar 5.35, serta untuk proses pengubahan data karyawan

pada Gambar 5.36.

1. Insert Data Employee

<?php

include "../koneksi.php";

if (isset($_POST['input'])){

$employee_id =

addslashes(strip_tags($_POST['employee_id']));

$employee_name =

addslashes(strip_tags(strtoupper($_POST['employee_name'

])));

$gender = $_POST['gender'];

$birthdate = $_POST['birthdate'];

$phone = $_POST['phone'];

$address = addslashes(strip_tags($_POST['address']));

$title = addslashes(strip_tags($_POST['title']));

$department = $_POST['department'];

$company = $_POST['company'];

$email = $_POST['email'];

$card_no = $_POST['card_no'];

$verificationmethod = 1;

$SQLID = "SELECT MAX(BADGENUMBER)+1 AS MAXUSERID FROM

USERINFO";

$result_data = odbc_exec($conn, $SQLID);

$data = odbc_fetch_array($result_data);

$userid = $data['MAXUSERID'];

$inputsql = "INSERT INTO [dbo].[USERINFO]

([BADGENUMBER]

116

,[SSN]

,[NAME]

,[GENDER]

,[TITLE]

,[BIRTHDAY]

,[STREET]

,[OPHONE]

,[VERIFICATIONMETHOD]

,[DEFAULTDEPTID]

,[CardNo]

,[EMAIL])

VALUES

('$userid'

,'$employee_id'

,'$employee_name'

,'$gender'

,'$title'

,'$birthdate'

,'$address'

,'$phone'

,'$verificationmethod'

,'$department'

,'$card_no'

,'$email')";

$input_exec = odbc_exec($conn, $inputsql);

if ($input_exec) {

echo "<script>alert('Input Employee Data Success !');

document.location='employee-

add.php?ssn=".$employee_id."' </script>";

}else {

echo "<script>alert('Failed ! Please Try

Again');document.location='employee-add.php' </script>

";

}

}

?>

Gambar 5.34 Kode Add Employee

Pada kode Add Employee (Gambar 5.33) memiliki fungsi INSERT ke

dalam tabel USERINFO. Parameter yang diinputkan antara lain, yaitu :

• $employee_id =

addslashes(strip_tags($_POST['employee_id']));

• $employee_name =

addslashes(strip_tags(strtoupper($_POST['employee_name

'])));

• $gender = $_POST['gender'];

• $birthdate = $_POST['birthdate'];

• $phone = $_POST['phone'];

• $address = addslashes(strip_tags($_POST['address']));

• $title = addslashes(strip_tags($_POST['title']));

• $department = $_POST['department'];

• $company = $_POST['company'];

• $email = $_POST['email'];

• $card_no = $_POST['card_no'];

117

2. List Data Employee

<table id="example1" class="table table-hover">

<thead>

<tr>

<th>No</th>

<th>EmployeeID</th>

<th>Name</th>

<th>Gender</th>

<th>BirthDate</th>

<th>Department</th>

<th>Title</th>

<th>Email</th>

<th>Telp</th>

<th>Card No</th>

<th>Action</th>

</tr>

</thead>

<tbody>

<?php

include('../koneksi.php');

$no=1;

$query_data = "SELECT a.USERID, a.BADGENUMBER, a.SSN,

a.NAME, a.GENDER, a.TITLE, a.DEFAULTDEPTID, b.DEPTNAME,

CONVERT (VARCHAR(10), a.BIRTHDAY, 105) AS BIRTHDATE,

a.CardNo, a.EMAIL, a.OPHONE FROM USERINFO a LEFT JOIN

DEPARTMENTS b ON a.DEFAULTDEPTID = b.DEPTID";

$result_data=odbc_exec($conn, $query_data);

while($data = odbc_fetch_array($result_data)){

?>

<tr>

<td><?php echo $no; ?></td>

<td><?php echo $data['SSN'] ?></td>

<td><?php echo $data['NAME'] ?></td>

<td><?php if($data['GENDER'] == 'M'){ echo

"MALE";}else{ echo "FEMALE"; } ?></td>

<td><?php echo $data['BIRTHDATE'] ?></td>

<td><?php echo $data['DEPTNAME'] ?></td>

<td><?php echo $data['TITLE'] ?></td>

<td><?php echo $data['EMAIL'] ?></td>

<td><?php echo $data['OPHONE'] ?></td>

<td><?php echo $data['CardNo'] ?></td>

<td><?php echo "<a href='employee-

details.php?ssn=".$data['SSN']."'><button class='btn

btn-primary btn-sm'><i class='fa fa-search-plus' ></i>

Details </button></a>";

?>

</td>

</tr>

<?php

$no++;

}

?>

</tbody>

</table>

Gambar 5.35 Kode List Employee

118

Pada kode List Employee (Gambar 5.35) memiliki fungsi query

SELECT untuk menampilkan data USERINFO yang di join dengan

tabel DEPARTMENTS sebagai data Master Employee.

3. Edit Data Employee

<?php

include "../koneksi.php";

if (isset($_POST['input'])){

$uid = $_POST['uid'];

$employee_id =

addslashes(strip_tags($_POST['employee_id']));

$employee_name =

addslashes(strip_tags(strtoupper($_POST['employee_name'

])));

$gender = $_POST['gender'];

$birthdate = $_POST['birthdate'];

$phone = $_POST['phone'];

$address = addslashes(strip_tags($_POST['address']));

$title = addslashes(strip_tags($_POST['title']));

$department = $_POST['department'];

$company = $_POST['company'];

$email = $_POST['email'];

$card_no = $_POST['card_no'];

$verificationmethod = 1;

$inputsql = "UPDATE [dbo].[USERINFO] SET

[SSN] = '$employee_id'

,[NAME] = '$employee_name'

,[GENDER] = '$gender'

,[TITLE] = '$title'

,[STREET] = '$address'

,[OPHONE] = '$phone'

,[VERIFICATIONMETHOD] =

'$verificationmethod'

,[DEFAULTDEPTID] = '$department'

,[CardNo] = '$card_no'

,[EMAIL] = '$email'

WHERE USERID = '$uid'";

$input_exec = odbc_exec($conn, $inputsql);

if ($input_exec) {

echo "<script>alert('Update Employee Data Success !');

document.location='employee-

details.php?ssn=".$employee_id."' </script>";

}else {

echo "<script>alert('Failed ! Please Try

Again');document.location='employee-

edit.php?uid=".$uid."' </script> ";

}

}

?>

Gambar 5.36 Kode Edit Employee

119

Pada kode Edit Employee (Gambar 5.36) memiliki fungsi query

UPDATE untuk melakukan Edit data pada tabel USERINFO sesuai

dengan parameter inputan dari form HTML.

5.2.1.8 Halaman Department

Pada halaman department merupakan halaman yang menampilkan

daftar data master department perusahaan yang telah ditetapkan oleh Human

Resource (HR) Department. Tampilan halaman ini bisa dilihat pada Gambar

5.37.

Gambar 5.37 Tampilan Halaman List Department

Adapun pengkodean dari halaman Department yang berisikan table

master dari Department dapat dilihat pada Gambar 5.38 dan plugin untuk fungsi

pendukung export dari data tables dapat dilihat pada Gambar 5.39.

1. Table List Employee

<table id="example1" class="table table-hover">

<thead>

<tr>

<th>No</th>

120

<th>Department Name</th>

<th>Company</th>

</tr>

</thead>

<tbody>

<?php

include('../koneksi.php');

$no=1;

$query_data = "SELECT a.DEPTID, a.DEPTNAME,

a.SUPDEPTID, b.DEPTNAME AS SUPDEPTNAME,

a.InheritParentSch, a.InheritDeptSch,

a.InheritDeptSchClass, a.AutoSchPlan, a.InLate,

a.OutEarly, a.InheritDeptRule, a.MinAutoSchInterval,

a.RegisterOT, a.DefaultSchId, a.ATT, a.Holiday,

a.OverTime FROM DEPARTMENTS AS a INNER JOIN

DEPARTMENTS AS b ON a.SUPDEPTID = b.DEPTID";

$result_data=odbc_exec($conn, $query_data);

while($data = odbc_fetch_array($result_data)){

?>

<tr>

<td><?php echo $no; ?></td>

<td><?php echo $data['DEPTNAME'] ?></td>

<td><?php echo $data['SUPDEPTNAME'] ?></td>

</tr>

<?php

$no++;

}

?>

</tbody>

</table>

Gambar 5.38 Kode tabel List Department

Pada kode List Department (Gambar 5.38) memiliki fungsi query

SELECT untuk menampilkan data pada tabel DEPARTMENTS.

2. Javascript Plugin Export Data tables

<!-- DataTables -->

<script

src="plugins/datatables/jquery.dataTables.min.js"></scr

ipt>

<script

src="plugins/datatables/dataTables.bootstrap.min.js"></

script>

<script

src="https://cdn.datatables.net/buttons/1.2.1/js/dataTa

bles.buttons.min.js"></script>

<script

src="https://cdn.datatables.net/buttons/1.2.1/js/button

s.flash.min.js"></script>

121

<script

src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0

/jszip.min.js"></script>

<script

src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.18/bui

ld/pdfmake.min.js"></script>

<script

src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.18/bui

ld/vfs_fonts.js"></script>

<script

src="https://cdn.datatables.net/buttons/1.2.1/js/button

s.html5.min.js"></script>

<script

src="https://cdn.datatables.net/buttons/1.2.1/js/button

s.print.min.js"></script>

<script>

$("#example1").DataTable({

stateSave: true,

dom: 'Bfrtip',

buttons: [

'copy', 'csv', 'excel', 'pdf', 'print'

]

});

</script>

Gambar 5.39 Kode Plugin Export Data tables

Pada kode Plugin Export Data tables (Gambar 5.38) memiliki fungsi

javascript datatables yang akan membentuk sebuah dynamical tabel

dengan penambahan fungsi export button : 'copy', 'csv', 'excel',

'pdf', 'print'.

5.2.1.9 Halaman Setting

Pada halaman setting ini memiliki beberapa submenu, yaitu Machine

Setting, Shift Schedule, dan Login Access. Pada halaman menu Machine Setting

akan menampilkan daftar mesin absensi yang terpasang dan berisikan informasi

Location, Serial Number, dan IP Address. Selanjutnya, menu Shift Schedule

akan menampilkan daftar pengaturan jam kerja shift yang telah diatur oleh

admin. Sedangkan menu Login Access, memiliki fungsi untuk membahkan hak

122

akses login ke dalam sistem attendance ini. Tampilan halaman Setting dari

beberapa submenu ini dapat dilihat pada Gambar 5.40 hingga Gambar 5.42.

Gambar 5.40 Tampilan Halaman Menu Setting : Machine Setting

Gambar 5.41 Tampilan Halaman Menu Setting : Shift Schedule

123

Gambar 5.42 Tampilan Halaman Menu Setting : Login Access

Adapun pengkodean dari halaman Setting yang berisikan submenu

Machine Setting, Shift Schedule, dan Login Access dapat dilihat pada Gambar

5.43 hingga Gambar 5.45.

1. Halaman Machine Setting

<table id="example1" class="table table-hover">

<thead>

<tr>

<th>No</th>

<th>Machines Name</th>

<th>IP Address</th>

<th>Port</th>

<th>Serial Number</th>

</tr>

</thead>

<tbody>

<?php

include('../koneksi.php');

$no=1;

$query_data = "SELECT [ID],[MachineAlias]

,[ConnectType],[IP],[SerialPort],[Port],[Baudrate],[Mac

hineNumber],[sn] FROM [Att].[dbo].[Machines] ORDER BY

[MachineNumber]";

$result_data=odbc_exec($conn, $query_data);

while($data = odbc_fetch_array($result_data)){

?>

<tr>

<td><?php echo $data['MachineNumber']; ?></td>

<td><?php echo $data['MachineAlias'] ?></td>

<td><?php echo $data['IP'] ?></td>

124

<td><?php echo $data['Port'] ?></td>

<td><?php echo $data['sn'] ?></td>

</tr>

<?php

}

?>

</tbody>

</table>

Gambar 5.43 Tampilan kode halaman Machine Setting

Pada kode halaman Machine Setting (Gambar 5.42) memiliki fungsi

query SELECT untuk menampilkan data mesin absensi di tabel

Machines. Info yang didapat dari tabel ini antara lain : MachineNumber,

MachineAlias, IP, Port, dan SN.

2. Halaman Shift Schedule

<table id="example1" class="table table-hover">

<thead>

<tr>

<th>No</th>

<th>Shift Name</th>

<th>Start Working Hour</th>

<th>End Working Hour</th>

<th>Start Check-In</th>

<th>End Check-In</th>

<th>Start Check-Out</th>

<th>End Check-Out</th>

</tr>

</thead>

<tbody>

<?php

include('../koneksi.php');

$no=1;

$query_data = "SELECT schClassid, schName,

CONVERT(VARCHAR(20), StartTime, 108) AS StartTime,

CONVERT(VARCHAR(20), EndTime, 108) AS EndTime,

CONVERT(VARCHAR(20), CheckInTime1, 108) AS

CheckInTime1, CONVERT(VARCHAR(20), CheckInTime2, 108)

AS CheckInTime2, CONVERT(VARCHAR(20), CheckOutTime1,

108) AS CheckOutTime1, CONVERT(VARCHAR(20),

CheckOutTime2, 108) AS CheckOutTime2, Color, AutoBind,

WorkDay, SensorID, WorkMins FROM SchClass";

$result_data=odbc_exec($conn, $query_data);

while($data = odbc_fetch_array($result_data)){

?

<tr>

<td><?php echo $no; ?></td>

<td><?php echo $data['schName'] ?></td>

125

<td><?php echo $data['StartTime'] ?></td>

<td><?php echo $data['EndTime'] ?></td>

<td><?php echo $data['CheckInTime1']

?></td>

<td><?php echo $data['CheckInTime2']

?></td>

<td><?php echo $data['CheckOutTime1']

?></td>

<td><?php echo $data['CheckOutTime2']

?></td>

</tr>

<?php

$no++;

}

?>

</tbody>

</table>

Gambar 5.44 Tampilan kode halaman Shift Schedule

Pada kode halaman Shift Schedule (Gambar 5.44) memiliki fungsi query

SELECT untuk menampilkan data shift schedule di tabel SchClass. Info

yang didapat dari tabel ini antara lain, yaitu schName (Nama Schedule),

StartTime, EndTime, CheckInTime1 (start allowance Check-In Time),

CheckInTime2 (end allowance Check-In Time), CheckOutTime1 (start

allowance Check-Out Time), dan CheckOutTime2 (end allowance

Check-Out Time).

3. Halaman Shift Schedule

<?php

include "../koneksi.php";

if (isset($_POST['setup'])){

$ssn = $_POST['username'];

$password = $_POST['password'];

$admin = 15;

$updatesql = "UPDATE USERINFO SET SECURITYFLAGS =

'$admin', MVerifyPass = '$password' WHERE SSN =

'$ssn'";

$update_exec = odbc_exec($conn, $updatesql);

if ($update_exec) {

echo "<script>alert('User Granted as

Administrator !'); document.location='setting-

login.php' </script>";

}else {

126

echo "<script>alert('Failed ! Please Try

Again');document.location='setting-login.php' </script>

";

}

}

?>

Gambar 5.45 Tampilan kode halaman Login Access

Pada kode halaman Login Access (Gambar 5.45) memiliki fungsi untuk

memberikan hak login akses dengan melakukan perintah UPDATE pada

kolom SECURITYFLAGS menjadi 15 (variabel $admin), dan password

sesuai dengan inputan (variabel $password).

5.2.2 Aplikasi Electrical Control (Desktop Base)

Pada aplikasi Electrical Control ini memiliki fungsi sistem sebagai

kendali terhadap proses ON/OFF switch dari panel kelistrikan yang telah

dimapping berdasarkan area kerja dengan mengintegrasikan sistem attendance

yang terhubung dengan mesin absensi. Sistem ini menggunakan Moxa E1212

sebagai mikrokontroller pengatur Digital Input dan Digital Output dari sistem

kelistrikan yang telah dihubungkan. Adapun tampilan untuk sistem kontrol ini

dapat dilihat pada Gambar 5.46 hingga Gambar 5.51 yang berisikan pengkodean

yang menggunakan bahasa pemrograman C# dengan tools Visual Studio 2013

.

127

Gambar 5.46 Tampilan sistem kontrol kelistrikan

Adapun kode class yang digunakan antara lain :

1. Class Form1

public Form1()

{

InitializeComponent();

IniReadSettings();

ShowAreaMonitor();

_writer = new TextBoxStreamWriter(textBoxConsole);

Console.SetOut(_writer);

Console.WriteLine("Now redirecting output to the

text box");

// Add vertical scroll bars to the TextBox control.

textBoxConsole.ScrollBars = ScrollBars.Vertical;

// Allow the TAB key to be entered in the TextBox

control.

textBoxConsole.AcceptsReturn = true;

// Allow the TAB key to be entered in the TextBox

control.

textBoxConsole.AcceptsTab = true;

// Set WordWrap to true to allow text to wrap to

the next line.

textBoxConsole.WordWrap = true;

FilterFillAreaCombo();

TabEventLog();

}

Gambar 5.47 Tampilan Kode Class Form1

Pada kode Class Form1 (Gambar 5.47) memiliki fungsi untuk

melakukan inisialisasi komponen yang digunakan, membaca class

128

IniReadSettings, ShowAreaMonitor, Running Console Writter,

FilterFillAreaCombo dan TabEventLog.

2. Class IniReadSettings

IniFile iniFile = new IniFile(Application.StartupPath +

@"\Settings.ini");

public void IniReadSettings(){

IPAddressSettings = iniFile.ReadSetting("Settings",

"IPAddress", 32, "IP Address");

PortSettings = iniFile.ReadSetting("Settings",

"Port", 5, "Port");

TimeoutSettings = iniFile.ReadSetting("Settings",

"Timeout", 5, "Timeout");

PasswordSettings = iniFile.ReadSetting("Settings",

"Password", 255, "Timeout");

textBoxIPAddress.Text =

IPAddressSettings.ToString();

textBoxPort.Text = PortSettings.ToString();

textBoxTimeout.Text =

TimeoutSettings.ToString();

textBox1.Text = PasswordSettings.ToString();

}

Gambar 5.48 Tampilan Kode Class IniReadSettings

Pada kode Class IniReadSetting (Gambar 5.48) memiliki fungsi untuk

membaca file format .ini (Settings.ini) yang digunakan sebagai file

Setting untuk pengaturan IPAddress, Port, Timeout, dan Password

terhadap perangkat Moxa E1212.

3. Class EnabledSettings

void EnabledSettings()

{

textBoxIPAddress.Enabled = true;

textBoxPort.Enabled = true;

textBoxTimeout.Enabled = true;

textBoxPassword.Enabled = true;

}

Gambar 5.49 Tampilan Kode Class EnabledSettings

Pada kode Class EnabledSettings (Gambar 5.49) memiliki fungsi untuk

mengaktifkan (enabled) komponen textBoxIPAddress, textBoxPort,

textBoxTimeout, dan textBoxPassword.

129

4. Class DisabledSettings

void DisabledSettings()

{

textBoxIPAddress.Enabled = false;

textBoxPort.Enabled = false;

textBoxTimeout.Enabled = false;

textBoxPassword.Enabled = false;

}

Gambar 5.50 Tampilan Kode Class DisabledSettings

Pada kode Class DisabledSettings (Gambar 5.50) memiliki fungsi untuk

menon-aktifkan (disabled) komponen textBoxIPAddress,

textBoxPort, textBoxTimeout, dan textBoxPassword.

5. Class SaveIniSettings

void SaveIniSettings()

{

iniFile.WriteSetting("Settings",

"IPAddress", textBoxIPAddress.Text);

iniFile.WriteSetting("Settings", "Port",

textBoxPort.Text);

iniFile.WriteSetting("Settings", "Timeout",

textBoxTimeout.Text);

iniFile.WriteSetting("Settings",

"Password", textBox1.Text);

}

Gambar 5.51 Tampilan Kode Class SaveIniSettings

Pada kode Class SaveIniSettings (Gambar 5.51) memiliki fungsi untuk

melakukan proses penyimpanan atau melakukan write file .ini yang

berisi settingan dari IPAddress yang berada pada textBoxIPAddress,

Port pada textBoxPort, Timeout pada textBoxTimeout, dan

Password pada textBoxPassword.

130

6. Class Connection

void Connection()

{

string IPAddr = IPAddressSettings.ToString();

UInt16 Port = Convert.ToUInt16(PortSettings);

string Password = PasswordSettings.ToString();

UInt32 Timeout =

Convert.ToUInt16(TimeoutSettings);

ret = MXIO_CS.MXIO_GetDllVersion();

Console.WriteLine("MXIO_GetDllVersion:{0}.{1}.{2}.{3}",

(ret >> 12) & 0xF, (ret >> 8) & 0xF, (ret >> 4) & 0xF,

(ret) & 0xF);

ret = MXIO_CS.MXIO_GetDllBuildDate();

Console.WriteLine("MXIO_GetDllBuildDate:{0:x}/{1:x}/{2:

x}", (ret >> 16), (ret >> 8) & 0xFF, (ret) & 0xFF);

ret = MXIO_CS.MXEIO_Init();

Console.WriteLine("MXEIO_Init return {0}",

ret);

//Connect to ioLogik device

Console.WriteLine("MXEIO_E1K_Connect IP={0},

Timeout={1}, Password={2}", IPAddr, Timeout, Password);

ret =

MXIO_CS.MXEIO_E1K_Connect(System.Text.Encoding.UTF8.Get

Bytes(IPAddr), Port, Timeout, hConnection,

System.Text.Encoding.UTF8.GetBytes(Password));

CheckErr(ret, "MXEIO_E1K_Connect");

if (ret == MXIO_CS.MXIO_OK)

{

Console.WriteLine("MXEIO_E1K_Connect

Success.");

lbl_Status.Text = "Connected";

lbl_Status.ForeColor = Color.Green;

}

else

{

Console.WriteLine("MXEIO_E1K_Connect

Failed.");

lbl_Status.Text = "Not Connected";

lbl_Status.ForeColor = Color.Red;

}

}

Gambar 5.52 Tampilan Kode Class Connection

Pada kode Class Connection (Gambar 5.52) memiliki fungsi untuk

melakukan proses koneksi ke dalam device Moxa E1212 yang didukung

dengan file DLL sebagai driver dalam kode pemrograman C#. Adapun

131

script untuk koneksi adalah ret = MXIO_CS.MXEIO_E1K_Connect

(IPAddr , Port, Timeout, hConnection, Password);

Ketika dikoneksikan melakukan reply MXIO_CS.MXIO_OK, maka device

moxa E1212 telah terhubung dengan aplikasi, jika tidak maka koneksi

mengalami kegagalan (failed).

7. Event Click BtnStart

private void Btn_Start_Click(object sender, EventArgs

e)

{

SaveIniSettings();

DisabledSettings();

IniReadSettings();

Connection();

lbl_Status.Text = "Connected";

lbl_Status.ForeColor = Color.Green;

timer_start.Start();

AttendanceControl();

}

Gambar 5.53 Tampilan Kode Class Connection

Pada kode Event Click BtnStart (Gambar 5.53) memiliki proses untuk

melakukan pemanggilan class SaveIniSettings, DisabledSettings,

IniReadSettings, Connection, dan AttendanceControl. Selain itu, pada

event click ini dilakukan proses Start Timer yang memiliki perintah

seperti pada Gambar 5.54 yang menjalankan class DI,

AttendanceControl, dan ShowAreaMonitor.

private void timer_start_Tick(object sender, EventArgs

e)

{

DI();

AttendanceControl();

ShowAreaMonitor();

}

Gambar 5.54 Tampilan Kode Event Tick Timer

132

8. Class DI (Digital Input)

byte bytCount = 0, bytStartChannel = 0;

public void DI()

{

bytCount = 8;

bytStartChannel = 0;

UInt32[] dwGetDIValue = new UInt32[1];

ret = MXIO_CS.E1K_DI_Reads(hConnection[0],

bytStartChannel, bytCount, dwGetDIValue);

CheckErr(ret, "E1K_DI_Reads");

//DI 0 -- LAMPU 0

if ((dwGetDIValue[0] & (1 << 0)) == 0)

{

Console.WriteLine("DI 0 value: ch[{0}]

= {1}",bytStartChannel, ((dwGetDIValue[0] & (1 << 0))

== 0) ? "OFF" : "ON");

pictureBoxDI0_OFF.SendToBack();

pictureBox0_OFF.SendToBack();

System.Data.SqlClient.SqlConnection

connUpdate = konn.GetConn();

connUpdate.Open();

string inputDIPort0 = "DI0";

SetStatus = "OFF";

mode = "Manual";

SqlCommand cmdoff = new

SqlCommand("UPDATE AreaControl SET ON_OFF = '"+

SetStatus +"' WHERE DIPort = '" + inputDIPort0 + "'",

connUpdate);

cmdoff.ExecuteNonQuery();

connUpdate.Close();

CheckIOLog(inputDIPort0, SetStatus,

mode);

}

else

{

Console.WriteLine("DI 0 value: ch[{0}]

= {1}", bytStartChannel, ((dwGetDIValue[0] & (1 << 0))

== 0) ? "OFF" : "ON");

pictureBoxDI0_ON.SendToBack();

pictureBox0_ON.SendToBack();

System.Data.SqlClient.SqlConnection

connUpdate = konn.GetConn();

connUpdate.Open();

string inputDIPort0 = "DI0";

SetStatus = "ON";

mode = "Manual";

SqlCommand cmdoff = new

SqlCommand("UPDATE AreaControl SET ON_OFF = '" +

SetStatus + "' WHERE DIPort = '" + inputDIPort0 + "'",

connUpdate);

cmdoff.ExecuteNonQuery();

connUpdate.Close();

CheckIOLog(inputDIPort0, SetStatus,

mode);

}

Gambar 5.55 Tampilan Kode Class DI (Digital Input)

133

Pada kode Class DI (Digital Input) (Gambar 5.55) memiliki proses

pembacaan pada port Digital Input pada perangkat Moxa E1212. Script

untuk melakukan proses pembacaan Port DI (Digital Input) pada Moxa

E1212 ini adalah ret = MXIO_CS.E1K_DI_Reads(hConnection[0],

bytStartChannel, bytCount, dwGetDIValue);

Ketika reply dari shift value yang membentuk nilai binner 0, maka hal

ini menunjukkan Port DI 0 tidak memiliki tegangan (voltage) yang

berati OFF. Namun, selain itu berati Port DI 0 telah memiliki tegangan

(voltage) yang berati ON. Dalam proses DI Read ini akan melakukan

proses Update ke dalam database untuk mengetahui kondisi status

ON/OFF pada tiap Port DI (Digital Input). Hal ini juga dilakukan DI

Read dari Port DI 0 hingga Port DI 7.

9. Class DO (Digital Output)

void DO()

{

Connection();

ret = MXIO_CS.E1K_DO_Writes(hConnection[0],

bytStartChannel, bytCount, dwSetDOValue);

CheckErr(ret, "E1K_DO_Writes");

}

Gambar 5.56 Tampilan Kode Class DO (Digital Output)

Pada kode Class DO (Digital Output) (Gambar 5.56) memiliki fungsi

untuk mengaktifkan port Digital Output pada perangkat Moxa E1212.

Kemudian untuk melakukan SetDOValue terhadap Port Digital Output

dapat dilihat pada Gambar 5.57.

public void Set_DIO1()

{

String SetPort = "DIO1";

Console.WriteLine("Switch " + SetPort + "

Active !");

dwSetDOValue = 0xFF; //Hex 255

bytStartChannel = 1; //DIO1

bytCount = 1;

134

DO();

pictureBox0_ON.SendToBack();

//====SetOffAgain============

dwSetDOValue = 0; //Hex 0

bytStartChannel = 1; //DIO1

bytCount = 1;

// Thread.Sleep(6000);

DO();

pictureBox0_OFF.SendToBack();

//InsertLog

SetStatus = "OFF";

string mode = "Automatic";

insertlog(SetPort, SetStatus, mode);

}

Gambar 5.57 Tampilan Kode Class Set_DIO1 (Set Digital Output)

Proses untuk mengaktifkan Port DIO1 (Gambar 5.57) dilakukan dengan

memberikan inputan value dwSetDOValue = 0xFF yang bernilai sama

dengan bilangan Hexa 255 terhadap bytStartChannel yang

menunjukkan angka Port DIO yang digunakan. Pada proses SetDIO1

memiliki alur program untuk memberikan tegangan (voltage) terhadap

perangkat Remote Switch Omron dalam menonaktifkan saklar lampu

yang dihubungkan dengan Moxa pada Port DIO1, dan kemudian

menormalkan kembali dengan memberikan inputan value

dwSetDOValue = 0 yang bernilai sama dengan Hexa 0. Hal ini dipakai

juga untuk Port DIO2 hingga Port DIO6.

10. Class Attendance Control

public void AttendanceControl()

{

System.Data.SqlClient.SqlConnection conn =

konn.GetConn();

CheckHasRows(conn);

}

Gambar 5.58 Tampilan Kode Attendance Control

Pada kode Class Attendance Control (Gambar 5.58) memiliki perintah

kode untuk melakukan koneksi ke dalam Database SQL Server

135

menggunakan SqlClient Connection dan menjalankan class

CheckHasRow (Gambar 5.59).

public void CheckHasRows(SqlConnection connection)

{

using (connection)

{

SqlCommand command = new SqlCommand(

"SELECT Area_Name, TotalEmployee,

Today, CountCheckIN, CountCheckOUT, DIPort, DOPort,

ON_OFF, Status FROM View_AreaControl WHERE

Status='Active'", connection);

connection.Open();

SqlDataReader reader =

command.ExecuteReader();

if (reader.HasRows)

{

while (reader.Read())

{

string AreaName =

reader["Area_Name"].ToString();

string CheckIN =

reader["CountCheckIN"].ToString();

string CheckOUT =

reader["CountCheckOUT"].ToString();

string StatusONOFF =

reader["ON_OFF"].ToString();

string DOPort =

reader["DOPort"].ToString();

if (StatusONOFF == "ON" && CheckIN == CheckOUT)

{

switch(DOPort){

case "DIO1":

Set_DIO1();

break;

case "DIO2":

Set_DIO2();

break;

case "DIO3":

Set_DIO3();

break;

case "DIO4":

Set_DIO4();

break;

case "DIO5":

Set_DIO5();

break;

case "DIO6":

Set_DIO6();

break;

}

}

}

}

else

136

{

Console.WriteLine("No rows

found.");

}

reader.Close();

}

}

Gambar 5.59 Tampilan Kode Class CheckHasRows

Pada kode Class CheckHasRows (Gambar 5.58) melakukan proses

pembacaan fungsi SELECT dari query : SELECT Area_Name,

TotalEmployee, Today, CountCheckIN, CountCheckOUT, DIPort,

DOPort, ON_OFF, Status FROM View_AreaControl WHERE

Status='Active'. Dalam proses pembacaan query ini akan diketahui

jumlah Check-In dan Check-Out tiap area serta status lampu ON/OFF

dari database Attendance. Selain itu, dalam class ini dilakukan proses

pengecekan : Jika status lampu dalam keadaan ON dan jumlah Check-In

dan Check-Out sama, maka akan melakukan proses switch terhadap

DOPort dari database untuk aksi Set_DIO1 hingga Set_DIO6. Aksi

Set_DIO1 ini berfungsi untuk menon-aktifkan saklar ON/OFF lampu

sesuai Port DIO yang dinon-aktifkan.

11. Class Show Area Monitor

public void ShowAreaMonitor()

{

System.Data.SqlClient.SqlConnection conn =

konn.GetConn();

conn.Open();

SqlCommand cmd = new SqlCommand("SELECT

Area_ID AS ID, Area_Code, Area_Name, MachineName,

ConnectionIP, DIPort, DOPort, TotalEmployee AS Total,

Today AS Date, CountCheckIN AS 'IN', CountCheckOUT AS

'OUT', ON_OFF AS Status, Status AS Remarks FROM

View_AreaControl", conn);

DataSet ds = new DataSet();

SqlDataAdapter da = new

SqlDataAdapter(cmd);

da.Fill(ds, "View_AreaControl");

137

dataGridView1.DataSource = ds;

dataGridView1.DataMember =

"View_AreaControl";

dataGridView1.Refresh();

conn.Close();

dataGridView1.RowHeadersVisible = false;

}

Gambar 5.60 Tampilan Kode Class Show Area Monitor

Pada kode Class Show Area Monitor (Gambar 5.60) memiliki fungsi

untuk menampilkan data ke dalam tabel dataGridView1. SQL query

yang dijalankan adalah SELECT Area_ID AS ID, Area_Code,

Area_Name, MachineName, ConnectionIP, DIPort, DOPort,

TotalEmployee AS Total, Today AS Date, CountCheckIN AS

'IN', CountCheckOUT AS 'OUT', ON_OFF AS Status, Status AS

Remarks FROM View_AreaControl.

12. Class InsertLog

public void insertlog(string Port, string SetStatus,

string Mode)

{

System.Data.SqlClient.SqlConnection

connInsert = konn.GetConn();

connInsert.Open();

int machine_id = 1;

SqlCommand cmdoff = new SqlCommand("INSERT

INTO [dbo].[IOLog]

([DateTime],[MachineID],[Port],[Status],[Mode]) VALUES

(GETDATE(),'" + machine_id + "' , '" + Port + "' ,'" +

SetStatus + "','" + Mode + "')", connInsert);

cmdoff.ExecuteNonQuery();

connInsert.Close();

}

Gambar 5.61 Tampilan Kode Class InsertLog

Pada kode Class InsertLog (Gambar 5.60) memiliki fungsi untuk

melakukan proses Insert terhadap Log Event ON/OFF dari sebuah

pembacaan DIO (Digital Input Output) ke dalam database pada tabel

IOLog.

138

BAB VI

PENGUJIAN SISTEM

Pengujian perangkat lunak atau software testing dalam pembangunan

sistem atau software perlu dilakukan untuk menjamin kualitas dari software

yang dibangun, serta mengetahui error atau masalah yang terjadi, sehingga bisa

dilakukan perbaikan pada sistem. Software memiliki kualitas yang baik jika

mampu mempresentasikan hasil dari analisa, desain dan perancangan sistem

sesuai dengan kebutuhan user.

Pengujian yang dilakukan terhadap Program Energy Saving

menggunakan IoT Electrical Control dengan Attendance System dan Pemetaan

Ruangan Gedung adalah menggunakan metode Black Box. Black box adalah

pengujian yang didasarkan pada detail aplikasi seperti tampilan aplikasi, fungsi-

fungsi yang ada pada aplikasi, dan kesesuaian alur fungsi dengan bisnis proses

yang di inginkan oleh user. Pengujian ini dibagi menjadi dua skenario yaitu Tes

Positif dan Tes Negatif. Tes positif dilakukan dengan memasukkan data yang

benar, sedangkan tes negatif dilakukan dengan memasukkan data yang salah.

6.1 Rencana Pengujian

Terdapat rencana pengujian yang akan diskenariokan, yaitu pengujian terhadap

sistem pada Aplikasi Attendance (Web Base) dan Aplikasi Electrical Control

(Desktop Base).

6.1.1 Rencana Pengujian pada Aplikasi Attendance (Web Base)

Rencana atau skenario pengujian sistem Aplikasi Attendance (Web Base)

dengan aktor user dapat dilihat pada Tabel 6.1.

139

Tabel 6.1 Rencana Pengujian pada Aplikasi Attendance (Web Base)

Pengujian Jenis Uji

Dashboard 1. Melihat informasi kehadiran, absen, jumlah karyawan,

jumlah visitor, grafik kehadiran per hari, grafik

perbandingan kehadiran dan absen, grafik penggunaan

konsumsi (check-in canteen)

Login 1. Isi data login

2. Verifikasi username

3. Verifikasi password

Profile 1. Melihat data informasi Profile

Menu Attendance 1. Melihat daftar list attendance

2. Menambah data attendance

3. Melihat daftar log attendance

4. Menghapus data attendance

Menu Energy

Control

1. Registrasi employee area

2. Melihat list employee area

3. Melihat energy status

Menu Check-In

Canteen

1. Menambah data check-in canteen

2. Melihat data check-in canteen

Menu Employee 1. Menambah data employee

2. Melihat data employee

3. Mengubah data employee

Menu Department 1. Melihat daftar department

Menu Settings 1. Melihat data machine

2. Melihat data shift schedule

3. Melihat data login access

4. Menambah login access

5. Menghapus login access

Logout 1. Keluar dari sistem

6.1.2 Rencana Pengujian pada Aplikasi Electrical Control (Desktop Base)

Rencana atau skenario pengujian sistem Aplikasi Electrical Control (Desktop

Base) dengan aktor user dapat dilihat pada Tabel 6.2.

Tabel 6.2 Rencana Pengujian pada Aplikasi Electrical Control (Desktop

Base)

140

Pengujian Jenis Uji

Connection Moxa

E1212

Menghubungkan aplikasi dengan perangkat Moxa

E1212

Read DI (Digital

Input)

Membaca Port DI (Digital Input) Moxa E1212

Set DO (Digital

Output)

Melakukan perintah write Port DO (Digital Output)

Moxa E1212

Attendance Control Melakukan pengecekan jumlah kehadiran Check-In

dan Check-Out, serta melakukan Set DO ke port

tertentu.

Insert Log Menyimpan Log ke database

6.1.3 Rencana Pengujian Efisiensi Penggunaan Listrik

Rencana atau skenario dalam pengujian efisiensi terhadap penggunaan listrik

dapat dilihat pada Tabel 6.3.

Tabel 6. 3 Rencana Pengujian terhadap efisiensi penggunaan listrik

Pengujian Jenis Uji

Perbandingan data

tagihan listrik tiap

bulan

Membandingkan data jumlah tagihan listrik bulan

Juli - Agustus 2018

6.2 Pengujian Sistem

Pengujian dilakukan berdasarkan aktifitas dari aktor user terhadap

Aplikasi Attendance (Web Base) dan Aplikasi Electrical Control (Desktop

Base). Pengujian disini terbagi atas dua skenario yaitu Tes Positif dan Tes

Negatif. Tes Positif dilakukan dengan memasukan data yang benar atau proses

141

yang benar sedangkan Tes Negatif dilakukan dengan memasukkan data yang

salah atau proses yang salah. Pengujian yang dilakukan dapat dilihat pada Tabel

6.3 sampai Tabel 6.14.

6.2.1 Pengujian Sistem pada Aplikasi Attendance (Web Base)

6.2.1.1 Halaman Dashboard

Pengujian dashboard pada Aplikasi Attendance (Web Base) dengan

menggunakan login dapat lihat pada Tabel 6.4.

Tabel 6. 4 Pengujian Dashboard

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Mengakses alamat

Attendance system

dan login, kemudian

buka menu Dashboard

Redirect ke halaman

dashboard.

[x] Diterima

[ ] Ditolak

6.2.1.2 Halaman Login

Pengujian login pada Aplikasi Attendance (Web Base) dengan aktor user

dapat lihat pada Tabel 6.5.

Tabel 6. 5 Pengujian Login

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Pada form login

memasukan data yang

terdaftar :

Username: 1701005

Password: 1701005

Redirect ke menu

dashboard pada

halaman profile.

[x] Diterima

[ ] Ditolak

Tes Negatif Pada form login

memasukan data yang

tidak terdaftar :

Username: test

Menampilkan pesan

error “ Failed !

Username or

password wrong”

[x] Diterima

[ ] Ditolak

142

Password: test

6.2.1.3 Halaman Profile

Pengujian profile pada Aplikasi Attendance (Web Base) dengan

menggunakan login dapat lihat pada Tabel 6.6.

Tabel 6.6 Pengujian Profile

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memilih menu

dashboard dan

submenu profile

Redirect ke halaman

profile.

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak memilih

submenu profile

Redirect ke halaman

lain

[x] Diterima

[ ] Ditolak

6.2.1.4 Halaman Attendance

Pengujian attendance pada Aplikasi Attendance (Web Base) dengan

menggunakan login dapat lihat pada Tabel 6.7.

Tabel 6.7 Pengujian Attendance

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memilih menu

attendance dan

submenu list

attendance

Menambah data

attendance pada

submenu add

attendance

Memilih menu

attendance dan

Redirect ke halaman

list attendance

Data attendance

berhasil ditambahkan

Redirect ke halaman

log attendance

Data attendance yang

dihapus menjadi

hilang

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

143

submenu log

attendance

Menghapus data

attendance

Tes Negatif Tidak memilih menu

attendance

Menambahkan data

attendance yang tidak

sesuai

Redirect ke halaman

lain

Data tidak bisa

disubmit

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

6.2.1.5 Halaman Energy Control

Pengujian Energy Control pada Aplikasi Attendance (Web Base) dengan

menggunakan login dapat lihat pada Tabel 6.8.

Tabel 6.8 Pengujian Energy Control

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memilih menu

Energy Control dan

submenu Sign

Employee Area dan

melakukan Register

Employee Area

Memilih menu

Energy Control dan

submenu Sign

Employee Area

Memilih menu

Energy Control dan

submenu Energy

Status

Data employee area

berhasil ditambahkan

Redirect ke halaman

Employee Area

Redirect ke halaman

Energy Status

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak memilih menu

Energy Control

Redirect ke halaman

lain

[x] Diterima

[ ] Ditolak

144

6.2.1.6 Halaman Check-In Canteen

Pengujian Check-In Canteen Energy Control pada Aplikasi Attendance

(Web Base) dengan menggunakan login dapat lihat pada Tabel 6.9.

Tabel 6.9 Pengujian Check-In Canteen

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memilih menu Check-

In Canteen dan

submenu Add

Canteen Check-In dan

memasukkan data

Check-In Canteen

baru

Memilih menu Check-

In Canteen dan

submenu List Canteen

Check-In

Data Check-In

Canteen baru berhasil

ditambahkan

Redirect ke halaman

data Check-In

Canteen

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak memilih menu

Check-In Canteen

Memasukkan data

yang tidak sesuai

Redirect ke halaman

lain

Data tidak bisa

disubmit

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

6.2.1.7 Halaman Employee

Pengujian Employee pada Aplikasi Attendance (Web Base) dengan

menggunakan login dapat lihat pada Tabel 6.10.

Tabel 6.10 Pengujian Employee

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memilih menu

Employee dan

submenu Add

Employee dan

memasukkan data

Employee baru

Data Employee baru

berhasil ditambahkan

[x] Diterima

[ ] Ditolak

145

Memilih menu

Employee dan

submenu List

Employee

Memilih Edit

Employee, dan

melakukan

pengubahan data

Redirect ke halaman

data Employee

Data Employee

berhasil diubah

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak memilih menu

Employee

Memasukkan data

employee yang tidak

sesuai

Redirect ke halaman

lain

Data tidak bisa

disubmit

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

6.2.1.8 Halaman Department

Pengujian Department pada Aplikasi Attendance (Web Base) dengan

menggunakan login dapat lihat pada Tabel 6.11.

Tabel 6.11 Pengujian Department

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memilih menu

Department dan

submenu List

Department

Redirect ke halaman

List Department

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak memilih menu

Department

Redirect ke halaman

lain

[x] Diterima

[ ] Ditolak

6.2.1.9 Halaman Setting

Pengujian Setting pada Aplikasi Attendance (Web Base) dengan

menggunakan login dapat lihat pada Tabel 6.12.

Tabel 6.12 Pengujian Setting

Skenario Data Masukan Hasil yang diharapkan Simpulan

146

Tes Positif Memilih menu Setting

dan submenu

Machine Setting

Memilih menu Setting

dan submenu Shift

Schedule

Memilih menu Setting

dan submenu Login

Access

Menambahkan data

Login Access baru

dari list employee

Menghapus data

Login Access dari list

yang dipilih

Redirect ke halaman

List Machine

Redirect ke halaman

List Machine

Redirect ke halaman

List Login Access

Data Login Access

berhasil ditambahkan

Data login yang

dipilih berhasil

dihapus

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak memilih menu

Setting

Menambahkan data

login access selain

dari list employee

Redirect ke halaman

lain

Data tidak dapat

ditemukan, dan tidak

bisa disubmit

[x] Diterima

[ ] Ditolak

[x] Diterima

[ ] Ditolak

147

6.2.2 Pengujian Sistem pada Aplikasi Electrical Control (Desktop Base)

6.2.2.1 Connection Moxa E1212

Pengujian connection Moxa E1212 pada Aplikasi Electrical Control

(Desktop Base) dapat lihat pada Tabel 6.13.

Tabel 6.13 Pengujian Department

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memasukkan IP

Address, Port, dan

Timeout yang benar

Muncul status

Connected

[x] Diterima

[ ] Ditolak

Tes Negatif Memasukkan IP

Address, Port, dan

Timeout yang salah

Muncul pesan

Koneksi Gagal

[x] Diterima

[ ] Ditolak

6.2.2.2 Read DI (Digital Input)

Pengujian Read DI (Digital Input) Moxa E1212 pada Aplikasi Electrical

Control (Desktop Base) dapat lihat pada Tabel 6.14.

Tabel 6.14 Pengujian Read DI (Digital Input)

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Memberikan tegangan

5 V pada salah satu

port DI

Indikator lampu DI

pada aplikasi menyala

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak terdapat

tegangan 5 V pada

salah satu port DI

Indikator lampu DI

pada aplikasi mati

[x] Diterima

[ ] Ditolak

148

6.2.2.3 Set DO (Digital Output)

Pengujian Set DO (Digital Output) Moxa E1212 pada Aplikasi

Electrical Control (Desktop Base) dapat lihat pada Tabel 6.15.

Tabel 6.15 Pengujian Set DO (Digital Output)

Skenario Data Masukan Hasil yang diharapkan Simpulan

Tes Positif Menekan tombol

switch DO pada

aplikasi

Remote Switch ketika

ON berubah menjadi

OFF

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak menekan

tombol switch DO

pada aplikasi

Remote Switch ketika

ON tidak berubah

menjadi OFF

[x] Diterima

[ ] Ditolak

6.2.2.4 Attendance Control

Pengujian Attendance Control pada Aplikasi Electrical Control

(Desktop Base) dapat lihat pada Tabel 6.16.

Tabel 6.16 Pengujian Attendance Control

Skenario Data Masukan Hasil yang

diharapkan

Simpulan

Tes Positif Melakukan Absensi

IN dan OUT pada area

tertentu dengan

jumlah yang sama dan

posisi switch dalam

keadaan ON.

Remote switch area

tertentu akan berubah

dari ON menjadi

OFF

[x] Diterima

[ ] Ditolak

Tes Negatif Melakukan Absensi

IN dan OUT pada area

tertentu dengan

jumlah yang tidak

sama dan posisi

switch dalam keadaan

ON.

Remote switch tetap

berada dalam kondisi

ON

[x] Diterima

[ ] Ditolak

149

6.2.2.5 Insert Log

Pengujian Insert Log pada Aplikasi Electrical Control (Desktop Base)

dapat lihat pada Tabel 6.17.

Tabel 6.17 Pengujian Insert Log

Skenario Data Masukan Hasil yang

diharapkan

Simpulan

Tes Positif Melakukan ON/OFF

remote switch (lampu)

dan terjadi perubahan

event.

Aplikasi akan

melakukan record

event log ke dalam

database.

[x] Diterima

[ ] Ditolak

Tes Negatif Tidak melakukan

ON/OFF remote

switch (lampu) atau

terjadi perubahan

event.

Aplikasi tidak akan

melakukan record

event log ke dalam

database.

[x] Diterima

[ ] Ditolak

6.3 Pengujian Data Efisiensi

Pengujian dilakukan berdasarkan data yang disajikan untuk mengetahui

hasil dari efisiensi setelah implementasi sistem. Hasil dari pengujian data

terhadap jumlah tagihan listrik pada bulan Juli 2018 hingga Agustus 2018 dapat

dilihat pada Tabel 6.18

Tabel 6. 18 Pengujian Data Efisiensi

Data Data Masukan Hasil yang

diharapkan

Simpulan

Tes Positif • Tagihan Bulan Juli

2018 : Rp

160.187.023

• Tagihan Bulan

Agustus 2018 : Rp

146.699.681

Tagihan bulan

Agustus 2018 lebih

kecil dari bulan

sebelumnya, yaitu

Juli 2018.

[x] Diterima

[ ] Ditolak

150

BAB VII

KESIMPULAN

7.1 Kesimpulan

Berdasarkan hasil pengumpulan, pengolahan, analisis data dan

perancangan sistem maka dapat diambil kesimpulan bahwa :

1. Program Energy Saving menggunakan IoT Electrical Control dengan

Attendance System dan Pemetaan Ruangan Gedung sangat berguna dalam

melakukan proses kendali terhadap penggunaan energi listrik dengan

memanfaatkan integrasi aplikasi attendance (kehadiran karyawan) yang

memiliki trigger ketika karyawan pada area kerja tertentu sudah melakukan

absensi pulang, secara otomatis kendali kelistrikan (seperti panel atau

lampu) akan berubah switch menjadi OFF. Penggunaan sistem kontrol yang

otomatis ini bisa melakukan penghematan penggunaan energi listrik (energy

saving) yang lebih, dan menjadikan proses kontrol kelistrikan ini lebih

efisien, serta efektif dibandingkan dengan sebelumnya yang masih bersifat

konvensional tanpa ada sistem kendali untuk melakukan kontrol.

2. Aplikasi Attendance (kehadiran) pada Program Energy Saving

menggunakan IoT Electrical Control dengan Attendance System dan

Pemetaan Ruangan Gedung yang dikembangkan dalam tampilan aplikasi

Web lebih dipermudah dalam mengontrol data kehadiran karyawan dan

pengontrolan konsumsi catering secara realtime dari mesin biometric

attendance. Tampilan yang disajikan dalam aplikasi ini bisa berupa grafik

dashboard dan tabel.

151

3. Aplikasi Electrical Control pada Program Energy Saving menggunakan IoT

Electrical Control dengan Attendance System dan Pemetaan Ruangan

Gedung memiliki fungsi untuk melakukan proses kendali terhadap

peralatan hardware IO Logic model Moxa E1212 yang telah diintegrasikan

dengan database attendance (data kehadiran) dari record mesin biometric

attendance.

7.2 Saran

Saran yang dapat diberikan untuk pengembangan Program Energy

Saving menggunakan IoT Electrical Control dengan Attendance System dan

Pemetaan Ruangan Gedung ini selanjutnya adalah sebagai berikut :

1. Sistem ini masih bisa dikembangkan menggunakan kombinasi beberapa sensor

dan penggunaan alat ukur kelistrikan untuk pengembangan menjadi sebuah

sistem smart building.

2. Implementasi dari Attendance system bisa dikembagkan dan diintegrasikan

menjadi sistem HRIS (Human Resource Information System), yang bisa

dilengkapi dengan fitur payroll, leave, dan skill/competence.

3. Pada proses development program disarankan untuk menggunakan metode

interrupt dibandingkan dengan metode looping yang membutuhkan banyak

resource.

152

DAFTAR PUSTAKA

Alamijaya, J. (2017, Mei 19). Tarif Dasar Listrik Naik Rakyat Menjerit. Retrieved

Mei 20, 2018, from Tribun News:

http://kaltim.tribunnews.com/2017/05/19/tarif-dasar-listrik-naik-rakyat-

menjerit

Amphan. (2014, Agustus 03). Arduino Smart Home Automation Android App.

Retrieved from softpowergroup.net:

https://android.epiropo.com/ReadArticle/Read.html#1271079-

arduino.smarthome.automation.html

Chan, E. K., Othman, M. A., & Razak, M. A. (2017). IoT Based Smart Classroom

System. UTeM OPEN JOURNAL SYSTEM, e-ISSN: 2289-8131 , Vol. 9 No.

3-9.

Doherty, A. (2018, Oktober 16). SMARTCITY GREEN BUILDINGS INFO SIGHT.

Retrieved Januari 10, 2019, from TOWNOFRESACA.COM:

http://www.townofresaca.com/building/325/smart-building-supply/smartcity-

green-buildings-info-sight/

Firdausi, A. L., Sumardi, & Christyono, Y. (2012). Aplikasi Sistem Pengendali dan

Manajemen Penjadwal Peralatan Listrik dalam Ruangan. Transmisi, Vol. 2

Hal. 57-62.

Junaidi, A. (2015, Agustus 10). Internet of Things, Sejarah, Teknologi dan

Penerapannya. Jurnal Ilmiah Teknologi Informasi Terapan, Volume I, No 3.

Kementerian Sekretariat Negara RI. (2016, Mei 18). Tiga Sasaran Program Listrik

35.000 MegaWatt. Retrieved Mei 20, 2018, from PresidenRI.go.id:

http://presidenri.go.id/program-prioritas-2/tiga-sasaran-program-listrik-35-

000-megawatt.html

Kisan, B., & S.K., B. (2017, Januari). Zigbee and RFID Based Student Attendance

Monitoring System with Energy Saving. IARJSET, Vol.4, Special Issue 2.

Kosasi, S. (2015). Penerapan Rapid Application Development Dalam Sistem

Perniagaan Elektronik Furniture. Citec Journal, Vol. 2 No. 4.

Lopez P, F. D. (2013). Survey of internet of things technologies for clinical

environments. 2013 27th International Conference on Advanced Information

Networking and Applications Workshops. Barcelona, Spain: IEEE.

153

Phillips, C. L. (1996). Sistem Kontrol Dasar. Jakarta: Erlangga.

Rietsema, D. (2019, April 18). HRIS. Retrieved Juni 18, 2018, from HR Payroll

Systems: https://www.hrpayrollsystems.net/hris/

Tan, J., & Koo, S. G. (2014). A Survey of Technologies in Internet of Things. 2014

IEEE International Conference on Distributed Computing in Sensor Systems

(pp. 269-274). Marina Del Rey, CA, USA: IEEE.

Triboesono, A. (2017). Statistik Ketenagalistrikan 2016 Edisi No. 30 Tahun

Anggaran 2017. Jakarta: Direktorat Jenderal Ketenagalistrikan Kementerian

Energi dan Sumber Daya Mineral.

Wikipedia. (2018, March 2). Penghematan energi. Retrieved from Wikipedia:

https://id.wikipedia.org/wiki/Penghematan_energi