BAB 3 ANALISIS DAN PERANCANGAN 3.1. Analisis Masalah dan Kebutuhan Sistem Sistem yang sedang berjalan saat ini adalah pengawasan genset dengan metode manual dan console connection. Metode manual berarti teknisi genset melihat informasi genset-genset pada panel-panelnya secara langsung. Pengawasan melalui panel ini tidak memberikan informasi yang lengkap, karena tidak semua data pada controller ditampilkan di panel. Untuk melihat data yang lebih lengkap, teknisi dapat menggunakan console connection. Namun ini harus dilakukan satu per satu pada setiap genset. Demikian pula pada aktivitas controlling dapat dilakukan secara manual atau melalui console satu per satu pada setiap controller genset. Permasalahannya dapat dijelaskan bahwa metode monitoring dan controlling yang berjalan saat ini kurang efektif terutama jika terdapat multiple genset yang diinstalasikan. Menurut spesifikasi controller genset produksi Deep Sea Electronics, dijelaskan bahwa controller dilengkapi protokol Modbus sehingga data dapat dikomunikasikan secara serial. Selain itu dispesifikasikan juga bahwa antara satu controller genset dengan yang lainnya dapat terkoneksi dengan kabel serial RS- 485 atau dengan kata lain dapat membentuk suatu CAN. Melalui informasi ini dapat diketahui bahwa seandainya ada satu komputer yang terkoneksi dengan CAN tersebut, maka satu komputer ini dapat menarik data pada multiple genset yang ada dalam CAN serta mengontrolnya. Untuk mewujudkannya diperlukan 42
43 suatu aplikasi yang dapat berkomunikasi dengan protokol Modbus pada controller tersebut. Permasalahan lebih lanjut adalah jika akhirnya sudah diciptakan aplikasi yang dapat berkomunikasi dengan multiple genset, tersedia kemudahan akses dari mana saja. Hal ini tidak lepas kaitannya dengan tuntutan mobilitas yang semakin tinggi serta kemudahan akses dari mana saja. Secara umum sistem ini memerlukan sebuah aplikasi yang dapat mengakses multiple genset pada suatu CAN dan mengembalikan data dari masing-masing genset. Data tersebut akan disimpan dalam database. Mengingat data diperlukan untuk tujuan monitoring, maka data tersebut harus diperbaharui terus menerus. Akhirnya disediakan web interface sebagai tempat bagi user untuk mengakses data monitoring. Web merupakan sarana antarmuka yang terbaik dalam memecahkan masalah, karena selain kemudahan akses melalui browser, ia memungkinkan pengaksesan dari mana saja melalui dukungan jaringan komputer, di samping manfaat lain seperti kemungkinan bagi thin client untuk melakukan aktivitas tersebut. Masalah pertama yang paling kritis adalah mengenai protokol agar client dapat berkomunikasi dengan database yang diperoleh dari genset controller. Informasi yang dikirimkan genset controller melalui protokol Modbus ke daemon hingga sampai ke client yang menggunakan protokol TCP/IP, tentunya memerlukan protokol sebagai penengah komunikasi tersebut. Hal ini berhubungan dengan cara mengolah informasi mentah yang diterima dari protokol Modbus. Persoalan selanjutnya yang perlu dipikirkan adalah latency
44 komunikasi. Tentu saja latency diharapkan seminimal mungkin agar data ditampilkan secara real time. Permasalahan selanjutnya adalah mengorganisasikan data-data yang diperlukan dalam monitoring ke dalam halaman-halaman web. Data-data genset yang diperlukan dalam aktivitas monitoring antara lain: Tabel 3.1. Data Untuk Aktivitas Monitoring Nama Informasi Oil Pressure Coolant Temperature Oil Temperarute Battery Voltage Engine Speed Generator Frequency Generator L1-N Voltage Generator L2-N Voltage Generator L3-N Voltage Generator L1-L2 Voltage Generator L2-L3 Voltage Generator L3-L1 Voltage Generator L1 Current Generator L2 Current Generator L3 Current Generator Earth Current Generator current lag/lead Mains Frequency Generator Phase Rotation Bus Frequency No. Page Page 4
45 Coolant Pressure Fuel Pressure Turbo Pressure Exhaust Temperature Fuel Consumption Generator Total Watts Generator Total VA Generator Total Var Generator Percentage of Full Power Mains Total Watts Engine Run Time Number of Starts Fuel Used Page 5 Page 6 Page 7 Akhirnya, untuk fungsi kontrol diperlukan suatu interface yang berfungsi untuk memindah kontrol mode genset dari automatic menjadi manual atau sebaliknya. Diperlukan juga suatu pencegahan kesalahan untuk aksi redundan dan akses bersamaan dari lebih dari satu user pada genset yang sama. 3.2. Perancangan Database Keperluan sistem database adalah untuk menyimpan berbagai data yang diambil dari semua genset yang terkoneksi pada sistem dan mengetahui bilamana ada perintah kontrol. Oleh karena itu pertama-tama, diperlukan database untuk mencatat daftar genset yang online, kemudian database untuk mencatat setiap hasil retrieve data dari genset dan database untuk mencatat perintah kontrol dari user. Database sistem akan terdiri dari 3 tabel:
46 Tabel 3.2. Rancangan Entity dari tabel ms_slave Nama Tabel : ms_slave Keterangan : untuk mencatat daftar genset yang (pernah) terkoneksi pada sistem dan status terakhir (online / tidak) Atribut Keterangan Tipe Null id_genset Alamat genset (Primary Varchar(3) Tidak Key) status Status genset (1= online, Bina ry(1) Tidak 0= offline) time Tanggal dan waktu record disimpan mode Mode kontrol genset (1= auto, 2= manual) control Perintah kontrol mode dari user (0= tidak ada, 1= auto, 2= manual) Timestamp Cha r(1) Cha r(1) Tidak Tidak Tidak Nama Tabe l : trans Tabel 3.3. Rancangan Entity dari tabel trans Kete rangan : untuk menca ta t se tia p ha sil re trie ve da ta da ri gense t Atribut Keterangan Tipe Null id Nomor record (Primary Integer Tidak Key) id_genset Alamat genset (foreign key) Varchar(3) Tidak id_page Kode page dan offset data Varchar(6) Tidak value Nilai dari data Varchar(20) Ya
47 Tabel 3.4. Rancangan Entity dari tabel ms_page Nama Tabel : ms_page Keterangan : untuk memberikan deskripsi dari kode page dan offset (id_detail pada tabel trans). Tabel ini tidak untung digabungkan dengan trans untuk mengurangi redundansi Atribut Keterangan Tipe Null id_page Kode page dan offset data Varchar(6) Tidak (Primary Key) description Deskripsi dari kode page Varchar(20) Tidak dan offset yang bersangkutan Di bawah ini terdapat Entity Relationship Diagram (ERD) dari perancangan database sistem : Gambar 3.1. Entity Relationship Diagram Database Sistem Di samping database sistem, diperlukan juga database untuk user mengingat user akan mengakses informasi melalui web interface. Database user berguna untuk mendata siapa saja yang berhak mengakses sekaligus menjadi sumber autentikasi bagi web server.
48 Database untuk user hanya akan terdiri dari satu tabel yang berisi field username dan password. Tabel 3.5. Rancangan Entity dari tabel ms_user Nama Tabel : ms_user Keterangan : untuk mendata username dan password untuk autentikasi user Atribut Keterangan Tipe Null id Penomoran (Primary Key) Integer Tidak username Nama identifikasi user Varchar(20) Tidak (unik) password password Varchar(20) Tidak 3.3. Perancangan Sistem Berikut adalah perancangan topologi sistem: Gambar 3.2. Topologi Sistem
49 Topologi dimulai dengan menghubungkan multiple genset satu sama lain. Salah satu dari kumpulan genset yang saling terhubung tersebut akan dihubungkan dengan komputer server. Komputer ini akan secara aktif memonitor genset. Data hasil monitoring akan disimpan pada database yang mana data ini akan disajikan secara online melalui website. Akhirnya data-data hasil monitoring genset akan dapat diakses melalui internet. Multiple genset saling terhubung dengan kabel RS-485. Genset terhubung dengan komputer server melalui port serial (RS-232) pada komputer. Oleh karena itu diperlukan converter dari RS-485 ke RS-232. Komputer server akan aktif secara berkala me-retrieve data dari setiap genset. Hasilnya akan langsung ditampung pada database. Sementara itu diinstalasikan juga web server untuk mempublikasikannya di internet. Melalui web server data juga dapat disajikan up to date secara periodik. Website akan menyajikan data-data genset yang sedang online (terhubung pada sistem dan tidak mati). User yang berkepentingan akan mengakses data monitoring melalui internet. Untuk mengakses data akan dilakukan autentikasi dengan username dan password. Bila autentikasi berhasil, user akan mendapat akses ke halaman utama di mana tersaji data-data monitoring genset. 3.4. Flow Chart Subsistem Sistem yang berjalan dapat dibagi menjadi 3 subsistem. Subsistem pertama adalah proses kerja hubungan antara multiple genset dengan komputer server yang memantau. Subsistem kedua adalah web server yang siap sedia
50 untuk menangani request data mengenai status genset yang tersimpan di database. Akhirnya subsistem terakhir adalah web interface yang berinteraksi dengan user yang berkepentingan mengakses data. Pembagian dalam ketiga subsistem dalam digambarkan sebagai berikut: Gambar 3.3. Subsistem-Subsistem pada Topologi Jaringan
51 3.4.1. Subsistem I Gambar 3.4. Proses Kerja Multiple Genset Dengan Komputer Pemantau Subsistem I memerlukan suatu aplikasi yang dapat aktif memantau genset secara bergantian. Mula-mula aplikasi harus mendata jumlah genset yang terhubung dan online. Setelah itu secara bergantian aplikasi meminta data dari genset tersebut secara terus menerus. Aplikasi memonitor data dari genset pertama hingga genset terakhir yang setelahnya akan berulang ke genset pertama. Selain memonitor, aplikasi ini juga mungkin untuk melakukan kontrol terhadap mode genset (manual/auto). Bila ada user yang memberikan perintah pada kontrol mode genset, aplikasi harus secepat mungkin menangani perintah tersebut.
52 Permasalahan yang mungkin terjadi adalah bila salah satu genset mendadak offline. Aplikasi harus dengan cermat menangani keadaan tersebut. Berikut adalah flowchart proses pada subsistem yang pertama: Gambar 3.5. Flow Chart Subsistem I Demikianlah cara kerja perancangan secara teknis. Sistem akan melakukan polling untuk mengetahui genset mana saja yang sedang online. Selanjutnya alamat genset-genset yang sedang online akan dicatat dalam database. Setelah mendata genset-genset yang online, dimulailah monitoring genset secara satu per satu dimulai dari alamat yang paling kecil. Setiap selesai me-retrieve data, sistem akan
53 menyimpannya dalam database dan beralih ke genset berikutnya. Demikian seterusnya hingga genset terakhir dan berulang ke genset pertama. Jika ada genset yang tidak merespon permintaan, maka sistem akan menghitung kegagalan tersebut dimulai dari nol kemudian beralih ke genset berikutnya. Suatu genset akan dinyatakan offline apabila dia tidak memberikan respon hingga pada putaran ketiga. Segera genset yang dinyatakan offline akan dicatat pada database. Sebelum aplikasi melanjutkan akses data ke genset berikutnya, ia akan melakukan fungsi kontrol jika ada. Hal ini dimaksudkan agar ketika ada perintah kontrol dari user, aplikasi dapat menangani secepat mungkin. Di bawah ini adalah flowchart kerja sistem dalam hal pengontrolan: Gambar 3.6. Flow Chart Fungsi Kontrol Subsistem I
54 Aplikasi akan mengakses database untuk mengetahui bila ada perintah kontrol dari user yang tercatat. Jika tidak ada, ia akan melanjutkan proses akses data ke genset berikutnya. Fungsi kontrol akan dilakukan satu per satu bergantian. Kegagalan mengontrol satu genset yang sama secara 3 kali berturut-turut akan menyebabkan sistem mengabaikan kontrol terhadap genset tersebut dan melanjutkan ke tugas berikutnya. 3.4.2. Subsistem II Gambar 3.7. Proses Kerja Web Server Subsistem ini merupakan proses kerja yang terdapat dalam web server. Pada sistem inilah permintaan user/client akan data monitoring
55 genset ditangani. Sistem ini tidak berinteraksi langsung dengan genset untuk menyajikan datanya, melainkan menampilkan data dari database yang terus menerus di-update oleh subsistem yang pertama. Web server juga memiliki fasilitas untuk menangani permintaan kontrol mode genset dari user. Sistem ini juga tidak berinteraksi langsung dengan genset yang hendak dikontrol. Berikut ini adalah flowchart dari sistem kerja web server untuk mengakses data: Gambar 3.8. Flow Chart Subsistem II
56 Proses dimulai dengan mengakses database untuk mengetahui daftar alamat genset-genset yang sedang online. Kemudian sistem akan menampilkan alamat semua genset yang sedang online beserta sebagian data monitoring tiap genset tersebut. Informasi yang ditampilkan ini akan di-refresh setiap 5 detik. Jika tidak ada genset yang sedang online, maka akan ditampilkan sebaris pesan bahwa tidak ada genset yang sedang online pada halaman yang sama. Demikian karena halaman ini di-refresh setiap 5 detik, maka jika pada interval waktu berikutnya terdapat genset yang online, informasi akan segera ditampilkan. Untuk menampilkan data monitoring yang lebih lengkap, user dapat memilih salah satu genset yang sedang online. Data monitoring yang ditampilkan juga akan di-refresh setiap 5 detik sekaligus untuk memastikan bahwa ia masih online. Jika tidak akan ditampilkan sebaris pesan, dan user dapat menavigasikan kembali pada halaman utama dimana terdapat daftar genset yang sedang online. Berikut ini adalah flowchart dari sistem kerja web server untuk menangani permintaan kontrol dari user:
57 Gambar 3.9. Flow Chart Fungsi Kontrol Pada Subsistem II Pengontrolan dimulai dengan mengakses database mengenai genset mana saja yang online. Hanya genset yang sedang online yang dapat dikontrol. Pengecekan ini dilakukan berkala setiap 5 detik. Kemudian server akan menyajikan list genset yang online serta fungsi kontrol yang mungkin dilakukan. Perintah user terhadap suatu genset akan segera dicatat dalam database. Permasalahan yang mungkin muncul dan perlu diantisipasi adalah perintah redundan. Misalnya genset sedang melakukan perpindahan
58 mode kontrol ke auto dan ada user yang memberikan perintah kontrol yang sama. Demikian juga jika genset sudah berada dalam mode kontrol auto dan user ingin memberikan perintah yang sama. Untuk mengantisipasinya diberikan algoritma sebagai berikut ketika hendak menyajikan daftar genset dan fungsi kontrolnya: Gambar 3.10. Flow Chart Antisipasi Perintah Redundan Pada Subsistem II Sistem akan mengecek apakah genset sedang sibuk (melakukan perpindahan mode). Jika ya, maka sementara fungsi kontrol tidak diberikan. Pada refresh berikutnya, ketika genset sudah selesai melakukan perpindahan mode, barulah fungsi kontrol dimungkinkan.
59 User akan diberikan informasi mengenai mode kontrol genset yang sedang berjalan sekarang, dan fungsi untuk mengganti mode kontrol. 3.4.3. Subsistem III Gambar 3.11. Proses Kerja Website dengan Data Monitoring Genset Subsistem ini merupakan website sebagai interface client untuk melihat data monitoring genset. Tentunya agar data aman dari akses sembarang orang, user perlu melalui proses autentikasi. Berikut adalah flowchart subsistem ini:
Gambar 3.12. Flow Chart Subsistem III 60
61 User akan disambut dengan halaman login dan diharuskan mengisi username dan password sebagai komponen autentikasi. Bila autentikasi berhasil, maka akan diciptakan session untuk user tersebut sebagai hak untuk mengakses data dan beralih ke halaman utama, jika gagal user akan diumpankan kembali ke halaman login. Pada halaman utama akan ditampilkan beberapa data monitoring beserta menu untuk mengakses data lainnya. Setiap kali data hendak diakses, akan dilakukan pengecekan session. Jika tidak ada session atau session telah expired, maka data tidak akan ditampilkan dan user diumpankan kembali ke halaman login. Pengecekan ini berfungsi untuk menanggulangi usaha user yang tak berwenang untuk mengakses halaman dengan langsung mengetikkan URL lengkap beserta parameternya. Untuk mengakhiri akses user dapat melakukan log off untuk menutup session dan kembali kepada halaman login. Di bawah ini adalah perancangan sitemap untuk website tersebut sehubungan dengan pengorganisasian data-data monitoring: Gambar 3.13. Diagram Sitemap Website
62 Keterangan: - Data monitoring yang ditampilkan ialah berdasarkan page - Untuk setiap page akan ditampilkan seluruh genset yang online beserta sebagian data dari page yang bersangkutan - Detail data setiap page ditampilkan per genset yang dipilih Di bawah ini disajikan juga State Transition Diagram dari subsistem ini:
Gambar 3.14. State Transition Diagram Subsistem III 63
64 Perancangan layar untuk website adalah sebagai berikut : Halaman login: Halaman utama (page#4) Gambar 3.15. Rancangan Input Form Login Gambar 3.16. Rancangan Output Page 4 (Basic Instrumentation)
65 Halaman detail genset pada page#4 Gambar 3.17. Rancangan Output Detail Page 4 (Basic Instrumentation) Halaman page#5 Gambar 3.18. Rancangan Output Page 5 (Extended Instrumentation)
66 Halaman detail genset pada page#5 Gambar 3.19. Rancangan Output Detail Page 5 (Extended Instrumentation) Halaman page#6 Gambar 3.20. Rancangan Output Page 6 (Derived Instrumentation)
67 Halaman detail genset pada page#6 Gambar 3.21. Rancangan Detail Output Page 6 (Derived Instrumentation) Halaman page#7 Gambar 3.22. Rancangan Output Page 7 (Accumulated Instrumentation)
68 Halaman detail genset pada page#7 Gambar 3.23. Rancangan Detail Output Page 7 (Accumulated Instrumentation) Halaman Kontrol Mode genset Gambar 3.24. Rancangan Interface Kontrol Mode