Sistem Kontrol berbasis Web Melalui Paralel Port - komput@si

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