Membangun Aplikasi Web Dengan Java untuk Monitoring Peralatan

Post on 30-Jun-2015

461 views 7 download

Transcript of Membangun Aplikasi Web Dengan Java untuk Monitoring Peralatan

Membangun Aplikasi Web dengan Java untuk Monitoring Peralatan dari Jarak Jauh bagi Pengguna Terbatas (Eddy Julianto)

357

Membangun Aplikasi Web Dengan Java untuk Monitoring Peralatan dari Jarak Jauh bagi Pengguna Terbatas

Eddy Julianto

Teknik Informatika, Fakultas Teknologi Industri, Universitas Atma Jaya Yogyakarta. Jln. Babarsari no 43. FTI-UAJY Yogyakarta 55281, Tlp. 487711 E-mail: eddiedb@mail.uajy.ac.id Abstract

Remote controlling or monitoring is an alternative for people requiring flexibility for controlling or monitoring devices from arbitrary locations. An example for this application is remote controlling via telephone. Another example is using Web and Internet media to control remote devices. This research aims to develop a web application using Java programming language to monitor devices remotely. In this case, the parameters to be monitored include states of target lamps, temperature and light intensity of target rooms. The steps to be carried out in this research are literature reviews, designing, developing, testing and calibration the electronic system, writing codes for the microcontroller. Other activities included serial communication testing using hyperterminal and Serial Demo from Java and writing and testing the application programs including a web-based client application.

Keywords: remote, monitor, web, and Java.

1. Latar Belakang Masalah

Dewasa ini internet/intranet telah mengalami perkembangan sangat pesat, baik dari segi perangkat keras maupun perangkat lunak. Pesatnya perkembangan dunia Internet akhir-akhir ini memicu berkembangnya teknologi baru yang memanfaatkan teknologi jaringan tersebut sebagai media untuk mewujudkan impian manusia akan sebuah pengoperasian peralatan dari tempat lain yang tidak dibatasi oleh jarak maupun ruang (Hartanto, 2001).

Aplikasi pengendalian dari jarak jauh sering disebut dengan nama teleoperasi atau sering pula disebut sebagai teleotomasi. Istilah teleoperasi mengandung dua kata kunci, yaitu ‘tele’ yang berarti jauh dan ‘operasi’ yang berhubungan dengan melakukan aktivitas atau kerja dengan sebuah alat. Jika kedua kata tersebut disatukan, maka akan memberikan makna pengoperasian peralatan dari jarah jauh.

Pengoperasian peralatan dari jarak jauh sangat membantu seseorang yang ingin selalu memonitor keadaan rumah di tempat yang sangat jauh, atau peralatan penelitian yang berada di ruang terpisah, sementara itu dia dapat melakukan kegiatan yang lain. Untuk kondisi sampai saat ini mungkin tidak begitu nampak tingkat kegunaannya, khususnya di Indonesia, karena biaya telekomunikasi masih sangat mahal dibandingkan dengan negara-negara maju, sedangkan untuk menggaji seorang pembantu rumah tangga ataupun tenaga kerja pada umumnya masih relatif murah. Tetapi tidak ada salahnya sedia payung sebelum hujan, artinya membuat aplikasi yang berguna untuk beberapa waktu yang akan datang.

2. Tujuan Penelitian

Tujuan penelitian ini adalah membangun sebuah program aplikasi web dengan bahasa pemrograman Java. Program aplikasi web ini digunakan untuk melakukan pengendalian jarak

Jurnal Teknologi Industri Vol. XI No.4 Oktober 2007: 357-365

358

jauh terhadap peralatan rumah tangga (misalnya lampu) yang dilengkapi dengan sensor suhu dan sensor cahaya. Setiap perubahan suhu yang terjadi disimpan dalam basisdata.

Program di server ada dua yaitu program aplikasi dan program yang dapat diakses melalui web. Program aplikasi bertindak sebagai server bagi program web di server yang digunakan untuk melayani client dalam mengakses perangkat keras terkendali. Dan program aplikasi di server digunakan untuk pengendalian lokal terhadap perangkat keras terkendali. Jadi, sistem pengendalian selain bisa dioperasikan dari jarak jauh melalui web, juga bisa dikendalikan secara lokal oleh program aplikasi yang ada di server.

Agar pengendalian dari jarak jauh dapat terjadi, maka dibutuhkan sebuah penghubung antara program aplikasi pengendali dan program web. Hubungan tersebut dilakukan dengan menggunakan socket. Dengan demikian, setiap halaman web diakses akan selalu menampilkan kondisi terbaru dari peralatan.

3. Batasan Masalah

Untuk memfokuskan pokok bahasan, maka penelitian akan dibatasi oleh beberapa hal sebagai berikut: a. Alat pengendali dibangun dari sebuah mikrokontroler sebagai otak pengendali, sebuah

sensor suhu, sensor cahaya, dan dua buah relay. b. Suhu terbaca akan disimpan dalam basisdata bila terdapat selisih nilai tertentu antara suhu

sebelumnya dan suhu terbaca saat itu. c. Di sisi server terdapat sebuah program aplikasi dengan bahasa pemrograman Java yang

selalu memonitor keadaan peralatan dan sebuah program aplikasi web untuk melayani permintaan dari client.

d. Hubungan antara program aplkasi dan program web menggunakan hubungan client-server. e. Alat pengendali tetap dapat bekerja sekalipun tanpa ada program aplikasi maupun program

web untuk mengendalikan alat tersebut.

4. Landasan Teori Teknologi teleoperasi atau teleotomasi merupakan teknologi yang berhubungan dengan

interaksi antara manusia dengan sistem otomatis dari jarak yang jauh. Sistem atau peralatan yang dikendalikan menggunakan teknologi ini pun bermacam-macam, antara lain robot dan kamera.

Secara garis besar dalam sebuah sistem teleoperasi, terdapat dua buah komponen yang harus dipersiapkan, yaitu bagian pengendali lokal (local site) dan bagian pengendali sisi jauh (remote site). Pengendali lokal merupakan bagian yang menjadi tempat kerja operator dan umumnya diimplementasikan dalam bentuk sebuah komputer yang tidak terhubung langsung dengan peralatan yang dikendalikan, namun terhubung dengan media transmisi tertentu misalnya Internet. Pada bagian ini, untuk mempermudah seorang operator dalam mengendalikan dan mengamati perilaku dari peralatan yang sedang dioperasikan, ditambahkan juga sebuah tampilan visual baik dalam bentuk nyata maupun simulasi.

Bagian berikutnya adalah pengendali sisi jauh. Bagian ini berhubungan langsung dengan peralatan yang akan dikendalikan. Pengendali dari jarak jauh bertugas menerima masukan dari pengendali lokal lewat media transmisi yang terhubung dengannya dan selanjutnya mengolah data yang diterima tersebut menjadi sebuah perintah yang dikenali oleh perangkat yang dikendalikan. Perangkat tersebut selanjutnya melakukan aksi sesuai dengan perintah yang diterimanya.

Gambar 1. menggambarkan hubungan antara pengendali lokal dan pengendali sisi jauh yang diwakili oleh hubungan antara client dan server.

Membangun Aplikasi Web dengan Java untuk Monitoring Peralatan dari Jarak Jauh bagi Pengguna Terbatas (Eddy Julianto)

359

Gambar 1. Hubungan antara client dan server

5. Perancangan Perancangan program dimulai dengan menganalisis kebutuhan, kemudian melakukan

perancangan perangkat elektronik dan program aplikasi dan web. Hasil rancangan untuk perangkat elektronik dalam bentuk diagram blok ditunjukkan pada gambar 2. Form rancangan halaman untuk program aplikasi pada gambar 3. Dan form rancangan untuk program web pada gambar 4.

Gambar 2. Diagram blok pengendali elektronik

. . . .

.

CA

3161

CA

3162

AT89C51

MA

X232

74LS

244

74LS

193

74

LS24

7

Pilih sw

Enter sw

Tx

Rx

Ke D

river

R

ele

Ke

PC

LM35DZ

Jurnal Teknologi Industri Vol. XI No.4 Oktober 2007: 357-365

360

Gambar 3. Form rancangan untuk program aplikasi

Gambar 4. Form rancangan untuk program web

6. Implementasi dan Pembahasan a. Perangkat Keras Pengendali

Dari sisi perangkat keras hasil penelitian sudah memberikan hasil sesuai dengan yang diharapkan. Penampil 7-segmen sudah menampilkan suhu sekitar sensor yang terbaca oleh sensor suhu LM35DZ dengan benar. Mikrokontroler dapat membaca suhu setiap 10 detik, kemudian mengirimkan hasil pembacaan itu ke program aplikasi. Hal ini secara tidak langsung juga menunjukkan bahwa komunikasi antara mikrokontroler dan program aplikasi sudah berjalan dengan baik.

label Device 1 on/off Button on/off 1

label Device 2 on/off

Button on/off 2

combobox Button open port Button close port

Label port com

Button EXIT

File

Help

C

Temperature & Light

Reading Time:

Temperature:

Light Intensity:

Setting

Temperature

Frame atas: atas.htm

Frame kanan: login.jsp

Frame bawah: bawah.jsp

Frame kiri: menu.jsp

Membangun Aplikasi Web dengan Java untuk Monitoring Peralatan dari Jarak Jauh bagi Pengguna Terbatas (Eddy Julianto)

361

Mikrokontroler dapat merespon interupsi sebagai respon terhadap tombol ‘ENTER’ yang

ditekan untuk mengeksekusi hasil pilihan nomor perangkat yang akan diaktifkan atau dinonaktifkan oleh tombol ‘PILIH’. Mikrokontroler dapat mengaktifkan atau menonaktifkan perangkat terkendali sesuai nomor perangkat yang tertampil pada penampil 7-segmen untuk tombol PILIH. Sebagai pengamatan awal, sistem ini belum terhubung dengan driver relay. Untuk mewakili setiap rele yang aktif atau tidak ditunjukkan dengan LED yang nyala atau padam.

Inti dari sistem pengendali utama ini adalah mikrokontroler AT89C51. Mikrokontroler ini menggunakan port 1 sebagai keluaran untuk menghidupmatikan relay melalui driver relay, port 0 untuk menerima sensor arus pendeteksi kondis arus beban, port 2 nibble atas untuk membaca hasil pemilihan nomor piranti secara manual, port 2 nibble bawah untuk membaca keluaran dari ADC CA3162E, kaki P3.7 untuk mendeteksi MSD (most significant digit) apakah pengiriman data baru oleh ADC sudah dimulai.

Fungsi-fungsi internal mikrokontroler yang diaktifkan antara lain Timer 0 dan Timer 1, port serial, dan interupsi 0. Timer 0 digunakan untuk pewaktuan pembacaan suhu dari sensor, kemudian dikirimkan ke program aplikasi. Timer 1 digunakan untuk pewaktuan port serial. Port serial untuk mengaktifkan komunikasi serial. Dan interupsi 0 untuk mengeksekusi pilihan nomor piranti. Alamat vektor standar untuk ketiga layanan subrutin tersebut adalah 0003H untuk interupsi 0, 000BH untuk Timer 1, dan 0023H untuk komunikasi serial.

b. Program Aplikasi

Proses pengendalian dimulai ketika tombol Open Port ditekan, dengan catatan pemilihan port serialnya benar. Pada saat Open Port ditekan, maka ActionListener pada obyek SerialConn merespon dengan mengirimkan kode INIT0 ke mikrokontroler melalui port Serial. Oleh mikrokontroler kode ini direspons sebagai inisialisasi koneksi antara program aplikasi dan perangkat keras pengendali. Gambar implementasi progrm aplikasi dapat dilihat 5.

Gambar 5. Hasil implementasi rancangan

Jurnal Teknologi Industri Vol. XI No.4 Oktober 2007: 357-365

362

Algoritma yang ada dalam mikrokontroler berkaitan dengan proses pengendalian ini adalah sebagai berikut: 1) Mikrokontroler menunggu permintaan koneksi dari program aplikasi melalui vektor layanan

interupsi serial dengan mengaktifkan bit IE (Interrupt Enable). 2) Ketika menerima kode INIT0 dari program aplikasi, maka komunikasi antara program

aplikasi dan perangkat elektronik sudah dimulai. 3) Sembari menunggu kode-kode yang lain, mikrokontroler mengirimkan data suhu dan

intensitas cahaya setiap 10 detik. 4) Kelas SerialConn yang mengimplementasikan interface SerialPortEventListener selalu

menerima kedua jenis data kiriman dari mikrokontroler tersebut dan kemudian menyaringnya, jika data sama dengan data sebelumnya, maka data tidak disimpan dalam basisdata.

Untuk dapat mengendalikan piranti yang terhubung ke mikrokontroler diperlukan kode-kode tersendiri yang dikirimkan program aplikasi kepada mikrokontroler. Kode-kode selain “INIT0” serta fungsinya ditampilkan dalam bentuk Tabel 1.

Tabel 1. Tabel kode-kode fungsi pengendalian

No. Kode Fungsi 1 DATA1 Menghidupkan piranti 1 2 DATA2 Menghidupkan piranti 2 3 DATAa Mematikan piranti 1 4 DATAb Mematikan piranti 2 5 SUHU0 Meminta data suhu 6 EXIT0 Mengakhiri komunikasi

c. Program web Untuk memasuki halaman utama program web untuk monitoring ini diperlukan

autentikasi, dimana pengguna harus memasukkan nama dan password untuk dapat memasuki halaman utaman monitoring. Berikut ini ditunjukkan form login pada Gambar 6.

Gambar 6.Form login

Membangun Aplikasi Web dengan Java untuk Monitoring Peralatan dari Jarak Jauh bagi Pengguna Terbatas (Eddy Julianto)

363

7. Analisa Hasil a. Histori Suhu

Keberadaan histori suhu adalah untuk mencatat setiap perubahan suhu yang terjadi ke dalam basisdata. Suhu yang disimpan adalah suhu yang mempunyai selisih tertentu dengan suhu sebelumnya. Selisih tersebut dapat diatur melalui menu ‘Setting’ submenu ‘Setting Suhu’. Selisih dapat dipilih melalui combobox yang tersedia. Kisaran nilai selisih mulai dari 0,1C sampai dengan 1C dengan derajat kenaikan sebesar 0,1C.

Gambar 7. berikut ini adalah contoh pembacaan histori suhu pada tanggal 5 Maret 2005 dari jam 12:10:00 sampai dengan 13:10:00, dengan selisih pembacaan 0,3C. Program apllikasi secara kontinyu membaca suhu setiap 2 detik.

Gambar 7. Contoh pembacaan histori suhu

Data suhu yang ditampilkan pada tabel di atas bukanlah merupakan data suhu yang dibaca setiap 2 detik. Hanya suhu-suhu terbaca yang mempunyai selisih minimal 0,3C dengan suhu tersimpan sebelumnya yang akan disimpan dalam basisdata. Pada gambar di atas dapat dilihat hubungan antara waktu pembacaan suhu dengan nilai suhu yang disimpan. Selisih waktu simpan pada waktu simpan yang berurutan tidaklah 2 detik, tetapi bervariasi. Hal ini terjadi karena metode penyimpanan data suhu bukan berdasarkan waktu baca, tetapi selisih suhu terbaca saat ini dan suhu tersimpan sebelumnya, yaitu sebesar minimal 0,3C.

b. Kecepatan Akses

Kecepatan akses melalui web browser bervariasi hasilnya, baik untuk server dan client dalam satu komputer yang sama, maupun untuk komputer yang berbeda. Untuk kasus yang pertama, yaitu bila server dan client dalam komputer yang sama, waktu rata-rata yang dibutuhkan untuk menampilkan isi halaman web akibat penekanan tombol adalah 2 detik. Pengukuran waktu ini dilakukan secara manual, yaitu dengan mengamati jam komputer dan perubahan yang terjadi pada browser.

05-03-

12:10: 13:10:

Time Suhu 12:10:00 24.4 12:22:00 24 12:28:00 24.5 12:30:00 24.1 12:32:00 24.4 12:36:00 24.9 12:40:00 25.2 12:54:00 25.6 13:00:00 25.3

Jurnal Teknologi Industri Vol. XI No.4 Oktober 2007: 357-365

364

Kasus yang kedua, yaitu bila komputer server dan client menggunakan 2 komputer yang berbeda dalam lingkungan intranet, waktu yang dibutuhkan untuk menampilkan halaman web akibat dari penekanan tombol bervariasi dari 4 detik sampai dengan 10 detik, dengan waktu rata-rata 7,5 detik.

c. Keamanan Sistem.

Untuk dapat mengakses sistem yang ada di server, terlebih dahulu seseorang harus melakukan login. Sehingga hanya orang-orang yang namanya sudah terdaftar saja yang bisa mengakses sistem monitoring ini. Dan tidak semua orang bisa mendaftarkan dirinya, karena pengaturan user hanya dilakukan oleh pihak admin.

Ditinjau dari apakah sistem yang dibuat cukup aman dari gangguan orang lain, jawabannya adalah belum seratus persen. Hal ini karena sistem belum dilengkapi dengan enkripsi terhadap data yang dikirimkan baik dari server ke client maupun dari client ke server.

d. Hubungan antara Lampu, Fan, Suhu dan Intensitas Cahaya.

Pengamatan hubungan antara Lampu, Fan, Suhu, dan Intensitas Cahaya dilakukan dengan membuat model ruang menggunakan kotak berbahan tripleks berukuran 30x30x20 cm3, dengan dua macam perlakuan yaitu menggunakan lampu bolam berkapasitas 5 watt dan 2,5 watt. Hasil pengamatan disajikan pada Tabel 2. dan Tabel 3. berikut ini.

Tabel 2. Hubungan antara Lampu 5 Watt, Fan, Suhu dan Intensitas Cahaya

No. Lampu Fan Suhu (C) Int. Cahaya 1 OFF OFF 27,6 223 2 OFF ON 25,2 223 3 ON OFF 30,4 431 4 ON ON 26,5 429

Tabel 3. Hubungan antara Lampu 2,5 Watt, Fan, Suhu dan Intensitas Cahaya

No. Lampu Fan Suhu (C) Int. Cahaya 1 OFF OFF 27,4 223 2 OFF ON 25,3 223 3 ON OFF 28,1 338 4 ON ON 25,8 336

Dari hasil pengamatan tersebut dapat diambil suatu kesimpulan, bahwa ada korelasi antara besarnya daya lampu, suhu yang ditimbulkan dan intensitas cahayanya. Semakin besar daya lampu, semakin tinggi suhu yang ditimbulkan intensitas, dan semakin besar intensitas cahayanya. Keberadaan Fan cukup signifikan membantu menurunkan suhu ruang akibat pemanasan oleh lampu.

Intensitas cahaya rata-rata pada saat lampu nyala, untuk daya lampu 5 watt sebesar 430, sedangkan untuk daya lampu 2,5 watt sebesar 337. Suhu yang dicapai pada saat lampu dan fan nyala, untuk daya lampu 5 watt sebesar 26,5C, dan 25,8C untuk daya lampu 2,5 watt.

Membangun Aplikasi Web dengan Java untuk Monitoring Peralatan dari Jarak Jauh bagi Pengguna Terbatas (Eddy Julianto)

365

8. Kesimpulan

Kesimpulan yang diperoleh adalah: a. Tujuan penelitian untuk mengamati suhu dan intensitas cahaya, dan memati/hidupkan

peralatan dari jarak jauh melalui web telah tercapai. b. Komunikasi antara program aplikasi dan program web dilakukan dengan menggunakan

pemrograman socket. c. Keberadaan histori suhu memberi manfaat kepada pengguna agar dapat melihat perubahan

suhu yang terjadi pada tanggal dan waktu tertentu. d. Kecepatan akses rata-rata melalui browser sebesar 2 detik untuk server dan client dalam

satu komputer dan 7,5 detik untuk server dan client pada komputer yang terpisah dalam lingkungan intranet.

e. Tidak semua orang bisa mengakses sistem monitoring ini, tetapi hanya user yang sudah terdaftar saja yang dapat melakukan akses terhadap sistem tersebut.

f. Hubungan antara nyala lampu, daya lampu, fan, perubahan suhu dan intensitas cahaya adalah sebagai berikut: 1) Daya lampu yang berbeda memberikan intensitas cahaya dan suhu yang berbeda pula,

yaitu 223 untuk lampu padam, 430 untuk lampu 5 watt, dan 337 untuk lampu 2,5 watt. 2) Keberadaan Fan cukup signifikan membantu menurunkan suhu ruang akibat pemanasan

oleh lampu. Daftar Pustaka Deitel, M., H., dan Deitel, J., P., 2003, Java: How to Program, Prentice Hall. Hall, Marty, 2001, Core Servlets and JavaServer Pages, Prentice Hall. Hall, V. Douglas, 1986, Microprocessor and Interfacing: Programming and Hardware,

McGraw-Hill, Inc. Hartanto,A.,A., dan Purbo, Onno W., 2001, Teleoperasi Menggunakan Internet, Elex Media

Komputindo. Heywood, Drew, 1996, Networking with Microsoft TCP/IP, New Riders Publishing. Kadir, Abdul, 2004, Dasar Pemrograman Web Dinamis dengan JSP (Java Server Pages), Andi

Offset. Leonardo, Ian, 2003, Seri Belajar Sendiri: Pemrograman Database dengan Java, Elex Media

Komputindo. Putra, Eko, Agfianto, 2002, Belajar Mikrokontroler AT89C51/52/53: Teori dan Aplikasi,

GavaMedia. Rickyanto, Isak, 2004,Pemrograman Database Java dengan JDBC, Andi Offset. Rigg, Geroge, 1988, Microcontroller Handbook, Advanced Micro Devices. Schildt, Herbert, 2001, Java 2: The Complete Reference, Tata McGraw-Hill. Susanto, Budi, 2003, Seri Belajar Sendiri: Pemrograman Client/Server dengan Java 2, Elex

Media Komputindo. Utdirartatmo, Firrar, 2002, Mengelola Database Server MySQL di Linux dan Windows, Andi

Offset.