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