BAB 2 LANDASAN TEORI 2.1. Kemacetan Macet menurut Kamus Besar Bahasa Indonesia adalah tidak dapat berfungsi dengan baik. Maka kemacetan lalu lintas adalah situasi atau keadaan tersendatnya atau bahkan terhentinya lalu lintas yang disebabkan oleh banyaknya jumlah kendaraan melebihi kapasitas jalan. Kemacetan lalu lintas banyak terjadi di kota-kota besar, terutamanya yang tidak mempunyai transportasi publik yang baik atau memadai ataupun juga tidak seimbangnya kebutuhan jalan dengan kepadatan penduduk, misalnya Jakarta dan Bangkok.
Gambar 2.1 Kemacetan lalu lintas
2.2. Internet Menurut Steven C. Perkins (
[email protected]) internet adalah kolektif jaringan elektronik komputer dan jaringan komputer yang saling terkoneksi di seluruh dunia yang diawali oleh ARPAnet di departemen pertahanan Amerika Serikat. Manakala Internet adalah sistem komputer umum, yang berhubung secara global dan 6
7 menggunakan
TCP/IP
sebagai
protokol
pertukaran
paket
(packet
switching
communication protocol). Rangkaian internet yang terbesar dinamakan Internet dan cara menghubungkan rangkaian dengan kaedah ini dinamakan internetworking. 2.2.1. IP IP (Internet Protocol) adalah protocol lapisan jaringan (network layer dalam OSI Reference Model) atau protocol lapisan internetwork (internetwork layer dalam DARPA Reference Model) yang digunakan oleh protokol TCP/IP untuk melakukan pengalamatan dan routing paket data antar host-host di jaringan komputer berbasi TCP/IP. Pengalamatan jaringan (network addressing) yang pada umumnya digunakan sekarang adalah IP (IPv4).
2.3. IP Camera Kamera Closed-circuit television (CCTV) yang menggunakan Internet Protocol untuk mengirimkan data gambar dan mengontrol sinyal melalui Fast Ethernet. IP Camera banyak disebut sebagai kamera jaringan. IP Camera digunakan sama seperti analog closed-circuit television untuk melakukan pengawasan. Sejumlah IP Camera biasanya digunakan bersama dengan digital video recorder (DVR) atau network video recorder (NVR) untuk membentuk sistem pengawasan video. Pada umumnya IP Camera yang digunakan saat ini dapat menghasilkan 2 jenis data yaitu gambar dalam bentuk JPEG dan video dalam bentuk MJPEG dan masing – masing dapat diakses dari 2 jenis protokol yakni htpp dan rstp. Berikut beberapa jenis IP Camera beserta http protocol untuk mengakses data JPEG maupun MJPEG antara lain : •
URL IP Camera Airlink101 JPEG:
8 -
http://host:port/cgi/jpg/image.cgi
MJPEG:
•
-
http://host:port/mjpeg.cgi
-
http://host:port/cgi/mjpg/mjpeg.cgi
URL IP Camera Axis JPEG: -
http://host:port/axiscgi/jpg/image.cgi[?resolution=
&camera=]
-
http://host:port/axis-cgi/jpg/image.cgi?resolution=320x240&camera=2
MJPEG: -
http://host:port/axiscgi/mjpg/video.cgi[?resolution=&Quality=]
•
http://host:port/axis-cgi/mjpg/video.cgi?resolution=320x240&camera=1
URL IP Camera D-Link JPEG: -
http://host:port/cgi-bin/video.jpg
MJPEG:
•
-
http://host:port/video.cgi
-
http://host:port/mjpeg.cgi
URL IP Camera Cannon MJPEG: -
•
http://host:port/-wvhttp-01-/getoneshot?frame_count=no_limit
URL IP Camera Edimax
9 MJPEG: •
http://host:port/snapshot.cgi
URL IP Camera Gadspot JPEG: -
http://host:port/Jpeg/CamImg.jpg
MJPEG: •
http://host:port/GetData.cgi?Status=0
URL IP Camera Goscam MJPEG: -
http://host:port/cgibin/Stream?Video?Acc=[userid]?Pwd=[password]?webcamPWD=RootCookies0 0000
•
URL IP Camera Mobotix JPEG: -
http://host:port/record/current.jpg
MJPEG: •
http://host:port/control/faststream.jpg?stream=full
URL IP Camera Linksys JPEG: -
http://host:port/img/snapshot.cgi[?size=<size>]
-
http://host:port/img/snapshot.cgi?size=2
MJPEG: -
http://host:port/img/video.mjpeg
10 •
URL IP Camera Panasonic JPEG: -
http://host:port/SnapShotJPEG[?Resolution=&Quality=]
-
http://host:port/SnapShotJPEG?Resolution=320x240&Quality=Motion
MJPEG: -
http://host:port/nphMotionJpeg[?Resolution=&Quality=]
-
http://host:port/nphMotionJpeg?Resolution=320x240&Quality=Standard
-
http://host:port/cgibin/nphContinuousServerPush?Resolution=320x240&Quality=Standard (for BLC1)
•
URL IP Camera Qnap MJPEG: -
•
http://host:port/cgi/mjpg/mjpeg.cgi
URL IP Camera Sharx Security MJPEG: -
•
http://host:port/stream.jpg
URL IP Camera Sony JPEG: -
http://host:port/oneshotimage.jpg
MJPEG: •
http://host:port/image
URL IP Camera Toshiba MJPEG:
11 -
http://host:port/getstream.cgi?&&<userID>&<userPW>& <streamType>&&<mode>&&
-
http://host:port/user/cgibin/getstream.cgi?&&<userID>&<userPW>&<streamTy pe>&&<mode>&&
•
-
http://host:port/getstream.cgi?10&&&&0&0&0&0&0
-
http://host:port/user/cgi-bin/getstream.cgi?10&&&&0&0&0&0&0
URL IP Camera webcamXP JPEG: -
http://host:port/cam_1.jpg
MJPEG: •
http://host:port/cam_1.cgi
URL IP Camera Y-cam MJPEG: -
http://host:port/stream.jpg
Dalam aplikasi ini dipakai kamera Panasonic untuk mengambil video (MJPEG) sehingga digunakan URL : http://host:port/nphMotionJpeg[?Resolution=&Quality=] Dimana resolution nya teridiri dari 3 antara lain : 1. 160 x 120 2. 320 x 240 3. 640 x 480
12 Quality nya juga terdiri dari 3 antara lain : 1. Low 2. Standard 3. High Dalam aplikasi ini parameter resolusi yang dipakai adalah 160x120 dan kualitas yang dipakai adalah Low, karena ingin diambil video / MJPEG dengan cepat (masalah koneksi internet) dan masih dapat di lihat hasil dari gambarnya.
Gambar 2.2 Contoh IP Camera
2.4. MJPEG Dalam multimedia, Motion JPEG (MJPEG) adalah nama tidak resmi untuk kelas format video dimana tiap frame atau bidang tautan dari urutan video digital yang secara sederhana dikompres menjadi gambar JPEG. Secara sederhana dikembangkan untuk aplikasi PC multimedia, dimana format yang lebih canggih telah menggantikannya, MJPEG sekarang digunakan oleh alat portable dengan kemampuan menangkap gambar seperti kamera digital. Beberapa karakteristik dari MJPEG antara lain :
13 -
Memiliki ekstensi .mjpeg atau mjpg
-
Berisi kumpulan dari jpg – jpg
-
Diawali oleh header : --myboundary Content-length: [ukuran jpeg pada bagian ini] Content-type: image/jpeg Dimana content-length menjelaskan besar ukuran jpeg pada bagian itu dalam byte, dan header tersebut akan diulang kembali setelah akhir dari jpeg tersebut.
Gambar 2.3 Contoh Header MJPEG
2.5. JPEG Joint Photographic Experts Group (JPEG) adalah format gambar yang banyak digunakan untuk menyimpan gambar-gambar dengan ukuran lebih kecil. Beberapa karakteristik gambar JPEG: -
Memiliki ekstensi .jpg atau .jpeg.
-
Mampu menayangkan warna dengan kedalaman 24-bit true color.
-
Mengkompresi gambar dengan sifat lossy.
-
Umumnya digunakan untuk menyimpan gambar-gambar hasil foto.
-
Diawali oleh header yang disebut SOI( dalam byte 0xFFD8, dalam ASCII akan berupa ÿØÿà)
14
Gambar 2.4 Contoh Header JPEG JPEG berbeda dengan MPEG (Moving Picture Experts Group) yang menyediakan kompresi untuk video
2.6. Citra Digital Citra digital adalah representasi dari gambar dua dimensi menggunakan satu dan kosong (binary). Berdasarkan apakah resolusi dari gambar diatur atau tidak, dapat disebut sebagai tipe raster atau tipe vector. Tanpa kualifikasi tertentu, istilah “Citra Digital” biasanya berarti gambar raster yang disebut gambar bitmap.
2.6.1. Warna Warna menurut David A. Forsyth dan Jean Ponce
(2003, p97) adalah suatu
pengalaman yang kaya dan kompleks, biasanya disebabkan oleh sistem visi menanggapi berbeda terhadap panjang gelombang cahaya yang berbeda. Warna juga merupakan spektrum tertentu yang terdapat di dalam suatu cahaya sempurna (berwarna putih). Identitas suatu warna ditentukan panjang gelombang cahaya tersebut. Sebagai contoh warna biru memiliki panjang gelombang 460 nanometer. Panjang gelombang warna yang masih bisa ditangkap mata manusia berkisar antara 380-780 nanometer. Dalam peralatan optis, warna bisa pula berarti interpretasi otak terhadap campuran tiga warna primer cahaya: merah, hijau, biru yang digabungkan dalam komposisi
15 tertentu. Misalnya pencampuran 100% merah, 0% hijau, dan 100% biru akan menghasilkan interpretasi warna magenta. Dalam seni rupa, warna bisa berarti pantulan tertentu dari cahaya yang dipengaruhi oleh pigmen yang terdapat di permukaan benda. Misalnya pencampuran pigmen magenta dan cyan dengan proporsi tepat dan disinari cahaya putih sempurna akan menghasilkan sensasi mirip warna merah. Setiap warna mampu memberikan kesan dan identitas tertentu sesuai kondisi sosial pengamatnya. Misalnya warna putih akan memberi kesan suci dan dingin di daerah Barat karena berasosiasi dengan salju. Sementara di kebanyakan negara Timur warna putih memberi kesan kematian dan sangat menakutkan karena berasosiasi dengan kain kafan (meskipun secara teoritis sebenarnya putih bukanlah warna). Di dalam ilmu warna, hitam dianggap sebagai ketidakhadiran seluruh jenis gelombang warna. Sementara putih dianggap sebagai representasi kehadiran seluruh gelombang warna dengan proporsi seimbang. Secara ilmiah, keduanya bukanlah warna, meskipun bisa dihadirkan dalam bentuk pigmen.
2.6.2. Grayscale Dalam ilmu fotografi dan komputer, gambar digital grayscale adalah gambar yang nilai tiap pixel merupakan nilai tunggal, yang hanya membawa informasi mengenai intensitas. Gambar ini juga dikenal sebagai gambar hitam putih, yang terdiri dari warna kelabu, bervariasi dari warna hitam yang paling rendah intensitasnya sampai dengan putih yang memiliki nilai intensitas tertinggi. Gambar grayscale berbeda dengan gambar 1 bit yang hitam putih, dimana konteks dari gambar komputer adalah gambar dengan dua warna hitam dan putih (disebut juga
16 bilevel atau gambar biner). Gambar grayscale memiliki banyak variasi warna abu-abu di antara hitam dan putih. Gambar grayscale juga disebut monokrom, menunjukan tidak adanya variasi warna. Gambar grayscale sering juga merupakan hasil dari pengukuran intensitas cahaya dari tiap pixel dalam band tunggal dari spektrum elektromagnetik ( contoh : infra merah, ultraviolet, dan lain-lain), dan dalam beberapa kasus gambar grayscale merupakan monokromatik yang tepat ketika diambil dalam frekuensi tertentu. Tetapi gambar grayscale juga dapat disentisasi dari gambar berwarna.
Gambar 2.5 Contoh Gambar Grayscale 2.6.3. Pixel Gambar tersusun dari pixel - pixel. Pixel disebut juga dengan dot. Pixel berbentuk bujur sangkar dengan ukuran relatif kecil yang merupakan penyusun atau pembentuk gambar baru. Banyaknya pixel tiap satuan luas tergantung pada resolusi yang digunakan. Keanekaragaman warna pixel tergantung pada bit depth yang dipakai. Semakin banyak
17 jumlah pixel tiap satu satuan luas, semakin baik kualiatas gambar yang dihasilkan dan tentu akan semakin besar ukuran file - nya.
Gambar 2.6 Contoh Pixel http://www.library.cornell.edu/preservation/tutorial/tutorial-images/zoom.jpg
2.7. Bahasa Pemrograman Java Menurut Afriyudi, M.kom (2008, p1) Java adalah bahasa pemrograman komputer yang berbasis pada Object Oriented Programming. Java diciptakan setelah C++ dan merupakan penyederhanaan dari C++. Java didesain sedemikian rupa sehingga mempunyai ukuran yang kecil, sederhana, dan portable ( dapat dipindah – pindahkan di antara bermacam – macam platform dan sistem operasi). Dikembangkan oleh Sun Microsystems dan diterbitkan tahun 1995. Java tidak boleh dipahami sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser. Bahasa Java mempunyai ciri – ciri antara lain: • Bisa diperoleh dengan gratis karena merupakan teknologi yang open source. • Berorientasi objek sehingga akan mempermudah dalam pengembangan dan maintenance. • Java tidak memungkinkan pemuatan operator eksplisit yang berlebihan. • Java tidak mendukung multi-inheritance yang bisa menyebabkan diamond problem.
18 • Java tidak memiliki fungsi atau variabel global. Setiap elemen program harus ada di dalam class. • Java bersifat multi platform sehingga dapat jalan di berbagai operating system seperti Windows maupun Linux. Dengan ciri – ciri seperti itu, maka dapat disimpulkan Java akan lebih memudahkan pembangunan perangkat lunak ini dibandingkan menggunakan bahasa pemrograman lainnya 2.7.1. Pemrograman Java dengan koneksi internet Dalam mengambil data dari sumber informasi yang digunakan, diperlukan sebuah aplikasi yang terhubung dengan koneksi internet. Dalam menyelesaikan aplikasi ini digunakan jaringan yang memiliki proxy server sebagai penghubung ke internet. Sehingga perlu dilakukan autentifikasi proxy server dengan sintaks dalam bahasa yang sesuai dengan bahasa yang digunakan dalam menyelesaikan aplikasi ini yaitu bahasa Java seperti berikut :
19
2.8. Software Computer software, atau software adalah istilah yang digunakan untuk data yang disimpan secara digital seperti program komputer dan hal-hal yang ditulis atau dibaca dengan komputer. Pada saat ini, termasuk data yang secara tradisional dikaitkan dengan komputer, seperti film, kaset, dan rekaman. Istilah ini diciptakan secara kontras dengan hardware (yang berarti perangkat fisik), berlawanan dengan hardware, software tidak berwujud, yang berarti tidak dapat disentuh. Software sekarang juga digunakan pada lingkup yang sempit, yang berarti software aplikasi.
Contoh : o Software aplikasi, seperti pengolah kata yang melakukan tugas produktif bagi pengguna. o Firmware, software yang diprogram dan ada pada perangkat memori yang dapat diprogram pada papan mainboard atau tipe lainnya yang terintegrasi pada hardware.
20 o Middleware,
software
yang
mengontrol
dan
bekerja
sama
mendistribusikan sistem. o Software sistem seperti sistem operasi, yang menghubungkan hardware untuk menyediakan layanan yang diperlukan untuk software aplikasi. o Pengujian software, metode untuk menguji dan mendeklarasikan produk software sebelum diluncurkan ke publik. o Testware,
merupakan istilah yang mewadahi untuk semua software
peralatan dan aplikasi yang melayani dalam kombinasi pengujian aplikasi tetapi opsional memiliki kontribusi dalam proses operasional atau tidak. Dengan demikian, testware bukanlah melakukan konfigurasi tetapi hanya lingkungan kerja untuk software aplikasi ataupun bagian dari software aplikasi. o Video game o Website
2.9. Computer Vision Computer Vision menurut Gary Bradski dan Adrian Kaehler (2008, p2) adalah transformasi dari data gambar maupun video menjadi sebuah keputusan maupun gambaran baru. Pengertian lain dari computer vision adalah ilmu dan teknologi dari mesin yang dapat melihat. Secara disiplin ilmiah, computer vision dikaitkan dengan teori dibalik sistem artifisial yang mengambil informasi dari gambar. Data gambar dapat berbentuk macam-macam, seperti urutan video, pandangan dari beberapa kamera, atau data multi-dimensional dari medical scanner. Jadi dapat disimpulkan pengertian dari
21 computer vision adalah pengambilan fitur – fitur dari gambar maupun video menjadi informasi – informasi dari gambar ataupun video tersebut. Sebagai disiplin teknologi, computer vision berusaha menerapkan teori dan modelnya ke pada pembangunan sistem computer vision. Contoh dari aplikasi computer vision adalah sebagai berikut : o Mengontrol proses (contoh : industri robot atau kendaraan) o Mendeteksi kejadian (contoh : survei visual atau menghitung jumlah orang) o Mengatur informasi (contoh : mengindexing database gambar dan urutan gambar) o Membuat model objek atau lingkungan (contoh : inspeksi industri, analisa gambar medical atau membuat model topografi) o Interaksi (Contoh : sebagai input dari alat untuk interaksi komputermanusia)
Computer vision memiliki relasi yang dekat dengan pembelajaran biological vision. Bidang pembelajaran biological vision dan model proses psikologikal adalah persepsi pada manusia dan binatang lainnya. Di sisi lain, computer vision mempelajari dan menggambarkan proses yang diimplementasikan dalam software dan hardware pada sistem artificial vision. Pertukaran disiplin diantara biological vision dengan computer vision telah membuktikan hasil dari kedua bidang tersebut. Computer vision adalah kebalikan dari grafik komputer. Jika grafik komputer menghasilkan data gambar dari model 3D, maka computer vision menghasilkan model
22 3D dari data gambar. Ada juga tren menggabungkan kedua disiplin ilmu tersebut, contoh : eksplorasi pada augmented reality. Bagian dari computer vision termasuk rekonstruksi peristiwa, deteksi kejadian, video tracking, pengenalan objek, mempelajari, mengindekskan, memperkirakan gerakan dan memulihkan gambar.
2.9.1.1. Kebutuhan pembuatan aplikasi pendeteksian kemacetan Menurut Ruben Gonzalez (2007) pada jurnalnya yang berjudul “Object OrientedVideo System”, pada halaman 37 dijelaskan bahwa, diperlukan banyak kamera untuk memberikan informasi kepada pengguna sistem pada rute – rute jalan yang akan dilewati apakah macet atau tidak, dengan menggunakan suatu sistem yang menganalisa kondisi jalan di setiap titik kamera yang dipantau oleh sistem. Oleh karena itu diperlukan suatu sistem yang dapat memberikan hasil analisa kemacetan lalu lintas di banyak kamera sepanjang rute yang akan dipantau secara cepat.
2.10.
Algoritma Pin Hole
Algoritma ini dikemukakan oleh E. Atkoĉiūnas, R. Blake, A. Juozapaviĉius, dan M. Kazimianec dalam jurnal mereka yang berjudul “Image Processing in Road Traffic Analysis”. Pada teori ini, dijelaskan cara kerja dari algoritma ini adalah sebagai berikut : -
Sebuah gambar dibagi menjadi pin hole – pin hole kecil dengan ukuran tertentu yang sama besar. (Contoh 4x4 pixel)
-
Kemudian dari pin hole tersebut diambil rata-rata dari pixel dalam format abuabu / grayscale.
23 -
Rata-rata pixel tersebut dibandingkan dengan rata-rata pixel di pin hole sesudahnya.
-
Jika perbedaan rata-rata pixel di pin hole tersebut melebihi batasan yang diberikan, maka pin hole tersebut dinyatakan macet.
-
Jika jumlah pin hole macet dari sebuah gambar melebihi 50% dari jumlah pin hole yang diamati pada gambar tersebut, maka gambar tersebut dinyatakan macet.
-
Kemudian dikumpulkan dalam 1 siklus, dimana 1 siklus terdiri dari beberapa gambar. Jika kondisi gambar macet melebihi 50% dari jumlah gambar yang ada dalam 1 siklus, maka kondisi jalan dinyatakan macet.