You are on page 1of 109

PROYEK AKHIR

MONITORING RUANGAN DENGAN ROBOT BERKAMERA


YANG DIKONTROL MELALUI WIRELESS LAN
(NETWORK CONTROLLING)

Nilluh A. P. P. D. A. P.
NRP. 7203 030 052

Dosen Pembimbing:
Riyanto Sigit, ST,M.Kom
NIP. 132 134 726

Amang Sudarsono , ST
NIP. 132 300 371

JURUSAN TELEKOMUNIKASI
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
SURABAYA 2006
Proyek Akhir 2005/2006

MONITORING RUANGAN DENGAN ROBOT BERKAMERA


YANG DIKONTROL MELALUI WIRELESS LAN
(NETWORK CONTROLLING)
Oleh:
NILLUH A.P.P.D.A.P
7203.030.052

Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk


Memperoleh Gelar Ahli Madya (A.Md.)
di
Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember Surabaya

Surabaya, Juli 2006


Disetujui oleh

Tim Penguji Proyek Akhir Dosen Pembimbing

1. Sritrusta Sukaridhoto, ST 1. Riyanto Sigit, ST, M.Kom


NIP. 132 300 372 NIP. 132 134 726

2. Tri Budi Santoso, ST.MT 2. Amang Sudarsono, ST


NIP. 132 128 464 NIP. 132 300 371

3. Ir. Budi Aswoyo, MT


NIP. 131 843 379

Mengetahui
Ketua Jurusan Teknik Telekomunikasi

Drs. Miftahul Huda, M.T.


NIP. 132 055 257

ii EEPIS-ITS
Proyek Akhir 2005/2006

ABSTRAK

Penggunaan jaringan internet sebagai media penyaluran sinyal


kontrol dan monitoring telah berkembang pesat, diantaranya untuk
pengaturan peralatan di rumah, kontrol robot, dan mesin produksi di
industri. Dalam buku proyek akhir ini akan dipaparkan tentang
monitoring suatu ruangan menggunakan robot yang berbasis camera
server, yaitu dengan memberikan umpan balik berupa gambar video dan
client dapat mengontrol pergerakan motor DC untuk menggerakkan
robot dan mengontrol pergerakan motor stepper untuk menggerakkan
webcam. Pengenalan objek dilakukan mengunakan webcam. Data
gambar yang diterima dari webcam diolah di laptop kemudian dari data
tersebut dihasilkan data keputusan untuk pergerakan robot. Data tersebut
dikirim oleh laptop mengunakan komunikasi parallel ke driver motor
sehingga robot atau webcam dapat bergerak. Dan data gambar yang
diterima oleh webcam dikirim mengunakan wireless LAN ke komputer
client.
Pada sistem monitoring ruangan ini terdiri dari Client dan
Server. Perangkat lunak yang akan digunakan terdiri dari : Linux,
CamServ, PHP (Personal Home Page), JavaScript, Bahasa
Pemrograman C dan CGI (Common Gateway Interface). Perangkat keras
yang akan digunakan terdiri dari : modul driver motor DC dan motor
stepper, motor DC, motor stepper, dan webcam.

Kata kunci – Camera Server, komunikasi parallel, Server, Client,


wireless LAN

iii EEPIS-ITS
Proyek Akhir 2005/2006

ABSTRACT

Usage of internet networking as channel control signal and


monitoring has grown up, for example to control tolls in the home,
robotic control, and product machine in company. In this book will
explain about room monitoring system using robot based on camera
server, that will give information like video and client can control the
DC motor rotation of robot and control the stepper motor rotation of
webcam. Recognition of object will done by webcam. The video that
accepted from camera will processed in laptop then from its data will be
result the decision data for the movement of robot. The data sent by
parallel PC communications using motor driver so robot or webcam can
moving. And the picture of data that received by webcam sent to
computer client using wireless LAN.
In this room monitoring system consist of Client and Server.
Software that is used consist of: Linux, Camera Server, PHP (Personal
Home Page), java script, C and CGI (Common Gateway Interface).
Hardware that is used consist of: module of DC motor and stepper
motor, DC motor, stepper motor, and webcam.

Key word – Camera Server, parallel PC communication, Server,


Client, wireless LAN

iv EEPIS-ITS
Proyek Akhir 2005/2006

KATA PENGANTAR

Syukur Alhamdulillah kami panjatkan kepada Allah SWT karena


hanya dengan rahmat, hidayah dan inayah-Nya kami dapat
menyelesaikan proyek akhir ini dengan judul :

Monitoring Ruangan Menggunakan Robot Berkamera


yang Dikontrol melalui Wireless LAN
(Network Controlling)

Dalam menyelesaikan proyek akhir ini, kami berpegang pada teori


yang pernah kami dapatkan dan bimbingan dari dosen pembimbing
proyek akhir. Dan pihak – pihak lain yang sangat membantu hingga
samapi terselesaikannya proyek akhir ini.
Proyek akhir ini merupakan salah satu syarat akademis untuk
memperoleh gelar Ahli Madya (A.Md.) di Politeknik Elektronika
Negeri Surabaya, Institut Teknologi Sepuluh Nopember Surabaya.
Kami menyadari bahwa masih banyak kekurangan pada
perancangan dan pembuatan buku proyek akhir ini. Oleh karena itu,
besar harapan kami untuk menerima saran dan kritik dari para pembaca.
Semoga buku ini dapat memberikan manfaaat bagi para mahasiswa
Politeknik Elektronika Negeri Surabaya pada umumnya dan dapat
memberikan nilai lebih untuk para pembaca pada khususnya.

Surabaya, Agustus 2006

Penyusun

v EEPIS-ITS
Proyek Akhir 2005/2006

UCAPAN TERIMA KASIH


Dalam pelaksanaan dan pembuatan proyek akhir ini kami banyak
menerima dan bantuan dari berbagai pihak. Kami bersyukur sebesar -
besarnya kepada Allah SWT atas semua karunia yang telah diberikan-
Nya kepada kami sehingga kami dapat menyelesaikannya dengan baik.
Juga tak lupa kami haturkan sholawat dan salam kepada Nabi Besar
Muhammad SAW. Dan tanpa menghilangkan rasa hormat kami
mengucapkan terima kasih kepada pihak – pihak yang telah membantu
kami terutama kepada :
1. Bapak dan Ibu di rumah tercinta atas doa restu dan dukungan
moral maupun material.
2. Kakak-kakak dan adik tersayang, terima kasih doa dan
supportnya.
3. Bapak Dr. Ir. Titon Dutono., M.Eng, selaku Direktur Politeknik
Elektronika Negeri Surabaya.
4. Bapak Drs. Miftahul Huda, M.T selaku Kepala Jurusan
Telekomunikasi Politeknik Elektronika Surabaya.
5. Bapak Riyanto Sigit, ST, M.Kom dan Bapak Amang Sudarsono,
ST selaku dosen pembimbing. Terima kasih telah membimbing
kami dengan penuh kesabaran dan memberikan banyak ilmu
kepada kami.
6. Ibu Ir. Prima Kristalina, M.T atas semua saran yang telah
diberikan saat pengajuan proposal proyek akhir ini.
7. Teman-teman sekelas 3 TB, teman belajar selama 3 tahun terakhir
ini, kompak selalu.
8. Partner TA , tetangga kamar, Tetho-Chan.. Terima kasih buat
semua omelannya baik yang berhubungan atau tidak dengan TA.
9. Mas-mas Tim Robot yang sudi membantu pengerjaan TA ini.
10. “Simpati family”, para sahabat yang selalu kompak dan arek-
arek kost TMB 72 yang selalu ramai bin gaduh.
11. Indri dan Nia “Sulung” terima kasih atas pinjaman laptopnya,
buat Dimas terima kasih atas pinjaman kameranya
12. Jupeng dan Hasbi, terima kasih atas semua bantuannya.
13. Dan semuanya saja yang telah membantu dalam pengerjaan TA
ini yang mungkin tidak bisa disebutkan satu persatu.

vi EEPIS-ITS
Proyek Akhir 2005/2006

DAFTAR ISI
Lembar Judul ............................................................................ i
Lembar Penguji .......................................................................... ii
Abstrak ...................................................................................... iii
Abstrack .................................................................................... iv
Kata Pengantar .......................................................................... v
Ucapan Terima Kasih ................................................................ vi
Daftar Isi .................................................................................... vii
Daftar Gambar ........................................................................... ix
Daftar Tabel ............................................................................... x

BAB I PENDAHULUAN ......................................................... 1


1.1 Latar Belakang ..................................................... 1
1.2 Tujuan................................................................... 1
1.3 Perumusan Masalah .............................................. 1
1.4 Batasan Masalah .................................................. 2
1.5 Metodologi ........................................................... 2
1.6 Sistematika Pembahasan ...................................... 3

BAB II TEORI DASAR........................................................... 5


2.1 Linux...................................................................... 5
2.1.1 Pengenalan Linux......................................... 5
2.1.2 Perbedaan Mendasar Linux ......................... 5
2.1.3 Perbandingan Linux terhadap sistem
operasi lainnya ............................................. 6
2.1.4 Bagian Sistem Operasi Linux....................... 8
2.1.5 Bagian Penting Kernel Linux....................... 8
2.2 Video Streaming .................................................... 8
2.3 TCP/IP ................................................................... 9
2.4 Wireless LAN ........................................................ 11
2.5 Konsep client / server............................................. 14
2.6 World Wide Web ................................................... 18
2.7 HTTP ..................................................................... 20
2.8 HTML .................................................................... 22
2.9 Pemrograman PHP................................................. 23
2.10 JavaScript............................................................. 24
2.11 Database MySQL................................................. 25

vii EEPIS-ITS
Proyek Akhir 2005/2006

2.12 Pemrograman C................................................... 26


2.13 GNU C Compiler (GCC)..................................... 28
2.14 Common Gateway Interface(CGI) ...................... 28

BAB III PERENCANAAN DAN PEMBUATAN


PERANGKAT LUNAK ............................................ 31
3.1 Pendahuluan........................................................... 31
3.2 Perencanaan Sistem ............................................... 31
3.3 Perancangan Perangkat Lunak .............................. 33
3.3.1 Perancangan Navigasi Web .......................... 33
3.3.2 Perancangan Pengontrolan Robot ................. 34
3.4 Pembuatan Perangkat Lunak ............................... 35
3.4.1 Instalasi Linux Debian .................................. 35
3.4.2 Instalasi GCC................................................ 36
3.4.3 Penanganan Video Streaming ....................... 37
3.4.4 Instalasi Web Server ..................................... 38
3.4.5 Instalasi PHP................................................. 40
3.4.6 Instalasi MySQL ........................................... 41
3.4.7 Instalasi SNMP ............................................. 42
3.4.8 Instalasi MRTG............................................. 43
3.4.9 Pembuatan Website....................................... 44
3.5 Integrasi Website Dengan Paralel Port ................ 44

BAB IV PENGUJIAN PROGRAM, HASIL


DAN ANALISA......................................................... 45
4.1 Pengujian Koneksi C dan PHP .............................. 45
4.2 Pengujian Navigasi Web........................................ 46
4.2 Pengujian Trafik Jaringan Dengan MRTG Pada
Saat Dilakukan Video Streaming .......................... 52

BAB V PENUTUP ................................................................... 59


5.1 Kesimpulan ........................................................... 59
5.2 Saran ..................................................................... 60

DAFTAR PUSTAKA .............................................................. 61


LAMPIRAN
PROFIL PENULIS

viii EEPIS-ITS
Proyek Akhir 2005/2006

DAFTAR GAMBAR

Gambar 2.1 Topologi Ad-Hoc.................................................... 12


Gambar 2.2 Topologi Infrastruktur dengan Hardware Access
Point ....................................................................... 13
Gambar 2.3 Topologi Infrastruktur dengan Software Access
Point ....................................................................... 14
Gambar 2.4 Konsep Sistem Mainframe ..................................... 15
Gambar 2.5 Konsep dasar browser dan server web................... 20
Gambar 2.6 Struktur Dasar Program C ...................................... 28
Gambar 3.1 Diagram Blok Sistem ............................................. 32
Gambar 3.2 Flowchart Navigasi Web ........................................ 33
Gambar 3.3 Flowchart Pengontrolan Robot............................... 34
Gambar 3.4 Tampilan PHP info................................................. 41
Gambar 3.5 Tampilan phpmyadmin........................................... 42
Gambar 4.1 Pesan Selamat Datang ............................................ 47
Gambar 4.2 Halaman Admin ..................................................... 47
Gambar 4.3 Edit Administrator.................................................. 48
Gambar 4.4 Menambah Admin.................................................. 48
Gambar 4.5 Pesan delete berhasil............................................... 49
Gambar 4.6 Halaman Admin Setelah Penghapusan................... 49
Gambar 4.7 Halaman Open Streaming....................................... 50
Gambar 4.8 Halaman Vdeo Capture .......................................... 50
Gambar 4.9 Halaman View Picture............................................ 51
Gambar 4.10 Preview Picture..................................................... 51
Gambar 4.11 Gambar Traffik Jaringan Akses Halaman Open
Streaming di Komputer Client ............................. 53
Gambar 4.12 Gambar Traffik Jaringan Akses Halaman Open
Streaming di Komputer Server ............................ 54
Gambar 4.13 Gambar Traffik Jaringan Akses Halaman Video
Capture di Komputer Client................................. 55
Gambar 4.14 Gambar Traffik Jaringan Akses Halaman Video
Capture di Komputer Server ................................ 56
Gambar 4.15 Gambar Traffik Jaringan di Komputer Client....... 57
Gambar 4.16 Gambar Traffik Jaringan di Komputer Server...... 57

ix EEPIS-ITS
Proyek Akhir 2005/2006

DAFTAR TABEL

Tabel 2.1 Standar Wireless LAN............................................... 14


Tabel 2.2 Keyword Bahasa C .................................................... 27
Tabel 4.1 Hasil Pengujian Koneksi C dan PHP......................... 46
Tabel 4.2 Traffik Jaringan Akses Halaman Open Streaming di
Komputer Client ........................................................ 52
Tabel 4.3 Traffik Jaringan Akses Halaman Open Streaming di
Komputer Server........................................................ 53
Tabel 4.4 Traffik Jaringan Akses Halaman Video Capture di
Komputer Client ........................................................ 54
Tabel 4.5 Traffik Jaringan Akses Halaman Video Capture di
Komputer Server........................................................ 55

x EEPIS-ITS
1
Proyek Akhir 2005/2006

BAB 1
PENDAHULUAN
1.1 LATAR BELAKANG

Ada tempat-tempat tertentu yang memerlukan pengawasan ketat


dan pemantauan rutin dari petugas, seperti bangunan gedung di malam
hari. Pada kasus tersebut petugas jaga biasanya hanya terdiri atas satu
atau dua orang, sehingga akan sangat merepotkan dan melelahkan bila
petugas tersebut harus berkeliling untuk memeriksa bangunan yang luas
tersebut. Oleh karena itu diperlukan suatu alat yang dapat menggantikan
tugas penjagaan berkeliling tersebut.
Hal tersebut mendasari pembuatan alat dengan memanfaatkan
perkembangan teknologi yang ada. Pesatnya perkembangan dunia
internet akhir-akhir ini telah memicu berkembanganya teknologi baru
yang memanfaatkan teknologi internet tersebut sebagai media untuk
mewujudkan impian manusia akan sebuah aplikasi pengoperasian
peralatan jarak jauh. Peralatan yang dikontrol dapat berupa sebuah robot
yang disertai dengan kamera yang bisa digerakkan. Sehingga robot
tersebut dapat dipakai sebagai pengganti petugas dalam pemeriksaan
keliling suatu bangunan.

1.2 TUJUAN

Tujuan dari proyek akhir ini adalah untuk untuk memudahkan


dalam memantau beberapa ruangan dengan menggunakan kamera yang
dibawa oleh robot yang bisa bergerak melalui wireless internet.

1.3 PERUMUSAHAN MASALAH

Masalah yang akan ditangani dari Tugas Akhir ini perancangan dan
pembuatan robot berkamera dengan sistem pengontrolan robot melalui
wireless internet, sehingga bisa diakses di Internet dan mobile phone.

EEPIS-ITS
2
Proyek Akhir 2005/2006

1.4 BATASAN MASALAH

Permasalahan yang harus diselesaiakan pada proyek akhir ini


dibatasi pada hal-hal sebagai berikut:
¾ Pembuatan camera server yang menangani gambar bergerak
dari webcam, untuk bisa ditampilkan secara real time ketika
diakses di Internet dan mobile phone
¾ Aplikasi pengontrol pergerakan robot beserta kamera yang
dibawa
¾ Pembuatan web server

1.5 METODOLOGI

Untuk membuat monitoring ruangan berbasis camera


server,dibutuhkan langkah – langkah sebagai berikut :
(a) Perancangan Robot
Pembuatan robot berkamera untuk monitoring ruangan yang
dikontrol melalui wireless internet. Kamera dihubungkan
dengan laptop melalui kabel USB untuk pengambilan data
secara real-time. Mikrokontroler sebagai pengontrol arah gerak
kamera dan pengontrol arah gerak robot dihubungkan dengan
laptop melalui komunikasi serial untuk pengolahan informasi
arah gerak yang kemudian di-upload ke jaringan internet.
(b) Perancangan Perangkat Keras dan Perangkat Lunak
Untuk mengaktifkan hubungan antara robot, kamera ,
komputer dan driver perlu dibuat perangkat keras dan
perangkat lunak. Perancangan perangkat keras meliputi :
Rangkaian driver motor DC dan motor stepper yang bisa
menggerakkan robot maju, mundur, kanan dan kiri dan
memutar kamera ke atas dan ke bawah, pembuatan mekanik
robot yang membawa kamera dan laptop. Sedangkan untuk
perancangan perangkat lunak meliputi : Camera Server dan
Web server.
(c) Perancangan dan pengujian perangkat keras dan Perangkat
Lunak

EEPIS-ITS
3
Proyek Akhir 2005/2006

Dari hasil perancangan, dilakukan realisasi / pembuatan baik


perangkat keras maupun perangakat lunak. Dan diadakan
pengukuran / pengujian masing – masing ( sub-sistem ) dari
perangkat – perangkat tersebut sebelum dilakukan integrasi.
(d) Integrasi dan Pengujian Sistem
Hasil dari pembuatan perangkat keras dan perangkat lunak,
diintegrasikan ke dalam satu sistem kerja untuk bisa dijalankan
sesuai dengan fungsinya yaitu memonitoring keadaan ruangan.
Pada bagian robot terdiri dari : laptop sebagai server, Kamera ,
Rangkaian driver dan motor DC dan motor stepper. Bagian
Penerima meliputi : Personal komputer yang terhubung oleh
jaringan wireless internet. Selanjutnya dilakukan pengujian
sistem untuk mengetahui kinerja (performance) sistem yang
telah dikembangkan. Pada bagian robot, laptop dan rangkaian
motor dihidupkan dengan menghubungkan ke baterai +12 volt
DC, kemudian dihubungkan ke jaringan wireless internet untuk
bisa diakses melalui internet, setelah terhubung ke jaringan
wireless internet, kemudian komputer pemonitoring
dihidupkan dan dihubungkan ke jaringan wireless internet,
selanjutnya ketikkan alamat homepage robot yang sudah
diaktifkan, maka akan terlihat gambar kondisi ruangan pada
sisi depan kamera saat itu.
(e) Experimen dan Analisa Sistem
Sistem yang sudah dibangun, terintegrasi dan unjuk kerjanya
dianggap memadai dapat digunakan untuk memonitoring suatu
ruangan yang dapat di akses melalui melalui internet.

1.6 SISTEMATIKA PEMBAHASAN

Buku laporan proyek akhir ini terdiri dari 5 (lima) bab, dimana
masing-masing bab mempunyai kaitan satu sama lain, yaitu:

BAB I PENDAHULUAN
Memberikan latar belakang tentang permasalahan,
tujuan, masalah dan batasan masalah yang dibahas
dalam proyek akhir ini.

EEPIS-ITS
4
Proyek Akhir 2005/2006

BAB II TEORI PENUNJANG


Memberikan dasar teori untuk menunjang penyelesaian
masalah dalam proyek akhir ini. Teori dasar yang
diberikan meliputi: Operating System Linux, TCP/IP,
HTTP, PHP( Personal Home Page ), Video Streaming,
Bahasa Pemrograman C, CGI, JavaScript.

BAB III PERENCANAAN DAN PEMBUATAN PROGRAM


Berisi tentang perencanaan dan pembuatan dari seluruh
elemen dari sistem monitoring ruangan berbasis camera
server baik algoritma, flowchart, dan perangkat
lunaknya.

BAB IV ANALISA DAN PENGUJIAN


Berisi tentang hasil pengukuran dan analisa dari sistem
yang sudah dibuat, kemudian dibandingkan dengan
perencanaan awal serta teori – teori penunjang yang
menjadi landasan dari proyek akhir ini.

BAB V PENUTUP
Berisi kesimpulan dan saran serta rencana
pengembangan proyek akhir, jika dimungkinkan untuk
masa yang akan datang

DAFTAR PUSTAKA
Pada bagian ini berisi tentang referensi – referensi yang
telah dipakai oleh penulis sebagai acuan dan penunjang
serta parameter yang mendukung penyelesaian proyek
akhir ini baik secara praktis maupun sebagai teoritis.

EEPIS-ITS
5
Proyek Akhir 2005/2006

B A B II
TEORI DASAR

2.1 SISTEM OPERASI GNU/LINUX

2.1.1 Pengenalan Linux

Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para
pengguna internet dan komunitas mahasiswa yang memiliki hobi
untuk mencoba software-software baru. Secara teknis dan singkat
dapat dikatakan, Linux adalah suatu system operasi yang bersifat
multi user dan multi tasking, yang dapat berjalan di berbagai platform
termasuk prosesor Intel 386 maupun yang lebih tinggi. Linux dapat
berinteroperasi secara baik dengan sistem operasi yang lain, termasuk
Apple, Microsoft dan Novell. Nama Linux sendiri diturunkan dari
pencipta awalnya, Linus Torvalds, yang sebetulnya mengacu pada
suatu kumpulan software lengkap yang bersama-sama dengan kernel
menyusun suatu sistem operasi yang lengkap. Lingkungan sistem
operasi ini mencakup ratusan program, termasuk kompiler, interpreter,
editor dan utilitas. Perangkat bantu yang mendukung konektifitas,
ethernet, SLIP dan PPP dan interoperabilitas. Produk perangkat lunak
yang handal (reliable), termasuk versi pengembangan terakhir.
Kelompok pengembang yang tersebar di seluruh dunia yang telah
bekerja dan menjadikan Linux portabel ke suatu platform baru, begitu
juga mendukung komunitas pengguna yang memiliki beragam
kebutuhan dan juga pengguna dapat turut serta bertindak sebagai tim
pengembang sendiri.

2.1.2 Perbedaan mendasar Linux


Satu hal yang membedakan Linux terhadap sistem operasi
lainnya adalah harga. Linux ini lebih murah dan dapat diperbanyak
serta didistribusikan kembali tanpa harus membayar fee atau royalti
kepada seseorang. Tetapi ada hal lain yang lebih utama selain
pertimbangan harga yaitu mengenai source code. Source code Linux
tersedia bagi semua orang sehingga setiap orang dapat terlibat
langsung dalam pengembangannya.Kebebasan ini telah

EEPIS-ITS
6
Proyek Akhir 2005/2006

memungkinkan para vendor perangkat keras membuat driver ntuk


device tertentu tanpa harus mendapatkan lisensi source code yang
mahal atau menandatangani Non Disclosure Agreement (NDA). Dan
itu juga telah menyediakan kemungkinan bagi setiap orang untuk
melihat ke dalam suatu sistem operasi yang nyata dan berkualitas
komersial.Karena Linux itu tersedia secara bebas di internet, berbagai
vendor telah membuat suatu paket distrbusi yang dapat dianggap
sebagai versi kemasan Linux. Paket ini termasuk lingkungan Linux
lengkap, penagkat lunak untuk instalasi dan mungkin termasuk
perangkat lunak khusus dan dukungan khusus.

2.1.3 Perbandingan Linux terhadap sistem operasi lainnya


Linux disusun berdasarkan standar sistem operasi POSIX yang
sebenarnya diturunkan berdasarkan fungsi kerja UNIX.UNIX
kompatibel dengan Linux pada level system call, ini berarti sebagian
besar program yang ditulis untuk UNIX atau Linux dapat
direkompilasi dan dijalankan pada sistem lain dengan perubahan yang
minimal. Secara umum dapatdikatakan Linux berjalan lebih cepat
dibanding UNIX lain pada hardware yang sama. Dan lagi UNIX
memiliki kelemahan yaitu tidak bersifat free. MS-DOS memiliki
kemiripan dengan Linux yaitu file sistem yang bersifat hirarkis. Tetapi
MS-DOS hanya dapat dijalankan pada prosesor x86 dan tidak
mendukung multi user dan multi tasking, serta tidak bersifat free. Juga
MSDOS tidak memiliki dukungan yang baik agar dapat
berinteroperasi dengan sistem operasi lainnya, termasuk tidak
tersedianya perangkat lunak network, program pengembang dan
program utilitas yang ada dalam Linux.
MSWindows menawarkan kemampuan grafis yang ada pada
Linux termasuk kemampuan networking tetapi tetap memiliki
kekurangan yang ada pada MS-DOS. Windows NT yang juga tersedia
untuk Digital Alpha selain prosesor x86. Namun Windows NT ini
masih juga memiliki beberapa kekurangan yang telah ada pada MS-
DOS.Waktu untuk menemukan suatu bug dalam suatu sistem operasi
ini tak sebanding dengan harga yang harus dibayar. Sistem operasi
Apple untuk Macintosh hanya dapat berjalan di sistem Mac. Juga
memiliki kekurangan dari sisi ketersediaan perangkat bantu

EEPIS-ITS
7
Proyek Akhir 2005/2006

pengembang (development tool) dan juga kurang dapat secara mudah


untuk berintoperasi dengan sistem operasi lainnya. Apple juga telah
memungkinkan Linux dapat dijalankan pada Power

● Kelebihan Linux
Di sini akan dijelaskan beberapa kelebihan dari sistem
operasi Linux/UNIX dibandingkan dengan dengan sistem
operasi yang lain. Dan berikut ini adalah beberapa fakta dari
hal-hal yang menguntungkan dengan menggunakan program
dan file-file Linux/UNIX :
1. Pada dasarnya semua data tersimpan di dalam harddisk
walau ada beberapa kondisi dimana data tersimpan di
disket. Linux/UNIX memberikan beberapa proses
spesial dimana terminal, printer dan device hardware
lainnya dapat diakses seperti kita mengakses file yang
tersimpan dalam harddisk atau disket.
2. Ketika program dijalankan, program tersebut dijalankan
dari harddisk ke dalam RAM dan setelah dijalankan
akan dinamakan sebagai proses.
3. Linux/UNIX menyediakan servis untuk membuat,
memodifikasi program, proses dan file.
4. Linux/UNIX mendukung struktur file yang bersifat
hirarki.
5. Linux/UNIX adalah salah satu sistem operasi yang
termasuk ke dalam kelas sistem operasi yang dapat
melakukan multitasking. Multitasking sendiri adalah
keadaan dimana suatu sistem operasi dapat melakukan
banyak kerjaan pada saat yang bersamaan.
6. Selain multitasking, Linux/UNIX juga dapat
mendukung multiuser. Yaitu sistem operasi yang pada
saat bersamaan dapat digunakan oleh lebih dari satu
user yang masuk ke dalam sistem. Bahkan untuk Linux
juga mendukung untuk multiconsole dimana pada saat
bersamaan di depan komputer langsung tanpa harus
melalui jaringan dan memungkinkan lebih dari satu
user masuk ke dakam sistem.

EEPIS-ITS
8
Proyek Akhir 2005/2006

2.1.4 Bagian sistem operasi Linux

Sistem Operasi Linux/UNIX terdiri dari kernel, program sistem


dan beberapa program aplikasi. Kernel merupakan inti dari sistem
operasi yang mengatur penggunaan memori, piranti masukan
keluaran, proses-proses, pemakaian file pada file system dan lain-lain.
Kernel juga menyediakan sekumpulan layanan yang digunakan untuk
mengakses kernel yang disebut system call. System call ini digunakan
untuk mengimplementasikan berbagai layanan yang dibutuhkan oleh
sistem operasi. Program sistem dan semua program-program lainnya
yang berjalan di atas kernel disebut user mode. Perbedaan mendasar
antara program sistem dan program aplikasi adalah program sistem
dibutuhkan agar suatu sistem operasi dapat berjalan sedangkan
program aplikasi adalah program yang dibutuhkan untuk menjalankan
suatu aplikasi tertentu. Contoh : daemon merupakan program sistem
dan pengolah kata (word processor) merupakan program aplikasi.

2.1.5 Bagian penting kernel Linux

Kernel Linux terdiri dari beberapa bagian penting, seperti :


manajemen proses, manajemen memori, hardware device drivers,
filesystem drivers, manajemen jaringan dan lain-lain. Namun bagian
yang terpenting ialah manajemen proses dan manajemen memori.
Manajemen memori menangani daerah pemakaian memori, daerah
swap, bagian-bagian kernel dan untuk buffer cache. Manajemen
proses menangani pembuatan proses-proses dan penjadwalan proses.

2.2 VIDEO STREAMING


Video streaming merupakan bidang yang menarik untuk
dijelajahi karena relatif baru dengan biaya yang cukup murah dengan
semakin murahnya peralatan elektronik. Aplikasi dari Video Streaming
salah satunya untuk memonitoring atau pemantauan kondisi ruangan,
informasi videoakan dikirmkan melalui saluran komunikasi, termasuk
jaringan, kabel telepon, saluran ISDN atau radio. Informasi video
mempunyai bandwidth yang lebar (sangat banyak byte per detik yang

EEPIS-ITS
9
Proyek Akhir 2005/2006

dikirimkan), yang oleh karenanya sangat membutuhkan teknologi


kompresi video untuk mengurangi kebutuhan bandwidth sebelum
dikirimkan melalui saluran komunikasi. Peralatan yang perlu
ditambahkan hanya kamera video sederhana. Sekedar gambaran singkat,
sebuah kanal video yang baik tanpa dikompresi akan mengambil
bandwidth sekitar 9 Mbps. Dengan teknik kompresi yang sudah ada
pada hari ini, kita dapat menghemat sebuah kanal video sekitar 30 Kbps.
Itu berarti sebuah saluran Internet yang tidak terlalu cepat sebetulnya
dapat digunakan untuk menyalurkan video.
Dengan banyaknya WARNET maupun RT/RW-Net yang
menggunakan peralatan wireless Internet 2.4 GHz pada kecepatan 11
Mbps, bahkan sebagian mulai bereksperimen dengan kecepatan 54Mbps
pada frekuensi 5.8GHz, sebetulnya banwidth yang ada pada infrastruktur
jaringan internet lokal sebetulnya sudah cukup lebar, bahkan mungkin
sangat lebar.
Beberapa hal yang perlu diperhatikan dalam pengiriman video
adalah :

- Jika kita menggunakan video hitam-putih akan memakan


bandwidth lebih kecil daripada jika kita melakukan konferensi
menggunakan video berwarna.
- Jika kita menggunakan kecepatan pengiriman kecepatan
pengiriman frame per second (fps) video yang rendah, akan
memakan bandwidth yang lebih rendah dibandingkan frame per
second (fps) yang tinggi.

Video yang cukup baik biasanya dikirim dengan kecepatan frame


per second (fps) sekitar 30 fps. Jika dikirimkan tanpa kompresi, sebuah
video dengan 30 fps akan mengambil bandwidth kira-kira 9Mbps, amat
sangat besar untuk ukuran kanal komunikasi data.

2.3 TCP/IP
TCP/IP merupakan protokol jaringan komputer terbuka dan bisa
terhubung dengan berbagai jenis perangkat keras dan lunak. TCP terdiri
beberapa layer atau lapisan yang memiliki fungsi tertentu dalam
komunikasi data. Setiap fungsi dari layer selain dapat bekerjasama
dengan layer pada tingkat lebih rendah atau lebih tinggi, juga bisa

EEPIS-ITS
10
Proyek Akhir 2005/2006

berkomunikasi dengan layer sejenis pada remote host (peering). Data


yang mengalir antar layer atau antar host dienkapsulasi dan diberi
header agar tiap layer bisa memprosesnya. Sebuah host tidak tahu
alamat IP gateway di network lain, tetapi data mengalir ke host tujuan di
network lain melalui gateway networknya setelah diberi penentuan
ruting alamat IP.
Sebuah alamat IP berisi satu bagian network dan satu bagian host,
tetapi formatnya tidak sama pada setiao alamat IP. Sejumlah bit alamat
dipakai disini untuk mengidentifikasi network, dan angka dipakai untuk
mengidentifikasi host, dan beragam kelas alamat IP. Ada tiga kelas
utama alamat IP yaitu kelas A, B dan C.
• Ketentuan kelas alamat IP :
1. Jika bit pertama dari sebuah alamat IP adalah angka 0, ini
menunjukan network kelas A. Tujuh bit berikutnya menunjukan
identitas network, dan 24 bit terakhir menunjukan identitas
host. Ada 128 buah network kelas , tapi didalam setiap kelas A
bisa terdapat jutaan host.
2. Jika bit pertama dari dua angka alamat IP adalah 10, ini
menunjukan alamat IP network kelas B. Angka Bit pertama
kelas, kemudian 24 bit berikutnya menunjukan identitas alamat
network, dan 10 bit berikutnya untuk host. Ada ribuan angka
network kelas B dan setiap kelas B dapat berisi ribuan host.
3. Jika bit pertama dari tiga bit alamat IP adalah 110, ini
merupakan alamat IP kelas C. Tiga bit pertama berupa alamat
kelas. 21 bit berikutnya sebagai alamat network, dan 8 bit
selanjutnya merupakan identitas host. Ada jutaan network kelas
C, dan didalam tiap kelas C ada 254 host.
4. Jika tiga bit pertama dari alamat IP adalah 111, ini merupakan
alamat reserved khusus. Disebut juga sebagai alamat kelas D,
namun itu tidak mewakili network tertentu. Angka alamat disini
saat ini umumnya diperguhakan sebagai alamat IP multicast.
Alamat multicast dipakai untuk alamat semua grup komputer
pada satu waktu.Alamat multicast mengindentifikasikan sebuah
grup komputer yang melakukan sharing protokol umum
sebagai lawan dari grup komputer yang melakukan sharing
nework.

EEPIS-ITS
11
Proyek Akhir 2005/2006

Tampaknya seperti rumit, tetapi karena adanya penulisan alamat


IP memakai bilangan desimal (0-255), maka keruwetan itu tidak terlihat.
Secara sederhana bisa dilihat ketentuan pemisahan kelas network seperti
berikut ini:
1. Kurang dari 128 adalah alamat kelas , byte pertama adalah
bilangan network, tiga byte berikutnya adalah alamat host.
2. Dari 128 sampai 191 adalah alamat kelas B, dua byte pertama
sebagai alamat network, dan dua byte terakhir sebagai alamat
host.
3. Dari 192 sampai 223 adalah alamat kelas C, tiga byte pertama
sebagai alamat network, dan byte terakhir sebagai alamat host.
4. Lebih besar dari 223 adalah alamat reserved dan bisa kita
abaikan (tidak dipergunakan).
Contoh :
1. Sebuah network memiliki alamat IP 026.104.0.19. Ini bisa
ditulis juga dg 26.104.0.19. menjelaskan adanya host dengan
alamat IP nomor 104.0.19 dalam network 26 yang termasuk
kelas A.
2. Alamat IP 128.66.12.1. menunjukan alamat IP host 12.1
didalam network nomor 128.66 yang termasuk kelas B.
3. Alamat IP 167.205.23.14 menunjukan alamat IP host nomor
23.14 didalam network nomor 167.205 yang termasuk dalam
kelas B.

2.4 WIRELESS LAN


Istilah jaringan komputer tanpa kabel merupakan terjemahan dari
istilah wireless networking yang berarti komunikasi data dalam sebuah
jaringan komputer yang tidak memanfaatkan kabel sebagai media
transmisi. Jaringan ini memanfatkan gelombang mikro atau gelombang
elektromagnetik sebagai media transmisinya.
Kelebihan wireless networking antara lain:
1. Kebutuhan akan informasi di era pasar bebas membuat para
pecandu informasi ingin online terus-menerus. Untuk keperluan ini
komunikasi wireless sangant tepat karena mempunyai banyak
aplikasi penting disamping juga menyediakan konektifitas bagi
pengguna.

EEPIS-ITS
12
Proyek Akhir 2005/2006

2. Untuk medan yang berat dan sulit seperti di pegunungan, hutan,


dan rawa teknologi wireless lebih tepat digunakan daripada kabel.
3. Teknologi wireless dapat memjawab kebutuhan pemakai jaringan
yang memiliki mobilitas tinggi. Dengan wireless jangkauan
jaringan menjadi jauh lebih luas.
Kekurangan wireless networking antara lain:
1. Jangkauannya masih tetap terbatas.
2. Kemampuan transfer data lebih kecil dibandingkan jaringan kabel.
3. Keamanan data belum terjamin karena masih memungkinkan
terjadinya penyadapan.
4. Proses instalasi sulit
5. Masih sering mengalami gangguan sehingga kemungkinan
terjadinya kehilangan data masih cukup besar.
Wireless LAN biasanya menggunakan salah satu dari dua cara
pengaturan jaringan yaitu:
1. Topologi Ad-Hoc.
Topologi ad-hoc dikenal sebagai jaringan peer-to-peer. Setiap PC
dilengkapi dengan sebuah adapter Wireless LAN yang mengirim dan
menerima data ke dan dari PC lain yang dilengkapi dengan adapter yang
sama, dalam radius 100 meter. Pada koneksi dua PC menggunakan
aplikasi sederhana seperti sharing printer dan internet. Gambaran lebih
jelas tentang topologi Ad-Hoc dapat dilihat gambar 1

Gambar 2.1. Topologi Ad-Hoc

EEPIS-ITS
13
Proyek Akhir 2005/2006

Kelebihan topologi ini adalah murah, tanpa acces point dan


proses instalasi mudah. Namun, topologi ini juga punya kelemahan yaitu
akses internet harus menggunakan Internet Connection Sharing (ICS).
2. Topologi Infrastruktur.
Pada topologi infrastruktur, tiap PC mengirim dan menerima data
dari sebuah acces point. Saat acces point menerima data, ia akan
mengirimkan kembali sinyal radio tersebut (dengan jangkauan yang
lebih jauh) ke PC yang berada di area tersebut, dan mentransfer data.
Ada dua macam topologi infrastruktur berdasarkan acces point
yang dipakai. Cara yang pertama adalah dengan mengunakan dedicated
Hardware Access Point (HAP). Sedangkan cara kedua adalah dengan
menggunakan Software Access Point yang dijalankan pada komputer
yang dilengkapi dengan wireless network interface card. Kedua cara ini
dapat dilihat pada lampiran gambar 2 dan gambar 3.

Gambar 2.2. Topologi Infrastrukur dengan Hadware Access Point

EEPIS-ITS
14
Proyek Akhir 2005/2006

Gambar 2.3. Topologi Infrastrukur dengan Software Access Point

Standar Wireless LAN dapat dilihat pada lampiran tabel 1.


Tabel 2.1. Standar Wireless LAN
Standart Kompabilitas Kecepatan Kecepatan Jarak Frekuensi
(teoritis) (actual) (indoor)
802.11a 802.11a 54 Mbit/s 20 Mbit/s 15-20 m 5 GHz
802.11b 802.11b,b+,g 11 Mbit/s 4-6 Mbit/s 25-50 m 2.4 GHz
802.11b+ 802.11b+,b,g 22 Mbit/s 6-8 Mbit/s 25-50 m 2.4 GHz
802.11g 802.11g,b,b+ 54 Mbit/s 15-19 Mbit/s 25-50 m 2.4 GHz

2.5 KONSEP CLIENT-SERVER


Istilah client/server dewasa ini telah demikian populer.
Keuntungan utama dari sistem berbasis client/server adalah bahwa
perangkat keras dan perangkat lunak bisa ditempatkan di mana saja
mereka bisa bekerja secara lebih optimal. Dulu, di jaman komputer
mainframe, komputer mainframe-lah yang menjadi pusat kendali dan
mengerjakan semua proses komputasi. Pengguna berinteraksi dengan
sistem mainframe melalui terminal – terminal yang dibutuhkan secara
langsung ke komputer mainframe. Terminal-terminal ini tidak punya
kemampuan pmrosesan sama sekali, dan oleh karena itu disebut
“terminal dungu” (dumb terminal ). Termianl dungu tidak lebih dari

EEPIS-ITS
15
Proyek Akhir 2005/2006

sekedar perpanjangan kabel untuk keyboard dan layar monitor, dan


hanya berfungsi sebagai alat untuk memasukkan dan melihat data saja.

Gambar 2.4 Konsep Sistem Mainframe

Definisi yang banyak dipergunakan untuk menjelaskan sistem


berbasis client/server adalah “sistem yang memisahkan antara tugas-
tugas komputasi antara proses-proses client dan serve “. Dengan sistem
client/server, kekuatan pemrosesan bisa disebarkan (didistribusikan ) ke
banyak mesin client dan mesin server yang terpisah secara fisik (itu
sebabnya disebut distributed system).
Misalnya sebuah server web yang mengambil informasi dari
database menampilkan hasilnya pada client dengan menggunakan broser
web. Server web dan database bisa saja ditempatkan pada sutu mesin
saja, namun apabiala jumlah client yang melakukan akses ke server
semakin banyak dan melebihi kapasitas mesin server, perangkat lunak
database dan server web bisa saja dipisahkan dan ditempatkan di mesin
kedua, ketiga atau bahkan lebih. Dengan begitu pemrosesan pada sisi
server dapat disebarkan ke beberapa mesin, yang memungkinkan
efisiensi komputasi. Begitu pula, dengan cara ini, kapasitas server bisa
dikembangkan dan ditingkatkan sesuai dengan kebutuhan.
Dari susut pandang lain, sistem berbasis client/server juga bisa
memanfaatkan browser web untuk meringankan kerja server. Tugas
menampilkan informasi dan menyediakan tampila pengguna (user
interface ) tidak perlu dilakukan secara langsung oleh server, namun
diserahkan sepenuhnya kepada browser web. Dengan hadirnya teknologi

EEPIS-ITS
16
Proyek Akhir 2005/2006

pemrograman client-side (yang dijalankan di sisi client ) seperti Java dan


bahasa client-scripting seperti Javascript, fungsi – fungsi lain seperti
pemeriksaan /validasi input bisa dilakukan oleh bwoser sebelum data
dikirimkan kepada server, menjamin data yang dikirikkan ke server
tidak keliru. Hal ini mempercepat kerja server, karena hanya
mengerjakan tugas-tugas yang berguna.
Konsep dasar sistem berbasis clint-server adalah balancing
(penyebaran), yaitu proses yang mencegah suatu prosesor mengalami
overload (terbeban lagi) sementara mesin lainnya justru menganggur .
Jadi, setidaknya dalam teori, sistem berbasis client/server
memberikan keuntungan yang banyak seperti penggunaan
resourcesecara lebih efisien, penyimpanan data terpusat, serta lalu lintas
di dalam jaringan menjadi lebih rendah (dibandingkan dengan sistem
yang seluruhnya terpusat). Satu-satunya kelemahan utama dari sistem
berbasis client/server adalah manajemen dan perawatan mesin-mesin
client yang membutuhkan upgrading serta proses konfigurasi yang
memakan waktu dan tenaga. Semua program client, misalnya front-end
untuk suatu database, harus dipasang satu persatu di setiap komputer
client, dan apabila pada suatu saat program client tersebut harus diubah
atau dikembangkan, prosesnya harus diulang di setiap komputer client.
Bagaimana dengan Internet, dalam hal ini web? Sebenarnya,
secara mudah kita bisa mengatakan bahwa konsep web pada awalnya
bisa dipandang mirip dengan konsep jaringan dengan dump terminal;
pengguna browser web mengirimkan permintaan ke server web, lalu
menerima informasi dari server berupa dokumen statis yang oleh
browser hanya perlu ditampilkan saja ke layar. Meskipun kommputer
client memiliki prosesor sendiri, memori sendiri serta media
penyimpanan sendiri, sifat-sifat alami browser web sebenarnya
memenuhi syarat-syarat sebagai dumb terminal. Oleh karana browser
web mempunyai kemampuan untuk membentuk user interface
(tampilan pengguna) yang sifatnya grafis, sebagian orang menyebutnya
sebagai “smart dumb terminal” (terminal dungu yang cerdas, atau tidak
terlalu dungu).
Struktur fisik dari Internet sendiri juga tidak berbeda jauh dari
sistem mainframe. Bandwidth (lebar jalur) besarnya terbatas. Tidak
seperti teknologi lokal (LAN) seperti Ethernet atau Token Ring yang
bisa membawa informasi sampai 10 bahkan 100 Mbps, kebanyakan

EEPIS-ITS
17
Proyek Akhir 2005/2006

pengguna Internet masih terbatas pada sambungan berorde kilobit per


detik. Perusahaan-perusahaan besar mungkin sanggup menyewa
sambungan kapasitas besar seperti T1 (1,55 Mbps) ke internet, namun
kebanyakan pengguna yang lebih kexil aatau rumah tangga hanya
mempunyai sambungan berkecepatan rendah, sekitar 33 – 56 Kbps.
Bahkan teknologi ISDN pun ( yang masih saat ini masih tergolong
mahal) jarang melampaui 128 Kbps.
Melihat kenyatan bahwa pada mesin-mesin yang menjalankan
browser pada umumnya adalah komputer-komputer modern yang
memiliki potensi pemrosesan dan penyimpanan data yang cukup besar,
mesin-mesin client seharusnya bisa mengerjakan lebih banyak pekerjaan
lagi. Juga, tidak seperti sistem berbasis client/server “tradisional”,
kenyatan bahwa penggunaan browser web nyaris tidak membutuhkan
perawatan yang mahal, upgrade berkala dan konfigurasi yang rumit,
membuat web (dan Internet pada umumnya ) menjadi tempat yang
menarik untuk mengembangkan sistem berbasis client/server.
Dari sisi pengelola jaringan, sistemberbasis web mengundang
banyak perhatian karena sisrem semacam ini bisa mengatasi banyak
kekurangan dari sistem-sitem tradisional. Pada intinya, mengembangkan
sistem client/server di web membawa keuntungan-keuntungan langsung
seperti :

1. Tidak ada masalah distribusi program


Pendistribusian berlangsung secara sendirinya, karan setiap
salinan dokumen (sebagai satu komponen aplikasi) di-download
ke mesin client setiap saat mesin client membutuhkan dan
meminta update atau salinan yang lebih baru. Tidak perlu lagi
seorang administrator jaringan meng-install perangkat lunak
client untuk setiap komputer yang ada di organisasinya, suatu
pekerjaan yang melelahkan dan memboroskan waktu.
2. Efisien
Distribusi otomatis dan tidak perlunya instalasi untuk setiap client
jelas mempermudah perawatan dan updating aplikasi. Perubahan-
perubahan pada aplikasi bisa dikerjakan secara terpusat dan bisa
langsung diterapkan tanpa perlu menyesuaikan semua client.
Bahkan tampilan pada pengguna bisa diubah – ubah secara
berkala sisesuaikan dengan waktu dan situasi.

EEPIS-ITS
18
Proyek Akhir 2005/2006

3. Fleksibel
Browser web tersedia untuk hampir semua macam platform
mesin dan sistem operasi, baik itu mesin Windows berbasis
prosesor Intel, mesin UNIX berbasis prosesor RISC, ataupun
komputer Macintosh. Fleksibilitas aplikasi web lebih terjamin,
karena tidak perlu lagi mengembangkan program-program client
yang berbeda untuk tiap macam platform.

2.6 WORLD WIDE WEB


Pada awalnya internet adalah sebuah proyek yang dimaksudkan
untuk menghubungkan para ilmuan dan peneliti di Amerika, namun ini
telah tumbuh menjadi media komunikasi global yang dipakai semua
orang di muka bumi. Perumbuhan ini membawa beberapa masalah
penting mendasar, dianataranya kenyataan bahwa Internet tidak
diciptakan pada jaman Gaphical User Interface (GUI) seperti saat ini,
Internet dimulai pada masa dimana orang masih menggunakan alat – alat
akses yang tidak user – friendly yaitu terminal berbasis teks serta
perintah – perintah command line yang panjang – panjang serta sukar
diingat, sangat berbeda dengan komputer dewasa ini yang menggunakan
klik tombol mouse pada layar grafik berwarna.
Kemudian orang berpikir untuk membuat sesuatu yang lebih baik.
Popularitas Internet mulai berkembang pesat seperti jamur di musim
penghujan setelah standar baru yaitu HTTP dan HTML diperkenalkan
kepada masyarakat. HTTP ( Hypertext Trasfer Protocol ) membuat
pengaksesan informasi melalui protokol TCP/IP menjadi lebih mudah
dari sebelumnya. HTML ( Hypertext Markup Language )
memungkinkan orang menyajikan informasi yang secara visual lebih
menarik. Pemunculan HTTP dan HTML kemudian membuat orang
mengenal istilah baru dalam internet yang sekarang menjadi sangat
populer, bahkan sedemikian populernya sehingga sering dianggap
identik denga internet itu sendiri, yaitu World Wide Web (WWW).
Pada prinsipnya World Wide Web (singkatan cukup disebut
”web” saja ) bekerja dengan cara menampilkan file –file HTML yang
berasal dari server web pada program client khusus, yaitu browser web.
Program browser pada client mengirimkan permintaan (request) kepada
server web, yang kemudian akan dikirimkan oleh server dalam bentuk
HTML. File HTML berisi instruksi –instruksi yang diperlukan untuk

EEPIS-ITS
19
Proyek Akhir 2005/2006

membentuk tampilan. Perintah –perintah HTML ini kemudian


diterjemahkan oleh browser web sehingga isi informasinya dapat
ditampilkan secara visual kepada pengguna di layar komputer.
Dalam dunia web, perangkat lunak client, yaitu browser web
mempunyai tugas yang sama yaitu menterjemahkan informasi yang
diterima dari server web dan menampilkannya pada layar komputer
pengguna. Oleh karena HTTP memungkinkan server web mengirimkan
beragam data, seperti teks atau gambar, browser harus bisa mengenali
berbagai macam data yang akan diterimanya, dan selanjutnya harus tahu
cara untuk menampilkannya dengan benar. Teks harus sitampilkan
sebagai teks dan gambar harus ditampilkan sebagai dambar.
Umumnya browser web menerima data dalam bentuk HTML.
File HTML sebenarnya adalah file teks biasa yang selain berisi
informasi yang hendak ditampilkan kepada pengguna, juga mempunyai
perintah – perintah untuk mengatur tampilan data tersebut, Browserlah
yang memiliki kuasa penuh dalam menerjemahkan perintah – perintah
tadi. Meskipun sudah dibuat konsessus untuk menstandarkan format dan
elemen-elemen HTML, setiap jenis browser bisa menterjemahkan file
HTML yang sama secara berbeda.
Pada awal pertama kalinya protokol-protokol dasar web
dikembangkan yaitu sekitar awal 1990-an, browser web pertama yang
diperkenalkan adalah Mosaic yang dibuat oleh National Center for
Supercomputing Applications (NCSA) di Amerika Serikat. Mosaic
dimaksudkan agar menjadi sebuah interface grafis yang mudah
dipergunakan, yang dengan demikian diharapkan dapat mempercepat
perkembangan dan dukunganumum akan web. Mosaic langsung dibuat
untuk tiga macam platform berbeda, yaitu X Window (untuk lingkungan
UNIX dan keluarganya), Microsoft Windows dan Macintosh. Mosaic
inilah yang lalu dianggap sebagai legenda yang memacu revolusi web
menjadi sedemikian populernya seperti sekarang ini.
Perkembangan jaman serta semakin populernya lingkungan GUI
(Graphical User Interface) membuat banyak orang sekarang berlomba-
lomba membuat program browser yang menarik serta mudah dipakai.
Browser-browser web modem dilengkapi dengan fasilitas-fasilitas yang
mendukung tampilan multi,edia berupa audio (suara), animasi 3
dimensi, bahkan video. Program browser web yang paling terkenal saat
ini adalah Netcape Navigator dan Microsoft Internet Explorer.

EEPIS-ITS
20
Proyek Akhir 2005/2006

Sementara itu server web pada dasarnya adalah perangkat lunak


khusus yang bertugas melayani permintaan-permintaan dari browser
web akan dokumen-dokumen yang tersimpan di dalamnya. Perangkat
lunak server web sekarang tersedia untuk berbagai macam platform dan
lingkungan sistem operasi untuk lingkungan UNIX, yang paling populer
adalah Apache, Netcape FastTrack, O’Reilly Website dan banyak lagi.
Sistem operasi jaringan Novell Netware pun memiliki suatu modul add-
on yang berfungsi sebagai server web, yang bisa dijalankan pada saat
startup jaringan.
Beberapa perangkat lunak server web mempunyai feature seperti
server side programming, security control dan lain sebagainya.
Meskipun beragam macamnya, secara fungsional semua jenis server
web adalah sama saja, yaitu berfungsi melayani permintaan-permintaan
dari browser web.

Gambar 2.5 Konsep dasar browser dan server web

2.7 HTTP

Web merupakan terobosan baru sebagai teknologi sistem


informasi yang menghubungkan data dari banyak sumber dan layanan
yang beragam macamnya di internet. Pengguna tinggal mengklikkan
tombol mousenya pada link – link hypertext yang ada untuk melompat
ke dokumen – dokumen di berbagai lokasi si internet. Link – linknya

EEPIS-ITS
21
Proyek Akhir 2005/2006

sendiri bisa mengacu kepada dokumen web., server FTP (File Trasfer
Protokol), e-mail ataupun layanan – layanan lain.
Server dan browser web berkomunikasi satu sama lain dengan
protokol yang memang dibuat khusus untuk ini, yaitu HTTP. HTTP
bertugas menangani permintaan –permintaan ( request ) dari browser
untuk mengambil dokumen –dokumen web.
HTTP bisa dianggap sebagai sistem yang bermodel client-server.
Browser web, sebagai clientnya, mengirimkan permintaan kepada
server web untuk menentukan apakah dokumen yang diminta bisa
dikirimkan kepada browser atau tidak.
HTTP bekerja di atas TCP ( Transmission Control Protocol )
yang menjamin sampainya data di tujuan dalam urutan yang benar. Bila
suatu kesalahan terjadi selam proses pengiriman, pihak pengirim akan
mendapat pemberitahuan bahwa telah terjadi ketidakberesan. Karenanya
server dan client tidak harus menyediakan mekanisme untuk memeriksa
kesalahan transmisi data, yang berarti mempermudah pekerjaan
pemrograman. Namun demikian, HTTP tidak memiliki apa yang disebut
session, seperti halnya FTP, yang menjaga hubungan antara server dan
client secara konsisten. Setiap halaman web yang dikirim akan
melibatkan satu proses penyambungan antara client dan server, baru
kemudian datanya ditransfer. Setelah data selesai ditransfer, koneksi
antara server dan client akan diputus. Sifatnya ini membuat HTTP
sering disebut dengan istilah protokol hit-and-run.
Suatu halaman web seringkali berisi bebrapa file gambar, atau
beberapa file–file lain. HTTP memaksa server untuk menjalin hubungan
baru setiap kali hendak mengirim satu buah file. Ini tidak
menguntungkan dan tidak efisien, mengingat proses hubung-putus-
hubung semacam ini menyebabkan beban bagi jaringan.
Standar baru protokol HTTP, yaitu HTTP/1.1 yang baru-baru ini
diperkenalkan, dira ncang untuk mengatasi masalah di atas. Web
diarahkan agar mengarah ke pengguna persistent connection
(sambungan yang terjaga berkesinambungan ) secara lebih efisien.
Dalam HTTP/1.1, server tidak akan memutuskan hubungan dengan
client pada akhir pentransferan dokumen. Hubungan tetap terbuka untuk
melayani bila saja ada request lagi dalam waktu yang singkat. Hubungan
baru akan diputuskan bila setelah melewati suatu batas waktu tertentu

EEPIS-ITS
22
Proyek Akhir 2005/2006

(yang bisa ditentukan oleh administrator server) client tidak


mengirimkan request lagi.
Keuntungan lain dari persisten connection adalah penggunaan
pipelining. Pipelining adalah proses pengiriman request berikutnya
segera setelah request sebelumnya dikirimkan tanpa menunggu balasan
dari server terlebih dahulu. Servernya tetap harus melayani setiap
request secara berurutan, namun ini mengurangi waktu tunda antara
setiap request. Hasilnya, data akan lebih cepat sampai di tujuan.
Standar HTTP/1.1 ini sekarang sudah mulai dimasyarakatkan dan
banyak paket perangkat lunak server web komersial dan non-komersial
yang sudah mendukung standar baru ini. Browser-browser web keluaran
terbaru umumnya juga sudah mendukung HTTP/1.1.

2.8 HTML
HTML dewasa ini dikenalkan sebagai bahasa standar untuk
membuat membuat dokumen web. Sesungguhnya Hypertext Markup
Language (HTML) justru tidak dibuat untuk mempublikasikan informasi
di web, namun oleh karena kesederhanaan serta kemudahan
penggunanya, HTML kemudian dipilih orang untuk mendistribusikan
informasi di web.
Perintah – perintah HTML diletakkan dalam file berektensi
*.html dan ditandai dengan mempergunakan tag (tanpa) berupa karakter
“<”dan “>”. Tidak seperti bahasa pemrograman berstruktur prosedural
seperti Pascal atau C, HTML tidak mengenal jumping ataupun looping.
Kode – kode HTML dibaca oleh browser dari atas ke bawah tan[a
adanya lompatan – lompatan.
Struktur sebuah dokumen HTML pada dasarnya dibagi menjadi
dua bagian besar, yaitu header dan body. Masing –masing ditandai oleh
pasangan container tag <head> dan <body>. Bagian head berisikan
judul dokumen dan informasi – informasi dasar lainnya, sedangkan
bagian body adalah kata dokumennya.Pengaturan format texts dan
pembentukan link dilakukan terhadap obyeknya langsung dengan
ditandai oleh tag-tag HTML.
HTML diatur oleh Konsorsium WWW (W3C). Semua perubahan
atas standar bahasa HTML harus disahkan terlebih dahulu oleh
konsursium ini. Sejauh ini, HTML telah mengalami berbagai revisi

EEPIS-ITS
23
Proyek Akhir 2005/2006

sepanjang hidupnya. Standar paling akhir yang sekarang diperkenalkan


adalah standar HTML 4.0, yang mendukung antara lain CSS (cascading
style sheet), dynamic content positioning (penempatan isi secara
dinamis), downloadable font (jenis font yang bisa didownload otomatis )
dan sebagainya. Hingga kini, tidak semua browser web telah
disesuaikan untuk mendukung standar HTML terbaru ini, sehingga
banyak masalah inkompatibilitas antara macam – macam bowser web.

2.9 PEMROGRAMAN PHP


PHP sudah dikenal sebagai bahasa scripting yang menyatu
dengan tag-tag HTML, dieksekusi diserver, dan digunakan untuk
membuat halaman web yang dinamis seperti halnya Active Server Pages
(ASP) dan Java Server Pages (JSP). PHP sering digunakan karena
beberapa sebab diantaranya:

¾ Life sycle yang singkat, sehingga PHP selalu up to date


mengikuti perkembangan teknologi internet.
¾ Cross Platform, PHP dapat dipakai pada web server yang ada
dipasaran seperti mApache, AOLServer, fhttpd, phttpd,
Microsoft IIS, dan lain-lain dan dapat dijalankan pada
berbagai sistem operasi seperti Linux, Unix, FreeBSD,
Solaris, Windows.
¾ PHP mendukung berbagai macam datebase baik yang
komersial maupun non komersial, seperti SQL, MySQL,
Oracle, SQL Server, Informix, dan lain-lain.

PHP dapat diinstal sebagai bagian dari CGI Script yang


mandiri. Banyak keuntungan yang diperoleh apabila menggunakan PHP,
diantaranya:

¾ Waktu eksekusi lebih cepat.


¾ Akses database yang lebih fleksibel.
¾ Tingkat keamanan lebih tinggi.

Fungsi-fungsi yang ada didalam PHP tidak case sensitive


(membedakan huruf besar dengan huruf kecil), namun variabelnya case

EEPIS-ITS
24
Proyek Akhir 2005/2006

sensitive. Dalam penggabungan PHP dengan WML,terdapat beberapa


yang dapat digunakan untuk dapat menampilkan WML diantaranya:
• <?.............?>
• <?php...............?>
• <script language=”php”>..........</script>
<%.................%>

2.10 JAVASCRIPT
Javascript diperkenalkan pertama kali oleh Netscape pada tahun
1995. Pada awalnya bahasa ini dinamakan “LiveScript” yang
berfungsi sebagai bahasa sederhana untuk browser Netscape
Navigator 2. Pada masa itu bahasa ini banyak di kritik karena kurang
aman, pengembangannya yang terkesan buru buru dan tidak ada pesan
kesalahan yang di tampilkan setiap kali kita membuat kesalahan pada
saat menyusun suatu program. Kemudian sejalan dengan sedang giatnya
kerjasama antara Netscape dan Sun (pengembang bahasa
pemrograman “Java” ) pada masa itu, maka Netscape memberikan
nama “JavaScript” kepada bahasa tersebut pada tanggal 4 desember
1995. Pada saat yang bersamaan Microsoft sendiri mencoba untuk
mengadaptasikan teknologi ini yang mereka sebut sebagai “Jscript” di
browser Internet Explorer 3.
Javascript adalah bahasa yang berbentuk kumpulan skrip yang
pada fungsinya berjalan pada suatu dokumen HTML, sepanjang sejarah
internet bahasa ini adalah bahasa skrip pertama untuk web. Bahasa ini
adalah bahasa pemrograman untuk memberikan kemampuan tambahan
terhadap bahasa HTML dengan mengijinkan pengeksekusian perintah
perintah di sisi user, yang artinya di sisi browser bukan di sisi server
web. Javascript bergantung kepada browser(navigator) yang
memanggil halaman web yang berisi skrip skrip dari Javascript dan
tentu saja terselip di dalam dokumen HTML. Javascript juga tidak
memerlukan kompilator atau penterjemah khusus untuk
menjalankannya (pada kenyataannya kompilator Javascript sendiri
sudah termasuk di dalam browser tersebut). Lain halnya dengan bahasa
“Java” (dengan mana JavaScript selalu di banding bandingkan) yang
memerlukan kompilator khusus untuk menterjemahkannya di sisi
user/klien.

EEPIS-ITS
25
Proyek Akhir 2005/2006

Javascript merupakan suatu bahasa yang perkembangannya


lambat di bandingkan dengan Java yang berkembang sangat cepat. Di
Javascript kita tidak mungkin menyembunyikan kode skrip yang kita
tulis, kode langsung di tulis di dalam dokumen HTML dan sangat
mudah terlihat, sedangkan di Java, kode sudah berbentuk setengah
terkompilasi (dalam bentuk applet) dan tidak mungkin terlihat dari
dalam dokumen HTML, satu mesin virtual di sisi user yang
bertanggung jawab untuk menterjemahkan program di dalam applet
tersebut setiap kali halaman HTML yang memuat applet tersebut
dipanggil oleh browser. Dibandingkan dengan applet java yang cukup
lambat dibuka oleh browser, bisa kita katakan bahwa Javascript cukup
cepat di panggil(di load) oleh navigator.
JavaScript sendiri merupakan bahasa yang mudah dipahami,
dalam artian diperlukan skill novice atau dasar untuk mengerti bahasa
ini, jika anda sudah terbiasa dan mengenal konsep bahasa
pemrograman visual, maupun Java ataupun C, akan sangat mudah
untuk memahami konsep Javascript.
JavaScript adalah bahasa yang “case sensitive” artinya
membedakan penamaan variabel dan fungsi yang menggunakan huruf
besar dan huruf kecil, contoh variabel atau fungsi dengan nama TEST
berbeda dengan variabel dengan nama test. Dan yang terakhir seperti
bahasa Java ataupun C, setiap instruksi diakhiri dengan karakter titik
koma (;).

2.11 DATABASE MYSQL


MySQL merupakan sebuah sistem manajemen database open
source yang populer dan gratis untuk platform UNIX. Sistem manajemen
database MySQL menggunakan kumpulan perintah sederhana untuk
memasukkan, memanggil, menghapus, dan memperbarui data, dengan
ini kita dapat mengembangkan database yang kompleks.
Beberapa kemampuan MySQL adalah sebagai berikut:
• MySQL bisa diakses dan dimanipulasi dari sejumlah bahasa
pemrograman terkenal, diantaranya adalah C, C++, Java, Perl,
Phyton, dan PHP
• MySQL mendukung tipe data yang umum digunakan, termasuk
FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, SET,
dan ENUM

EEPIS-ITS
26
Proyek Akhir 2005/2006

• MySQL memungkinkan alokasi password tiap server. Password


yang melalui
• MySQL untuk melakukan autentifikasi terenkripsi.
• MySQL mendukung berbagai macam metode koneksi, seperti
TCP/IP, socket UNIX, dan koneksi untuk Windows NT/2000.
• MySQL bisa diperoleh secara gratis termasuk aplikasi-aplikasi lain
yang diperlukan dalam memakai MySQL.
MySQL juga merupakan salah satu sistem manajemen database yang
stabil di pasaran. Ketika MySQL diluncurkan pertama kali pada
pertengahan 1996, beberapa bug dengan cepat dapat diketahui dan
diperbaiki. Sekarang MySQL sudah menjadi sangat stabil dan mampu
penyimpan data yang besar hingga sanggup menampung data lebih dari
4 Gigabytes. Database MySQL mendukung hampir seluruh bahasa
pemrograman, termasuk PHP dan C.

2.12 PEMROGRAMAN C
Bahasa C bisa disebut bahasa pemograman tingkat menengah
(middle level programming language ). Arti tingkat (level) disini adalah
kemampuan mengakses fungsi-fungsi dan perintah-perintah dasar
bahasa mesin/hardware (machine basic instruction set). Dalam
perspektif mudahnya dipahami manusia, C bisa digolongkan dalam
bahasa tingkat tinggi, namun C juga menyediakan kemampuan yang ada
pada bahasa tingkat rendah, misalnya operasi bit, operasi byte,
pengaksesan memori, dsb.Beberapa alasan mengapa memakai bahasa C
adalah terangkum dibawah.
¾ C adalah bahasa pemograman yang paling popular saat ini
¾ C adalah bahasa pemograman yang memiliki portabilitas tinggi
¾ C adalah bahasa pemograman dengan kata kunci (keyword) sedikit
C hanya menyediakan 32 kata kunci seperti terangkum dibawah:

auto break case char const continue default


do double else enum extern float for
go to if int long register return short
signed sizeof static struct switch typedef union
unsigned void volatile while
Tabel 2.2. Keyword Bahasa C

EEPIS-ITS
27
Proyek Akhir 2005/2006

¾ C adalah bahasa pemograman yang fleksibel


¾ C adalah bahasa yang bersifat moduler

Program bahasa C adalah suatu program terdiri dari satu atau


lebih fungsi-fungsi. Fungsi utama dan harus ada pada program C yang
kita buat adalah fungsi main(). Fungsi main() ini adalah fungsi pertama
yang akan diproses pada saat program di kompile dan dijalankan,
sehingga bisa disebut sebagai fungsi yang mengontrol fungsi-fungsi lain.
Karena struktur program C terdiri dari fungsi-fungsi lain sebagai
program bagian (subroutine), maka bahasa C biasa disebut sebagai
bahasa pemrograman terstruktur. Cara penulisan fungsi pada program
bahasa C adalah dengan memberi nama fungsi dan kemudian dibuka
dengan kurang kurawal buka ({) dan ditutup dengan kurung kurawal
tutup (}).
Fungsi-fungsi lain selain fungsi utama bisa dituliskan setelah
atau sebelum fungsi utama dengan deskripsi prototype fungsi pada
bagian awal program. Bisa juga dituliskan pada file lain yang apabila
kita ingin memakai atau memanggil fungsi dalam file lain tersebut, kita
harus menuliskan header filenya, dengan preprocessor directive
#include. File ini disebut file pustaka (library file). Untuk lebuh jelasnya
struktur dasar program c dapat digambarkan sebagai berikut:

Gambar 2.5. Struktur Dasar Program C

EEPIS-ITS
28
Proyek Akhir 2005/2006

2.13 GNU C COMPILER (GCC)


GNU CC yang lebih dikenal dengan GCC merupakan salah satu
compiler yang terkemuka di Linux dan lebih dikenal dengan nama GNU
C Compiler. Pemrograman ini dapat digunakan untuk menyusun
program bahasa C yang ditulis dalam C,C++, dan obyektif C. Meskipun
GCC bersifat free namun dapat diandalkan sebagai salah satu compiler
yang mendukung standar C dan C++ sehingga mampu bersaing dengan
produk-produk komersial lainnya. GCC dalam melakukan prosesnya
melalui empat bagian :
™ Prepocessor
™ Compilation
™ Assembly
™ Linking
Keempat proses tersebut dapat dijalankan satu persatu tanpa sekaligus
menjalankan keempat tahap tersebut. Bila dengan compiler komersial
lainnya biasanya langsung memberikan proses jadi tanpa pengenalan
proses-proses tersebut.
Ketika kita menggunakan GCC untuk melakukan kompilasi pada sebuah
program yang didukung oleh GCC biasanya kita mendapatkan beberapa
perintah opsion-opsion agar hasilnya lebih baik lagi.

2.14 COMMON GATEWAY INTERFACE (CGI)


Common Gateway Interface (CGI) adalah satu dari sekian
banyak mekanisme orisinil yang dikembangkan untuk mengirim isi data
yang dinamis ke Web. Apache mendukung beragam teknologi CGI
diantaranya adalah ScriptAlias dan Handler.
ScriptAlias
Perintah-perintah ScriptAlias pada file httpd.con memberi tahu
Apache bahwa direktori-direktori yang dibawanya berisi script yang
harus dijalankan. Contoh perintah ScriptAlias:
ScriptAlias/cgi-bin/ /opt/apache/cgi-bin
Perintah itu memberi tahu Apache bahwa setiap request yang
dimulai dengan /cgi-bin harus dipetakan ke direktori /opt/apache/cgi-bin.
ScriptAlias dapat mengamankan Web server karena ia menentukan
tempat script-script dapat dieksekusikan.

EEPIS-ITS
29
Proyek Akhir 2005/2006

Handler (pengendali)
Handler adalah sebuah mekanisme yang mengendalikan
beragam request pada Web berdasarkan nama file. File-file tertentu (.jsp,
.asp, dll) memerlukan kendali program tertentu pula (Java, ASP, dll).
Sudah sejak sebelum kemunculan Apache 1.1, Web server sudah
memiliki kemampuan untuk menentukan secara tepat kendali program
yang dipakai untuk seuatu file berdasarkan namanya, daripada
bergantung pada default-default yang memiliki kode-kode yang sulit
dipecahkan. Akibatnya developer memetakan suatu handler pada nama
file yang tidak standar.
Handler-handler yang bersifat built-in terdiri dari handler default yang
mengendalikan isi data statis, khususnya HTML. Tetapi, tersedia juga
tambahannya, yaitu mod_asis, mod_cgi, mod_imap, mod_info,
mod_status, dan mod_negotiation. Selain ini bisa juga
ditambahkan manual dengan perintah Action, yaitu perintah pada Web
server untuk mengendalikan request tertentu dengan sebuah file CGI
khusus. Misal, untuk semua fileberekstensi.stu dikendalikan oleh script
Perl. Perintah berikut ini dapat ditambahakan pada file httpd.conf
Apache:
AddHandler my-file-type .stu
Action my-file-type /cgi-bin/stu.pl

EEPIS-ITS
30
Proyek Akhir 2005/2006

---------- Halaman ini sengaja dikosongkan --------

EEPIS-ITS
Proyek Akhir 2005/2006

BAB III
PERENCANAAN DAN PEMBUATAN
PERANGKAT LUNAK

3.1 PENDAHULUAN
Pada pembuatan ”Monitoring Ruangan dengan Robot Berkamera
yang dikontrol melalui Wireless LAN” untuk proyek akhir ini kami
secara umum terbagi menjadi dua bagian pokok, yaitu pembuatan robot
interfacing dan network controlling.
Pada bab ini akan dibahas mengenai perencanaan dan pembuatan
perangkat keras (hardware) dan perangkat lunak (software) dari sistem
yang akan dibuat. Untuk pembuatan perangkat keras meliputi perangkat
mekanik serta perangkat keras elektronikakan dibahas pada bab ini.
Pembuatan perangkat mekanik terdiri dari desain mengenai konstruksi
robot itu sendiri yaitu pembuatan kerangka robot yang menggunakan
aluminium yaitu pembuatan tubuh robot, penyangga laptop, penyangga
webcam, penyangga motor DC, penyangga motor DC, penyangga roda
kemudian merangkai bagian-bagian tersebut menjadi satu kesatuan yang
utuh, rapi dan bergerak sesuai dengan hasil yang diharapkan. Sedangkan
pembuatan perangkat keras elektronik terdiri dari pembuatan rangkaian
power supply, kabel parallel, dan rangkaian driver motor DC dan motor
stepper. Pembuatan perangkat lunak untuk menggerakkan robot ini
dirancang dengan menggunakan bahasa pemrograman gcc.
Konsep dasar dari perencanaan proyek akhir ini adalah mengontrol
sistem keamanan suatu ruangan yang dapat dikendalikan dari jarak jauh
melalui wireless LAN.
Dalam pembuatan suatu sistem maka yang pertama kali dilakukan
adalah dengan mengetahui permasalahannya. Tahap tersebut sudah
dibahas dalam BAB sebelumnya. Tahap selanjutnya adalah mengetahui
konfigurasi sistem secara keseluruhan.

3.2 PERENCANAAN SISTEM


Perencanaan sistem berdasarkan pada fungsi komunikasi data
itu sendiri adalah dengan mengintegrasikan dan menghubungkan antara
PC (dalam hal ini laptop) dengan driver motor. Driver menerima
masukan melalui port parallel yang kemudian digunakan untuk

EEPIS-ITS
Proyek Akhir 2005/2006

menggerakkan motor DC baik motor kanan maupun motor kiri atau


motor stepper sesuai dengan data yang terkirim.
Sistem ini terdiri dari sebuah robot yang dapat dikendalikan dari
jarak jauh melalui komputer client yang terhubung dengan LAN. Pada
robot terdapat komputer server yaitu berupa notebook yang terhubung
dengan LAN secara wireless.

Gambar 3.1. Diagram blok sistem


Cara kerja dari sistem adalah sebagai berikut:
1. Dari komputer client, seorang user dapat menggerakkan robot dan
webcam melalui tampilan website yang telah dibuat. Pada web
tersebut terdapat tombol yang dapat digunakan untuk mengakses
robot dan webcam.
2. Pada bagian server, terdapat laptop sebagai komputer server.
Laptop terhubung dengan driver motor melalui komunikasi parallel
(port parallel). Robot maupun webcam dapat digerakkan setelah
mendapat masukan data dari user yang diterima melalui laptop yang
terhubung dengan driver. Spesifikasi webcam yang dipakai yaitu :
Camera lens : 14 CMOS PC Camera
Pixel : CIF Format 352*288
Resolution : 640*982,352*288,320*240,167*144 160*120
Frame per sec : up to 30 fps @ 352*288, 35 fps @ 176*144
Capture resolution : up to 640*480
Focus distance : 5 cm ~ infinity
Lens wide angle : 56 degree diagonal
Brightness : auto
Exposed control : auto

EEPIS-ITS
Proyek Akhir 2005/2006

Image Format : RGB 24


Power Consumption : Full Run 130 mW
Operated System : Windows 98/2000/ME/XP
I/O interface : USB 1.1 Full Speed
Microphone : 47 dB(select)

3.3 PERANCANGAN PERANGKAT LUNAK


3.3.1 Perancangan Navigasi Web

Gambar 3.2. Flowchart navigasi web

EEPIS-ITS
Proyek Akhir 2005/2006

3.3.2 Perancangan Pengontrolan Robot

Gambar 3.3. Flowchart pengontrolan robot

EEPIS-ITS
Proyek Akhir 2005/2006

3.3 PEMBUATAN PERANGKAT LUNAK


3.3.1 Instalasi Linux Debian
Sistem operasi yang digunakan pada peralatan pengamanan
rumah ini adalah linux debian kernel 2.4.x. Kernel 2.4.x ini di pilih
karena merupakan kernel terbaru dari linux debian sehingga untuk
konfigurasi sistem pengamanan rumah semuanya sudah memenuhi.
Untuk update paket, sistem server mengambil paket dari mirror
debian terdekat, yaitu mirror.eepis-its.edu server ini merupakan
mirror lokal di PENS atau bisa juga mirror ke kebo.vlsm.org.
Mirror merupakan sebutan untuk komputer server yang berfungsi
sebagai rujukan atau pusat untuk melakukan update sistem operasi
linuz debian. Pada mirror disediakan paket-paket software yang
bisa berjalan di linux debian. Pemilihan mirror tersebut dilakukan
dengan cara menentukan source list server dengan mengkonfigurasi
file /etc/apt/source.list
Adapun Langkah-langkah instalasi sebagai berikut :
ƒ Booting dari CD dengan mengeset bios booting awal pada CD
rom
ƒ Pada menu input ketikan kernel linux yang akan di pakai, untuk
kernel 2.6 ketikkan linux24
ƒ Pilihan bahasa, untuk bahasa yang standar pilih american
english.
ƒ Pilihan negara, pilih other, asia kemudian indonesia.
ƒ Pilihan keyboard, untuk keyboard yang di gunakan adalah dari
amerika, maka pilih american english.
ƒ Automatic detect hardware, network (dhcp), klien akan
mendapatkan IP dari server secara otomatis.
ƒ Memasukkan hostname, debian (optional).
ƒ Memasukkan domain name: eepis-its.edu
ƒ Metode partisi, entire disk, untuk memudahkan manajemen
hardisk pilih partisi secara manual.
ƒ Finish partisi dan write changes to disk, pilih yes.
ƒ Instaling debian base system.
ƒ Install GRUB boot loader, pilih yes.
ƒ Setelah instaling compled,ambil CD installer, pilih continue.
ƒ Komputer akan booting ulang.
ƒ Tampilan " Welcome to your new Debian System!" pilih no.

EEPIS-ITS
Proyek Akhir 2005/2006

ƒ Konfigurasi waktu, pilih konfigurasi menual untuk wilayah asia


pilih no.
ƒ Pilih asia/ Jakarta ( java & sumatra ).
ƒ Konfigurasi password
root password (password untuk super user root)
re-enter password (pengulangan password root)
nama user / full name (user lain selain root)
nama user account
user password (password user)
re-enter password (pengulangan password user)
ƒ Konfigurasi apt, untuk instalasi sistem dari CD, masukkan CD
Debian dan pilih CDROM tekan ok. perlu di ketahui letak
direktori CD-ROM berada pada file Æ /dev/cdrom.
Tungggu beberapa saat. !
Tampilan scan untuk CD Debian Yang lain, pilih no
Tampilan pilihan tentang informasi HTTP proxyÆkosongi,
pilih ok.
Tampilan connect security.debian.org Æ CTRL-C untuk cancel
Muncul peringatan untuk access security, pilih ok
ƒ Debian Software Debian Selection
Pilihan untuk memilih Paket yang akan diinstall Ækosongi,
pilih ok (instalasi paket di lakukan secara manual saja)
ƒ Konfigurasi EXIM:Configuring Exim v4 (exim4- Config)
general typre of mail configuration Æno configuration at this
time, pilih ok. Menu konfirmasi untuk Exim v4 Æpilih yes
Menu untuk mempertanyakan tujuan mail (root and post mail
recipent) Æketik sesuai dengan user pilih ok
Tunggu untuk reloding exim4 configuration files
ƒ Tampilan Thank you for choosing debianÆok.
ƒ Kemudian masuk pada login Æ ketik root dan masukkan
password untuk root
3.3.2 Instalasi GCC
Untuk menjalankan program bahasa c yang telah kita buat
dilinux maka dapat diperlukan langkah-langkah sebagai berikut :
1. Install compiler C (GCC) dengan mengetik :
# apt-get install gcc-3.4
# apt-get install gcc-dev

EEPIS-ITS
Proyek Akhir 2005/2006

2. Install paket library yang ada didalamnya dengan mengetik :


# apt-get install libc6
# apt-get install libc6-dev
Semua paket diatas dapat kita peroleh dari ftp://mirror.eepis-
its.edu/debian/

3.3.3 Penanganan Video Streaming


Penanganan untuk video streaming akan dikerjakan oleh
sebuah paket linux debian yaitu camserv. Camserv merupakan sebuah
paket yang digunakan untuk menangani transfer video streaming
secara real time dari kamera. Untuk client via internet aplikasi
browser yang bisa digunakan banyak sekali seperti : Internet Explorer,
Nescape Navigator, Konqueror, Mozilla. Sedangkan untuk client via
mobile phone bisa mengakses melalui koneksi GPRS ( General Packet
Radio Service).
Untuk melakukan koneksi melalui internet maupun mobile
phone, client harus mengetahui IP Address komputer server. Selain
itu, komputer client harus mengetahui pada nomor port yang mana
komputer server akan mendengarkan permintaan koneksi, karena
server diset untuk mendengarkan permintaan koneksi dari client pada
suatu nomor port tertentu. Pada Camserv, port yang digunakan yaitu
port 9192.
Paket camserv bisa berjalan bila menggunakan kernel 2.4,
selain itu ada beberapa paket lain yang harus di install antara lain :
1. Paket Camserv yang digunakan untuk menangani video
streaming
2. Paket untuk web broser ( contoh: mozilla, konqueror )
3. Paket apache digunakan untuk web server.
Untuk menginstall paket – paket linux diatas bisa digunakan
perintah :
# dpkg –i <namapaket>
Paket yang dapat di install menggunakan perintah dpkg hanya
paket software dengan ekstensi .deb saja. Dan paket –paket itu ada di
dalam atau di simpan di hardisk.

# apt-get install <nama paket>

EEPIS-ITS
Proyek Akhir 2005/2006

Cara instalasi paket dengan apt-get ini memiliki kemudahan


dibandingkan cara konvensional dengan dpkg. Dimana paket berada
di luar PC atau tidak disimpan di hardisk, melainkan di mirror eepis-
its.edu atau kebo.vlsm.
# dpkg-l | grep <nama paket>
Perintah diatas digunakan untuk melihat paket yang sudah
terinstall, sehingga dapat diketahui apakah paket yang dibutuhkan
sudah berhasil atau belum di install.
Setelah semua paket itu terinstall, maka harus mengecek
device untuk video sudah ada pada directory /dev/video0 atau
/dev/video1, apabila masih belum ada, maka harus dibuat device
untuk menangani inputan dari webcam yaitu dengan cara mengetikan
perintah pada console .
# mknod /dev/video c 81 0
# ls video0 –la
# ln –s /dev/video /dev/video0
Apabila webcam sudah dikenali, selanjutnya menjalankan
camserv dengan /etc/init.d/camserv start, maka port untuk camserv akan
dikenali yaitu 9192, sehingga dapat dilihat hasilnya pada web browser
seperti gambar 3.2.

3.3.4 Instalasi Web Server


Pada komputer server deperlukan web server karena sistem
otentikasi dan layanan-layanan adaministrasi user dilakukan dengan
menggunakan program aplikasi berbasis web. Web server yang
digunakan pada sistem ini adalah apache. Langkah-langkah konfigurasi
apache dengan mengetikkan perintah-perintah berikut pada shell :
1. install apache.
Untuk melakukan installasi apache, ketikkan perintah berikut
pada shell linux. Baris pertama pada program 3.5 perintah
diatas berfungsi untuk menginstall paket apache yang terdapat
dalam debian, sedangkan baris kedua melakukan installasi
paket library apache agar dapat mendukung aplikasi yang
menggunakan php4
# apt-get install apache
# apt-get install libapache2-mod-php4

EEPIS-ITS
Proyek Akhir 2005/2006

2. Konfigurasi file httdoc.conf


Pada webserver apache terdapat pengaturan lokasi tempat
menyimpan file-file web yang akan di tampilkan ke brower.
Jadi file-file web tidak boleh ditaruh di sembarang lokasi.
Pengaturan lokasi tersebut dapat dilakukan dengan melakukan
konfigurasi pada file httdoc.conf. Apabila file web ditaruh di
luar lokasi yang ditentukan, maka file tersebut tidak akan
dibaca oleh web browser. Pada linux penempatan file-file web
di direktori khusus yaitu direktori /var/www/ atau dalam
/home/user/public_html.
3. konfigurasi visudo
Pada sistem warnet prabayar, saat klien login, secara otomatis
server akan memberi instruksi untuk mengaktifkan program
billing dan membuka akses internet bagi klien. Hal ini berarti
PHP perlu melakukan instruksi kedalam sistem linux dan
bertindak sebagai root. Pada kondisi normal, hak akses php ke
sistem terbatas. Untuk bisa melakukan instruksi sistem dengan
level user root, maka harus dilakukan penambahan pada
visudo.
# visudo
Perintah diatas, akan membuka file sudo yang berisi user yang
berhak memiliki hak akses tertinggi dalam sistem
linux.Tambahkan baris berikut untuk pada file tersebut. User
www-data merupakan user yang digunakan untuk mengakses
web server apache. Penambahan user www-data pada visudo di
maksudkan agar sistem web mampu melakukan sintaks shell
sebagai root sehingga php dapat melakukan instruksi ke sistem
dengan level user root.
www-data ALL=NOPASSWD : ALL
Dalam kondisi biasa sebaiknya instruksi ini tidak dilakukan
karena akan membuka security hole
4. Restart apache
Agar konfigurasi baru tersebut berimbas maka apache perlu di
restart terlebih dahulu.

# /etc/init.d/apache restart

EEPIS-ITS
Proyek Akhir 2005/2006

3.3.5 Instalasi PHP


Salah satu bahasa pemrograman yang digunakan dalam
membangun sistem ini adalah PHP, pemilihan bahasa pemrograman ini
karena sifatnya gratis dan handal untuk aplikasi berbasis web. Pemilihan
aplikasi berbasis web ditujukan agar tidak perlu lagi melakukan setting
atau installasi khusus pada komputer klien, sehingga memungkinkan
pelanggan menggunakan komputer pribadi untuk memanfaatkan sistem
ini. PHP merupakan bahasa pemrograman yang bersifat server side,
sehingga seluruh proses dijalankan disisi server. Hal ini sangat
membantu keamanan sistem. Langkah-langkah installasi PHP :
1. Install php versi 4

# apt-get install php4


# apt-get install php4-mysql

Baris pertama untuk menginstall paket php4, sedangkan baris kedua


merupakan modul php4 untuk bisa koneksi dengan MySQL.
2. Buat file info.php

# vim info.php

ketikkan listing program 3.11 dan simpan program di direktori


/var/www/

<?php
phpinfo();
?>

3. Test PHP4 dengan memanggil file info.php dari browser. Bila php4
berjalan maka, akan keluar tampilan seperti dibawah ini

EEPIS-ITS
Proyek Akhir 2005/2006

Gambar 3.3 Tampilan PHP info

3.3.6 Instalasi MySQL


Sebagai media penyimpanan data, sistem ini menggunakan
database MySQL. Pemilihan database ini karena MySQL merupakan
database yang free namun memiliki kehandalan yang sudah teruji. Dan
database ini juga cukup mendukung bahasa pemrograman PHP dan
webserver Apache. Installasi MySQL :
1. Install paket MySQL

# apt-get install mysql-server-4.1


# apt-get install php4-mysql

2. Install phpmyadmin untuk memudahkan administrasi database.

# apt-get install phpmyadmin

3. Jalankan web browser ke alamat http://localhost/phpmyadmin


untuk mengecek phpMyadmin.

EEPIS-ITS
Proyek Akhir 2005/2006

Gambar 3.4 tampilan phpmyadmin

3.3.7 Instalasi SNMP


Agar data-data tentang jaringan, termasuk data-data yang
berkaitan dengan data-data traffic yang akan dimonitor, maka pada
tiaptiap elemen jaringan ( berupa router, switch, PC ) harus
dilengkapi software agen SNMP yang mendukung hal tersebut.
Pada distribusi Debian GNU/Linux terdapat paket instalasi SNMP.
Untuk mengecek apakah SNMP sudah terinstall apa belum adalah:
# dpkg –l |grep snmp
Jika paket tersebut belum terinstall, perintah untuk menginstalnya
adalah sebagai berikut:
# apt-get install snmp snmpd
Setelah diinstall, selanjutnya dilakukan proses editing pada
file /etc/snmp/snmpd.conf, tujuannya adalh menemukan source dan
komunitasnya. Nama komunitas dapat ditentukan sendiri, tetapi
hanya yang mengetahui komunitas saja yang akan dapat mengakses
snmp. Dalam hal ini dipilih readonly dan komunitasnya public.
Konfigurasinya menjadi sebagai berikut:

Dapat juga ditambahkan informasi tentang nama dan lokasi semisal


sebagai berikut :

EEPIS-ITS
Proyek Akhir 2005/2006

Setelah diedit maka simpan konfiguraasi tersebut dengan nama yang


sama, selanjutnya aktifkan agen snmp, sebagai berikut:
# /etc/init.d/snmpd start
Apabila dilakukan setiap kali pengeditan file snmpd.conf maka
lakukan restart agen snmpd. Perintah restart agen snmp adalah
sebagai berikut:
# /etc/init.d/snmpd restart
Untuk uji jalannya snmp maka perintah yang digunakan adalah
#snmpwalk –v 1 –c public localhost interfaces
Jika snmp aktif maka akan muncul informasi tentang interfaces.

3.3.8 Instalasi MRTG


Untuk melihat tampilan secara grafik yang dibutuhkan
dalam memonitoring traffik maka digunakan paket atau software
MRTG. Langkah – langkah yang dibutuhkan dalam melakukan
instalasi MRTG pertama kali adalah dengan perintah :
# apt-get install mrtg
Selanjutnya mrtg butuh untuk dilakukan konfigurasi
sebelum dijalankan. Konfigurasi yang dilakukan adalah melakukan
penataan file log-log dalam snmp ke dalam sebuah file yang teratur.
Perintah yang diberikan adalah
# cfgmaker public@localhost > /etc/mrtg.cfg
Perintah ini akan melakukan penataan dengan komunitas
public pada komputer sendiri (localhost) ke dalam file
/etc/mrtg.cfg. Namun padaperintah ini hanya akan mengatur log-
log untuk satu komputer saja. Untuk pengaturan file log-log pada
banyak komputer dapat dilakukan dengan mengedit file
/etc/mrtg.cfg atau dengan memberikan perintah
# cfgmaker --output /etc/mrtg.cfg public@localhost
public@10.252.101.201 public@10.252.101.219
Perintah diatas akan membentuk isi dari file /etc/mrtg.cfg
yang panjang berupa deskripsi dari empat computer yang berbeda.
Untuk melakukan pengindekan file log-log tersebut ke dalam
tampilan website maka perlu diberikan perintah
# indexmaker /etc/mrtg.cfg >
var/www/mrtg/index.html

EEPIS-ITS
Proyek Akhir 2005/2006

Setelah dilakukan penindekan ini maka untuk melakukan


running terhadap mrtg menjadi sebuah tampilan yang dapat update
diberikan perintah di bawah ini :
# mrtg /etc/mrtg
Pada saat pertama kali dijalankan akan muncul pesan error seperti
ini:

Error ini tidak masalah karena program rateup mencari file


log lama yang tidak ada. Maka agar dapat dilihat langsung dengan
interface web maka pada address media browsing ketikkan :
http://localhost/mrtg atau http://<ip yang
diinstall snmp + konfigurasinya>/mrtg
Supaya program menghasilkan gambar yang up to date dan
bagus maka MRTG harus dijalankan tiap 5 menit sekali. Untuk
memudahkan, maka digunakan program crontab, dengan perintah :
# crontab –e
Lalu isikan dengan kalimat sebagian berikut :

3.3.9 Pembuatan Website


Dalam pembuatan website, software yang digunakan didalamnya
antara lain : HTML, Javascript, PHP. Pembuatan website dilakukan
dengan mengikuti flowchart yang telah dibuat.
Listing program dapat dilihat pada lampiran

3.5 INTEGRASI WEBSITE DENGAN PARALEL PORT


Integrasi website dengan paralel port dilakukan agar tombol
penggerak robot pada website dapat mengeksekusi file c yang berfungsi
untuk mengirimkankan sinyal melaui paralel port untuk menggerakkan
motor yang akan menyebabkan robot atau webcam bergerak. Dalam
integrasi sistem ini akan dipakai file CGI, dimana file ini berfungsi
sebagai interface antara file php dan file c.
BAB IV

EEPIS-ITS
Proyek Akhir 2005/2006

PENGUJIAN PROGRAM, HASIL DAN ANALISA

Setelah perencanaan dan pembuatan sistem maka langkah


selanjutnya yaitu melakukan pengujian terhadap sistem yang telah
dibuat. Pengujian dilakukan untuk mengetahui apakah sistem yang
dibangun dapat berjalan sesuai dengan yang diinginkan.
Pengujian dan analisa yang dilakukan meliputi pengujian koneksi c
dengan php, pengujian navigasi web dan pengujian traffik jaringan
dengan mrtg. Pada pengujian seluruh komponen harus terangkai baik
komponen robot yang terhubung ke komputer penguji melalui paralel
port maupun webcam yang terhubung melalui konektor usb.
Setelah dilakukan pengujian maka langkah selanjutnya adalah
dilakukan analisa terhadap sistem yang telah dibuat, sehingga bisa
membandingkannya dengan teori yang sudah ada, apakah ada perbedaan
antara praktek dengan teori, kemudian dicari pemecahan dari masalah
tersebut.

4.1 PENGUJIAN KONEKSI C DAN PHP


Koneksi c dengan php dilakukan dengan menggunakan file cgi.
Tetapi sebelum file cgi dipanggil langsung oleh php, lebih baik
dilakuakan pengujian terlebih dahulu apakah sintak program dalam file
cgi tersebut bisa dijalankan.
Pada terminal kita ketikkan perintah:

#Sudo /usr/sbin/file c execute

Maka file c yang telah dicompile akan dijalankan, atau sama saja
dengan kita mengetikkan perintah:

#./ file c execute

Pengujian dilakukan pada semua file c yang telah dicompile dan


berada pada direktori /usr/sbin. Pengujian dilakukan dengan mengamati
efek yang muncul pada perangkat keras. Hasil pengujian tampak pada
tabel 4.1.
File yang diuji Efek yang terjadi

EEPIS-ITS
Proyek Akhir 2005/2006

naik Motor stepper memutar kamera ke arah atas


turun Motor stepper memutar kamera ke arah bawah
maju Motor DC kanan aktif, roda kanan berputar ke
depan
Motor DC kiri aktif, roda kiri berputar ke depan
Robot bergerak maju
mundur Motor DC kanan aktif, roda kanan berputar ke
belakang
Motor DC kiri aktif, roda kiri berputar ke belakang
Robot bergerak mundur
kiri Motor DC kanan aktif, roda kanan berputar ke
depan
Motor DC kiri aktif, roda kiri berputar ke belakang
Robot belok ke kiri
kanan Motor DC kanan aktif, roda kanan berputar ke
belakang
Motor DC kiri aktif, roda kiri berputar ke depan
Robot belok ke kanan
stop Motor DC kanan tidak aktif, roda tak bergerak
Motor DC kiri tidak aktif, roda kiri tak bergerak
Robot berhenti
Tabel 4.1. Hasil Pengujian Koneksi C dan PHP

Dari pengujian ini dapat dilihat bahwa efek yang terjadi sesuai
dengan perencanaan. Selain itu, dengan pengujian ini tampak juga
bahwa file c yang berfungsi mengakses paralel port untuk mengirimkan
perintah kontrol robot dapat diakses melalui file cgi yang merupakan
penghubung file c dan php.

4.2 PENGUJIAN NAVIGASI WEB


Pengujian ini diawali dengan membuka web browser mozilla
dengan alamat http://robot-wireless/TA/. Pertama kali masuk proses
capture gambar telah terjadi sehingga kita dapat melihat gambar hasil
capture webcam
Kemudian user dapat melakukan login dengan memasukkan
username dan password.

EEPIS-ITS
Proyek Akhir 2005/2006

Jika username dan password benar akan ada pesan selamat datang,
tetapi bila salah akan ada pesan peringatan.

Gambar 4.1. Pesan Selamat Datang

Setelah login user akan masuk ke halaman admin dimana akan


ditampilkan informasi user yang disa diedit, dihapus maupun ditambah.

Gambar 4.2. Halaman Admin

EEPIS-ITS
Proyek Akhir 2005/2006

Gambar 4.3. Edit administrator

Gambar 4.4. Menambah admin

EEPIS-ITS
Proyek Akhir 2005/2006

Gambar 4.5. Pesan delete berhasil

Gambar 4.6. Halaman Admin setelah dilakukan penghapusan user

Setelah itu kita bisa mengakses aplikasi-aplikasi yang sebelumnya


tidak aktif seperti Open Streaming, Video Capture, View Capture, dan
View Traffic. Pada halaman Open Streaming kita bisa melihat video
streaming dengan menggunakan aplikasi camserv. Selain itu kita juga
bisa menggerakkan robot maupun kamera dengan menekan tombol yang
ada. Tombol-tombol ini mempunyai link ke file cgi yang akan
mengakses file c execute yang akan mengirimkan sinyal melalui paralel
port yang akan mengontrol pergerakan robot. Setelah itu file cgi akan
merefresh halaman atau mengembalikan link ke halaman Open
Streaming

EEPIS-ITS
Proyek Akhir 2005/2006

Gambar 4.7. Halaman Open Streaming

Pada halaman video capture kita bisa melihat video streaming


dengan memakai aplikasi motion yang akan menyimpan gambar. Video
yang tercipta dengan aplikasi ini terputus-putus atau punya delay.
Perbedaan antara aplikasi ini dengan camserv adalah aplikasi ini hanya
akan merubah frame gambar bila terjadi perubahan atau terjadi gerakan.
Selain itu aplikasi ini bisa dipakai untuk menyimpan gambar. Setiap ada
gerakan, gambar yang tertangkap webcam akan disimpan pada direktori
yang telah ditentukan, yang dalam Tugas Akhir ini terletak pada
direktori /var/www/TA/picture.

Gambar 4.8. Halaman Video Capture

EEPIS-ITS
Proyek Akhir 2005/2006

Pada halaman view capture kita bisa melihat gambar yang disimpan
oleh aplikasi motion pada halaman video capture. Gambar-gambar yang
ada dapat diperbesar dan dilihat file infonya dengan melakukan klik
pada gambar tersebut.

Gambar 4.9. Halaman View Picture

Gambar 4.10. Preview Picture

Dari pengujian dapat dilihat bahwa web ini punya navigasi yng
cukup baik. Pengunjung yang tidak memiliki username dan password
bisa tetap melihat gambar hasil capture webcam tetapi tidak bisa
mengakses kontrol robot.

EEPIS-ITS
Proyek Akhir 2005/2006

4.3 PENGUJIAN TRAFIK JARINGAN DENGAN MRTG SAAT


DILAKUKAN VIDEO STREAMING
Pengujian ini dilakukan dengan memakai sebuah laptop sebagai
server dan sebuah komputer sebagai client. Laptop terhubung ke
jaringan wireless PENS-ITS menggunakan wireless card, sedangkan
komputer client terhubung ke jaringan PENS-ITS menggunakan ethernet
card. Pengujian dibagi menjadi dua yaitu pengujian saat user mengakses
halaman open streaming yang memakai program camserv dan pengujian
saat user mengakses halaman video capture yang memakai program
motion. Pengujian dilakukan pada sisi client dan pada sisi server dengan
menggunakan mrtg. Hasil pengujian adalah sebagai berikut:
Waktu Input(B/s) Output(B/s)
23:25 46900 1666
23:30 47200 1672
23:35 47700 1664
23:40 47800 1667
23:45 48100 1662
23:50 47900 1664
23:55 47900 1671
0:00 48000 1666
0:05 48700 1655
0:10 49100 1675
0:15 49100 1666
0:20 49000 1665
0:25 49100 1670
0:30 48900 1664
0:35 48900 1664
0:40 49200 1677
0:45 49000 1673
0:50 48900 1669
0:55 49100 1681
1:00 49000 1665
Nilai Rata-Rata 48475 1667,8
Tabel 4.2. Traffik Jaringan Akses Halaman Open Streaming di
Komputer Client

EEPIS-ITS
Proyek Akhir 2005/2006

Trafik Jaringan Akses Halaman Open Streaming


di Sisi Client

60000
50000

Bandwidth
40000
Input(B/s)
30000
Output(B/s)
20000
10000
0

5
05

15

25

35

45

55
:2

:3

:4

:5
0:

0:

0:

0:

0:

0:
23

23

23

23
Waktu

Gambar 4.11. Gambar Traffik Jaringan Akses Halaman Open


Streaming di Komputer Client
Waktu Input(B/s) Output(B/s)
23:25 1654 49400
23:30 1654 49400
23:35 1666 49900
23:40 1714 50200
23:45 1714 50200
23:50 1631 50100
23:55 1633 50200
0:00 1674 50800
0:05 1674 50800
0:10 1769 51100
0:15 1647 51200
0:20 1629 51100
0:25 1662 51200
0:30 1618 51000
0:35 1618 51000
0:40 1704 51200
0:45 1663 51100
0:50 1697 51000
0:55 1673 51200
1:00 1686 51000
Nilai Rata-Rata 1669 50655
Tabel 4.3. Traffik Jaringan Akses Halaman Open Streaming di
Komputer Server

EEPIS-ITS
Proyek Akhir 2005/2006

Trafik Jaringan Akses Halaman Open Streaming


di Sisi Server

60000
50000

Bandwidth
40000
Input(B/s)
30000
Output(B/s)
20000
10000
0

05

15

25

35

45

55
5

5
:2

:3

:4

:5
0:

0:

0:

0:

0:

0:
23

23

23

23
Waktu

Gambar 4.12. Gambar Traffik Jaringan Akses Halaman Open


Streaming di Komputer Server
Waktu Input(B/s) Output(B/s)
1:25 21600 959
1:30 21600 961
1:35 21600 957
1:40 21600 968
1:45 21600 961
1:50 21600 957
1:55 21600 972
2:00 21500 959
2:05 21500 973
2:10 21600 974
2:15 21500 961
2:20 21600 959
2:25 21600 965
2:30 21500 962
2:35 21600 971
2:40 21600 966
2:45 21600 975
2:50 21600 971
2:55 21500 962
3:00 21600 970
Nilai Rata-Rata 21575 965,15
Tabel 4.4. Traffik Jaringan Akses Halaman Video Capture di
Komputer Client

EEPIS-ITS
Proyek Akhir 2005/2006

Trafik Jaringan Akses Halaman Video Capture di


Sisi Client

25000
20000

Bandwidth
15000
Input(B/s)
10000
Output(B/s)
5000
0

25

35

45

55

05

15

25

35

45

55
1:

1:

1:

1:

2:

2:

2:

2:

2:

2:
Waktu

Gambar 4.13. Gambar Traffik Jaringan Akses Halaman Video


Capture di Komputer Client
Waktu Input(B/s) Output(B/s)
1:25 1059 22600
1:30 1020 22600
1:35 1034 22600
1:40 1058 22500
1:45 1019 22600
1:50 1048 22500
1:55 997 22600
2:00 997 22500
2:05 1002 22500
2:10 1013 22600
2:15 1006 22500
2:20 1016 22500
2:25 1037 22600
2:30 996 22600
2:35 994 22600
2:40 1028 22600
2:45 1018 22600
2:50 1021 22600
2:55 1000 22600
3:00 1005 22600
Nilai Rata-Rata 1018,4 22570
Tabel 4.5. Traffik Jaringan Akses Halaman Video Capture di
Komputer Server

EEPIS-ITS
Proyek Akhir 2005/2006

Trafik Jaringan Akses Halaman Video Capture di


Sisi Server

25000
20000

Bandwidth
15000 Input(B/s)
10000 Output(B/s)
5000
0

25

35

45

55

05

15

25

35

45

55
1:

1:

1:

1:

2:

2:

2:

2:

2:

2:
Waktu

Gambar 4.14. Gambar Traffik Jaringan Akses Halaman Video


Capture di Komputer Server
Dari hasil pengujian di sisi server didapat nilai rata-rata trafik input
sebesar 1,669 kB/s saat client mengakses halaman open streaming dan
nilai rata-rata trafik input sebesar 1,0184 kB/s saat client mengakses
halaman video streaming. Nilai rata-rata input ini jauh lebih kecil
daripada nilai rata-rata output yang sebesar 50,655 kB/s saat client
mengakses halaman open streaming dan sebesar 22,57 kB/s saat client
mengakses halaman video capture. Hal ini terjadi karena server
memenuhi permintaan video streaming dari client dengan mengirimkan
video streaming kepada client yang menyebabkan trafik output di sisi
server menjadi sangat besar.
Di sisi client terjadi hal yang berlawanan. Dari hasil pengujian di
sisi client didapat nilai rata-rata trafik input sebesar 48,475 kB/s saat
client mengakses halaman open streaming dan nilai rata-rata trafik input
sebesar 21,575 kB/s saat client mengakses halaman video streaming.
Nilai rata-rata input ini jauh lebih besar daripada nilai rata-rata output
yang sebesar 1,6678 kB/s saat client mengakses halaman open streaming
dan sebesar 0,96515 kB/s saat client mengakses halaman video capture.
Hal ini terjadi karena client menerima video streaming dari server yang
menyebabkan trafik input client menjadi sangat besar.
Selain itu, hasil pengujian juga menunjukkan bahwa nilai trafik saat
client mengakses halaman open streaming yang memakai program
camserv lebih besar daripada saat client mengakses halaman video
capture yang memakai program motion. Saat client mengakses halaman
open streaming, nilai trafik berkisar antara 48 kB/s sampai 50 kB/s.
Nilai ini lebih besar bila dibandingkan dengan nilai trafik saat client
mengakses halaman video capture yaitu sekitar 22 kB/s. Jadi, dapat

EEPIS-ITS
Proyek Akhir 2005/2006

disimpulkan bahwa bandwidth aplikasi camserv berkisar antara 48 kB/s


sampai 50 kB/s yang berarti lebih besar daripada bandwidth aplikasi
motion yang bernilai sekitar 22 kB/s. Hal ini tampak lebih jelas pada
gambar trafik keseluruhan dari komputer client maupun server yang
diambil dengan menggunakan aplikasi mrtg berikut ini.

Gambar 4.15. Gambar Traffik Jaringan di Sisi Client

Gambar 4.16. Gambar Traffik Jaringan di Sisi Server

Dari gambar trafik jaringan tampak adanya warna hijau yang


menunjukkan trafik input dan garis biru yang menunjukkan trafik
output. Sisi horisontal menunjukkan waktu sedangkan sisi vertikal
menunjukkan nilai trafik. Pada range waktu 18 sampai 20 merupakan
range waktu saat client mengakses aplikasi camserv melalui halaman
open streaming, sementara itu pada range waktu 20 sampai 22, client
mengganti akses aplikasi camserv tersebut dengan aplikasi motion
melalui halaman video capture.
Pada sisi client yang perlu diamati adalah trafik input karena client
menerima video streaming dari server, sedangkan di sisi server yang
perlu diperhatikan adalah trafik output karena server mengirim video
streaming kepada client. Dari hasil pengamatan di kedua sisi, tampak
bahwa aplikasi camserv membutuhkan bandwidth lebih besar daripada
aplikasi motion. Aplikasi camserv membutuhkan bandwidth kurang
lebih dua kali lebih besar dibandingkan aplikasi motion.

EEPIS-ITS
Proyek Akhir 2005/2006

---------- Halaman ini sengaja dikosongkan --------

EEPIS-ITS
Proyek Akhir 2005/2006

BAB V
PENUTUP

5.1 KESIMPULAN

Berdasarkan hasil analisa yang dilakukan, sistem yang telah


dibangun ini masih jauh dari sempurna. Dari hasil pengujian dan
pengukuran dapat disimpulkan bahwa :
1. File cgi dapat dipakai sebagai penghubung antara file php yang
merupakan pembentuk web dengan file c yang berfungsi
sebagai pengirim sinyal pengontrol robot melalui paralel port.
2. Camserv merupakan sebuah paket yang digunakan untuk
menangani transfer video streaming secara real time melalui
jaringan dengan port diatas 8000.
3. Motion merupakan sebuah paket yang digunakan untuk
pendeteksi gerakan dan dapat ditampilkan secara real time
melalui jaringan dengan port diatas 8000.
4. Video streaming yang dihasilkan tidak sepenuhnya secara real
time terutama pada aplikasi motion. Hal ini diakibatkan adanya
delay, baik delay proses maupun delay pada transmisi.
5. Pada sisi server nilai rata-rata trafik input adalah sebesar 1,669
kB/s saat client mengakses halaman open streaming dan
sebesar 1,0184 kB/s saat client mengakses halaman video
streaming yang berarti lebih kecil daripada nilai rata-rata trafik
output yang mempunyai nilai sebesar 50,655 kB/s saat client
mengakses halaman open streaming dan sebesar 22,57 kB/s
saat client mengakses halaman video capture.
6. Pada sisi client nilai rata-rata trafik input adalah sebesar 48,475
kB/s saat client mengakses halaman open streaming dan
sebesar 21,575 kB/s saat client mengakses halaman video
streaming yang berarti lebih besar daripada nilai rata-rata trafik
output yang mempunyai nilai sebesar 1,6678 kB/s saat client
mengakses halaman open streaming dan sebesar 0,96515 kB/s
saat client mengakses halaman video capture

EEPIS-ITS
Proyek Akhir 2005/2006

7. Bandwidth aplikasi camserv berkisar antara 28 kB/s sampai 50


kB/s yang berarti lebih besar daripada bandwidth aplikasi
motion yang bernilai sekitar 22 kB/s.

5.2 SARAN
Untuk mendapatkan performa yang lebih baik dari sistem ini
dapat digunakan prosesor komputer yang yang lebih cepat untuk
mengolah data secara lebih real time. Kamera yang digunakan sebaiknya
tidak mudah terpengaruh terhadap intensitas cahaya sehingga gambar
yang didapat akan lebih bagus. Pengontrolan pergerakan kamera dapat
dikembangkan sehingga tidak hanya dua arah yaitu naik dan turun saja
tetapi juga bisa dikontrol untuk gerakan putar ke kiri maupun ke kanan.
Monitoring ruangan ini dapat dikembangkan dalam bidang
robotika. Dimana robot tidak hanya bisa bergerak dan membawa kamera
saja akan tetapi bisa ditambahkan aplikasi robotik lain seperti robot
penyapu lantai, robot pengantar minuman yang dapat dikontrol dari
jarak jauh. Selain itu aplikasi ini dapat pula dikembangkan agar bisa
diakses melalui mobile phone.

EEPIS-ITS
Proyek Akhir 2005/2006

DAFTAR PUSTAKA

[1] _____, ”Modul Pelatihan Pengenalan Linux”,


http://ftp.ui.edu/bebas/ v01/TimPandu/ linux-dasar-single.pdf
[2] _____, ”Camserv”, http://cserv.sourceforge.net/
[3] _____, ”Package Camserv”, http://packages.debian.org/testing/web/
camserv
[4] _____, ”Pengantar JavaScript ”, http://www.ilmukomputer.com/
[5] _____, ”Dasar Pemrograman PHP dan MySQL”, http://www.ilmu
komputer.com/
[6] _____, ”Aplikasi web dengan PHP”,
http://www.ilmukomputer.com/
[7] _____, ”Wireless Atasi Keterbatasan Jangkauan”, Andi
Yogyakarta, 2004
[8] _____, ”Pengenalan TCP/IP”, http://www.ai3.itb.ac.id/ Tutorial/
pengenalan_tcp.htm
[9] Abdul Kadir, ”Dasar Pemrograman WEB Dinamis menggunakan
PHP”, Andi Yogyakarta, 2003
[10] Arif Lutfanda, ”Pembuatan Monitoring Ruangan Berbasis
Camera Server”, Proyek Akhir PENS-ITS,2005
[11] Askari Azikin, ”Kamera Pengawas Berbasis Open Source”, PT
Elex Media Komputindo, Jakarta, 2005
[12] Onno W. Purbo, “Konferensi Video Melalui Internet”, Andi
Yogyakarta, 2002

EEPIS-ITS
Proyek Akhir 2005/2006

---------- Halaman ini sengaja dikosongkan --------

EEPIS-ITS
Proyek Akhir 2005/2006

LAMPIRAN

LISTING PROGRAM PHP DI FOLDER /var/www/TA


File inc.php
<?
// Pendefinisian Koneksi Database
define('DB_HOST','localhost');
define('DB_USER','adhi');
define('DB_PASS','');
define('DB_NAME','test');

// Koneksi ke Database
$mysql= mysql_connect (DB_HOST,DB_USER,DB_PASS)
or die("Sorry nich...nggak konek ama
databasenya, coba cek lagi ya..\n");

// Pilih Database
mysql_select_db(DB_NAME);
//Fungsi-fungsi
//Untuk menampilkan komentar atau pesan (baik
pesan error maupun berhasil)
function message($msg) {
echo "<SCRIPT
LANGUAGE=\"javascript\">alert(\"$msg\")</S
CRIPT>";
exit;
}
//Sama dengan fungsi di atas hanya saja setelah
pesan ditampilkan langsung di redrect ke url
tertentu
function message_url($msg,$url) {
echo
"<SCRIPT>alert(\"$msg\");self.location.href='$ur
l'</SCRIPT>";
exit;
}
//Sama dengan fungsi di atas hanya saja setelah
pesan ditampilkan langsung kembali ke url semula

EEPIS-ITS
Proyek Akhir 2005/2006

function message_back($msg) {
echo "<SCRIPT>alert(\"$msg\");history.go(-
1)</SCRIPT>";
exit;
}
function emptyString($s) {
if (!isset($s)) return true;
else if (is_array($s)) {
if(empty($s)) return true; else
return false;
}
else if (!is_string($s))
die('emptyString() : Argument passed was not a
string.');
else if ($s=='') return true;
else return false;
}
function makeQueryString($ar) {
if (empty($ar)) return '';
$x=array();
reset($ar);
while (list($a, $b)=each($ar))
$x[]=urlencode($a).'='.urlencode($b);
return '?'.join('&',$x);
}
function formatLink($link,
$format='%link:title', $title='',
$htmlsafe=false) {
if (emptyString($title)) $title=$link;
if ($htmlsafe) $h_title=$title;
else $h_title=htmlspecialchars($title);
$h_link=htmlspecialchars($link);
$isMail=!is_bool(strstr($link, '@'));
// http
if (substr($link,0,4)=='www.')
$link='http://'.$link;
$isHttp=strcasecmp(substr($link,0,4),
'http')==0;

EEPIS-ITS
Proyek Akhir 2005/2006

$isICQ=((string)(int)$link)==$link;
$format=str_replace('%title%', $h_title,
$format);
$format=str_replace('%link%',
emptyString($link) ? $h_title : $h_link,
$format);
$format=str_replace('%link:link%',
emptyString($link) ? $h_title : '<a
href="'.$link.'">.'.$h_link.'</a>', $format);
$format=str_replace('%link:title%',
emptyString($link) ? $h_title : '<a
href="'.$link.'">.'.$h_title.'</a>', $format);
if ($isMail) {
$format=str_replace('%mail:link%',
emptyString($link) ? $h_title : '<a
href="mailto:'.$link.'">'.$h_link.'</a>',
$format);
$format=str_replace('%mail:link%',
emptyString($link) ? "&lt;$h_title&gt" : '&lt;<a
href="mailto:'.$link.'">'.$h_title.'</a>',$forma
t);
} else {
$format=str_replace('%mail:link%',
emptyString($link) ? $h_title : $h_link,
$format);
$format=str_replace('%<mail:link>%',
emptyString($link) ? "&lt;$h_title&gt" :
'&lt;'.$h_link.'&gt;', $format);
$format=str_replace('%mail:title%',
$h_title, $format);
}
if ($isHttp) {
$format=str_replace('%http:link%',
emptyString($link) ? $h_title : '<a
href="'.$link.'">'.$h_link.'</a>', $format);
$format=str_replace('%http:title%',
emptyString($link) ? $h_title : '<a
href="'.$link.'">'.$h_title.'</a>', $format);

EEPIS-ITS
Proyek Akhir 2005/2006

} else {
$format=str_replace('%http:link%',
emptyString($link) ? $h_title : $h_link,
$format);
$format=str_replace('%http:title%',
$h_title, $format);
}
if ($isICQ) {
$format=str_replace('%icq:link%',
emptyString($link) ? $h_title : '<a
href="http://wwp.icq.com/'.$link.'">'.$h_link.'<
/a>', $format);
$format=str_replace('%icq:title%',
emptyString($link) ? $h_title : '<a
href="http://wwp.icq.com/'.$link.'">'.$h_title.'
</a>', $format);
} else {
$format=str_replace('%icq:link%',
emptyString($link) ? $h_title : $h_link,
$format);
$format=str_replace('%icq:title%',
$h_title, $format);
}
return $format;
}
function formatNumber($s, $decimal=0) {
return number_format($s, $decimal, ',',
'.');
}
?>

Header.php
<?
session_start();
require_once "inc.php";
$ip = "robot-wireless.eepis-its.edu";
?>
<html>

EEPIS-ITS
Proyek Akhir 2005/2006

<head>
<title>.:Robotic Camera &gt;&gt;</title>
<script language="JavaScript"
type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr;
for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document;
if(d.images){
if(!d.MM_p) d.MM_p=new Array();
var
i,j=d.MM_p.length,a=MM_preloadImages.arguments;
for(i=0; i<a.length; i++)
if(a[i].indexOf("#")!=0){
d.MM_p[j]=new Image;
d.MM_p[j++].src=a[i];
}
}
}
function MM_findObj(n, d) { //v4.01
var p,i,x;
if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.lengt
h) {
d=parent.frames[n.substring(p+1)].document;
n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for
(i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById)
x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0

EEPIS-ITS
Proyek Akhir 2005/2006

var i,j=0,x,a=MM_swapImage.arguments;
document.MM_sr=new Array; for(i=0;i<(a.length-
2);i+=3)
if
((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]
=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<style type="text/css">
<!--
.kiri{
background-image: url(gambar/kiri.jpg);
background-repeat: repeat-y;
}
.kanan{
background-image: url(gambar/kiri.jpg);
background-repeat: repeat-y;
width: 40px;
}
.tekssatu{
font-family: Verdana, Arial, Helvetica,
sans-serif;
font-size: 11px;
color: #FFFFFF;
}
.teksdua{
font-family: Verdana, Arial, Helvetica,
sans-serif;
font-size: 11px;
color: #000000;
}
.tekstiga{
font-family: Verdana, Arial, Helvetica,
sans-serif;
font-size: 10px;
color: #000000;
}

EEPIS-ITS
Proyek Akhir 2005/2006

.tengah{
background-image: url(gambar/tmp_12bg.gif);
background-repeat: repeat-y;
font-family: Verdana, Arial, Helvetica,
sans-serif;
font-size: 10px;
color: #FFFFFF;
}
a:link,a:active,a:visited{
color : #FF6600;
twxt-decoration: none;
}
a:hover {
text-decoration: underline; color : #FF0000;
}
.mainmenu{
font-weight: bold;
font-size: 12px;
color : #006699;
text-decoration:none;
}
a.mainmenu { text-decoration;none; color :
#DD6699; }
a.mainmenu:hover{ text-decoration: underline;
color : #DD6900 }
input,textarea,select {
color : #000000;
font: normal 11px Verdana, Arial, Helvetica,
sans-serif;
border: 1px #000000;
}
/* The text input fields background colour */
input.post, textarea.post, select {
background-color : #FFFFFF;
}

/* The buttons used for bbCode styling in


message post */

EEPIS-ITS
Proyek Akhir 2005/2006

input.button {
background-color : #EFEFEF;
color: #000000;
font-size: 11px;
font-family: Verdana, Arial, Helvetica,
sans-serif;
border-weight : bold;
}
/* The main submit button option */
input.mainoption {
background-color : #FAFAFA;
font-weight : bold;
}
input.maindua {
background-color : #FAFAFA;
font-weight : bold;
border: 1px solid #000000;
}
.garis {
border: 1px solid #000000
}
.judul {
font-family: Verdana, Arial, Helvetica,
sans-serif;
font-size: 13px;
font-weight: bold;
color : #FF6600;
text-decoration:none;
}
tr.header {
font-weight : bold;
border: solid #000000;
height: 20px;
background-color : #A6D2FF;
font-family: Verdana, Arial, Helvetica,
sans-serif;
font-size: 13px;
color : #FF6600;

EEPIS-ITS
Proyek Akhir 2005/2006

text-decoration:none;
}
--!>
</style>
</head>
<body background = "gambar/background.gif"
onLoad =
"MM_preloadImages('pic_but/2_1.gif','pic_but/4_1
.gif','pic_but/5_1.gif','pic_but/6_1.gif','pic_b
ut/8_1.gif','pic_but/11_1.gif','pic_but/12_1.gif
')">
<table width="646" border="0" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0"
cellspacing="0" cellpadding="0">
<tr>
<td width="297"><img
src="gambar/Wireless.jpg" width="297"
height="51"></td>
<td class="tengah" width="100%"><marquee
direction="left" scrolldelay="200"><h4>Welcome
to Robotic Camera by Video Streaming, GCC, CGI
and PHP</h4></marquee></td>
<td width="40" align="right"><h2><font
color="#FF0000">Robotic Camera</font></h2></td>
</tr>
</table></td>
</tr>
<tr>
<td width="100%"><table width="100%"
border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="kiri" width="122" valign="top"
height="100%">
<table width="100%" border="0"
cellspacing="0" cellpadding="0">
<tr>

EEPIS-ITS
Proyek Akhir 2005/2006

<td height="126" wight="122" align="center"


background="gambar/1.jpg" class="kiri"><img
src="gambar/arnold4.jpg" width="122"
height="122">
<? if (emptyString($_COOKIE[id])){ ?>
<form action="login.php" method="post">
<div class="tekssatu"> Username : <br>
&nbsp;&nbsp;
<input type="text" name="usrnm" size="10"
class="mainoption">
<br> Password : <br>
&nbsp;&nbsp;
<input type="password" name="psw" size="10"
class="mainoption">
<br><br>
&nbsp;&nbsp;
<input type="submit" value="Login >>"
class="button">
</div>
</form>
<? } else { ?>
<div class="mainmenu">
<a href="admin.php"><img src="gambar/1.jpg"
width="38" height="38"
border="0"><br>Administrator</a>
<br>
<a href="login.php?mod=logout"><img
src="gambar/1.jpg" width="38" height="38"
border="0"><br>LOGOUT</a>
</div>
<br>
<table width="70" border="0" cellspacing="0"
cellpadding="5" class="tekssatu">
<tr align="center">
<td>
<? } ?>
</td>
</tr>

EEPIS-ITS
Proyek Akhir 2005/2006

</table></td>
<td width="484" align="center" valign="top"
bgcolor="#EEEDFF">
<?
if (emptyString($_COOKIE[id])) {
?>
<table width="100%" border="0"
cellspacing="0" cellpadding="0">
<tr align="center">
<td width="20%"><img
src="gambar/1.jpg" width="60"></td>
<td width="20%"><img
src="gambar/1.jpg" width="60"></td>
<td width="20%"><img
src="gambar/1.jpg" width="60"></td>
<td width="20%"><img
src="gambar/1.jpg" width="60"></td>
<td width="20%"><img
src="gambar/1.jpg" width="60"></td>
</tr>
<tr align="center" class="teksdua">
<td>Open Streaming</td>
<td>Video Capture</td>
<td>View Capture</td>
<td>View Traffic</td>
<td>Help</td>
</tr>
</table> <? } else { ?>
<table width="100%" border="0"
cellspacing="0" cellpadding="0">
<tr align="center">
<td width="20%"><a href="/cgi-
bin/open.cgi"><img src="gambar/1.jpg" width="60"
border="0"></a></td>
<td width="20%"><a href="/cgi-
bin/video.cgi"><img src="gambar/1.jpg"
width="60" border="0"></a></td>

EEPIS-ITS
Proyek Akhir 2005/2006

<td width="20%"><a
href="viewpict.php"><img src="gambar/b_view.png"
width="60" border="0"></a></td>
<td width="20%"><a
href="viewtrafik.php"><img src="gambar/1.jpg"
width="60" border="0"></a></td>
<td width="20%"><a
href="help.php"><img src="gambar/b_docs.png"
width="60" border="0"></a></td>
</tr>
<tr align="center" class="teksdua">
<td><a href="open.php">Open
Streaming</a></td>
<td><a href="video.php">Video
Capture</a></td>
<td><a href="viewpict.php">View
Capture</a></td>
<td><a href="viewtrafik">View
Traffic</a></td>
<td><a href="help.php">Help</a></td>
</tr>
</table> <? } ?>

Footer.php
</td>
<td width="60" align="left"
class="kanan">hallo semua</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0"
cellspacing="0"
cellpadding="0">
<tr>

EEPIS-ITS
Proyek Akhir 2005/2006

<td width="122"><img
src="gambar/aercam.jpg" width="122"
height="44"></td>
<td valign="top" class="teksdua"
align="center">&#187;2005<br>by Nilluh
A.P.P.D.A.P</td>
<td width="55" align="right"><img
src="gambar/atv.jpg" width="55"></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

Index.php
<?
include "header.php";
?>
<img src="http://<?echo $ip;?>:8003" width="400"
height="300">
<?
/*script di atas digunakan oleh user biasa untuk
menampilkan video streaming*/
include "footer.php";
?>

Login.php

<?
require_once "inc.php";
switch($mod){
case "logout":
{
/*session_unregister($SESSION[usrnm]);
$_SESSION[usrnm]="";
unset($_SESSION[usrnm]);

EEPIS-ITS
Proyek Akhir 2005/2006

session_unregister($_SESSION[id]);
$_SESSION[ID] = "";
UNSET($_SESSION[ID]);*/

setcookie("username","");
setcookie("id","");

message_url("Anda telah logout..


Terima kasih atas kunjungannya!!!","index.php");
break;
}
default :
{
if (emptyString($_POST[usrnm]))
message_back($mod);
if (emptyString($_POST[psw]))
message_back('Password belum diisi');
//cek di table (proses
autentifikasi)
//$pass_md5 = md5($_POST[psw]);

$qr = mysql_query("SELECT * FROM


stream WHERE username= '".$_POST[usrnm]."' AND
password= '".$_POST[psw]."'");

$loaduser = mysql_fetch_assoc($qr);

if (mysql_num_rows($qr) == '1'){

/*Create session

session_register("usrnm");

$_SESSION[usrnm]="$loaduser[username]";
session_register("id");

$_SESSION[id]="$loaduser[id]";*/

EEPIS-ITS
Proyek Akhir 2005/2006

setcookie("username",$loaduser[username]);
setcookie("id",$loaduser[id]);

message_url("Selamat Datang
$loaduser[nama]","admin.php");
}

else {
message_back('Username/Password anda salah...
data tidak ditemukan');
}
break;
}
}
?>

Admin.php
<?
include "header.php";

function display_list() {
$qr = mysql_query("SELECT * FROM stream ORDER
BY username");
if (mysql_num_rows($qr) <= 0) echo "Tidak ada
administrator yang terdaftar";
else {
?>
<script language='javascript'
type='text/javascript'>
<?
function delConfirm() {
if (confirm('Apakah anda yakin mau
menghapus administrator yang anda pilih ?','2'))
{
return true;
}
else {

EEPIS-ITS
Proyek Akhir 2005/2006

return false;
}
}
?>
</script>
<div align="center"><br>
<a href="?mod=add" class="judul"><img
src="gambar/hotwolf.gif" width="38" height="38"
border="0"
align="absbottom">&nbsp;Tambah Administrator
Baru</a><br>
</div>
<br>
<table width="70%" border="0" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0"
cellspacing="1" cellpadding="4" class="garis">
<tr align="center" class="header">
<th width="12%">Username</th>
<th width="24%">Nama</th>
<th colspan="2">Option</th>
</tr>
<?
while ($a = mysql_fetch_array($qr)) {
?>
<tr>
<td align="center"
class="teksdua"><?=$a[username];?></td>
<td align="center"
class="teksdua"><?=$a[nama];?></td>
<td width="10%" align="center">
<a href="?mod=edit&id=<?=$a[id] ?>"><img
src="gambar/edit4.jpeg" alt="Edit" width="16"
height="19" border="0"></a></td>
<td width="10%" align="center">
<a href="?mod=del&id=<?=$a[id] ?>"><img
src="gambar/delete2.gif" alt="Hapus" width="19"

EEPIS-ITS
Proyek Akhir 2005/2006

height="19" border="0" onClick="return


delConfirm()"></a></td>
</tr>
<?
}
?>
</table></td>
</tr>
</table>
<br>
<?
}
}

function entry_form() {
global $_POST;
?>
<br>
<h1 align="center"><img
src="gambar/hotwolf.gif" width="38" height="38">
Tambah Administrator Baru</h1>
<form nama="form1" method="post" action="">
<table width="80%" border="0" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0"
align="center" cellpadding="5" cellspacing="1"
class="garis">
<tr class="header">
<th colspan="2">Form tambah admin </th>
</tr>
<tr>
<td width="30%" class="teksdua"
align="right">Nama: </td>
<td width="70%" align="left">
<input class="maindua" nama="nama" type="text"
id="nama2" value="<?=$_POST[nama] ?>"
size="20"></td>

EEPIS-ITS
Proyek Akhir 2005/2006

</tr>
<tr>
<td align="right" class="teksdua">Username:
</td>
<td align="left"><input nama="username"
class="maindua" type="text" id="username2"
value="<?=$_POST[username] ?>" size="15"
maxlength="15"></td>
</tr>
<tr>
<td align="right" class="teksdua">Password:
</td>
<td align="left"><input nama="password1"
class="maindua" type="password" id="password1"
value="<?=$_POST[password1] ?>" size="15"
maxlength="15"></td>
</tr>
<tr>
<td align="right" class="teksdua">Ulangi
Password: </td>
<td align="left"><input nama="password2"
class="maindua" type="password" id="password2"
value="<?=$_POST[password2] ?>" size="15"
maxlength="15"></td>
</tr>
<tr>
<td colspan="2" align="center"><br>
<input nama="Submit" type="button"
class="button" value="Tambah Admin">&nbsp;
<input nama="Submit" type="button"
class="button" value="Batal"
onClick="javascript:history.back()">
<input nama="mod" type="hidden" id="mod"
value="submit_entry"></td>
</tr>
</table></td>
</tr>
</table>

EEPIS-ITS
Proyek Akhir 2005/2006

</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?
}
function edit_form() {
global $_GET, $_POST;

if (!is_numeric($_GET[id]))
message_back('Invalid id');
$qr = mysql_query("SELECT * FROM stream WHERE
id='$_GET[id]'");

$z = mysql_fetch_array($qr);
if (emptyString($z)) message_back('Id tidak
ditemukan');
?>

<br>
<h1 align="center"><img
src="gambar/hotwolf.gif" width="40" height="40">
Edit Administrator</h1>
<form nama="form1" method="post" action="">
<table width="80%" border="0" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0"
align="center" cellpadding="5" cellspacing="1"
class="garis">
<tr class="header">
<th colspan="2">Form edit admin </th>
</tr>
<tr>
<td width="30%" class="teksdua"
align="right">Nama: </td>
<td width="70%" align="left">
<input class="maindua" nama="nama" type="text"
id="nama" value="<?=$z[nama] ?>" size="20"></td>

EEPIS-ITS
Proyek Akhir 2005/2006

</tr>
<tr>
<td align="right" class="teksdua">Username:
</td>
<td align="left"><input nama="username"
class="maindua" type="text" id="username"
value="<?=$z[username] ?>" size="15"
maxlength="15" disabled></td>
</tr>
<tr>
<td align="right" class="teksdua">Password
baru: </td>
<td align="left"><input nama="password1"
class="maindua" type="password" id="password1"
value="" size="15" maxlength="15"><span
class="teksdua"><br>
Kosongkan jika tidak ingin mengganti
password</span></td>
</tr>
<tr>
<td align="right" class="teksdua">Ulangi
Password: </td>
<td align="left"><input nama="password2"
class="maindua" type="password" id="password2"
value="" size="15" maxlength="15"></td>
</tr>
<tr>
<td colspan="2" align="center"><br>
<input nama="Submit" type="submit"
class="button" id="Submit" value="Edit
Admin">&nbsp;
<input nama="Submit" type="button"
class="button" id="Submit" value="Batalkan"
onClick="javascript:history.back()">
<input nama="mod" type="hidden" id="mod"
value="submit_edit">
<input nama="user_old" type="hidden"
id="user_old" value="<?=$z[username]?>"></td>

EEPIS-ITS
Proyek Akhir 2005/2006

</tr>
</table></td>
</tr>
</table>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?
}

function entry_user() {
global $_POST;

if (emptyString($_POST[nama]))
message_back('Nama wajib diisi');
if (emptyString($_POST[username]))
message_back('Username wajib diisi');

$qr = mysql_query("SELECT * FROM stream WHERE


username='$_POST[username]'");
if (mysql_num_rows($qr) !==0)
message_back('Username sudah terdaftar');

if (emptyString($_POST[password1]))
message_back('Password wajib diisi');
if ($_POST[password1] !== $POST[password2])
message_back('Password tidak sama');
$pass = md5($_POST[password1]);
$qr = mysql_query("INSERT stream SET
username='$_POST[username]', password='$pass',
nama='$_POST[nama]'");

if ($qr) {
message_url('Administrator berhasil
ditambahkan','admin.php');
} else message_back('Penambahan administrator
gagal');
}

EEPIS-ITS
Proyek Akhir 2005/2006

function edit_record() {
global $_POST;
if (emptyString($_POST[nama]))
message_back('Nama wajib diisi');
if (!emptyString($_POST[password1])) {
if ($_POST[password1] !== $_POST[password2])
message_back('Password tidak sama');
$pass = md5($_POST[password1]);
$sql = "UPDATE stream SET password='$pass',
nama='$_POST[nama]' WHERE
username='$_POST[user_old]'";
} else {
$sql = "UPDATE stream SET
nama='$_POST[nama]' WHERE
username='$_POST[user_old]'";
}
$qr = mysql_query($sql);

if ($qr) {
message_url('Data berhasil di-
edit','admin.php');
} else message_back('Edit administrator
gagal');
}

function delete_record() {
global $_GET;

if (!is_numeric($_GET[id]))
message_back('Invalid id');
$qr = mysql_query("SELECT * FROM stream WHERE
id='$_GET[id]'");
if (mysql_num_rows($qr) !== 1)
message_back('id tidak ditemukan');
$qr = mysql_query("DELETE FROM stream WHERE
id='$_GET[id]'");
if ($qr) {

EEPIS-ITS
Proyek Akhir 2005/2006

message_url('Delete admin
berhasil','admin.php');
} else message_back('Delete admin gagal');
}
// if (emptyString($_COOKIE[username]))
message_back('Access denied');
printf($_GET[mod]);
printf("\n");
printf($_POST[mod]);
if ($_GET[mod] !== "add" && ($mod !== "edit"))
display_list();
if ($_GET[mod]=="edit") edit_form(); else
if ($_GET[mod] == "add") entry_form();
if ($_POST[mod] == "submit_edit")
edit_record();
if ($_GET[mod] == "del") delete_record();
if ($_POST[mod] == "submit_entry")
entry_user();
include "footer.php";
?>

Open.php
<?
include "header.php";
system(“sudo /usr/sbin/open”);
?>
<table>
<tr>
<td>
<img src="http://<?echo $ip;?>:8003"
width="320" height="240">
</td>
<td>
<table width="30" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td align="center" width="30"><a href="/cgi-
bin/naik.cgi" accesskey=”t”

EEPIS-ITS
Proyek Akhir 2005/2006

onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image6','','pic_but/1
1_1.gif',1)"><img src="gambar/atas1.jpeg"
alt="naik" name="Image6" width="30" height="75"
border="0"></a></td>
</tr>
<tr><td width="30" height="20">&nbsp</td></tr>
<tr>
<td align="center" width="30"><a href="/cgi-
bin/turun.cgi" accesskey=”b”
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image7','','pic_but/1
2_1.gif',1)"><img src="gambar/bawah1.jpeg"
alt="turun" name="Image7" width="30" height="75"
border="0"></a></td>
</tr>
</table>
</td>
<td>
<table border="0" cellspacing="0"
cellpadding="0" align="center">
<tr>
<td width="50">&nbsp;</td>
<td width="50"><a href="/cgi-
bin/maju.cgi" accesskey=”w”
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image1','','pic_but/2
_1.gif',1)"><img src="gambar/maju.jpeg"
alt="maju" name="Image1" width="50" height="50"
border="0"></a></td>
<td width="50">&nbsp;</td>
</tr>
<tr>
<td width="50"><a href="/cgi-
bin/kiri.cgi" accesskey=”a”
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image2','','pic_but/4
_1.gif',1)"><img src="gambar/kiri.jpeg"

EEPIS-ITS
Proyek Akhir 2005/2006

alt="kiri" name="Image2" width="50" height="50"


border="0"></a></td>
<td width="50"><a href="/cgi-
bin/stop.cgi" accesskey=”s”
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image3','','pic_but/5
_1.gif',1)"><img src="gambar/stop.png"
alt="stop" name="Image3" width="50" height="50"
border="0"></a></td>
<td width="50"><a href="/cgi-
bin/kanan.cgi" accesskey=”d”
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image4','','pic_but/6
_1.gif',1)"><img src="gambar/kanan.jpeg"
alt="kanan" name="Image4" width="50" height="50"
border="0"></a></td>
</tr>
<tr>
<td width="50">&nbsp;</td>
<td width="50"><a href="/cgi-
bin/mundur.cgi" accesskey=”x”
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image5','','pic_but/8
_1.gif',1)"><img src="gambar/mundur.jpeg"
alt="mundur" name="Image5" width="50"
height="50" border="0"></a></td>
<td width="50">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
<?
/*script di atas digunakan untuk video streaming
untuk user administrator*/
include "footer.php";
?>

EEPIS-ITS
Proyek Akhir 2005/2006

Video.php
<?
include "header.php";
system(“sudo /usr/sbin/video”);
?>
<img src="http://<?echo $ip;?>:8004" width="320"
height="240">
<?
/*script di atas digunakan oleh user biasa untuk
menampilkan video streaming*/
include "footer.php";
?>

Viewpict.php
<?
include "header.php";
require_once "multipage.php";

//if (emptyString($_COOKIE[id]))
message_back('Access Denied !');

function caridata() {
global $i;
$handle = opendir('picture');
$data = array();
$i = 1;
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && $file
!= "Thumbs.db") {
$z['sa'] = "$file";
$data[] = $z;
$i++;
}
}
closedir($handle);
return $data;
}

EEPIS-ITS
Proyek Akhir 2005/2006

$a = caridata();
$mp = &new multipage($a, 10);
$p = 0;

foreach ($mp->data as $b) {


if ($p%5 == 0) echo "<br><br>";
echo "<a href='preview.php?id=$b[sa]'><img
src=\"picture/$b[sa]\" height=50 width=50
border=0 alt=\"$b[sa]\"></a>&nbsp;&nbsp;";
$p++;
}
//echo htmlNav;
//echo "<br>$mp->htmlNav";
echo "<br><div class='teksdua'>$mp-
>htmlNav</div>";

include "footer.php";
?>

Preview.php
<?
include "header.php";

$lokasi = "picture/$_GET[id]";
$ambil = getimagesize($lokasi);
$panjang = $ambil[0];
$lebar = $ambil[1];

switch($ambil[2]) {
case 1 : $ext = "GIF";
break;
case 2 : $ext = "JPG";
break;
case 3 : $ext = "PNG";
break;
case 4 : $ext = "SWF";
break;
}

EEPIS-ITS
Proyek Akhir 2005/2006

$tipe = filetype($lokasi);
$besar = formatNumber(filesize($lokasi)/1000,
2);
?>
<table width="70%" border="0" cellspacing="0"
cellpadding="0" class="garis">
<tr class="header">
<td colspan="2">File info: </td>
</tr>
<tr>
<td width="150" align="right"
class="teksdua">File name: </td>
<td class="tecksdua">&nbsp;<?=$_GET[id];?></td>
</tr>
<tr>
<td class="teksdua" width="150"
align="right">Extention: </td>
<td class="tecksdua">&nbsp;<?=$ext;?></td>
</tr>
<tr>
<td class="teksdua" width="150"
align="right">Size: </td>
<td class="tecksdua">&nbsp;<? echo "$panjang x
$lebar (pixels)";?></td>
</tr>
<tr>
<td class="teksdua" width="150"
align="right">Big: </td>
<td class="tecksdua">&nbsp;<?=$besar;?>
KBytes</td>
</tr>
</table>
<br>
<img src="picture/<?=$_GET[id]?>">
<?
include "footer.php";
?>

EEPIS-ITS
Proyek Akhir 2005/2006

Multipage.php
<script language="php">

class multipage {
var $source, $pagesize, $skipvar;
var $data, $pageCount, $pageCurrent, $skipPos,
$numBegin, $numEnd, $numCount;
var $count;
var $skipPrev, $skipNext;
var $htmlNav, $htmlNavPages;
var $sepPages;
var $navFormat;
var $navPrev, $navNext;
var $pageURI;

function getPageURI($pageNo) {
if (isset($this->pageURI[$pageNo])) return
$this->pageURI[$pageNo];
else return '';
}

function mpLink($link, $format, $title,


$htmlsafe=false) {
if (emptyString($link)) {
if (!$htmlsafe)
return '<span
class="multipageDisabled">'.htmlspecialchars($ti
tle).'</span>';
else return '<span
class="multipageDisabled">'.$title.'</span>';
} else return formatLink($link, $format,
$title, $htmlsafe);
}

function multipage($source, $pagesize=10,


$skipvar='skip', $sepPages=' . ',
$navFormat='%begin%-%end% dari %count% :
%pages% : %prev% %next%',

EEPIS-ITS
Proyek Akhir 2005/2006

$navPrev='&nbsp;&lt;&nbsp;',
$navNext='&nbsp;&gt;&nbsp;') {

$this->source=$source;
$this->pagesize=$pagesize;
$this->skipvar=$skipvar;
$this->sepPages=$sepPages;
$this->navFormat=$navFormat;
$this->navPrev=$navPrev;
$this->navNext=$navNext;

if (!is_array($this->source)) {
$qr=$this->source;
$this->source=array();
while ($z=mysql_fetch_assoc($qr)) $this-
>source[]=$z;
}
$this->data=$source;
$this->pageCount=ceil(count($this-
>source)/$pagesize);
if (isset($HTTP_GET_VARS['skip'])) $this-
>skipPos=$HTTP_GET_VARS['skip'];
else if (isset($GLOBALS['skip'])) $this-
>skipPos=$GLOBALS['skip'];
else $this->skipPos=0;

if (!isset($GLOBALS['skip']))
$GLOBALS['skip']=$this->skipPos;
if ($this->skipPos>=count($this->source))
$this->skipPos=count($this->source)-1;
if ($this->skipPos<0) $this->skipPos=0;
$this->skipPrev=$this->skipPos-$this-
>pagesize;
if ($this->skipPrev<0) $this->skipPrev=0;
$this->skipNext=$this->skipPos+$this-
>pagesize;
if ($this->skipNext>=count($this->source))
$this->skipNext=count($this->source)-1;

EEPIS-ITS
Proyek Akhir 2005/2006

$this->numBegin=$this->skipPos+1;
$this->numEnd=$this->skipPos+$this-
>pagesize;
if ($this->numEnd>count($this->source))
$this->numEnd=count($this->source);
$this->numCount=count($this->source);
$this->pageCurrent=1+floor($this-
>skipPos/$this->pagesize);
$this->pageURI=array();
for ($i=1; $i<=$this->pageCount; $i++) {
if ($i==$this->pageCurrent) $this-
>pageURI[$i]='';
else {
$vars=$GLOBALS['HTTP_GET_VARS'];
$vars[$this->skipvar]=($i-1)*$this-
>pagesize;

$u=parse_url($GLOBALS['HTTP_SERVER_VARS']['REQUE
ST_URI']);
$this-
>pageURI[$i]=$u['path'].makeQueryString($vars);
}
}
/* reset($this->source);
$no=1;
$this->data=array();
while (list($dummy, $z)=each($this->source))
{
if (($no>=$this->numBegin) && ($no<=$this-
>numEnd)) {
$z['multipageNo']=$no;
$z['multipageNoReversed']=$this-
>numCount+$no-1;
$this->data[]=$z;
}
$no++;
} */

EEPIS-ITS
Proyek Akhir 2005/2006

reset($this->source);
$no=1;
$this->data=$this->source;
while (list($a, $b)=each($this->data)) {
if (($no>=$this->numBegin) && ($no<=$this-
>numEnd)) {
if (is_array($this->data[$a])) {
$this->data[$a]['multipageNo']=$no;
$this-
>data[$a]['multipageNoReversed']=$this-
>numCount-$no+1;
}
}
else unset($this->data[$a]);
$no++;
}

reset($this->data);
$this->count=count($this->data);
$navPages=array();
for ($i=1; $i<=$this->pageCount; $i++) {
$navPages[]=$this->mpLink($this-
>getPageURI($i), '%link:title%', "$i");
}
$this->htmlNavPages=join($this->sepPages,
$navPages);
$trans=array(
'%begin%'=>$this->numBegin,
'%end%'=>$this->numEnd,
'%count%'=>$this->numCount,
'%pages%'=>$this->htmlNavPages,
'%prev%'=>$this->mpLink($this-
>getPageURI($this->pageCurrent-1),
'%link:title%', $this->navPrev, true),
'%next%'=>$this->mpLink($this-
>getPageURI($this->pageCurrent+1),
'%link:title%', $this->navNext, true));

EEPIS-ITS
Proyek Akhir 2005/2006

$this->htmlNav='<span
class="multipageNav">'.strtr($this->navFormat,
$trans).'</span>';
}
}
</script>

logout.php
<?
require_once "inc.php";
setcookie("username","");
setcookie("id","");

message_url("Anda telah logout..


Terima kasih atas kunjungannya!!!","index.php");
?>

LISTING PROGRAM CGI DI FOLDER /usr/lib/cgi-bin


File naik.cgi
#!/bin/sh
echo Content-type: text/html; charset=iso-8859
echo
sudo /usr/sbin/naik
echo
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=http://robot-wireless.eepis-
its.edu/TA/open.php\">";

File turun.cgi
#!/bin/sh
echo Content-type: text/html; charset=iso-8859
echo
sudo /usr/sbin/turun
echo
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=http://robot-wireless.eepis-
its.edu/TA/open.php\">";

EEPIS-ITS
Proyek Akhir 2005/2006

File maju.cgi
#!/bin/sh
echo Content-type: text/html; charset=iso-8859
echo
sudo /usr/sbin/maju
echo
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=http://robot-wireless.eepis-
its.edu/TA/open.php\">";

File mundur.cgi
#!/bin/sh
echo Content-type: text/html; charset=iso-8859
echo
sudo /usr/sbin/mundur
echo
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=http://robot-wireless.eepis-
its.edu/TA/open.php\">";

File kiri.cgi
#!/bin/sh
echo Content-type: text/html; charset=iso-8859
echo
sudo /usr/sbin/kiri
echo
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=http://robot-wireless.eepis-
its.edu/TA/open.php\">";

File kanan.cgi
#!/bin/sh
echo Content-type: text/html; charset=iso-8859
echo
sudo /usr/sbin/kanan
echo
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;

EEPIS-ITS
Proyek Akhir 2005/2006

URL=http://robot-wireless.eepis-
its.edu/TA/open.php\">";

File stop.cgi
#!/bin/sh
echo Content-type: text/html; charset=iso-8859
echo
sudo /usr/sbin/stop
echo
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=http://robot-wireless.eepis-
its.edu/TA/open.php\">";

LISTING PROGRAM C DI FOLDER /usr/sbin


File open.c
#include<stdio.h>
#include<stdlib.h>

int main(){
system("/etc/init.d/motion stop");
printf("Loading..........!\n");
system("/etc/init.d/camserv start");
}

File video.c
#include<stdio.h>
#include<stdlib.h>

int main(){
system("/etc/init.d/camserv stop");
printf("Loading...........!\n");
system("/etc/init.d/motion start");
}

EEPIS-ITS
Proyek Akhir 2005/2006

---------- Halaman ini sengaja dikosongkan --------

EEPIS-ITS
Proyek Akhir 2005/2006

PROFIL PENULIS
Nama : Nilluh A.P.P.D.A.P
TTL : Kediri, 18 Maret 1985
Alamat : Jl. Waringin No. 124
Ds. Tempurejo Kec Pesantren
RT 2 RW 1 Kota Kediri
Telepon : (0354)695463
Handphone : 081334659061
Email : dhian_adhi@yahoo.com /
adhi_putri@telkom.net

Riwayat pendidikan formal yang pernah ditempuh:


‰ SDK Santa Maria II Kediri lulus tahun 1997.
‰ SLTP Negeri 1 Kediri lulus tahun 2000.
‰ SMU Negeri 2 Kediri lulus tahun 2003.
‰ Jurusan Teknik Telekomunikasi
Politeknik Elektronika Negeri Surabaya (PENS)
Institut Teknologi Sepuluh Nopember Surabaya (ITS).
Pada tanggal 2 Agustus 2006 mengikuti Seminar Proyek Akhir
sebagai salah satu persyaratan untuk mendapatkan gelar Ahli
Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya
(PENS), Institut Teknologi Sepuluh Nopember Surabaya (ITS).

EEPIS-ITS

You might also like