Makalah Seminar Kerja Praktek PERANCANGAN ANTARMUKA PENCATAT PARAMETER SENSOR TERPUSAT DI WICELL TECHNOLOGIES Alfin Fikaro Yuzak1), Enda Wista Sinuraya2) Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jln. Prof. Sudarto, Tembalang, Semarang, Indonesia email : [email protected] ABSTRAK Dalam perawatan infrastruktur, kesulitan utama dalam maintenis infrastruktur adalah pemangamatan parameter infrastruktur itu sendiri. Kesulitan itu datang dari lokasi infrastruktur yang terkadang terletak di posisi yang sulit dijangkau. Karena itu, dikembangkan sebuah sistem yang ditujukan untuk membaca parameter ukur dari infrastruktur tersebut untuk mempermudah tim maintenis merawat dan memantau infrastruktur tersebut. Sistem ini menggunakan rangkaian mikroprosesor untuk membaca empat sensor. Hasil pembacaan dari empat sensor dengan interval waktu tertentu dikirimkan ke komputer untuk ditampilkan kepada pengguna. Data yang ditampilkan tersebut dikirim juga ke basis data untuk direkapitulasi sebagai bahan evaluasi dan observasi. Setelah diuji coba, antarmuka ini masih perlu dikembangkan lagi agar mampu melakukan antarmuka kombinasi empat atau lebih sensor yang jenisnya berbeda-beda. Pengembangan ke depannya ditujukan untuk kalangan akademisi dan profesional di bidang elektro. Kata Kunci : Sensor, MySQL, C# I. PENDAHULUAN 1.1 Latar Belakang Wicell Technologies adalah perusahaan yang bergerak di bidang telekomunikasi dan sistem informasi. SQUASH adalah salah satu produk perangkat lunak yang bertujuan untuk mencatat parameter ukur infrastruktur yang dapat disimpan, direkapitulasi untuk tujuan benchmarking. Antarmuka pencatat parameter sensor terpusat dibuat sebagai salinan dari SQUASH. Antarmuka pencatat parameter sensor terpusat ini dibuat untuk mempermudah pengguna dalam akuisisi nilai parameter ukur dari infrastruktur, membantu evaluasi dan analisis kondisi dan performa infrastruktur. Sistem ini bekerja dengan menggunakan mikrokontroler untuk akuisisi data dari sensor yang mengukur parameter-parameter dari infrastruktur. Komputer mengendalikan sistem mikrokontroler, berperan sebagai antarmuka antara pengguna dan alat tersebut untuk menampilkan hasil pembacaan sensor, serta konfigurasi alat tersebut. Menggunakan jaringan internet yang terhubung dengan unit komputer yang terhubung dengan alat tersebut, data dikirim setiap interval waktu tertentu ke basis data pusat untuk rekapitulasi. Data yang ditampung di basis data dapat diakses melalui web. 1.2 Tujuan Tujuan dan manfaat penulis melakukan kerja Praktek ini adalah : Tujuan dan manfaat penulis melakukan kerja praktek ini adalah : 1. Mempelajari lingkungan kerja sesuai disiplin ilmu. 2. Merancang antarmuka pencatat parameter sensor terpusat. 3. Memenuhi salah satu matakuliah di Jurusan Teknik Elektro Universitas Diponegoro 1.3 Batasan Masalah Adapun pembatasan masalah dalam laporan ini yatu sebagai berikut: 1) 2) L2F009122, Mahasiswa Teknik Elektro Undip 198012112010121001, Dosen Teknik Elektro Undip 1. Hanya merancang Antarmuka Pencatat Parameter Sensor Terpusat Di Wicell Technologies. 2. Hanya membahas penggunaan Microsoft Visual Studio Express 2010, Proteus, MySQL dalam pembuatan Antarmuka Pencatat Parameter Sensor Terpusat Di Wicell Technologies. 3. Tidak membahas perangkat keras yang digunakan untuk perancangan. 4. Membahas pengujian dengan metode black box, tidak membahas metode white box. II. DASAR TEORI 2.1 PHP PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk pemrograman website, walaupun tidak tertutup kemungkinan untuk digunakan untuk pemakaian lain. PHP merupakan salah satu bahasa server side scripting yang disisipkan di antara bahasa HTML untuk membuat halaman web yang dinamis. Dan karena bahasa berbasis server side, maka PHP akan dieksekusi di server, sehingga yang akan dikirimkan ke web browser adalah hasil dalam bentuk HTML dan kode PHP tidak akan terlihat. 2.2 XAMPP MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Heidi SQL adalah versi Interface dari MySQL. Jika biasanya MySQL dibuat lewat command promp namun, dengan memakai Heidi SQL akan lebih mudah karena hanya dengan klik dan memilih pada antarmuka program tersebut. 2.5 Proteus Proteus adalah sebuah perangkat lunak untuk mendesain PCB yang dilengkapi dengan simulasi PSPICE pada level skematik. Fitur simulasi ini yang digunakan dalam perancangan sistem untuk membantu pengguna menganalisis rangkaian yang di bangun sebelum dicetak kedalam bentuk PCB. Untuk simulasi, proteus menggunakan program ISIS, sedangkan untuk mendesain rangkaian PCBnya menggunakan program ARES. 2.6 Visual Studio Visual Studio adalah perangkat lunak yang digunakan untuk mengembangkan sistem berbasis .net framework menggunakan bahasa pemrograman C#, C, C++, Basic. Untuk pengembangan sistem ini, penulis menggunakan Visual Studio Express 2010 yaitu versi Visual Studio 2010 yang lebih kecil dan bersifat freeware. Agar dapat berinteraksi dengan server basis data MySql, library .net MySql Connector harus ditambahkan ke dalam solution Visual Studio. 2.7 Atmel Studio Perangkat lunak untuk pengembangan sistem tertanam mikrokontroler Atmel AVR dan Atmel ARM Cortex menggunakan bahasa C, C++ atau assembly. Memiliki 1600 contoh dari rakitan ARM dan AVR. Lisensi perangkat lunak ini free dan fitur-fiturnya dapat di tambah dengan mengunduh plug-in dari Atmel Gallery. 2.9 VSPE VSPE (Virtual Serial Port Emulator) adalah perangkat lunak yang mampu membuat hubungan serial port virtual layaknya serial port aslinya bertujuan untuk membantu membuat/menguji aplikasi yang menggunakan fitur serial port 2.10 ATMega 8535 ATMega8535 termasuk dalam prosesor AVR (Alf’s and Vegard’s RISC – Reduced Instruction Set Computing) 8 bit yang memiliki 8-KB flash memory, 544B SRAM, 512B EEPROM, frekuensi maksimum mencapai 16MHz dan beroperasi pada kisaran 4.5 – 5.5V, 32 pin I/O. ATMega8535 memiliki bermacam fitur seperti SPI, Timer 8bit dan 16 bit, komparator, yang terpenting adalah ADC 10 bit 8 kanal dan USART. 2.11 Sensor Temperatur LM35 Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Akurasi ±0.5º C pada suhu kamar dengan maksimal error sebesar ±1º C, Linearitas sebesar 10mV/º C, dikalibrasi dalam derajat celcius (National Semiconductor, Kelvin untuk Texas Instrument), self-heating sebesar 0.08º C, arus output maksimal 10mA. 2.12 Buzzer Buzzer adalah suatu alat yang dapat mengubah sinyal listrik menjadi sinyal suara. Pada umumnya buzzer digunakan untuk alarm, karena penggunaannya cukup mudah yaitu dengan memberikan tegangan input maka buzzer akan mengeluarkan bunyi. Frekuensi suara yang di keluarkan oleh buzzer yaitu antara 1-5 KHz. III. PERANCANGAN APLIKASI PENCATAT PARAMETER SENSOR TERPUSAT 3.1 Konsep Dasar Aplikasi Aplikasi ini menguhubungkan unit rangkaian mikrokontroler dengan sebuah host komputer yang menjalakan aplikasi untuk menampilkan hasil pembacaan sensor sekaligus mengirim data ke database. Kemudian sebuah web untuk menampilkan data-data yang telah dikirim dari aplikasi host komputer. Aplikasi ini menggunakan pembagian level pengguna dan memiliki 3 level pengguna yang masing-masing memiliki keunggulannya masing-masing di tiap aplikasi. Staff adalah pengguna biasa tanpa fitur-fitur otoritas. Sedangkan web admin memiliki fitur otoritas administrasi pada aplikasi web, site admin memiliki fitur otoritas di administrasi pada aplikasi pembaca di host komputer. Gambaran keseluruhan sistem adalah sebagai berikut : Gambar 3.1 Diagram blok seluruh sistem Hubungan antara Rangkaian pembaca dengan Host Komputer disebut Site. Dalam 1 site, terdapat 1 komputer dan 1 unit pembaca. Sedangkan website membaca dari basis data yang diisi oleh banyak site. 3.2 Perancangan Simulasi Hardware Rangkaian unit pembaca dipresentasikan dengan simulasi sepadannya menggunakan ISIS Proteus. Elemen-elemen pada simulasi rangkaian ini adalah Serial Port R232, sebuah mikrokontroler ATMega 8535, 4 buah sensor temperatur LM35 dan 4 buah buzzer sebagai alarm. Gambar 3.2 Diagram blok perangkat keras Algoritma kerja dari rangkaian tersebut adalah 1. Inisialisasi port C, USART dan ADC. 2. Menunggu data dari komputer yang masuk melalui pin RX. 3. Jika data yang diterima berupa huruf ‘E’, maka kirim ‘E’ kembali ke komputer. 4. Jika data yang diterima berupa huruf ‘C’, maka mulai proses konversi ADC. 5. Jika data yang diterima berupa huruf ‘a’, ‘b’, ‘c’ atau ‘d’ maka nyalakan buzzer. 6. Jika data yang diterima berupa huruf ‘w’, ‘x’, ‘y’ atau ‘z’ maka matikan buzzer. 7. Jika proses konversi sudah selesai, maka kirim data ukur sensor kembali ke komputer. 8. Kembali ke tahap 2. Pengiriman dan penerimaan data dilakukan menggunakan transmisi serial. Untuk pengiriman dan penerimaan, rangkaian ini menggunakan fitur USART dari mikrokontroler dengan mode transmisi asinkron. Antarmuka yang digunakan untuk menghubungan rangkaian dengan host komputer adalah RS232 (serial port). Sinyal analog sensor dikonversi menjadi digital menggunakan fitur ADC dari mikrokontroler yang terletak pada port A.0 – port A.7, tetapi hanya menggunakan 4 port teratas (ADC0 – ADC3). Diprogram agar menggunakan ADC clock sebesar 125KHz. Program mikrokontroler dibuat dengan menggunakan Atmel Studio. Untuk USART, register-register mikrokontroler yang dioperasikan antaralain UCSR (USART Control and Status Register) dan UBBR (USART Baud Rate Register). Data-data yang akan dikirim atau diterima berada di register UDR (USART Data Register). Pin RX di mikrokontroler dihubungkan dengan pin RXD dari R232. Pin TX di mikrokontroler dihubungkan dengan pin RXD pada R232. Untuk ADC dari mikrokontroler, registerregister yang diatur adalah ADCSR (ADC Control and Status Register) dan ADMUX (ADC Multiplexer) terutama 2 bit dari rangkaian bit MUX pertama untuk mengatur kanal ADC yang akan dikonversi. 3.3 Perancangan Basis Data Untuk perancangan basis data, konfigurasi basis data pada MySql dilakukan menggunakan phpMyAdmin. Berikut struktur tabel-tabel yang dibutuhkan dalam sistem ini 3.3.1 Tabel installkey Tabel ini menyimpan kunci yang dibutuhkan dalam instalasi site baru. Hanya memiliki 1 buah kolom yaitu installkey itu sendiri. 3.3.2 Tabel sensory Tabel ini digunakan untuk menyimpan data-data sensor yang dikirim dari site-site yang berbeda. Kolom dari tabel ini : a. readID : kolom yang berisikan ID dari entry data sensor. b. siteID : kolom yang menunjukkan ID dari site pengirim c. sensor1 – sensor4 : 4 kolom yang masingmasing mewakili data sensor d. time, date, month, year : kolom berikut menyimpan informasi mengenai waktu dari kapan entry tersebut tercatat di basis data. 3.3.3 Tabel site Tabel ini menyimpan data dari site yang terdaftar didalam sistem. a. ID : kolom ID dari site tersebut b. profile : kolom yang menyimpan machine profile dari suatu site. Enkripsi MD5 c. location : kolom yang menyimpan lokasi dari site tersebut d. name : nama / alias dari site tersebut e. config : kolom yang menyimpan teks konfigurasi dari site tersebut. 3.3.4 Tabel staff Tabel ini menyimpan informasi pengguna yang dapat mengakses sistem ini. a. ID : kolom yang bekerja sebagai primary key b. username : kolom yang menyimpan username dari pengguna, digunakan untuk login sistem. c. password : kolom yang menyimpan password dari pengguna. Enkripsi MD5 d. level : kolom yang menyimpan level hak akses dari pengguna e. name : kolom yang menyimpan nama asli dari pengguna 3.3.5 Tabel utilityrecord Tabel ini menyimpan informasi form permintaan penukaran site. a. target_siteID : kolom yang menyimpan ID dari site yang akan ditukar dengan site yang baru. b. location : menyimpan lokasi (baru atau lama) dari site. c. new_profileID : kolom yang menyimpan kode unik untuk machine profile yang baru dan akan ditukar dengan machine profile dari site yang sudah ada. d. status : kolom mengenai alasan dari pergantian 3.4 Perancangan Perangkat Lunak Untuk perancangan perangkat lunak yang dijalankan di host komputer menggunakan bahasa C# dengan library eksternal .net MySql Connector yang berguna untuk berinteraksi dengan server MySql. Bagian-bagian dari aplikasi ini terlihat pada diagram struktur berikut adalah pChart dan untuk mencetak PDF menggunakan FPDF. 3.4 Pengujian Sistem To be continued... 3.4.1 Pengujian Aplikasi Pembaca Pertama kali masuk aplikasi, pengguna dihadapkan dengan halaman login. Gambar 3.4 Tampilan login Gambar 3.3 Diagram struktur aplikasi pembaca Ada 3 segmen utama dalam aplikasi ini, bagian pertama adalah login. Login berfungsi untuk mem-filter pengguna yang berusaha masuk menggunakan sistem ini. Kemudian setelah pengguna login, maka akan dilanjutkan ke halaman utama untuk mengendalikan unit pembaca. 3.5 Perancangan Web Web dirancang menggunakan Notepad++ atau bisa menggunakan Notepad biasa, kemudian disimpan didalam direktori XAMPP apache, didalam htdocs sebagai direktori root dari server apache tersebut. Struktur dari web tersebut, dimulai dari halaman login, kemudian halaman index sebagai halaman utama dengan fungsi untuk mencari data sensor dengan parameter waktu dan nama site yang terkait. Didalam aplikasi web juga terdapat pembagian fitur berdasarkan level pengguna. Hanya web admin yang memiliki sistem otoritas didalam aplikasi web, sedangkan 2 level pengguna yang sebelumnya dijelaskan memiliki hak yang sama didalam web. Halaman yang dimiliki oleh admin adalah halaman untuk memasang atau menghapus install key, mengatur form penukaran site, dan menghapus site yang terdaftar. Web ini dilengkapi dengan fitur mencetak grafik untuk menyajikan data secara visual. Data yang di cari juga dapat di unduh dalam format PDF. Library untuk mem-plot grafik Apabila pengguna memasukkan salah memasukkan informasi login, maka tulisan “Wrong username or password” akan ditampilkan. Jika benar, maka diteruskan ke form utama. Sebelum aplikasi ini masuk ke form utama, terlebih dahulu di cek machine profile yang terdaftar di host komputer. Apabila tidak ada machine profile, atau profile tidak valid maka akan di berikan opsi. Gambar 3.5 Kotak peringatan Untuk instalasi baru / pergantian site, pengguna harus seorang Site Admin, apabila bukan seorang site Admin maka peringatan berikut akan ditampilkan dan dikembalikan ke halaman login. Gambar 3.6 Kotak peringatan Jika seorang site admin, maka akan ditampilkan form instalasi. Untuk instalasi baru yang harus diisi adalah install key yang merupakan semacam serial code yang diberikan dari web admin. Jika kunci ini tidak sesuai maka site tidak dapat dibuat. Jika cocok, maka pengguna diminta untuk login ulang. nilai sensor melebihi batas, jika tidak alarm nyala ketika nilai sensor dibawah batas. Gambar 3.7 Kotak peringatan Untuk pergantian site, pengguna harus memasukkan site ID yang akan diganti dengan benar. Jika salah akan mengalami error berikut Gambar 3.8 Error Jika berhasil, maka form pergantian akan dikirim ke web agar dapat disetujui / ditolak oleh web admin. Untuk setiap login, apabila belum disetujui akan menghasilkan kotak peringatan. Jika site sudah terinstal, pengguna dapat mengakses form utama. Sebelum aplikasi menampilkan form, aplikasi ini berusaha untuk mengunduh konfigurasi dari database. Jika tidak ditemukan konfigurasi, maka akan menggunakan konfigurasi default kemudian masuk ke form utama. Gambar 3.11 Segmen interval kirim data dan perintah Satuan waktu diatas dalam satuan milisekon (1000ms = 1s). Untuk nilai SQL Submission diharapkan nilainya tidak terlalu kecil, semakin kecil maka aplikasi akan semakin sering mengirim data ke database. Responsiveness Timeout memberikan waktu timeout ketika perintah yang dikirim tidak diberi balasan. Jika melebihi batas waktu tersebut, maka pengiriman data ke SQL akan ditunda. Fitur menyimpan konfigurasi dari aplikasi ini ke database hanya ditampilkan ke site admin. Konfigurasi berhasil disimpan akan memberikan pesan sukses, sebaliknya akan memberikan pesan gagal. Kegagalan tersebut dapat disebabkan salah satunya oleh koneksi ke database tersebut gagal. Peringatan dan error ditampilkan pada kotak teks yang ada dibagian bawah form aplikasi seperti pada gambar berikut Gambar 3.8 Kotak pemberitahuan Sebelum melakukan operasi pembacaan, serial port harus di buka terlebih dahulu. Apabila belum dibuka, maka data tidak dapat dikirim atau diterima. Apabila membuka port yang tidak sah, maka akan menghasilkan error. Untuk kotak isian, terdapat tapis regular expression yang menyaring format input yang salah. Ketika pengguna memasukkan huruf kedalam kotak yang hanya menerima angka, maka huruf tersebut akan di hilangkan. Gambar 3.10 Segmen batas ambang alarm Untuk threshold, memiliki checkbox “over” untuk memilih bagaimana alarm bertindak ketika pembacaan sensor diluar batas. Jika di cek, maka alarm nyala ketika Gambar 3.12 Kotak pemberitahuan Disebelah kanan bawah, terdapat panel yang menunjukkan status alat, port yang terhubung, pembacaan sensor terakhir dan 2 tombol untuk mengirim perintah membaca sensor dan tes koneksi secara manual. Gambar 3.16 Tabel data sensor Di bawah halaman di sisipkan grafik dari data-data yang ada ditabel. Tombol download untuk mengunduh data tersebut dalam bentuk PDF. Gambar 3.13 Panel status 3.4.2 Pengujian Aplikasi Web Untuk aplikasi web, level pengguna yang memiliki otoritas administratif disini adalah web admin, untuk site admin memiliki hak yang sama dengan staff biasa. Pertama-tama halaman yang ditampilkan adalah halaman login. Jika pengguna salah memasukkan informasi login maka pesan gagal ditampilkan. Gambar 3.17 Grafik dan tombol unduh Untuk pengujian fitur-fitur yang dimiliki oleh web admin antara lain pembuatan installkey dan penghapusannya. Membuat install key tidak membutuhkan format spesifik. Ketika kunci yang dimasukkan di site cocok dengan yang sudah terdaftar, maka instalasi dapat dilakukan. Gambar 3.14 Tampilan panel login Setelah login, pengguna dihadapkan dengan halaman index yang berisi menu untuk melakukan pencarian data sensor yang tersimpan di dalam database dari berbagai site. Gambar 3.18 Tabel dari halaman request. Gambar diatas menunjukkan isi dari halaman request. Jika di-approve maka data dari site yang memiliki ID 2 akan diganti dengan data yang diajukan di form pergantian, jika pergantian berhasil maka entry form akan dihapus dari database. Jika di-reject maka entry form akan langsung dihapus. Gambar 3.19 Tabel halaman site Gambar 3.15 Panel pencarian di halaman index Pengguna mengisi field tersebut, kemudian klik submit untuk menampilkan hasil pencarian data sensor dari waktu yang dipilih dan dari site tertentu. Halaman site berisi daftar dari site yang terdaftar. Admin dapat menghapus site yang terdaftar dengan menekan delete. Jika di hapus, maka data sensor yang berkaitan dengan site tersebut juga dihapus. IV PENUTUP 4.1 Kesimpulan Selama merancang, membangun dan menguji sistem ini penulis menarik kesimpulan sebagai berikut : 1. Web Administrator hanya memiliki otoritas di aplikasi web. Pada aplikasi pembaca dikomputer, admin ini disamakan dengan staff biasa. 2. Site Administrator hanya memiliki otoritas di aplikasi pembaca pada komputer. Pada aplikasi web, admin ini disamakan dengan staff biasa. 3. Staff adalah pengguna biasa yang tidak memiliki otoritas lebih pada aplikasi pembaca di komputer maupun aplikasi web. 4. Pengguna dapat menggunakan layanan aplikasi web untuk memantau pembacaan sensor dari semua site yang terdaftar di mana saja menggunakan perangkat jinjing. 5. Administrator dibagi 2 jenis agar keseluruhan sistem ini tidak dapat diexploit oleh sembarang orang. 6. Aplikasi yang dijalankan dikomputer hanya berjalan pada sistem operasi Windows karena menggunakan registry dalam cara kerjanya. 7. Perangkat mikrokontroler mampu mengantarmukakan hingga 8 sensor, akan tetapi di sistem ini hanya menggunakan 4 sensor dan hanya 4 sensor yang diprogram. 8. VSPE digunakan untuk memungkinkan simulasi antara aplikasi pembaca dengan sirkuit pembaca dalam 1 komputer yang sama. 4.2 Saran 1. Sistem ini diharapkan dapat menggunakan modul-modul sensor yang sewaktu-waktu dapat diganti-ganti jenisnya sehingga kegunaannya makin universal. 2. Sistem ini diharapkan dapat berjalan di sistem operasi berbasis Unix yang bersifat free untuk lisensinya. 3. Pengembangan aplikasi ini dapat menggunakan SMS gateway atau Ethernet module untuk memangkas rantai perintah dari unit pembaca hingga ke web. DAFTAR PUSTAKA [1] ATMEL. 2006. ATMega8535(L) Datasheet. San Jose, CA, USA : Atmel Corporation. [2] National Semiconductor. 2013. LM35 Precision Centigrade Temperature Sensors. America : National Semiconductor. BIODATA Alfin Fikaro Yuzak, lahir di Semarang, 7 Agustus 1991. Menempuh pendidikan dasar di SD Negeri 01 Batu Ampar, Jakarta Timur dari kelas 1 hingga pertengahan kelas 3 kemudian karena suatu alasan penulis melanjutkan pendidikan SD dari pertengahan kelas 3 hingga lulus di SD Negeri 02 Kramat Jati, Jakarta Timur. Melanjutkan ke SMP Negeri 150 Jakarta Timur dan pendidikan tingkat atas di SMA Negeri 14 Jakarta Timur, lulus tahun 2009. Dari tahun 2009 sampai saat ini masih menempuh studi Strata-1 di Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Semarang, konsentrasi Teknologi Informasi. Semarang, Desember 2013 Mengetahui dan Menyetujui, dosen pembimbing Enda Wista Sinuraya, ST, MT NIP. 198012112010121001