Você está na página 1de 7

REMOTE CONTROL BERBASIS BROWSER

DENGAN SERVLET JAVA

Hasanuddin Sirait
Program Studi Teknik Elektro Pascasarjana Universitas Hasanuddin Makassar
Dosen STMIK/AMIK Parna Raya Manado
hsirait@telkom.net, hmpsirait@yahoo.com http:www.hsirait.co.cc

ABSTAK
Tulisan ini menunjukkan bahwa suatu peralatan dapat dilakukan pengendalian
secara kontrol remote melalui suatu pemrograman berbasis web yang
pengoperasiannya melalui instruksi servlet java. Sehingga untuk menentukan
nyala atau padamnya suatu LED yang terdiri dari 8 LED sebagai contoh
dikendalikan melalui web browsing oleh client. Program ini menggunakan palalel
port melalui socket printer 0x378 sebagai communication port. Dengan
perpaduan pemrograman java dibantu oleh html dan xml maka sistem kendali
dapat dilakukan melalui web browsing.

Key Word : Servlet Java, Palalel Port, Browser, Remote Control, LED

A. PENDAHULUAN ini sengaja peneliti menggunakan parallel


eknologi Internet saat ini cukup port 0x378 sebagai object connection,

T memberikan solusi bagi kita dalam


mengatasi permasalahan sehari
hari seiring dengan perkembangan
software yang mendukung. Perkembangan
sehingga
connection,
dapat mengetahui status
kemudian dalam sistem
on/offt, penulis menggunakan sistem digital
bit dengan pembahasan lebih lanjut.
software maka JAVA dengan TOMCAD
yang berfungsi sebagai Servlet dapat B. LANDASAN PIKIR
membaca paralel port. Dengan demikian Agar penerapan sistem remote
sangat tepat dalam pengaplikasian remote control berbasis browser ini bekerja
control. dengan baik, maka penulis memiliki
Sistem remote control dalam landasan pikir seperti berikut :
penelitian ini adalah sistem pemantauan 1. Membuat struktur folder
suatu LED dalam untuk menentukan status 2. Membuat pemrograman dengan html
on/off berbasis browser. Sehingga jarak sebagai sebagai browser.
control dapat dilakukan dengan jauh 3. Membuat pemrograman dengan java
(sesuai kemampuan network conection) sebagai remote control.
Sesuai dengan fungsinya 4. Membuat suatu pemrograman XML
penggunaan servlet bekerja pada port sebagai input status conection active.
comunication control 0x378, untuk serial 5. Sebagai diagram alir landasan pikir,
dan parallel port maka dalam hal penelitian digambarkan sebagai berikut :

-1-
httpServlet (Juniar Supardi,2005), serta
pemrograman XML sebagai Input data.
Sehingga suatu aplikasi remote control
dapat berjalan berbasis web.

D. APLIKASI
Dalam pembuatan program dibawah
ini yang menjadi ketentuan adalah, buat
folder seperti struktur folder berikut ini :

Gambar 1 Diagram alir landasan pikir

Berdasarkan landasan pikir diatas


maka peneliti membangun suatu aplikasi
remote control bebasis browser, sehingga
dengan browsing client dapat melakukan
remote control yang diaplikasikan dengan Gambar 2. Struktur Folder aplikasi
delapan LED sebagai subject.
Setelah dibuat folder diatas maka
kita akan membuat suatu program
C. METODE PENELITIAN index.html dan pilih.html yang diletakkan
Materi yang digunakan dalam pada folder remote, berikut ini adalah file
penelitian ini adalah delapan LED sebagai index.html :
subject, serta bahasa pemrograman HTML
<html>
(HiperText Markup Language) sebagai
<head><title>Menu Utama</title></head>
browser dan pemrograman Java sebagai <body>
object process serta XML (XMarkup <p align=center>
Language) sebagai input status. Alat yang <strong>Menu Utama</strong>
digunakan adalah dua unit komputer <br><hr>
</p>
dengan status server satu buah dan client <p align=left>
satu unit. &#149; <a href="./myRemote?Status=baca">Baca
Untuk membuat suatu remote tatus
control berbasis browser melalui paralel LED</a><br/>
&#149; <a href="pilih.html">Ganti Status
port ini diperlukan bantuan pemrograman LED</a><br/>
HTML sebagai browser, serta </p>
pemrograman XML sebagai Input data. </body>
Sehingga suatu aplikasi remote control </html>
dapat berjalan berbasis web.
. Untuk membuat suatu remote
control berbasis browser melalui paralel Kemudian file pilih.html yang diletakkan
port ini diperlukan bantuan pemrograman pada folder remote :
HTML (HiperText Markup Language)
sebagai browser sehingga dalam
aplikasinya dapat menggunakan

-2-
<head><title>Ganti Status LED</title></head> <option value=0>Padam</option>
<body> </select>
<p align=center> </td>
<strong>Ganti Status LED</strong> </tr>
<br><hr> <tr>
</p> <td>LED #6: </td>
<p align=left> <td>
<form method=post action=./myRemote> <select name=LED6>
<input type=hidden name=Status value=tulis> <option value=->Abaikan</option>
<table> <option value=1>Nyala</option>
<tr> <option value=0>Padam</option>
<td>LED #1: </td> </select>
<td> </td>
<select name=LED1> </tr>
<option value=->Abaikan</option> <tr>
<option value=1>Nyala</option> <td>LED #7: </td>
<option value=0>Padam</option> <td>
</select> <select name=LED7>
</td> <option value=->Abaikan</option>
</tr> <option value=1>Nyala</option>
<tr> <option value=0>Padam</option>
<td>LED #2: </td> </select>
<td> </td>
<select name=LED2> </tr>
<option value=->Abaikan</option> <tr>
<option value=1>Nyala</option> <td>LED #8: </td>
<option value=0>Padam</option> <td>
</select> <select name=LED8>
</td> <option value=->Abaikan</option>
</tr> <option value=1>Nyala</option>
<tr> <option value=0>Padam</option>
<td>LED #3: </td> </select>
<td> </td>
<select name=LED3> </tr>
<option value=->Abaikan</option> <tr>
<option value=1>Nyala</option> <td colspan=2 align=center>
<option value=0>Padam</option> <input type=submit value=Ganti>
</select> &nbsp; &nbsp; &nbsp;
</td> <input type=reset value=Reset>
</tr> </td>
<tr> </tr>
<td>LED #4: </td> </table>
<td> </form>
<select name=LED4> </p>
<option value=->Abaikan</option> <hr><br>
<option value=1>Nyala</option> &#149; <a href=index.html>Index</a>
<option value=0>Padam</option> </body>
</select> </html>
</td>
</tr>
<tr>
<td>LED #5: </td> Kemudian file myParalel.java, yang
<td>
<select name=LED5>
diletakkan pada folder class :
<option value=->Abaikan</option>
<option value=1>Nyala</option>
<option value=0>Padam</option>

-3-
/** String myMsg = myTask("w", s);
* @author Hasanuddin Sirait myWriter(out, myMsg);
* @version 1.00 09/01/21 } else
*/ myWriter(out, "Maaf, request-nya salah...");
import javax.servlet.*; }
import javax.servlet.http.*; String myTask(String Status, String s) {
import java.io.*; int[] aSquare = {1, 2, 4, 8, 16, 32, 64, 128};
import java.net.*; String sMsg = "";
import java.util.*; myIO io = new myIO();
public class myParalel extends HttpServlet { int in , i;
public void init() throws ServletException { if(Status.equals("w")){
// inisialisasi -> padamkan semua LED sMsg += ("Tulis: "+s+"<br><br>");
myIO io = new myIO(); int nAND = 255;
io.outputb(0x378, 0); int nOR = 0;
} StringTokenizer st = new StringTokenizer(s, " ");
public void doGet(HttpServletRequest request, int out;
HttpServletResponse response) String sST;
throws IOException, ServletException { i = 0;
PrintWriter out = response.getWriter(); while(st.hasMoreTokens()) {
response.setContentType("text/html"); sST = st.nextToken();
String Status = request.getParameter("Status"); if(sST.equals("0"))
if(Status==null) nAND -= aSquare[i];
myWriter(out, "Maaf, request-nya salah..."); else if(sST.equals("1"))
else if(Status.toLowerCase().equals("baca")){ nOR += aSquare[i];
String myMsg = myTask("r", null); i++;
myWriter(out, myMsg); }
} else out = io.inputb(0x378);
myWriter(out, "Maaf, request-nya salah..."); out = (out | nOR) & nAND;
} io.outputb(0x378, out);
public void doPost(HttpServletRequest request, }i
HttpServletResponse response) in = io.inputb(0x378);
throws IOException, ServletException { for(i=0; i<8; i++) {
PrintWriter out = response.getWriter(); sMsg += ("LED #"+(i+1)+": ");
response.setContentType("text/html"); if((in & aSquare[i]) > 0)
String Status = request.getParameter("Status"); sMsg += " Nyala";
String LED1 = request.getParameter("LED1"); else
String LED2 = request.getParameter("LED2"); sMsg += " Padam";
String LED3 = request.getParameter("LED3"); sMsg += "<br>";
String LED4 = request.getParameter("LED4"); }
String LED5 = request.getParameter("LED5"); return sMsg;
String LED6 = request.getParameter("LED6"); }
String LED7 = request.getParameter("LED7"); void myWriter(PrintWriter out, String myMsg) {
String LED8 = request.getParameter("LED8"); String sMsg = "";
if(Status==null) sMsg += "<html>\r\n";
myWriter(out, "Maaf, request-nya salah..."); sMsg += "<head><title>Status
else if(Status.toLowerCase().equals("tulis")){ LED</title></head>\r\n";
// null -> diabaikan sMsg += "<body>\r\n";
if(LED1==null) LED1 = "-"; sMsg += "<p align=center>\r\n";
if(LED2==null) LED2 = "-"; sMsg += "<strong>Status LED</strong>\r\n";
if(LED3==null) LED3 = "-"; sMsg += "<br><hr>\r\n";
if(LED4==null) LED4 = "-"; sMsg += "</p>\r\n";
if(LED5==null) LED5 = "-"; sMsg += "<p align=left>\r\n";
if(LED6==null) LED6 = "-"; sMsg += myMsg;
if(LED7==null) LED7 = "-"; sMsg += "</p>\r\n";
if(LED8==null) LED8 = "-"; sMsg += "<hr><br>\r\n";
String s = LED1+" "+LED2+" "+LED3+" "+LED4+" "+ sMsg += "&#149; <a
LED5+" "+LED6+" "+LED7+" "+LED8; href=index.html>Index</a>\r\n";

-4-
dihidupkan, BIOS melakukan self-test yang
sMsg += "</body>\r\n"; salah satunya adalah untuk paralel port.
sMsg += "</html>\r\n"; Untuk keperluan itu, gunakan
out.write(sMsg); method init(). Method init() hanya
out.flush();
}
dijalankan sekali ketika servlet dipanggil
} pertama kali sejak server (dalam hal ini
Tomcat) atau dihidupkan.
Untuk menyalakan atau
Sebelum melakukan kompiler program ini memadamkan LED mudah saja, yaitu
file myIO.class copykan ke folder classes dengan memanfaatkan operasi-operasi
dan file _io.dll ke folder C:\windows, logika sederhana. Untuk menyalakan LED
serta atur setting untuk CLASSPATH digunakan operasi OR dengan 1.
sebagai berikut: Sedangkan untuk memadamkan LED
set CLASSPATH= C:\manado-tomcat-3.2.3\lib\servlet.jar;C: dipergunakan operasi AND dengan 0.
Untuk lebih jelasnya, Tabel berikut :
Kemudian kompiler program java diatas
dengan cara : Tabel 1. Logika menyalakan LED dan
javac myParalel.java pemandaman dan LED.
A B A or B A and B
Untuk membuat aliasnya buat prgram 0 0 0 0
dengan file web.xml pada folder web-inf : 0 1 1 0
1 0 1 0
<?xml version="1.0" encoding="ISO-8859-1"?> 1 1 1 1
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" Jalankan aplikasi tomcat diatas dengan
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> cara :
<web-app>
<servlet>
C:\manado-tomcat-3.2.3\bin\startup
<servlet-name>
myParalel
</servlet-name>
<servlet-class>
E. ANALISA DAN PENGUJIAN
myParalel Pada tahap analisa dan penujian
</servlet-class> hasil program diatas, anda dapat
</servlet>
<servlet-mapping>
memasang suatu rangkaian berikut pada
<servlet-name> soket untuk printer.
myParalel
</servlet-name>
<url-pattern>
/myRemote
</url-pattern>
</servlet-mapping>
</web-app>

Yang perlu diperhatikan adalah kita


harus me-reset data port ketika servlet Gambar 3 Rangkaian soket printer
pertama kali dipanggil sejak server
dihidupkan. Hal ini karena ketika komputer

-5-
Jika tidak sempat membuat rangkaian Dapat juga gunakan DEBUG pada DOS
tersebut, Anda dapat memanfaatkan untuk menguji, apakah perubahan pada
DEBUG untuk melakukan pengujian. Data Port terbaca oleh servlet. Sebagai
Ada dua buah perintah untuk contoh pada DEBUG berikan perintah
melakukan pengujian, yaitu: angka 1 untuk o378, aa (Gambar 6), lalu pada browser
membaca dari suatu port address dan 0 lakukan refresh untuk melihat hasilnya
untuk menulis ke suatu port address. (Gambar 7).
Keterangan lengkapnya bisa Anda
dapatkan dengan mengetikkan perintah ?.
Pada address bar ketik
http://localhost/remote (Gambar 3), lalu
pilih, baca status LED (Gambar 4). Yang
perlu diperhatikan adalah semua LED
harus dalam keadaan padam, karena
kondisi tersebut merupakan hasil
inisialisasi (method init()).
Gambar 6. Test Debug pada DOS 1

Gambar 4 Tampilan port address localhost

Gambar 7. status setelah refresh

Sekarang, kita melakukan pengujian


penulisan ke Data Port, sehingga pada
index.html pilih Ganti Status LED. Lalu isi
form yang tersedia (Gambar 8), klik button
Ganti dan hasilnya sebagai Gambar 9.
Untuk melihat perubahannya mengunakan

Gambar 5 Tampilan pilihan baca LED

-6-
DEBUG ketik perintah i378 dan pada F. PENUTUP
(Gambar 10) terlihat perubahan status Dari aplikasi yang disajikan diatas
setelah refresh: memang cukup sederhana dengan maksud
agar pemahaman lebih mudah. Aplikasi ini
dapat dikembangkan lebih luas dalam
penerapannya dengan penggunaan port
serial.
Dalam rangkaian yang digunakan
dapat berbasis microcontroller dengan
memanfaatkan serial port sebagai media
komunikasi antara PC dengan
microcontroller untuk mengerjakan tugas-
tugas yang lebih kompleks dan
permasalahan yang lebih komplek pula.
Karena aplikasi ini menggunakan
protokol HTTP dan XML, maka dengan
sedikit modifikasi kita dapat membuatnya
sebagai aplikasi WAP, sehingga terciptalah
pengendalian jarak jauh ber-basis WAP.
Gambar 8. Ganti Status LED

DAFTAR PUSTAKA :
- Gunawan, Arisona. 2007. Aplikasi Pemantau
Aplikasi Presensi Mahasiswa Dan Dosen,
Jurnal Dasi Stmik Amikom V.8 No.2.
Yokyakarta.

- Yanuar, Supardi. 2005. Pemrograman


Java 2 SE SDK 1.4. Elex Media
Gambar 9. Test Debug pada DOS 2 Komputindo. Jakarta.

- http://jurnal.unikom.ac.id/prototipe.htm
Friday, March 19, 2006 12:51:32 PM

Gambar 10. Status setelah refresh

-7-

Você também pode gostar