Perancangan Sistem Notifikasi Problem Mesin Produksi via Email

advertisement
Perancangan Sistem Notifikasi Problem Mesin Produksi via Email
berbasis Web
(Studi Kasus : PT Pura Barutama Unit Rotogravure)
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti:
Rino Tri Aji Pamungkas (672012111)
Christine Dewi, S.Kom., M.Cs
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juli 2016
i
ii
iii
iv
v
Perancangan Sistem Notifikasi Problem Mesin Produksi via Email
berbasis Web
(Studi Kasus : PT Pura Barutama Unit Rotogravure)
1)
Rino Tri Aji Pamungkas, 2) Christine Dewi
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: 1) [email protected], 2) [email protected]
Abstract
PT Pura Barutama a growing company, one unit is Rotogravure Unit that has a lot
of production machines. When the machine operator spotted a problem with one of the
machines, operators fix the problem, if it can not be repaired will tell staff manager, if it
still can not be repaired then notified to unit leaders for further action. When the operator
is dealing with the problem on one machine or an operator is not awake or no damage to
the other machine operator did not immediately know the problem causing delays in
production. This can decrease the effectiveness of production and profitability of
production. That requires notification system problems of the production machine via
email, due to PT Pura Group already has a host and your own email server, the system
created using CodeIgniter framework, twitter bootstrap, phpMailer library, and the library
highchart. This research resulted in the notification system via a web-based email that can
help machine operators, staff manager, and the head unit got pemebritahuan in real time
and can improve the effectiveness of production so as to reach the target, or more.
Keyword : Web, Notification, Email, CodeIgniter, PhpMailer, Highchart
Abstrak
PT Pura Barutama merupakan perusahaan berkembang, salah satu unitnya yaitu Unit
Rotogravure yang mempunyai banyak mesin produksi. Ketika operator mesin menemukan
masalah pada salah satu mesin, operator memperbaiki masalah tersebut, jika tidak bisa di
perbaiki akan di beritahukan kepada staff manager, apabila masih tidak bisa diperbaiki
maka diberitahukan kepada pimpinan unit untuk ditindak lanjuti. Ketika operator sedang
menangani masalah pada salah satu mesin atau operator sedang tidak terjaga ada kerusakan
pada mesin yang lain operator tidak langsung mengetahui masalah tersebut sehingga terjadi
keterlambatan produksi. Hal ini dapat menurunkan efektivitas produksi dan keuntungan
produksi. Untuk itu dibutuhkan sistem notifikasi problem mesin produksi via email,
dikarenakan PT Pura Group sudah mempunyai host dan server email sendiri, yang dibuat
menggunakan framework CodeIgniter, twitter bootstrap, library phpMailer, dan library
highchart. Penelitian ini menghasilkan sistem notifikasi via email berbasis web yang dapat
membantu operator mesin, staff manager, dan pimpinan unit serta dapat meningkatkan
efektivitas produksi sehinggan dapat mencapai target ataupun lebih.
Kata Kunci : Web, Notifikasi, Email, CodeIgniter, PhpMailer, Highchart
1)
Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas
Kristen Satya Wacana Salatiga.
2)
Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga.
1
1.
Pendahuluan
Masalah produksi pada mesin sering dijumpai pada setiap perusahaan atau
institusi tertentu. Masalah produksi tersebut sering tidak diketahui cepat oleh pihakpihak tertentu terutama pihak atasan, seperti manager, kepala bagian dan lain-lain.
Pemberitahuan masalah pada produksi mesin diperlukan cepat, agar dapat segera
ditindak lanjuti. Penanganan masalah produksi dapat meningkatkan efektivitas
produksi, hal ini berhubungan erat dengan tingkat keberhasilan suatu perusahaan,
apabila tingkat efektivitas perusahaan tersebut tinggi, maka suatu perusahaan dapat
dikatakan sukses dalam hal memenuhi target produksi [1].
PT Pura Barutama Unit Rotogravure memiliki sekitar 262 mesin produksi dan
pegawai operator mesin ada 30 orang, jadi satu operator mesin menangani kurang
lebih 9 mesin. Staff manager sebagai pemilik mesin produksi ada 5 orang, sehingga
satu staff manager mengatasi 6 orang operator mesin. Staff pimpinan unit
merupakan jabatan tertinggi di dalam unit Rotogravure sehingga pimpinan unit
mengatasi 5 orang staff manager. Kinerja produksi pada mesin sangat
mempengaruhi dalam peningkatan efektivitas produksi barang yang dihasilkan,
sehingga semakin banyak dan semakin cepat produksi yang di hasilkan maka akan
menguntungkan bagi unit Rotogravure atau perusahaan PT Pura Barutama.
Kejadian problem suatu mesin di PT Pura Barutama Unit Rotogravure seringkali di
jumpai, jika di persentasekan dalam sebulan, ada 56-70 mesin produksi bermasalah,
berarti sekitar 24% mesin bermasalah dari jumlah total mesin, dalam satu bulan.
Operator mesin diberikan penjadwalan dalam pengecekan satu persatu kondisi
mesin produksi dan mangatur APKM ( alat pendeteksi kinerja mesin ) yaitu alat
untuk mendapatkan informasi produksi pada mesin yang berjalan. Ketika operator
menemukan masalah pada mesin produksi segera mengubah pengaturan pada
APKM untuk mengganti status mesin menjadi bermasalah dan di beritahukan
kepada teknisi mesin untuk segera diperbaiki, apabila masalah pada mesin tidak
bisa diselesaikan di operator mesin maka akan di beritahukan kepada staff manager
untuk segera ditindak lanjuti, apabila masalah pada mesin masih tidak bisa
diperbaiki di staff manager maka akan di beritahukan kepada pemimpin unit untuk
segera ditindak lanjuti apakah mesin perlu diganti atau tidak.
Dalam penanganan masalah mesin produksi tersebut ada beberapa kendala
yang terjadi seperti : 1) Apabila operator mesin sedang tidak terjaga atau sedang
mengecek satu mesin yang sedang bermasalah dan ada mesin lain yang
ditanganinya juga bermasalah, operator mesin tidak langsung tau jika ada masalah
di mesin produksi tersebut maka harus menunggu operator mesin mengecek mesin
yang lain; 2) Apabila staff manager atau pimpina unit sedang berada di luar kota
dan ada mesin yang sedang bermasalah staff manager dan pimpinan unit tidak
mengetahui hal tersebut, kedua hal tersebut menyebabkan terjadinya keterlambatan
penanganan jika ada masalah pada mesin produksi, sehingga dapat menurunkan
produksi yang dihasilkan, otomatis keuntungan yang di dapat di unit Rotogravure
atau di perusahaan PT Pura Barutama akan menurun.
2
Berdasarkan permasalahan yang ada, maka dibangun perancangan sistem
notifikasi problem mesin produksi via email berbasis web. Sistem akan
mengirimkan notifikasi via email secara otomatis ketika menemui data mesin
produksi yang sedang bermasalah. Notifikasi via email dipilih karena di PT Pura
Barutama sudah mempunyai server dan host email sendiri, sehingga tidak perlu
khawatir akan kebocoran data. Perancangan sistem yang dibuat menggunakan
bahasa pemrograman PHP (Hypertext Preprocessor) dengan arsitektur MVC
(Model View Controller) yang dimiliki framework CodeIgniter. Arsitektur MVC
membuat aplikasi ini menjadi lebih terstruktur. Tampilan pada aplikasi
memanfaatkan framework twitter bootstrap agar lebih menarik dan responsive atau
dapat menyesuaikan dengan device yang digunakan. Aplikasi ini juga
memanfaatkan library phpMailer untuk pengiriman notifikasi via email, lalu
memanfaatkan library Highchart untuk membuat grafik informasi produksi.
Tujuan dari penelitian ini adalah membuat sistem notifikasi via email yang
dapat memberitahukan secara real time pada operator mesin, staff manager atau
pimpinan unit adanya masalah pada mesin produksi. Perumusan masalah dalam
penelitian ini bagaimana membuat dan merancang sistem notifikasi via email pada
mesin produksi secara real time. Aplikasi yang dibuat tidak membahas masalah
kemanan data maupun pada sistem. Batasan dari penelitian ini hanya merancang
sistem notifikasi via email pada mesin produksi berbasis web.
2.
Tinjauan Pustaka
Penelitian berjudul Nagios untuk Monitoring Server dengan Pengiriman
Notifikasi Gangguan Server Menggunakan Email dan Sms Gateway Studi Kasus
Pt. Gamatechno Indonesia Yogyakarta, membahas tentang aplikasi sistem
notifikasi pada monitoring server dengan notifikasi via email dan sms gateway jika
ada gangguan pada server dengan menggunakan nagios, manfaat aplikasi tersebut
untuk membantu admin server jika ada gangguan pada server [2].
Pada penelitian lain yang berjudul Aplikasi Monitoring Jaringan Berbasis
Mobile Web dengan Sistem Notifikasi Berbasis SMS Gateway Studi Kasus Sekolah
Islam Al-Azhar Bumi Serpong Damai, membahas tentang sistem notifikasi berbasis
sms gateway pada jaringan sekolah sehingga membantu administrator dalam
pemantauan jaringan pada sekolah [3].
Dari kedua penelitian terdahulu dibahas mengenai sistem notifikasi, dan
email sebagai teknologi yang digunakan untuk membangun aplikasi. Perbedaan
dari kedua penelitian sebelumnya adalah aplikasi sistem notifikasi ini mengacu
pada masalah produksi pada suatu mesin, dimana notifikasi tersebut dikirimkan
secara otomatis oleh sistem ketika menemui data mesin produksi yang sedang
bermasalah dan pengaturan pengiriman notifikasi pada sistem dilakukan oleh
admin. Aplikasi ini di bagi menjadi dua pengguna yaitu admin atau staff EDP Unit
Rotogravure dan user atau orang yang menerima notifikasi yaitu operator mesin,
staff manager, dan pimpinan unit Rotogravure.
3
Dalam pembangunan sistem notifikasi berbasis web ini, menggunakan
framework css twitter bootstrap sebagai front end. Library ajax jquery sebagai
middle end dan framework php CodeIgniter sebagai back end web. Framework
Codeigniter merupakan sebuah web aplication framework yang bersifat open
source digunakan untuk membangun aplikasi PHP dinamis. Codeiginiter sendiri
dibangun menggunakan konsep Model – View – Controller development pattern.
MVC (Model View Controller) sebenarnya adalah sebuah teknik pemrograman
yang memisahkan alur pikir (bisnis logic), penyimpanan data (data logic), dan
antarmuka aplikasi (presentation logic).
Gambar 1 Flow CodeIgniter [4]
Pada Gambar 1 dijelaskan browser berinteraksi melaului controller.
Controller yang akan menerima dan membalas semua request dari browser untuk
data maka controller akan meminta ke model untuk di tampilkan ke view. Jadi otak
dari aplikasi adalah controller.
Dalam pembangunan sistem digunakan teknologi email sebagai notifikasi,
dengan memanfaatkan library phpMailer. Email adalah Electronic mail (Surat
elektronik), sering disebut e-mail atau email, merupakan metode Store and Forward
dari menulis, mengirim, menerima dan menyimpan surat melalui sebuah sistem
komunikasi elektronik.
Gambar 2 Metode Pengiriman Email [5]
Pada Gambar 2 dapat dilihat metode pengeiriman email yaitu ketika kita
menulis email dari komputer kita, akan dikirimkan ke SMTP server penyedia email,
4
lalu akan dihubungkan ke jaringan internet, selanjutnya dikirimkan melalui POP3
server penyedia email penerima, lalu email sampai di komputer penerima.
Library Highchart memanfaatan web charting yaitu teknologi untuk
membuat grafik pada web yang support pada HTML 5 dan java script. Highchart
dikemas dengan adapter dan pluggable untuk antarmuka kerangka kerja. Sehingga
dapat di masukan kedalam framework jQuery Javascript. Highchart menggunakan
jQuery sebagai dasar kerangka kerja, sehingga diperlukan library jQuery dalam
sebelum menggunakan highchart. Highchart muncul dengan gaya grafis yang
lembut dan lebih berinteraktif [7].
Web adalah suatu metode untuk menampilan informasi di internet, baik
berupa teks, gambar, suara maupun video yang interaktif dan mempunyai kelebihan
untuk menghubungkan (link) satu dokumen dengan dokumen lainnya (hypertext)
yang dapat diakses melalui sebuah browser. Secara umum situs web mempunyai
beberapa fungsi, yaitu fungsi komunikasi, fungsi informasi, fungsi hiburan dan
fungsi transaksi [8].
3.
Metode dan Perancangan Sistem
Pada penelitian ini, akan dilakukan beberapa tahapan penelitian yang secara
garis besar terbagi dalam lima tahapan, yaitu : 1) Analisis kebutuhan dan
pengumpulan data; 2) Perancangan sistem; 3) Pembuatan aplikasi/program; 4)
Implementasi dan pengujian sistem, serta analisis hasil dan pengujian; dan 5)
penulisan laporan dan hasil penelitian [9]. Tahapan dalam penelitian ini dapat
dilihat pada Gambar 3.
Gambar 3 Tahapan Penelitian
Tahap pertama yaitu analisis kebutuhan dan pengumpulan data dilakukan
wawancara kepada staff EDP Rotogravure dan manager Rotogravure serta
pengumpulan data, seperti data informasi produksi dan email yang digunakan oleh
staff PT Pura Barutama, serta kendala-kendala apa saja yang terjadi ketika ada
masalah pada mesin produksi. Tahap kedua yaitu perancangan sistem, tahap ini
meliputi perancangan proses dengan menggunakan Unified Modelling Language
(UML), meliputi diagram use case, dan activity diagram. Perancangan aristektur
dari sistem yang dibangun misalnya arsitektur sistem notifikasi. Perancangan
5
database seperti relasi antar tabel yang dibuat pada database. Tahap ketiga yaitu
perancangan aplikasi/program. Tahap ini dibangun berdasarkan kebutuhan user dan
admin serta rancangan sistem yang telah dibuat pada tahap sebelumnya. Tahap
keempat yaitu implementasi dan pengujian sistem, serta analisis hasil pengujian.
Pada tahap ini sistem yang sudah jadi kemudian diimplementasikan dan diuji, serta
dilakukan analisis pada hasil pengujian. Tahap kedua, ketiga dan keempat
menggunakan sebuah metode pengembangan prototype dalam perancangannya.
Tahap kelima dilakukan penulisan laporan penelitian dan artikel ilmiah. Tahap ini
setiap proses penelitian yang dilakukan didokumentasikan dalam sebuah laporan
hasil penelitian dan artikel ilmiah.
Dalam tahap pembangunan dan perancangan sistem, terdapat tiga jenis desain
aplikasi yang di buat, masing-masing mempunyai levelnya tersendiri, yang pertama
adalah aplikasi yang digunakan oleh admin untuk men-setting notifikasi,
selanjutnya aplikasi yang digunakan admin untuk memonitoring jalannya produksi
pada mesin yang sekaligus mengirimkan notif email kepada user secara otomatis
dari sistem, dan yang terakhir aplikasi yang digunakan user untuk melihat detail
data dari produksi mesin ketika menerima notifikasi.
Metode perancangan yang dipakai dalam pembuatan sistem notifikasi
problem mesin produksi adalah metode prototye. Metode prototype adalah metode
dalam pengembangan rekayasa software yang bertahap dan berulang serta
mementingkan sisi user sistem. Dengan metode ini pengembang dan staff manager
dapat saling berinteraksi selama proses pemuatan sistem dimana prosesnya dapat
dilihat pada Gambar 4.
Gambar 4 Metode Prototype [6]
Tahapan dalam Metode Prototype adalah sebagai berikut: 1) Listen to
Customer. Pada tahap ini dilakukan analisis untuk mendapatkan data apa yang
dibutuhkan customer untuk membangun sistem notifikasi problem mesin, terutama
data penerima notif dan data produksi mesin; 2) Build adalah membangun sistem
berdasarkan perancangan menggunakan Unified Modeling Language (UML).
Sistem dirancang menggunakan UML untuk selanjutnya dibuat aplikasi berbasis
web dan di integerasikan dengan Oracle Database; 3) Costumer Test.Dilakukan
pengujian sistem dengan cara blackbox testing.
Masukan yang dibutuhkan oleh seorang admin untuk memenuhi kebutuhan
sistem ini adalah: 1) Data Setting Notifikasi; 2) Data Penerima Email; 3) Data
Pengirim Email dan 4) Update Notif Status Mesin. Hardware dan software yang
6
akan digunakan dalam membangun sistem ini memiliki spesifikasi: 1) CPU Intel
Core i3-2350M., 2.3Ghz, memory RAM 2GB; 2) Tool Editor untuk membuat Web;
3) Database yang digunakan Oracle; 4) Web browser seperti Mozilla Firefox,
Chrome, Internet Explorer, dll; 5) Framework CodeIgniter; 6) Library PhpMailer;
7) Framework Twitter Bootstrap dan 8) Library J-Query Ajax. Sistem ini dapat
dijalankan pada web browser dengan operating system minimal Windows XP.
Mulai
Operator Mesin mengatur alat
APKM ( alat pendeteksi kinerja
Operator Mesin
menghidupkan
Mesin
mesin )
Apakah ada
masalah pada
mesin ?
ya
Operator mengubah
data status pada
APKM
tidak
Selesai
Gambar 5 Skema Operator Mesin Input Data
Pada Gambar 5 skema operator mesin input data atau mengatur alat APKM
dijelaskan bahwa ketika operator mesin menghidupkan mesin maka operator juga
sekaligus mengatur APKM, jika terjadi masalah pada mesin maka operator juga
mengubah APKM. Informasi data produksi yang di baca APKM akan langsung di
masukan ke database dalam waktu 10 detik sekali pada setiap mesin.
Mulai
Cek Data Produksi
Mesin
Apakah Status
Produksi ?
Apakah status
sebelumnya problem
?
ya
tidak
tidak
ya
Cek Data Setting
Notifikasi
Apakah Di
Notif ?
ya
ya
Tidak
tidak
Sistem Kirim Notif
via Email ke User
bahwa Mesin
Kembali Produksi
Apakah
Problem > n
menit ?
Ya
Sistem Kirim Notif
via Email ke User
bahwa Mesin
Problem
End
Gambar 6 Mekanisme Sistem Notifikasi Problem Mesin
Pada Gambar 6 dijelaskan bahwa notifikasi didapat ketika mengecek data
informasi produksi yang ada di database dan juga ada pengecekan data setting
notifikasi yang ada di database secara real time yaitu setiap 10 detik sekali. Lalu
dilakukan pengecekan pada sistem sesuai dengan alur yang ada pada Gambar 6.
Jika sesuai, maka sistem mengirimkan notfikasi via email kepada user.
7
Insert Data Penerima Notif
Update Data Penerima Notif
<<include>>
<<include>>
Monitoring Notif ikasi Problem Mesin
<<include>>
Delete Data Penerima Notif
Update Notif Status Mesin
Mengolah Data Penerima Notif
View Inf ormasi Produksi
Admin
User
<<include>>
Menerima Notif
<<include>>
Mengolah Data Pengirim Notif
Delete Data Setting Notif
Mengolah Data Setting Notif
Delete Data Pengirim Notif
<<include>>
<<include>>
Update Data Pengirim Notif
<<include>>
<<include>>
Edit Data Setting Notif
Insert Data Setting Notif
Insert Data Pengirim Notif
Gambar 7 Use Case Diagram
Pada Gambar 7 rancangan use case diagram terdapat aktor yang dibagi
menjadi dua yaitu admin dan user. Admin merupakan staff EDP Unit Rotogravure,
yang dapat melakukan beberapa pengolahan di sistem yaitu : 1) Mengolah Data
Penerima; 2) Mengolah Data Pengirim; 3) Mengolah Data Setting Notifikasi; 4)
Monitoring Problem Mesin atau Monitoring Produksi sekaligus mengirmkan notif;
5) Melihat Informasi Produksi. Sedangkan user adalah orang yang menerima notif
dan melihat informasi produksi, yaitu operator mesin, staff manager, dan pimpinan
unit.
Admin
Membuka Setting
Notifikasi
Sistem
Database
Menampilkan Halaman
Utama Setting Notifikasi
Memilih Menu
Menampilkan Tabel Produksi
Kirim Data
Produksi
Menampilkan Grafik Produksi
Mengelola Data Pengirim
Notifikasi
Mengelola Data Penerima
Notifikasi
Simpan
Data
Mengelola Data Setting
Notifikasi
Mengelola Data Status Mesin
Gambar 8 Activity Diagram Admin.
8
Pada Gambar 8 merupaka activity diagram admin untuk mengatur notifikasi
pada sistem yang dibuat. Dimana admin dapat memilih beberapa menu yang
disediakan dan pengaturan notifikasi ini akan disimpan kedalam database.
Gambar 9 Relasi Tabel
Pada Gambar 9 merupakan relasi tabel pada sistem yang dibuat, dimana
terdapat delapan tabel class yang berelasi yaitu : 1) tbl_wa_mesin, digunakan untuk
menyimpan data mesin; 2) tbl_pengirim_email, digunakan untuk menyimpan data
pengirim emal; 3) tbl_penerima_email, digunakan untuk menyimpan data penerima
email; 4) tbl_master_status, digunakan untuk menyimpan data status pada mesin
yang sedang berjalan; 5) tbl_setting_notif, digunakan untuk menyimpan data
pengaturan notif ; 6) tbl_setting_notif_detail, detail dari tabel setting notif; 7)
tbl_record_produksi, digunakan untuk menyimpan data produksi mesin; 8)
tbl_temp_settting_pengirim, digunakan untuk penyimpanan sementara pada saat
mengatur pengirim email.
Sistem
Database
admin
PhpMailer
user
Email Server
Gambar 10 Arsitektur Sistem
9
Pada Gambar 10 merupakan arsitektur sistem yang dibuat dimana sistem
dapat digunakan oleh admin untuk mengatur notifikasi yang terhubung dengan
database dan sistem akan mengirimkan notifikasi ke user dengan memanfaatkan
library phpMailer, yang akan dihubungkan ke server email lalu dari server email
akan mengirimkan pesan via email ke user. Server email yang digunakan adalah
milik PT Pura Group dengan contoh format email : [email protected].
User dapat melihat detail informasi produksi dengan mengakses link yang ada di
notifikasi email.
4.
Hasil dan Pembahasan
Penelitian ini menghasilkan sistem notifikasi via email pada problem mesin
produksi berbasis web yang dibangun menggunakan framework Codeigniter,
framework twitter bootstrap, library Highchart dan libray ajax jQuery sebagai
pendukung pembuatan sistem ini. Dalam pembangunan sistem ini yang perlu kita
siapkan pertama kali adalah framework Codeigniter sebagai back end dalam sistem
yang dibuat. Dengan kosep MVC yang ada di codeigniter sangat membantu
programmer untuk melakukan konsep OOP pada PHP, didalam framework ini
sudah disediakan beberapa permodelan konsep, selain itu CodeIgniter juga sudah
menyiapkan beberapa library yang dapat kita gunakan sebagai pendukung web
yang dibangun.
Gambar 11 Folder framework CodeIgniter
Pada Gambar 11 merupakan isi folder dari framework CodeIgniter yang
dibangun dalam sistem ini. Dalam folder application adalah konfigurasi pertama
yang di lakukan dan yang akan dibangun. Pengaturan sistem dapat dilakukan di
folder config. Lalu untuk menambahkan fungsi model ditaruh di folder model,
begitu juga fungsi controller dan view ditaruh di folder masing-masing.
10
Sesuai dengan perancangan sistem, bahwa aplikasi yang dibuat di bagi
menjadi tiga akses, yaitu :
1)
Setting Notifikasi
Bagian ini yang berhak mengakses adalah admin. Admin dapat memilih
beberapa menu yang disediakan yang dapat dilihat pada Gambar 12.
Gambar 12 Tampilan Menu Setting  Notif
Pada Gambar 12 admin dapat melihat data untuk pengaturan notifikasi dari
setiap mesin yang ada di unit Rotogravure, dimana untuk setiap pengiriman notif
mempunyai level tersendiri. Pada saat admin mengklik salah satu data setting dari
mesin, akan memunculkan tampilan edit setting notifikasi, bisa dilihat pada Gambar
13.
Gambar 13 Tampilan Edit Setting Notifikasi
11
Pada tampilan edit setting notifikasi, admin dapat mengatur notif mesin yang
dipilih, bisa menentukan mesin tersebut akan dinotifkan atau tidak, bisa
menentukan jumlah level penerima notif dan di setiap level bisa mengatur durasi
waktu notif dan siapa saja penerima notif. Lalu admin juga bisa mengatur data
pengirim notif email, seperti pada Gambar 14.
Gambar 14 Tampilan Menu Setting  Pengirim
Pada menu tersebut admin bisa melakukan menambah data pengirim, mengedit data pengirim, dan juga menghapus data pengirim. Akan tetapi disini admin
hanya bisa meng-edit dan menghapus data ketika warna font pada data pengirim
hitam dan tidak blur, jadi ketika salah satu pengirim dipilih pada saat mengatur
setting notif, data pengirim tersebut tidak bisa diubah maupun di hapus.
Pada saat insert data pengirim akan diperintahkan untuk memasukan
password pengirim email. Untuk mengenkripsi data password sistem menggunakan
fungsi mcrypt dengan algoritma RIJNDAEL 256.
Kode Program 1 Fungsi Enkripsi dan Dekripsi Data Menggunakan Algoritma RIJNDAEL 256.
1.
2.
3.
4.
5.
6.
7.
8.
9.
function encryptIt($q) {
$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';
$qEncoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,
md5($cryptKey), $q, MCRYPT_MODE_CBC, md5(md5($cryptKey))));
return( $qEncoded );
}
function decryptIt($q) {
$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';
$qDecoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,
md5($cryptKey), base64_decode($q), MCRYPT_MODE_CBC, md5(md5($cryptKey))),
"\0");
10.
return( $qDecoded );
11.
}
Pada Kode Program 1 merupakan perintah untuk mengenkripsi dan dekripsi
data menggunakan algoritma RIJNDAEL. Baris 1-5 adalah fungsi enkripsi data.
Baris 7-11 merupakan fungsi untuk dekripsi data, kedua fungsi tersebut
mengembalikan nilai string hasil enkripsi atau dekripsi data. Key yang di gunakan
dapat dilihat pada baris 2 dan 8.
Gambar 15 Hasil Enkripsi Data dari Algoritma RIJNDAEL 256.
12
Gambar 16 Tampilan Menu Data SINSE  Grafik SINSE
Pada Gambar 16 merupakan tampilan grafik informasi produksi dengan
memanfaatkan library Highchart.
Kode Program 2 Fungsi Menampilkan Grafik Menggunakan Highchart.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
...
<script src="<?= base_url('dist/js/highcharts.js') ?>"></script>
<script src="<?= base_url('dist/js/exporting.js') ?>"></script>
...
$(function () {
$('#chartSip').highcharts({
chart: {
...
},
title: { text: 'Grafik Sistem Informasi Produksi' },
xAxis: {
...
categories: [<?= $category ?>]
},
yAxis: { title: { text: 'Kecepatan (m/m)' } },
tooltip: {
crosshairs: true, shared: true,pointFormat: '<br><b>Mesin :
{series.name} , Speed : {point.y:,.0f} m/m</b>'
},
credits: { enabled: false },
plotOptions: {
...
},
series: [<?= $dataGrap ?>] });
...
});
Pada Kode Program 2 merupakan fungsi untuk menampilkan grafik
menggunakan highchart yang di buat dalam script javascript. Baris 2 dan 3 perintah
untuk memanggil library highchart pada javascript. Untuk perintah pengaturan
grafik menggunakan library highchart dapat dilihat pada baris 6 – 28. Pengaturan
tersebut sudah disediakan oleh library highchart, sehingga kita hanya panggil
fungsi tersebut dan mengisikan data yang dibutuhakan.
2)
Monitoring Real Time Notifikasi Problem Mesin Produksi
Aplikasi ini ditampilkan hanya pada satu layar komputer saja, yang
digunakan untuk memonitor jalannya produksi pada setiap mesin sekaligus
13
mengirimkan notifikasi via email secara otomatis, dengan pengecekan fungsi
load_data pada data produksi mesin, setiap 10 detik sekali. Fungsi yang di baca
adalah fungsi untuk membaca data mesin produksi yang ada di database, sehingga
ketika ditemukan data mesin produksi yang statusnya sedang problem atau
bermasalah maka sistem akan secara otomatis mengirimkan notifikasi ke user,
dimana pengiriman notifikasi via email, menggunakan library phpMailer yang
sudah disediakan di framework CodeIgniter. Pengecekan fungsi php secara
berulang-ulang di sistem, memanfaatkan code perintah yang disediakan oleh ajax
jQuery. Aplikasi ini jika dijalankan lebih dari satu komputer, maka akan terjadi
penumpukan notifikasi atau duplikat notifikasi. Tampilan monitoring bisa dilihat
pada Gambar 17.
Gambar 17 Monitoring Real Time
Pada Gambar 17, terdapat beberapa bagian tampilan, yaitu : 1) Monitoring
selang waktu problem, pada bagian ini akan menampilkan selang waktu problem
pada setiap mesin jika ada. Problem disini adalah ketika speed mesin 0 m/s ; 2)
Note pengiriman notif, pada bagian ini akan menampilkan pengiriman notif via
email berhasil terkirim atau tidak, disini pengiriman notif berdasarkan level pada
masing-masing mesin ; 3) Data monitoring, pada bagian ini menampilkan data
terkahir dari setiap mesin. Data ini akan muncul jika mesin sudah di atur untuk
notifikasinya dan data produksi mesin ada di database.
Kode Program 3 Fungsi Cek Notif jika Speed = 0 m/m.
1.
2.
3.
4.
5.
6.
7.
8.
...
public function cekNotif($data) {
if (count($data) > 0) {
...
foreach ($data as $row) {
...
if ($row->SPEED == 0) {
...
if ($selisih >= $durasi && $cekStat == 1 && strcasecmp($row->NOTIF, "ya")
== 0) {
...
if ($detMes['flag'] == 0 && $levelNM_now <= $jum_lvl) {
...
echo $this->notif_mod->kirimEmail("Problem",$levelNM_now, $pengirim,
$penerima, $subject, $isi, $getTgl, $row->MESIN, $row->UNIT, $row->DEPT);
...} } }
14
Pada potongan Kode Program 3 adalah perintah untuk mem-filter jika di
dapat data speed mesin menjadi 0 m/s. Perintah pengecekan dan pembacaan data
dapat dilihat pada baris 2 – 4 , jika di dapati speed mesin adalah 0 maka di berikan
perintah untuk pengiriman notifikasi dengan melihat data pengaturan notifikasi
yang di simpan didalam databse, yang dapat di lihat pada baris 5 – 8.
Kode Program 4 Fungsi Cek Notif jika Speed > 0 m/m.
1.
2.
3.
4.
5.
6.
7.
else if ($row->SPEED > 0) {
...
if ($prevStat == 1) {
...
$dDetailSN = $this->notif_mod->dataSetNotDetail($row->MESIN, $i);
if ($selisih > $durasi) {
...
echo $this->notif_mod->kirimEmail("Kembali Produksi",$i, $pengirim, $penerima,
$subject, $isi, $getTgl, $row->MESIN, $row->UNIT, $row->DEPT);
}
...
}
Pada potongan Kode Program 4, di berikan perintah jika speed mesin lebih
dari 0 m/m atau berjalan kembali, maka akan di berkan berikan kondisi jika
memenuhi akan mengirimkan notif email bahwa mesin sudah berjalan kembali
dengan data pengiriman notif yang diambil dari pengaturan notifikasi yang di
simpan didalam database, yang dapat dilihat pada baris 1 – 6.
Kode Program 5 Fungsi loadData Setiap 10 Detik Sekali
1.
2.
3.
i.
b.
4.
5.
function loadData() {
setInterval("my_data();", 10000);
$.ajax({url: baseUrl + "index.php/notif/loadDSM", success: function (result) {
$("#data").html(result);
}
});
}
Pada Kode Program 3 dan Kode Program 4 akan di baca fungsinya setiap 10
detik sekali dengan menggunakan fungsi javascript yang di sediakan di library ajax
jQuery, dapat dilihat pada Kode Program 5.
Kode Program 6 Konfigurasi email pada phpMailer.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
...
$this->load->library('email');
...
public function configEmail($pengirim) {
...
$config['useragent'] = 'PHPMailer';
$config['protocol'] = 'smtp';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['smtp_host'] = '' . $host;
$config['smtp_user'] = '' . $pengirim;
$config['smtp_pass'] = '' . $pass_pengirim;
$config['smtp_port'] = $port;
$config['smtp_timeout'] = 300;
$config['smtp_crypto'] = '' . $crypto;
$config['smtp_debug'] = 0;
$config['smtp_conn_options'] = $smtp_option;
$config['wordwrap'] = true;
...
$this->email->initialize($config); }
15
Pada Kode Program 6 merupakan perintah untuk melakukan konfigurasi
email. Library phpMailer sudah disediakan di framework CodeIgniter sehingga
pada baris 2 dilakukan perintah untuk memanggil library yang sudah di sediakan
pada framework CodeIgniter. Pada baris 5-18 merupakan perintah konfigurasi
email, dengan dibutuhkan data pengirim email seperti alamat email, password ,
host server, port, crypto, dan konfigurasi sertifikat yang di gunakan pengirim. Data
pengirim email di ambil dari tabel pengirim email lalu disesuaikan konfigurasinya.
Untuk isi notifikasi via email bisa dilihat pada Gambar 18. Pada gambar tersebut
dituliskan bahwa mesin sedang bermasalah atau sudah berjalan kembali.
Gambar 18 Tampilan Notifikasi via Email.
3)
Detail Data Produksi Mesin
Aplikasi ini bisa diakses oleh user ketika mendapat notifikasi dari via email.
Dimana link ini bisa di akses ketika terhubung dengan jaringan yang ada di unit
Rotogravure. Pada aplikasi ini terdapat tiga menu, yaitu home, tabel SINSE, dan
grafik SINSE. Untuk fitur-fitur sama dengan menu Data SINSE yang ada di admin.
Gambar 19 Tampilan Responsive pada Menu Home
16
Pada Gambar 19 merupakan tampilan responsive web pada menu home yang
di gunakan user ketikan mengakses link yang dikirimkan melalui notif email.
Tampilan ini menggunakan framework Twitter Bootstrap.
Kode Program 7 Penggunaan Framework Twitter Bootstrap.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
...
<link href="<?= base_url('dist/css/bootstrap.min.css') ?>" rel="stylesheet">
<script src="<?= base_url('dist/js/bootstrap.min.js') ?>"></script>
...
<div class="navbar navbar-invers navbar-fixed-top backHead">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#navbar" aria-expanded="false" aria-controls="navbar"
style="background-color: white;">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar backHead"></span>
<span class="icon-bar backHead"></span>
<span class="icon-bar backHead"></span>
</button>
<a class="navbar-brand" href="<?= base_url("index.php/notif") ?>">
<span class="glyphicon glyphicon-home"></span> SINSE
</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li>
<a href="<?= base_url("index.php/con_oc/pageSetNot") ?>" target="_blank">
<span class="glyphicon glyphicon-cog"></span> Setting
</a> </li> </ul> </div> </div> </div>
Pada Kode Program 7 terdapat perintah untuk menggunakan framework
twitter bootstrap yang dapat diimplentasikan pada script css di html. Baris 2 dan 3
merupakan perintah pemanggilan framework twitter bootstrap. Pada baris 5 – 23
perintah untuk membuat header pada aplikasi yang digunakan user. Perintah
menggunakan tag html, di dalam tag tersebut terdapat pemanggilan class. Class
tersebut diisikan dengan nama – nama class yang sudah di sediakan di framework
twitter bootstrap. Pemanggilan nama class disesuaikan dengan jenis tag yang
digunakan.
Pengujian aplikasi dilakukan untuk menguji fungsi-fungsi aplikasi hasil
implementasi arsitektur dengan melihat use case. Pengujian aplikasi menggunakan
teknik black box, yaitu pengujian fungsional tanpa melihat alur eksekusi program,
namun cukup dengan memperhatikan apakah setiap fungsi sudah berjalan dengan
baik sesuai dengan yang diharapkan. Hal yang diuji dan hasil pengujian dapat
dilihat pada Tabel 1.
Tabel 1 Hasil Pengujian Blackbox.
No
Point
Validasi Input
Data Input
Hasil Uji
Status Uji
1
Manajemen data
setting notifikasi
Data setting
notifikasi
Data setting
notifikasi
Sistem menampilkan data
setting notifikasi beserta
fitur edit, reset, dan search
valid
2
Manajemen data
pengirim
Data pengirim
Data pengirim
Sistem menampilkan data
Pengirim beserta fitur
insert, update, dan delete
valid
17
3
Manajemen data
penerima
Data penerima
Data penerima
Sistem akan menampilkan
data Penerima beserta fitur
update, dan delete
valid
4
Edit data notif
status mesin
Data status
Edit notif ya atau
tidak
Sistem menampilkan data
perubahan notif status
mesin
valid
5
Lihat tabel
produksi di setiap
mesin
Data produksi
Data produksi
Sistem menampilkan tabel
produksi beserta fitur
pagination dan search
valid
6
Lihat grafik
produksi di setiap
mesin
Data produksi
Data produksi
Sistem menampilkan
grafik produksi pada
setiap mesin berserta fitur
zoom in out, search , dan
downlad file.
valid
7
Lihat data
monitoring real
time produksi
mesin
Data produksi
Data produksi
Sistem menampilkan data
monitoring real time
produksi mesin beserta
fitur note time dan status
kirim notifikasi
valid
8
Notif via email
problem mesin
Notif via email
mesin kembali
produksi
Enkripsi
algorithma
RIJNDAEL 256
Data produksi
dan data setting
notifikasi
Data produksi
dan data setting
notifikasi
Data password
Data password
Data Password
Sistem mengirimkan
notifikasi via email ke
user.
Sistem mengirimkan
notifikasi via email ke
user.
Sistem menyimpan
password ke database
sesuai dengan enkripsi
yang dibuat
Sistem akan menampilkan
hasil dekripsi dari enkripsi
password.
valid
9
Data produksi
dan data setting
notifikasi
Data produksi
dan data setting
notifikasi
Data password
10
11
Dekripsi
algorithma
RIJNDAEL 256
valid
valid
valid
Berdasarkan hasil pengujian fungsionalitas program pada Tabel 1, pada setiap
status uji valid berarti dapat disimpulkan bahwa sistem notifikasi problem mesin
produksi via email berbasis web sudah memenuhi tujuan penelitian yaitu sebagai
pemberitahuan problem mesin atau mesin kembali produksi secara cepat dan real
time via email kepada user dengan pengaturan notifikasi dari admin, dapat
dikirimkan secara real time, sehingga dapat segera ditindak lanjuti agar efektivitas
produksi meningkat.
5.
Simpulan
Berdasarkan penelitian yang sudah dilakukan, dapat disimpulkan bahwa
perancangan sistem notifikasi problem mesin produksi via email berbasis web yang
dibuat menggunakan framework CodeIgniter dengan konsep MVC agar lebih
terstruktur dalam konsep pemrograman, framework twitter bootstrap untuk
tampilan agar lebih menarik dan responsive jika di gunakan di device apapun,
library phpMailer untuk mengirimkan notifikasi via email, library highchart untuk
menampilkan data informasi produksi berupa grafik, library Ajax jQuery sebagai
pelengkap sistem, fungsi mcript dengan menggunakan algoritma RIJNDAEL 256
18
untuk enkripsi dan dekripsi data dan juga berdasarkan hasil pengujian, sistem dapat
membantu operator mesin, staff manager, dan pimpinan unit untuk pemberitahuan
problem mesin produksi atau pemberitahuan mesin sudah berjalan kembali secara
real time dan cepat. Sehingga dapat segera ditindak lanjuti agar dapat meningkatkan
efektivitas produksi dan mencapai target produksi ataupun lebih. Dengan begitu
keuntungan yang di dapat oleh unit Rotogravure maupun PT Pura Barutama
meningkat.
6.
Daftar Pustaka
[1] Rakhmadani, D. P. & Wicaksono, S. R. (2015). Sistem Informasi Pengukuran
Efektivitas Produksi Berbasis Web (Studi Kasus : PT. Beiersdorf Indonesia).
Malang : Fakultas Sains dan Teknologi, Program Studi Sistem Informasi,
Universitas Ma Chung.
[2] Asri, N.F, dkk. (2014) . Nagios untuk Monitoring Server dengan Pengiriman
Notifikasi Gangguan Server Menggunakan Email dan Sms Gateway (Studi
Kasus : Pt. Gamatechno Indonesia – Yogyakarta). Yogyakarta : Teknik
Informatika, Fakultas Sains & Teknologi AKPRIND Yogyakarta.
[3] Maula, A. A., dkk. (2013). Aplikasi Monitoring Jaringan Berbasis Mobile Web
dengan Sistem Notifikasi Berbasis SMS Gateway (Studi Kasus : Sekolah Islam
Al-Azhar Bumi Serpong Damai). Jakarta : Program Studi Teknik Informatika
Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah
Jakarta.
[4] Id, Ibnu Daqiqil, M. Ti . (2011) . Framework Codeigniter Sebuah Panduan dan
Best Practice. Pekanbaru
[5] Arifia, Narendro, Skom., MMSI . (2002). E-mail . Jawa Barat : Universitas
Gunadarma.
[6] Pressman, Roger. (2001). Software Engineering A Practitioner’s Approach
Fifth Edition. New York : Mcgraw-Hill.
[7] Kuan, Joe. (2012) . Learning Highcharts. UK : Packt Publishing Lt.
[8] Yuhefizar. (2013) .Membangun Toko Online Itu Mudah. Graha Ilmu.
[9] Hasibuan, Zainal A. (2007) . Metodologi Penelitian Pada Bidang Ilmu
Komputer dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi. Jakarta:
Ilmu Komputer Univesitas Indonesia.
19
Download