You are on page 1of 30

LAPORAN KERJA PRAKTEK

Sistem Kontrol berbasis Web Melalui


Paralel Port Linux

Grup Fisika Teoritik dan Komputasi
Pusat Penelitian Fisika ­ LIPI
 

Laporan ini disusun sebagai 
salah satu persyaratan kelulusan mata kuliah
Kerja Praktek

Oleh:
Gheyb Jhuana  1110000168

Sekolah Tinggi Teknologi Telekomunikasi
Bandung
2004
I.1 Latar Belakang
I.1.1 Latar belakang sistem kontrol
Pada  umumnya   sistem   kontrol   bersifat    proprietary,  artinya   perangkat  lunak
datang   satu   paket   dengan   perangkat   kerasnya.   Aplikasi   sistem   kontrol   ini   sudah
merambah   keseluruh   segi   kehidupan,   dari   yang   paling   sederhana   sampai   sistem
kontrol   kompleks yang dapat menjalankan mesin­mesin di pabrik. Sebagai contoh,
untuk   standar   industri   biasa   digunakan   PLC   (Programable   Logic   Controller)   dan
SCADA (Supervisory Control and Data Acquisition) sofware.
Pada   prinsipnya   semua   sistem   kontrol   memiliki   fungsi   yang   sama   yaitu
melakukan   tugas­tugas   secara   otomatis   berdasarkan   input,   kondisi,   dan   jadwal
tertentu. Umumnya sistem kontrol menggunakan jaringan sendiri khusus untuk data
kontrol. Komunikasi data dengan komputer bisa juga dilakukan melalui serial port
atau parallel port, dimana serial port hanya mengirimkan data satu arah saja secara
seri sehingga membutuhkan waktu yang lama dalam proses transmisi datanya. Hal
tersebut dapat dittupi oleh parallel port yang dapat mengirim data secara simultan.
Pada beberapa aplikasi sistem kontrol, akses benar­benar dibatasi dari local host
terminal saja. Pertanyaannya apakah bisa dilakukan kontrol dari jarak jauh, dimana
kita melakukan kontrol dari terminal komputer yang berada di lokasi berbeda dengan
instrumennya   misalnya   dengan   menggunakan   jaringan   LAN   atau   bahkan   internet.
Untuk menjalankan sistem kontrol yang seperti ini sangat memungkinkan sekali dapat
dilakukan   dengan   menggunakan   interface   program   yang   dapat   menjembatani
pengguna melalui web browser pada remote terminal. Interface program ini disebut
CGI (Common Gateway Interface).

1
I.1.2 Latar belakang  linux
Linux   merupakan   salah   satu   sistem   operasi   alternatif   yang   efisien..   Sistem
operasi yang dapat diperbanyak tanpa harus mengeluarkan biaya pembelian software.
Pada saat ini linux sudah sangat memenuhi pasar sebagai suatu sistem operasi yang
tidak hanya untuk keperluan server, tetapi juga dapat dipakai untuk keperluan kantor
(office).   Perkembangan   sistem   operasi   linux   yang   sangat   cepat   membuat   linux
semakin user friendly (mudah didalam pengoperasiannya). Linux merupakan sistem
operasi open source gratis, customable (dapat di gunakan   dan dapat bekerja pada
hampir semua jenis/tipe komputer yang ada saat ini.
Untuk   keperluan   server,   linux   merupakan   pilihan   yang   baik   sebagai   server
hosting internet. Yang dimaksud dengan server hosting adalah server yang mampu
menampung dan melayani berbagai jasa internet yaitu DNS (Domain Name Server),
web,  e­mail,   FTP,   SSH  dan   database.   Selain   itu,  untuk   penggunaannya   kita  tidak
memerlukan komputer tercanggih, minimal processor 385DX dengan 4Mbytes RAM
dan  40Mbytes hardisk sudah cukup untuk kernel linux.  

I.1.3 Latar belakang  web
Web merupakan suatu layanan yang digunakan baik oleh pengunjung situs web
maupun pemilik situs web (client/server). Web server akan mensuplai informasi yang
diminta dan web browser bertugas menampilkan informasi tersebut. Web tergantung
pada tiga protokol yang fundamental yaitu:
1. Skema penamaan alamat web yang konsisten sumber informasi yang tersebar di
internet dapat diidentifikasikan melalui URL (Uniform Resource Locator)
2. Mekanisme untuk mengambil informasi melalui alamat dokumen hypertext yang
ditulis   dengan   HTML,   dapat   diambil   dari   web   dengan   menggunakan   HTTP
(Hypertext Transfer Protocol). Lalu dokumen tersebut dikirim melalui jaringan
dengan  TCP/IP (Transmission Control Protocol/Internet Protokol). 

2
3. Metoda   untuk   menampilkan   isi   informasi     dari   dokumen   ditulis   dengan
menggunakan HTML (Hypertext markup Language).
Dalam   perkembangannya,   web   tidak   hanya   bisa   mengakses   dokumen   yang
bersifat statis tapi juga yang bersifat dinamis bisa diakses sehingga dokumen yang
ditampilkan tergantung dari inputan HTTP request yang dikirim oleh pengguna. CGI
memungkinkan   web   server   untuk   menjalankan   program   sebagai   respon   terhadap
HTTP request. Output dari program ini akan dikirim kembali kepada web browser
pengguna. 

I.2 Perumusan Masalah dan Batasan Masalah
Dalam   laporan   ini   akan   dibahas   mengenai   sistem   kontrol   parallel   dengan
menggunakan interface web under linux. Linux yang digunakan adalah linux SuSE 9.0
dengan   pertimbangan   sistem   operasi   ini   sudah   sangat   mendukung     CGI   (common
gateway   interface),   yang   bisa   ditulis   dengan   bahasa   program   C   atau   perl   (Practical
Extraction and Report Language) yang penulis gunakan untuk membuat pemrograman
parallel. Dalam hal ini penulis menggunakan perl untuk membuat cgi program.
Sistem   kontol   yang   digunakan   adalah   sistem   switch   on/off   sederhana   dengan
menggunakan relay, dimana relay ini yang akan dikontrol oleh sebuah komputer melalui
parallel port. Parallel port yang digunakan adalah parallel port standar untuk printer.  

I.3 Tujuan Penulisan Laporan
Tujuan   penulisan   laporan   ini   adalah   untuk   menjelaskan   bagaimana   cara   kerja
sistem kontrol parallel berbasis web dengan menggunakan sistem operasi berbasis linux,
yang dapat digunakan untuk mengontrol sebuah cluster. Selain itu penulisan laporan ini
dilaksanakan unuk melengkapi syarat kelulusan Kerja Praktek yang merupakan salah satu
mata kuliah wajib yang ada di Teknik Elektro STT Telkom.

3
II.1 Linux
Linux bermula dari Multics (Multiplexed Information and Computing Service).
Sebuah   operation   system   yang   digunakan   pada   komputer­komputer   mainframe   untuk
keperluan server jaringan. Pada tahun tersebut, tepatnya tahun 1965 Multics merupakan
satu–satunya OS dengan fasilitas sistem multi user. 
Pengembangan Multics ini adalah hasil kerjasama antara Bell Telephone Labs dan
MIT. Dua orang staf pengembang perangkat lunak di Bell labs, yakni Ken Thompson dan
Dennis Ritchie yang juga pembuat bahasa pemrograman C adalah orang–orang  memiliki
andil besar pada proyek Multics. Dan software aplikasi pertama yang mereka buat adalah
game multi user yang dikenal dengan nama Space Travel. Kemudian berselang beberapa
tahun, muncullah Unics/Unix sebagai pengembangan dari Multics.
Sejalan   dengan   perkembangan   waktu,   Unix   berubah   menjadi   produk   software
komersial. Salah satu karyawan dari MIT yang kesehariannya bekerja di laboratorium
artificial   intelligence  MIT  (Richard  M. Stallman)   yang  akhirnya   memilih  untuk  tidak
bekerja pada lab tersebut memiliki konsep yang berbeda tentang lisensi suatu produk
software.   Beliau   berpendapat   bahwa   dalam   pendistribusian   produk   software   harus
memegang   azas   demokrasi.   Sehingga   pada   tahun   1983   Richard   M.   Stallman
mengumumkan proyek GNU (Gnu’s  not Unix). GNU software ini didistribusikan secara
bebas di internet dalam bentuk source code sehingga para programmer dapat membaca,
memodifikasi, dan mendistribusikan kembali  dari versi yang mereka modifikasi tanpa
adanya batasan. Stallman bersama rekan–rekan di MIT labs mendirikan  Free Software
Foundation (FSF) sebagai corporate non­profit yang mempromosikan free software dan

4
menghilangkan pembatasan tentang proses distribusi, modifikasi terhadap suatu produk
software.

Free Software Foundation ini memiliki 3 asas penting, yakni :
Dapat   memperbanyak/menyalin   GNU   software   dan     menyebarluaskannya
secara bebas.
Jika   anda   adalah   seorang   programmer,   anda   dapat   memodifikasi   GNU
software sejauh yang anda suka karena anda dapat mengakses source codenya.
Anda   dapat   mendistribusikan   versi   pengembangan   yang   anda   buat   tanpa
adanya bayaran apapun dari orang lain yang menggunakan software tersebut.

Pada awal tahun 1991, FSF telah memiliki seluruh komponen utama dari GNU
operation system. Namun satu hal yang belum dimilikinya, yaitu kernel sebagai jantung
dari suatu operation system. Linus  B. Torvalds, seorang mahasiswa computer science
yang telah lama bekerja dengan sebuah kernel Minix buatan Andrew Tannenbaum adalah
orang   yang   memiliki   andil   besar   terhadap   GNU/Linux   selain   Richard   M.   Stallman.
Kernel   Minix   yang   ditulis   oleh   Andrew   Tannenbaum   tersebut   masih   jauh   dari
kesempurnaan untuk sebuah operation system. Akhirnya, Linus B. Torvalds  membuat
kernel baru kemudian ia mendistribusikan ke newsgroup/mailing list di internet. Dalam
waktu singkat, linus bersama para programmer yang tergabung dalam newsgroup tersebut
berhasil membuat kernel yang cukup stabil dan diberi nama Linux (Linus’s  Minix). Pada
awal   tahun   1992   linux   sebenarnya   telah   diintegrasikan   dengan   GNU   software   dan
menghasilkan   suatu   operation   system   yang   kita   kenal   sekarang   dengan   GNU/Linux.
Namun, kernel linux versi pertama sendiri yaitu kernel versi 1.0. baru dirilis pada tahun
1994.   
Beberapa alasan menggunakan linux:     
  Free  Software, artinya anda dapat  mengambil source program Linux tanpa
harus membayar biaya untuk source program tesebut. 

5
Open   Source,   artinya   semua   listing   program   dari   source   code   OS   tersebut
dapat anda lihat dan dapat dimodifikasi tanpa adanya larangan dari siapa pun
juga.
Kestabilan dari program–program Linux yang telah teruji. Sistem anda tidak
akan   mengalami   hang   walaupun   anda   telah   menjalankan   program   tersebut
sebulan atau lebih dan tidak perlu melakukan restart.
Jika anda penggemar film titanic, maka proses pembuatan efek animasi dan
renderingnya yang tentu saja  membutuhkan komputasi yang cukup kompleks
dan sangat rumit ternyata menggunakan bantuan linux.
Linux   merupakan   OS   cross   platform   yang   dapat   dijalankan   pada   hampir
semua jenis/tipe komputer yang ada saat ini.

Saat   ini   banyak   beredar   distribusi   linux   yang   namanya   relatif   sudah   banyak
dikenal   bagi   pengguna   komputer.   Redhat,   SuSE,   Mandrake,   Slackware,   dan   Debian
adalah beberapa dari distribusi besar yang digunakan di Indonesia. Pada prinsipnya Linux
itu satu, yakni kernel yang dikembangkan oleh Linux Torvalds dan kawan­kawan. Yang
membedakan antar distribusi biasanya berkisar tentang:
­ Instalasi
Masing masing distribusi menggunakan metode dan antar muka sendiri­sendiri
untuk instalasinya. Bahkan pada beberapa distribusi, sudah mulai menggunakan
antar muka grafis untuk membimbing proses instalasinya.
­ Aplikasi yang disertainya
Program­program di linux (atau sering disebut sebagai paket) jumlahnya saat ini
banyak sekali. Dan masing­masing distribusi, memberikan paket­paket alternatif
yang   berbeda   di   samping   paket   standar   yang   dapat   ditemui   hampir   di   setiap
distribusi.
­ Program bantu
Hampir   di   setiap   distribusi   mempunyai   program   bantu   yang   memudahkan
pemakai. Misalnya distribusi redhat, menyertakan program rpm (Redhat Package

6
Manager)   yang   memudahkan   pengguna   untuk   menginstall   dan   menghapus
program   binary.   SuSE   menyertakan   YaST   (Yet   Another   Setup   Tool)   untuk
manajemen program dan sistem dan SaX (SuSE advance X­configuration) untuk
membantu   instalasi   X   Window.   Slackware   menyediakan   paket   pkgtool   untuk
instalasi   dan   menghapus   program,   sementara   Debian   menyertakan   dpkg   untuk
fungsi yang sama.

II.2 Parallel port
Parallel   port   dikembangkan   oleh   IBM   sebagai   jalan   untuk   menghubungkan
sebuah printer ke PC (Personal Computer). Printer port terdiri dari tiga port alamat yaitu
data   pada   alamat   0x0378,   status   pada   alamat   0x0379   dan   control   port   pada   alamat
0x037a.

Printer Data port status control


LPT1 0x03bc 0x03bd 0x03be
LPT2 0x0378 0x0379 0x037a
LPT3 0x0278 0x0279 0x027a

Parallel   port   memiliki   25   pin   seperti   terlihat   pada   tabel   II.2.1   [1].   Dari   tabel
tersebut dapat disimpulkan  bahwa pada parallel port terdapat 8 pin data output (pin 2­9),
4 pin output tambahan (pin 1,14,16,17), 5 pin data input (pin 10­13,15) dan ground (pin
18­25).
Tabel II.2.1
Semua   output   pada   data   port   adalah  true   logic,   dimana   jika   kita   memberikan
inputan logika satu maka akan menyebabkan output tersebut akan bernilai maksimum
(on).   Kecuali   untuk   output   /SELECT_IN,   /AUTOFEED   dan   /STROBE   (tiga   output
tambahan) pada control port memiliki inverted logic, yang memiliki sifat kebalikan dari
true   logic.   Jika   diberi   nilai   logika   satu   pada   bit   (inputan)   maka   output   akan   bernilai

7
minimum (off). Hal ini menambah kekompleksan dalam penggunaan printer port, akan
tetapi untuk menyederhanakannya dapat dibuat inverter dengan menggunakan   gerbang
logika Ex­OR untuk outputnya.

II.3 CGI (Common Gateway Interface)
CGI   atau   Common   Gateway   Interface   adalah   cara   standar   untuk   menciptakan
interface web. CGI merupakan suatu bentuk komunikasi dimana client (browser) dapat
memberikan suatu masukan kepada server, dan server mengolah masukan tersebut serta
mengembalikannya   kepada   client   (browser).   CGI   itu   sendiri   bukanlah   bahasa
pemrograman seperti C, Basica, Turbo Pascal, dan lain­lain. CGI hanyalah sebuah istilah
yang menggambarkan betuk komunikasi antara client­server secara interaktif. 
Tugas  utama program CGI adalah membaca semua data yang dikirimkan oleh
user melalui HTTP protocol. Berdasarkan semua data tersebut, maka akan dilakukan aksi
yang sesuai dengan syarat dan kondisi yang ditulis dalam program CGI tersebut. Program
yang dimaksud adalah program external yang bukan merupakan bagian server web.pada
saat   suatu   halaman   CGI   diakses,   server   web   akan   memanggil   program   yang   sudah
ditentukan   kemudian   mengambil   seluruh   keluaran   yang   dihasilakan   program   tersebut
kepada browser pengakses, seperti yang terlihat pada gambar II.3.1. Secara umum fakta
mengatakan   bahwa   hampir   seluruh   web   server   yang   mampu   menangani   web   server
menggunakan UNIX atau Linux sebagai flatform­nya. 

8
gambar II.3.1 proser penggunaan CGI dari server­client

II.3.1 Bahasa pemrograman
Untuk   menulis   CGI   script,   kita   membutuhkan   sebuah   bahasa   pemrograman
yang memiliki persyaratan :
1. Dapat menangani TCP/IP
2. Dapat dijalankan pada server yang kita pakai 

Tidak   semua   bahasa   pemrograman   memiliki   kemampuan   untuk   menangani


TCP/IP. Bahasa pemrograman dibawah platform DOS seperti Tutbo Pascal, Basica
dan   lain­lain   tidak   mampu   menangani   TCP/IP   sehingga   kita   tidak   dapat
mempergunakannya.   Kebanyakan   sofware­   sofware   yang   menangani   TCP/IP   dan
biasa untuk pemrograman CGI adalah sofware­sofware yang ada dibawah platform
UNIX/Linux.   Bahasa   pemrograman   under   linux/unix   seperti   perl,   C/C++   adalah
bahasa pemrograman yang bisa dipakai untuk CGI.
Ada   beberapa   alasanmengapa   para   programer   senang   menggunakan   bahasa
pemrograman di linux untuk membuat CGI. Pertama karena linux/unix mendukung
TCP/IP   dan   kedua   pemrograman   di   linux   merupakan   pemrograman   non­grafis
sehingga   tidak   memakan   bandwidth   yang   sangant   besar,   yang   akan   sangat
berpengaruh terhadap kecepatan akses internet. Itulah sebabnya mengapa kebanyakan
server dibuat under linux.

II.3.2 Apache web server
Pada awalnya apache merupakan modifikasi dari server NSCA. Karena dirasa
memiliki   banyak   kekurangan,   berbagai   kontribusi  patch  untuk   apache   banyak
diisumbangkan   oleh   programer   dan   administrasi   sistem.   Dari   situlah   nama   apche
didapatkan , yaitu berasal dari kalimat “A  patchy web server”,  yang artinya server

9
web   yang   penuh   tambal   sulam.   Karenanya   kode­kode   program   apache   agak   sulit
dimengerti   dan   ditelusuri.   Walaupun   demikian   kinerja   dan   kemampuan   apache
terbukti cukup baik.
Dalam linux apache web server sudah disediakan. Kita tinggal mengistalnya,
dimana kofigurasi apache yang penting untuk menjalankan CGI adalah suEXEC. Dan
untuk menjalankan CGI pada apache web server ini, kita harus mengaktifkan apache
web server dengan perintah  /etc/init.d/httpd start  melalui konsole, atau dengan cara
yang   lebih   mudah   melalui   perangkat   lunak   Webmin,   yang   merupakan   perangkat
lunak administrasi linux.  Satu hal yang perlu untuk diperhatikan pada konfigurasi
apache adalah letak direktori untuk menyimpan semua file CGI. Konfigurasi ini dapat
dilakukan dengan  memodifikasi file  httpd.conf   yang  terletak di  dalam  direktori   :
/var/etc/httpd/ pada distro Suse.

Aplikasi yang akan dijelaskan disini adalah sistem kontrol berbasis web melalui
paralel port linux, dimana sistem kontrol yang digunakan adalah sistem kontrol dengan
menggunakan switch on/off yang didalamnya akan dikontol oleh relay yang dihubungkan
pada  parallel   port   untuk  printer.   Sistem  kontrol  ini   bisa  digunakan   untuk  mengontrol

10
peralatan apapun yang menggunakan power supply yang sama dengan yang disediakan
oleh prototype sistem kontrol tersebut. Untuk lebih jelasnya seperti yang terlihat pada
gambar dibawah ini:

pada gambar diatas bisa dilihat bahwa sistem kontrol akan dihubungkan ke server
dengan menggunakan parallel port. Kemudian program yang dibuat untuk mengontrol
alat tersebut dari jarak jauh diletakkan pada server sehingga bisa diakses melalui internet
ataupun melalui jaringan LAN.

III.1 Sistem kontrol switch on/off
Sistem kontrol switch on/off dibuat dengan menggunakan relay, dimana gambar
rangkaian untuk satu relay dapat dilihat pada gambar III.1.1. kemudian relay ini akan
dikontrol oleh sebuah komputer melalui paralel port. Parallel port yang digunakan adalah
parallel port standard untuk printer yang memiliki 25 pin dengan 8 pin outputan sehingga
maksimum   kita   bisa   menggunakan   8   relay   untuk   mengontrol   8   channel   switch   yang
dikendalikan oleh paralel port  karena pada alat ini hanya digunakan data outputan saja.
Data line dari parallel port memiliki tegangan 0­5 volts. Kita dapat menggunakan line ini
untuk mengontrol relay, kemudian relay akan mengontrol switch.

11
Gambar III.1.1 rangkaian switch on/off
Keterangan :
P Data Parallel port Data line (pin 2­9 untuk mendapatkan tegangan +5V) 
P Ground parallel port ground (pin 18­25)
Vcc Tergantung pada tipe relay, pada umumnya 12VDc
Relay Ground ground untuk Vcc
Resistor 4.7kohm
NPN C2235 NPN transistor  
IN4002 diode

Program  untuk mengontrol  parallel port  ditulis  dalam  bahasa  C, karena  sudah


tersedia metoda untuk mengakses port di dalam library C. program yang ditulis untuk
tujuana ini sangat sederhana, dimana tugas utama progran adalah mengakses port melalui
hex   address,   kemudian   memberikan   nilai   logika   1   bila   ingin   menyalakan   switch   dan
memberikan logika 0 bila ingin mematikan switch pada pin output.
Outb merupakan metode linux yang digunakan untuk memberikan nilai logika
kepada data output secara simultan. Outb memiliki dua argumen yaitu : value dan base
address. Value merupakan nilai logika yang akan diberikan kepada data output dan base
address   adalah   hex   address   dari   parallel   port.   Misalnya   kita   ingin   mengirimkan   nilai

12
logika 1 kepada pin 2 (data 0) dan pin 9 (data 7) pada LPT2. Value yang akan diberikan
adalah 1000 0001 (dalm biner) atau 0x81 (dalam hex), sedangkan LPT2 memiliki hex
addres   0x378   sehingga   pada   programnya   argumen   yang   diberikan   adalah  outb
(0x81,base_address)  dimana base address didefinisikan pada baris sebelumnya sebagai
#define DATA_ADDRESS 0x378.
Karena kita bekerja dengan linux, maka untuk mengakses port diperlukan ijin.
Untuk itu tersedia metode ioperm (unsigned long fram, unsigned long num, int turn_on)
yang akan memberikan ijin kepada non­priviliged task untuk memproses nun bytes yang
berasal dari alamat port fromsupaya diberikan nilai turn_on. Jika berhasil, maka metode
iopermakan  memberikan  nilai   0sedangkan  kalau gagal   akan memberikan  nilai  ­1   dan
memberikan pesan error melalui perror(“i operm” ). Perintah­peritah tersebut dapat dilihat
pada cuplikan program C++ untuk mengakses parallel port dibawah ini:
#define DATA_ADDRESS 0x378
#define STATUS DATA_ADDRESS+1
#define CONTROL DATA_ADDRESS+2
#include <sys/io.h>
#include <unistd.h>
. . .
void port_ctrl(int pin1, int pin2, int pin3, int pin4, int pin5, int pin6, int pin7, int pin8, int BASE_PORT)
{
int value;
if(ioperm(BASE_PORT, 3, 1))
{
perror("ioperm");
exit(1);
}
value=pin1*1+pin2*2+pin3*4+pin4*8+pin5*16+pin6*32+pin7*64+ pin8*128;
outb(value, BASE_PORT);
….

13
Gambar III.1.2. prototype sistem kontrol

Sampai tahap ini, sistem kontrol switch on/off dengan pemrograman C++ diatas
hanya mampu untuk mengontrol output dari parallel port yang hanya bisa diakses untuk
lokal saja. Untuk itu maka dikembangkan sistem yang dapat mengakses alat tersebut dari
jarak   jauh,   dengan  kata   lain   agar   dapat   dilakukan   kontrol   melalui   jarak  jauh   melalui
jaringan LAN bahkan internet. 

III.2 Konfigurasi linux sebagai web server
Yang perlu kita perhatikan selanjutnya adalah bahwa tidak semua server mampu
menangani   atau   melayani   CGI   meskipun   dibuat   dengan   UNIX.   Server­server   yang
melayani homepage grafis seperti geocities, Nettaxi, FSN , dan lain­lain tidak melayani
CGI. Untuk itu perlu diperhatikan sekali web server yang akan digunakan.
Karena kita memakai linux SuSE 9.0, maka untuk instalasinya dibutuhkan apache
sebagai web server sehingga apache harus diinstal. Seperti telah dijelaskan diatas bahwa
SuSE   menyertakan   YaST   (Yet   Another   Setup   Tool)   untuk   manajemen   programnya.
Sehingga   apabila   kita   telah   menginstal   linux   dan   belum   menginstal   apache   dapat
menggunakan YaST untuk remove and instal sofware.
Setelah apache diinstal maka kita bisa mengaktifkannya dengan mengetikkan /
etc/init.d/apache   start   pada   jendela   konsole   yang   biasa   digunakan   pada   linux.Untuk
mengetest apakah web server ini sudah berjalan atau belum, kita tinggal melihat pada
jendela   browser,   biasanya   di   linux   menggunakan   mozilla   atau   konqueror   dengan
mengetikkan alamat web server kita. Misalnya   apabila pada local host memiliki no ip
10.10.10.12, maka pada jendela browser ketik  http://127.0.01 , dan jika apache tersebut
sudah benar diaktifkan maka akan terlihat seperti gambar III.2.1.

14
GambarIII.2.1 test page web server apache

III.2.1 CGI sebagai interface
Progaram   CGI   yang   ditulis   belum   bisa   dibuka   pada   jendela   browser   hanya
dengan konfigurasi seperti yang diatas. Karena program CGI harus ditempatkan pada
direktori   yang   bisa   dikenali   atau   dibaca   oleh  web   server   tersebut.   Biasanya   linux
memiliki direktori cgi­bin untuk meletakkan semua file yang berextension .cgi. akan
tetapi tidak semua linux menempatkan program cginya di tempat yang sama. Pada
SuSE   9.0   semua   program   yang   dibuat   dan   berhubungan   dengan   program   CGI
ditempatkan   di   direktori   dengan   nama  /srv/www/htdocs  .   atau   untuk   mengetahui
direktori mana yang bisa dibaca oleh web server yang kita gunakan dapat dilihat pada
httpd.conf    yang   biasanya   terletak   pada   direktori  /etc/http/conf.   Selain   itu     pada
httpd.conf biasanya pada commentnya (#) ada perintah untuk menambahkan ExecCGI
(+ExecCGI)  pada index  default programnya agar  program  CGI yang ditulis  dapat
dikenali oleh server. 

15
Untuk menghubungkan sistem kontrol tersebut agar dapat diakses melalui web,
maka   pengguna  akan  mengirimkan   data  dalam   format  alamat  channel   switch  dan
jadwal switch. Untuk membuat jadwal switch, kita akan menggunakan fungsi  at( )
yang ada di linux. Format sederhana dari ungsi at adalah sebagai berikut :

at –f $datafile –v $schedule_time

Dimana fungsi ini akan membaca perintah dari file  $datafile dan mengeksekusi


perintah   tersebut   pada  $schedule_time, sedangkan   format  $schedule_time
adalah:
$hour:$minute $ampm $day

untuk lebih jelasnya dapat dilihat pada gambar III.2.1.1 dibawah ini :

Gambar III.2.1.1b tampilan web page 

16
Gambar III.2.1.1b tampilan web page setelah dienter

   Dari   gambar   diatas   diberikana   contoh   apabila   user   ingin   menyalakan   dan
mematikan switch pada client 1 dan 4 pada jam 3 pagi besok, maka ditulis 3.0 am
pada blok schedule, dan apabila ingin dijadwalkan semua client pada jam 7 pagi,
maka ditulis 3 am. bila host komputer berada pada jaringan LAN , maka pengguna
yang berada dalam jaringan tersebut dapat mengakses switch dari remote terminal.
Namun   bila   ingin   lebih   jauh   lagi   diakses   melalui   internet,   maka   host   komputer
tersebut harus memiliki ip address dan connect dengan internet.

III.3 Hasil
Pada prinsipnya sistem kontrol yang dibuat telah mampu diakses melalui jarak
jauh, dengan artian bahwa tidak perduli dimanapun prototipe sistem kontrol switch on/off
kita pasang, dapat diakses dari manapun. Jadi ada beberapa hal penting agar sistem kontol
ini bisa berjalan yaitu :
• Prototipe sistem kontrol itu sendiri yang dipasang pada terminal server
• Server yang dapat menangani interface CGI

17
Dalam pengamatan selama pengujian, waktu respon yang diberikan sistem cukup cepat,
dimana   batasannya   adalah   kecepatan   transmisi   yang   berkisar   antara   10   Mbps   sampai
dengan 100Mbps.

III.4 Perkembangan selanjutnya
Sistem   kontrol   yang   sudah   terealisasi   tersebut   diatas   selanjutnya   akan
dikembangkan   untuk   mengontrol   parallel   cluster.   Parallel   cluster   yang   dibuat
menggunakan satu server dengan spesifikasi lengkap dengan 3 ethernet card dan 8 client
tanpa hardisk. Sistem kontrol tersebut akan dipasang pada server dan akan dihubungkan
pada masing­masing client agar semua kerja yang ada pada client akan dikontrol dari
server. Untuk lebih jelasnya seperti gambar III.4 dibawah ini.

Gambar III.4 aplikasi parallel cluster

Tentunya diperlukan program CGI yang lebih kompleks lagi untuk menjalankan
sistem   kontrol  ini,  selain  dibutuhkan data­data  mengenai motherboard (baik  itu  suhu,
ketahanan, dan lain­lain ) agar tidak terjadi kres antara client satu dengan client lainnya.

18
Selain   itu   untuk   tampilan   web   yang   lebih   dinamik   dan   interaktif,   kemungkinan   bisa
menggunakan intervface java untuk menggantikan CGI.

IV.1Sejarah Singkat Pusat Penelitian Fisika LIPI
Pusat Penelitian Fisika merupakan salah satu pusat penelitian dibawah koordinasi
Kedeputian bidang Ilmu Pengetahuan Teknik (IPT) LIPI, yang bertugas untuk melakukan
penelitian dasar dan terapan di bidang ilmu fisika.   Secara struktural Puslit Fisika LIPI
memiliki 4 bidang yaitu :
1. Bagian Tata Usaha 
2. Bidang Instrumentasi Fisis dan Optoelektronika 
3. Bidang Fisika Bahan Baru 
4. Bidang Fisika Industri dan Lingkungan 
5. Bidang Sarana Penelitian 
Secara geografis Puslit Fisika LIPI berlokasi di Bandung dan Serpong.  Bidang ke­2,
sebagian bidang ke­3 dan sebagian bidang ke­5  berdomisili di Puspiptek Serpong,
sedangkan Bidang ke­1, sebagian bidang ke­3 , bidang ke­4  dan sebagian bidang ke­5
berdomisili di Bandung. 
Tugas pokok dari Bidang Instrumentasi Fisis dan Optoelektronika (IFO) adalah
melakukan penelitian, pengembangan, dan alih teknologi di bidang instrumentasi fisis
dan   optoelektronika   yang   mempunyai   dampak   strategis   bagi   pengembangan   industri.
Kegiatan utama diarahkan pada aplikasi laser, fisika zat padat, teknologi lapisan tipis,
serta   aplikasi   teknik   fisika   untuk   pengendalian   proses   dan   pengukuran.     Dalam
melakukan   tugas   itu,   bidang   IFO   memiliki   4   kelompok   penelitian   yaitu   :   Kelompok
Fisika Teoritik dan Komputasi, Kelompok NDT , Kelompok Laser dan Optoelektronik
dan Kelompok Instrumentasi .

19
Tugas   pokok   dari   Bidang   Fisika   Bahan   Baru   adalah   melakukan   penelitian,
pengembangan, penerapan, dan alih teknologi di bidang ilmu bahan yang dititikberatkan
pada:   polimer   alam   dan   sintetik,   gelas   dan   keramik,   kristal   dan   amorf,   bahan
semikonduktor, serta mengembangkan peralatan yang berhubungan dengan pemrosesan
bahan.   Dalam melakukan tugas  pokok ini, bidang fisika bahan baru  didukung oleh 3
kelompok   penelitian   yaitu   :   Kelompok   Polimer,   Kelompok   Keramik   dan   Kelompok
Semikonduktor & Sel Surya 
Tugas   pokok   dari   Bidang   Fisika   Industri   dan   Lingkungan   adalah   melakukan
penelitian,   pengembangan,   penerapan,   dan   alih   teknologi   di   bidang   fisika   lingkungan
khususnya bidang fisika bumi, fisika energi, fisika termal, dan penelitian masalah polusi.
Dalam melakukan tugas pokoknya, bidang ini memiliki 2 kelompok penelitian yaitu :
Kelompok Fisika Energi dan Kelompok Polusi dan Lingkungan .
Tugas   pokok   dari   Bidang   Sarana   Penelitian   adalah   menangani   perawatan,
administrasi  dan pengadaan aneka peralatan dan bahan yang diperlukan dalam  semua
kegiatan di internal Fisika LIPI.  Oleh karena itu personil bidang ini sebagian bekerja di
Serpong dan sebagian lagi bekerja di Bandung. 
Hingga saat ini karyawan Puslit Fisika berjumlah 185 orang. Kualifikasi akademis
adalah  10% bergelar doktor, lebih dari 15% berpendidikan setara master dan mayoritas
lebih dari 60% tamat sarjana.

IV.2 Jaringan di Pusat Penelitian Fisika
Jaringan yang ada di Pusat Penelitian Fisika LIPI merupakan bagian kecil dari
jaringan   intra   LIPI   dengan   kapasitas   bandwidth   1.5   Mbps.   Jaringan   intra   LIPI
menggunakan   teknologi   wireless   IP­VPN   (Virtual   Private   Network)   dari   PT.   Indosat
Mega Media (IM2). 

Puslit  Fisika LIPI  merupakan salah satu simpul,  dalam istilah yang digunakan


adalah site Serpong, dalam jaringan WAN LIPI. Simpul lainnya adalah : site Bogor, site
Cibinong, site Jakarta, site Bandung dan site Ancol. Saat ini ekspansi terus dilakukan
karena   LIPI   memiliki   kantor   hingga   ke   Tual,   Maluku   Utara.   Di   site   Serpong   sendiri

20
terdapat 4 Puslit yaitu: Fisika, Kimia, KIM dan Metalurgi yang masing­masing memiliki
jatah bandwidth intra sebanyak 64 kBps.
Untuk   pelayanan   ke   dalam,   Jaringan   Puslit   Fisika   memiliki   5   jenis   pelayanan
yaitu   :   media   penyimpanan   atau   home   directory   (50   Mb   Harddisk   space),     sistem
komunikasi intra (intranet),  mail    dengan domain fisika.lipi.go.id, proxy  gateway dan
hardware   sharing   seperti   printer   pools,   CD   writers,   dsb.     Kesemua   pelayanan   itu
diberikan oleh 3 buah server yang masing­masing didedikasikan untuk tujuan tertentu.
Ketiga server tersebut adalah Main server untuk otorisasi akses melalui Samba, printer
spooling, home directory, proxy dan mail server, Web server untuk sistem intranet, dan
LTSP server untuk diskless PC yang dimanfaatkan untuk terminal absensi di resepsionis.
Pengguna yang terdaftar adalah sebanyak 70 orang staf peneliti, teknisi dan tenaga
administrasi dan lebih dari 20 orang mahasiswa prakterk magang atau tugas akhir yang
juga diberi akses terbatas ke dalam jaringan.
Jaringan   lokal   di   Puslit   Fisika   sudah   menganut   sistem   user   management   dan
terminal management, sehingga hanya user terdaftar dan PC yang sudah diregistrasi saja
yang bisa memiliki akses ke dalam jaringan lokal. 

IV.3 Aktivitas kerja praktek pada Puslit Fisika LIPI
Tenaga   magang   yang   menjalani   kerja   praktek   pada   Puslit   Fisika   teoritik   dan
Komputasi sebanyak 2 orang yang diberikan tugas untuk belajar dan mengembangkan
penelitian mengenai  sistem  kontrol  over  web dan sistem  diskless yang nantinya  akan
dikembangkan untuk membuat parallel cluster. Penulis sendiri lebih fokus pada sistem
kontrol yang menjadi bahan untuk menulis laporan ini.
Kegiatan­kegiatan yang dilakukan selama Kerja Praktek di Puslit Fisika teoritik
dan Komputasi selama kurang lebih satu bulan setengah adalah sebagai berikut:

Hari pertama:

21
Tenaga   magang   yang   berjumlah   2   orang   berkumpul   di   ruang   rapat   untuk   diberikan
penjelasan mengenai pekerjaan yang akan di lakukan selama di Puslit Fisika teoritik dan
Komputas dan peraturan­peraturan perusahaan yang wajib ditaati  oleh ke­2 orang tenaga
magang. Tenaga magang yang berjumlah 2 orang ini diberi keleluasaan untuk bekerja
dengan disediakannya komputer dan alat­alat yang dibutuhkan selama menjalani Kerja
Praktek disana.

Minggu pertama:
Pada minggu pertama para tenaga magang melakukan instalasi linux (meng­install linux)
pada komputer yang telah disediakan oleh pembimbing. Pada awalnya linux yang diinstal
adalah   Red   Hat   9.0   karena   adanya   keterbatasan   komputer.   Linux   Red   Hat   9.0   yang
diinstal   memiliki   aplikasi   LTSP   (Linux   Terminal   Server   Project   )   untuk   membuat
aplikasi   diskless   system.   Selain   itu   para   tenaga   magang   diberikan   akses   untuk
menggunakan   komputer   dan   internet,   karena   semua   komputer   di   Puslit   Fisika
menggunakan Proxy sehingga  harus memiliki account agar dapat menggunakannya.

Minggu kedua:
Pada minggu ini, penulis mulai meng­install linux SuSE 9.0, menseting jaringan pada
komputer   tersebut   agar   dapat   terkoneksi   dengan   internet.   Proses   penginstallan   linux
sampai bisa connect dengan jaringan dan internet adalah sebagai berikut:
Ø Meng­install   linux   SuSE   9.0   dengan  menyertakan   package   yang  dibutuhkan   yaitu
apache,C++,dan web browser (mozilla,konqueror)
Ø Setting DNS (Domain Name Server) agar bisa connect dengan internet. Pada proses
setting DNS, biasanya semua tersedia pada YaTS. Yang di setting adalah DNS client
dengan memasukkan Hostname dan server name. pada Puslit  Fisika, hostnamenya
menggunakan   nama   komputer   yang   diinstall   linux   dan   domain   namenya   adalah
srp.fisika.lipi.go.id  yang merupakan DNSnya. 
Ø Setting routing yang digunakan yaitu 10.10.10.1 sebagai gatewainya.

22
Ø Setting proxy pada web browser dimana digunakan server proxy yang sama untuk
semua protokol yaitu http://10.10.10.1 dengan port 8080.
Ø Setting NFS client untuk jaringan, dimana pada setting ini yang dibutuhkan adalah
Host name yaitu server.srp.fisika.lipi.go.id dengan Remoe file:/home dan mount point
/home.
Ø Configure NIS client agar dapat masuk ke intra.fisika.lipi.go.id dengan menggunakan
account yang sudah diberikan. Setting NIS membutuhkan NIS domain yaitu pintu
dengan alamat 10.10.10.1

Minggu ketiga:
Pada minggu ini disi dengan belajar dasar­dasar pemrograman CGI yaitu perl dan static
HTML. Selain itu penulis juga memeriksa prototype sistem kontrol parallel port yang
sudah ada karena tidak bisa dijalankan.

Minggu keempat:
Pada   minggu   ini,   pembimbing   di   lapangan   memberikan   penjelasan   secara   singkat
mengenai dasar­dasar CGI dan cara kerja sistem kontrol switch on/off. Prototype sistem
kontol   yang   sudah   ada   dicoba   apakah   masih   bisa   dijalankan  karena   setelah   diperiksa
ternyata tidak ada sambungan yang putus ataupun yang short. Setelah bisa dijalankan,
pembimbing lapangan menjelaskan bagaimana menjalankannya dengan terlebih dahulu di
kompile dengan menggunakan program C++ . setelah itu penulis  meneruskan dengan
membuat   program   CGI   untuk   menjalankan   delapan   switch,   mencoba   menjalankan
program tersebut pada linux Red Hat.

Minggu kelima:
Minggu ini tenaga magang kembali menginstall linux untuk menjalankan sistem kontrol.
Karena setelah mencoba dengan menggunakan linux Red Hat ternyata tidak bisa jalan.
Setelah linux diinstall, kemudian dicoba untuk dijalankan lagi, dan ternyata berhasil.

23
Minggu keenam:
Minggu ini merupakan minggu terakhir tenaga magang bekerja di Puslit Fisika teoriik
dan Komputasi. Program CGI dan sistem kontol sudah bisa dijalankan, hanya saja belum
sampai agar bisa diakses dengan login dari user, karena adanya kendala­kendala yang
dihadapi.  Tetapi  secara global sistem  sudah bisa dijalankan dengan baik.  Para tenaga
magang   pada   minggu   ini   juga   diberi   kesempatan   untuk   terlibat   pada   pameran
HARTEKNAS (Hari Teknologi Nasional) pada tanggal 11­12 Agustus  yang dipusatkan
di PUSPIPTEK (Pusat Penelitian Ilmu Pengetahuan dan Teknologi) selama 2 hari.

IV.4 Kendala­kendala yang dihadapi selama KP di Puslit Fisika teoritik
dan Komputasi
Banyak kendala­kendala yang terjadi selama melakukan Kerja Praktek di Puslit
Fisika Teoritik dan Komputasi ini. Secara umum kendala­kendala tersebut dapat dibagi
menjadi 2 macam yaitu kendala hardware dan kendala teknis.

Kendala hardware
Ø Kualifikasi   paralel   port   ternyata   bukan   merupakan   standar   untuk   setiap   jenis
motherboard. Hal ini diketahui ketika prototipe sistem kontrol memberikan respon
yang  berbeda   untuk   2   jenis   motherboard   yang   berbeda.   Namun   hipotesa   awal
kami adalah adanya kerusakan di dalam prototipe, namun ternyata tidak semua
paralel port di setiap motherboard memberikan respon yang sesuai dengan teori.
Ø Kurangnya PC sehingga tenaga magang kurang maksimal dalam bekerja. Setelah
PC   disediakan,   dihadapi   juga   kendala   karena   spesifikasi   RAM   rendah.   Untuk
menjalankan Graphical User Interface (GUI) sistem operasi linux membutuhkan
spesifikasi RAM yang cukup tinggi. X­windows linux membutuhkan RAM paling
tidak   64   MB.   Solusinya   adalah   dengan   menambahkan   RAM   untuk   komputer
tersebut dari komputer lain yang digunakan untuk membangun sistem diskless

24
yang sudah berhasil dilakukan, sehingga PC tersebut dapat dijalankan dan tidak
mengganggu pekerjaan orang lain. 
Kendala teknis
Ø Pada   awalnya   kurangnya   waktu   bertemu   dengan   para   pembimbing   lapangan
karena   kesibukan   masing­masing,   dimana   pada   awal   setengah   bulan   pertama
pembimbing   bertugas   ke   Cina.   Solusinya   adalah   dengan   terus   berkomunikasi
melalui e­mail sehingga pembimbing bisa mengetahui perkembangan pekerjaan
tenaga Magang dan tenaga magang juga bisa bertanya apabila memiliki kendala
dengan pekerjaannya.

Akan tetapi secara keseluruhan, kendala­kendala tersebut dapat diatasi dengan baik.

25
Linux dapat dijadikan sistem operasi alternatif selain microsoft windows. Linux
merupakan sistem operasi yang banyak digunakan untuk membangun suatu server. Hal
ini   disebabkan   karena   linux   sudah   menyediakan   banyak   aplikasi   pemrograman   yang
dibutuhkan   untuk   sebuah   web   hosting.   Disamping   karena   linux   adalah   free   sofware,
selain itu linux dikenal sebagai sistem operasi yang sangat stabil dan tahan banting.
Untuk menjalankan aplikasi sistem kontrol berbasis web ini memang dibutuhkan
sistem   operasi   yang   mampu   menangani   kebutuhan­kebutuhan   server.   Untuk   itu   linux
dipilih   sebagai   platform   untuk   menjalankan   aplikasi   ini.   Selain   itu,   cukup   sedikit
pengetahuan   tentang   HTML   dan   perl,dan   juga   kemampuan   komperhensif   dalam
perograman bahasa C dalam membuat aplikasi ini.
Bahasa   pemrograman   CGI   dengan   menggunakan   perl   dipilih   karena   untuk
aplikasi ini, sudah sangat mendukung dan untuk penggunaan programnya sangat    user
friendly. Memang untuk konfigurasinya sendiri agak rumit, akan tetapi untuk servernya
kita   tidak   perlu   repot­repot   membuat   programnya   karena   semuanya   sudah   disediakan
pada  linux.  Hanya saja agar  bisa digunakan,  kita  harus  mengerti apa saja yang perlu
ditambahkan agar program CGI bisa dibaca dan dikenali oleh server yang  kita buat.
Kendala­kendala   yang   dihadapi   dan   kesalahan­kesalahan   kecil   yang   terkadang
tidak   pernah   terfikirkan   menjadi   suatu   pelajaran   penting   bagi   penulis,   dimana   itu
merupakan   pengalaman   yang   baik   agar   melakukan   pengecekan   dari   hal­hal   terkecil
apabila kita menghadapi suatu masalah.

26
1. Anderson, Peter H. use of a PC printer Port for control and data Acquisition, the
Technology Interface, the Electronic Journal For Engineering Technology, Fall
1996
2. Dian Rakyat, Pandun Mudah membuat dan Mengelola WEB HOSTING, 2004
3. Gregorius Agung, Membuat Homepage Interaktif dengan CGI/Perl, April, 2001
4. Li, Rui, home elecrical Device­HOWTO, www.linux.org, february 2, 2002

Pin Description Notes


1 /Strobe PC Output
2 Data_0 PC Output
3 Data_1 PC Output
4 Data_2 PC Output
5 Data_3 PC Output
6 Data_4 PC Output
7 Data_5 PC Output
8 Data_6 PC Output
9 Data_7 PC Output
10 /ACK PC Input
11 Busy PC Input
12 Paper Empty PC Input
13 Select PC Input
14 /Auto feed PC Input
15 /Error PC Input
16 Initialize Printer PC Output
17 /Select_Input PC Output
18­25 ground  

27
LEMBAR PENGESAHAN LAPORAN
KERJA PRAKTEK

Dengan Judul:

Sistem Kontrol berbasis Web Melalui


Paralel Port Linux

Disusun Oleh:

Gheyb Jhuana (111000168)

Pembimbing Lapangan

Hadiyanto, Bsc. Hons, PG­Dipl.
  NIP:  32 000 6162

You might also like