TUGAS AKHIR
Diajukan untuk Memenuhi Tugas Mata Kuliah Skripsi
Program Strata Satu Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer
Universitas Komputer Indonesia
REKHA ARIZAL PRIATNA
10106372
PROGRAM STRATA I
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
i
( Studi Kasus Dinas Perhubungan Cikampek)
Oleh:
Rekha Arizal Priatna 10106372
Kemacetan atau penumpukan kendaraan di jalur pantura masih kerap terjadi, terlebih bila memasuki musim mudik atau libur panjang kemacetan yang terjadi biasanya mencapai berkilo-kilo meter, dan hal itu merupakan permasalah yang sampai saat ini masih belum dapat terselesaikan oleh Dinas Perhubungan Cikampek. Hal tersebut terjadi karena keterlambatan petugas dalam mengalihkan kendaraan yang memasuki jalur pantura ke jalur alternatif dikarenakan cara perhitungan yang dilakukan oleh petugas dalam menghitung jumlah kendaraan yang melintas masih menggunakan cara manual.
Untuk itu sebuah aplikasi yang dapat melakukan penghitungan jumlah kendaraan yang melintas menggunakan kamera sangat diperlukan sebagai pengganti mata manusia. Aplikasi yang dibangun sendiri menggunakan metode NSSD sebagai metode pembanding dengan acuan nilai threshold yang telah dimasukan oleh user.
i
(Case Studies of Transport Department Cikampek)
By:
Rekha Arizal Priatna 10106372
Traffic jam on the Pantura road still occur frequently, especially when entering the season back home or long holidays that occur are often being reached miles and miles, and it is the problem so far is still not resolved by the Transport Department Cikampek. This happens because of delays in the diversion of vehicles of personnel that enter via alternative routes pantura, because the calculations are performed in the calculation of the number of vehicles that pass are still using manual way.
For that an application that can do the counting the number of passing vehicles using a camera is indispensable as a substitute for the human eye. Applications built himself using NSSD as a method of comparison with a reference threshold value that has been entered by the user.
iii
Alhamdulillahi Rabbil ‘alamiin, segala puji dan syukur
penulis panjatkan kepada Allah SWT, karena dengan izin-Nya dan
setitik ilmu pengetahuan yang dipinjamkan kepada mahluk-Nya,
penulis dapat menyelesaikan laporan tugas akhir ini.
Laporan tugas akhir dengan judul “PERANGKAT LUNAK
PENGHITUNG JUMLAH KENDARAAN MENGGUNAKAN
KAMERA” ini disusun guna memenuhi salah satu mata kuliah tugas
akhir pada semester delapan di jurusan Teknik Informatika Universitas
Komputer Indonesia.
Penulis sangat menyadari kekurangan yang ada pada laporan
ini. Kekurangan ini dikarenakan keterbatasan penulis dalam hal ilmu
pengetahuan dan pemahaman penulisan laporan. Akan tetapi, penulis
berusaha menyusun laporan ini sebaik yang penulis bisa dengan
segenap kemampuan dan usaha yang penulis bisa.
Selama menulis laporan tugas akhir ini, penulis telah
mendapatkan banyak sekali bimbingan dan bantuan dari berbagai pihak
dan membimbing penulis dalam menyelesaikan laporan ini. Dengan
kesadaran hati, penulis ucapkan terima kasih kepada :
1. Apa dan Mama tercinta yang senantiasa memberikan do’a, motivasi,
dukungan dan bantuannya, baik moril maupun materi kepada penulis
sampai dengan saat ini.
2. Ibu Dian Dharmayanti, S.T. selaku dosen pembimbing laporan tugas
akhir yang dengan segala kesabaran hatinya membimbing penulis
dalam menulis laporan tugas akhir ini.
3. Bapak Adam M. Bachtiar, S.kom selaku reviewer laporan tugas
akhir saya yang banyak memberi masukan kepada penulis dalam
merevisi laporan tugas akhir ini.
4. Bapak Iskandar Ikbal, S.T. selaku dosen wali kelas IF-8 Angkatan
2006.
5. Seluruh Dosen Teknik Informatika yang telah memberikan banyak
ilmu, arahan dan masukkan selama masa perkuliahan berlangsung.
6. Terima kasih untuk pihak DIHUBKOMINFO Kab. Kerawang yang
telah mengizinkan penulis untuk melakukan penelitian tugas akhir di
Dinas Perhubungan UPTD III Region Cikampek. Terutama kepada
Bapak Drs. Nugraha yang memberikan kemudahan kepada saya
dalam mengumpulkan data-data yang diperlukan penulis.
7. Zaefty Tirta Buana yang selalu merengek pengen nikah sehingga
8. D’Sengklek Squad (Jessy, Dani, Regal, Adit, Jery, Rangga, Aris, Natha) kalian adalah sahabat-sahabat terbaikku..
9. Terima kasih kepada all team IF-8 2006 atas persahabatannya, kebersamaannya dalam banyak hal baik saat kuliah, belajar, maupun
saat jalan-jalan bareng.
10.Terima kasih untuk creew MCK-45A (Manusia Cibeunying Kolot). 11.Ana mancung dan Ica jendol yang sudah rela menjadi hiburan
tengah malam bagi penulis.
12.Saudara- saudara dan adiku yang telah meberikan dukungan kepada
penulis hingga penulis menyelesaikan tugas akhir ini.
13.Mr. Rokay atas bantuan dan masukan dalam pembuatan tugas akhir
ini.
14.Kepada semua pihak yang telah membantu penulis dalam pembuatan
dan penyusunan tugas akhir ini.
Dan tak lupa pula penulis memohon maaf apabila dalam penulisan
laporan ini, penulis telah menyinggung perasaan atau menyakiti hati kepada
semua orang baik secara tidak sengaja maupun yang disengaja. Akhir kata,
penulis berharap agar laporan ini dapat berguna bagi semua orang yang
membutuhkan. Amien.
Bandung, Juli 2011
1
1.1 Latar Belakang
Kemacetan atau penumpukan kendaraan di jalur pantura masih
kerap terjadi, terlebih bila memasuki musim mudik atau libur panjang
kemacetan yang terjadi biasanya mencapai berkilo-kilo meter, dan hal
itu merupakan permasalah yang sampai saat ini masih belum dapat
terselesaikan oleh Dinas Perhubungan Cikampek. Salah satu penyebab
terjadinya hal demikian adalah disebabkan karena tidak sesuainya daya
tampung jalur pantura dengan jumlah kendaraan yang akan melewati
jalur pantura serta cara yang yang digunakan pihak terkait dalam
melakukan proses perhitungan kendaraan, dimana pihak yang terkait
masih menggunakan cara yang manual dalam melakukan perhitungan
jumlah kendaraan yang melintas. yaitu dengan menugaskan beberapa
orang petugas di lapangan, untuk menghitung setiap kendaraan yang
lewat kemudian para petugas penghitung dilapangan tersebut
mengumpulkan data yang mereka peroleh untuk dihitung ulang dan
dijumlahkan.
Jika cara yang dilakukan tetap seperti itu maka kemacetan atau
penumpukan kendaraan akan terus terjadi. Proses pengolahan data
secara manual akan memakan waktu yang cukup lama serta tidak
Dinas Perhubungan kota Cikampek harus segera memberikan laporan
data yang akurat kepada Dinas Perhubungan pusat mengenai jumlah
kendaraan yang akan memasuki jalur pantura. Hal itu dikarenakan kota
Cikampek merupakan gerbang utama menuju jalur pantura yang
merupakan jalur penghubung antara Jakarta dengan Jawa Tengah dan
Jawa Timur.
Normalized Sum Squared Differences (NSSD) adalah metode yang dipakai untuk menghitung setiap kendaraan, Normalized Sum Squared Differences (NSSD) merupakan metode untuk membandingkan dua buah gambar secara numerik. Cara kerjanya
sendiri adalah menghitung jumlah piksel yang telah dikonversi ke
angka biner. Untuk melakukan identifikasi dengan menggunakan
metode NSSD, diperlukan background image untuk dibandingkan dengan frame yang akan dideteksi. Background image yang digunakan merupakan image jalan atau lajur dalam keadaan kosong atau tidak ada kendaraan pada lajur yang akan dideteksi. Detection window diset pada lajur yang akan dideteksi setelah dilakukan proses grayscale sebelumnya. Kemudian, semua nilai pixel yang terdapat dalam detection window dijumlahkan
proses penghitungannya sendiri adalah dengan menghitung selisih dari
jumlah nilai pixel pada background dan pada frame. Hasil penghitungannya dikuadratan untuk menghindari nilai negatif yang
mungkin muncul dari perhitungan selisih. Untuk mengetahui jumlah
kendaraan yang melintas, setiap hasil NSSD yang diperoleh pada tiap
frame akan dihitung rata-ratanya. Hasil perhitungan rata-rata terbesar pada setiap frame tersebut akan mewakili keberadaan sebuah
kendaraan.
Berdasarkan uraian di atas, maka dibutuhkan suatu aplikasi
perangkat lunak yang dapat melakukan penghitungan jumlah kendaraan
yang melintasi suatu jalan secara cepat dan akurat menggunakan
kamera sebagai pengganti fungsi manusia sebagai pengawas. Oleh
karena itu, judul yang dirasa tepat untuk tugas akhir (skripsi) ini adalah
PERANGKAT LUNAK PENGHITUNG JUMLAH KENDARAAN
MENGGUNAKAN KAMERA (STUDY KASUS DINAS
PERHUBUNGAN CIKAMPEK).
1.2 Rumusan Masalah
Berdasarkan latar belakang pemilihan judul, maka yang menjadi
permasalahan adalah bagaimana membangun perangkat lunak yang
dapat melakukan penghitungan jumlah kendaraan yang melintasi suatu
jalan secara cepat dan akurat menggunakan kamera sebagai pengganti
1.3 Maksud dan Tujuan
Maksud dari penulisan dan penelitian ini adalah untuk
membangun suatu perangkat lunak penghitung jumlah kendaraan
menggunakan kamera di Dinas Perhubungan Kota Cikampek.
Adapun tujuan dari penelitian ini, yaitu :
1. Memberikan data jumlah kendaraan yang melintas, agar
dapat menentukan perencanaan lalu lintas atau jalur
alternatif.
2. Memberikan informasi kepada badan penyedia layanan jalan
mengenai kondisi kepadatan arus lalulintas.
1.4 Batasan Masalah
Agar pokok masalah tidak terlalu meluas, maka permasalahan
dibatasi sesuai dengan uraian latar belakang dan rumusan masalah
diatas. Adapun batasan masalah yang digunakan penelitian ini adalah
sebagai berikut
1. Data yang digunakan di ambil dari penelitian yang dilakukan
pada siang hari (kondisi cahaya terang).
2. Data yang digunakan dalam sistem adalah data kendaraan
3. Kendaraan yang diteliti adalah kendaraan roda empat atau
lebih (Mobil).
4. Metode yang digunakan untuk melakukan penghitungan
adalah metode Normalized Sum Squared Defferences (NSSD).
5. Kamera hanya digunakan pada satu lajur kendaraan pada
suatu jalur.
6. Bahasa yang digunakan untuk membangun perangkat lunak
pada tugas akhir ini adalah C# .
7. DBMS yang digunakan dalam pembangunan perangkat lunak
ini adalah Microsoft Office Access 2007.
8. Target user dari pembangunan perangkat lunak pada tugas akhir ini adalah pegawai Dinas Perhubungan Kota Cikampek
bagian lapangan.
1.5 Metodologi Penelitian
Metode penelitian adalah suatu teknik atau cara untuk mencari,
memperoleh, mengumpulkan dan mencatat data, baik berupa data
primer maupun data sekunder yang dapat digunakan untuk keperluan
menyusun tugas akhir dan kemudian menganalisa faktor-faktor yang
berhubungan dengan pokok-pokok permasalahan sehingga akan didapat
Metodologi yang digunakan dalam penelitian ini adalah metode
analisis dekriptif. Metode deskriptif yaitu suatu metode untuk
membuat gambaran (deskripsi) mengenai fakta-fakta dan informasi
dalam situasi atau kejadian di masa sekarang secara sistimatis, aktual
dan akurat. Tahapan-tahapan pembangunan perangkat lunak yang
digunakan dalam metode penelitian ini adalah sebagai berikut :
a. Tahap pengumpulan data
Tahap pengumpulan data dapat diperoleh secara langsung dari
objek penelitian. Cara-cara yang mendukung untuk mendapatkan data
primer adalah sebagai berikut :
1. Studi pustaka / literatur
Studi ini dilakukan dengan cara mempelajari, meneliti dan
menelaah berbagai literatur-literatur dari perpustakaan yang bersumber
dari buku-buku, teks, jurnal ilmiah, situs-situs di internet, dan bacaan-bacaan yang ada kaitannya dengan topik penelitian, selain dari itu juga
untuk melakukan penelusuran pustaka dan sumber-sumber penting
mengenai segala sesuatu yang dibutuhkan dalam membangun perangkat
2. Studi lapangan
Studi ini dilakukan dengan cara mengunjungi tempat yang akan
diteliti serta pengumpulan data dilakukan secara langsung. Hal ini
meliputi :
a. Observasi
Melakukan pengamatan langsung ke lapangan untuk
mengumpulkan informasi dan data yang dibutuhkan untuk
membangun perangkat lunak.
b. Kuesioner
Melakukan pengumpulan data yang dilakukan dengan cara
memberi seperangkat pertanyaan atau pernyataan tertulis
kepada pegawai instansi terkait mengenai perangkat lunak
yang akan dibangun.
b. Pembangunan perangkat lunak Menggunakan metode waterfall
1. Communication: tahap ini merupakan kegiatan pengumpulan data dari sumber informasi (tempat penelitian) sebagai
pendukung pembangunan sistem serta menentukan ke arah
mana aplikasi ini akan dibangun.
harus dikerjakan secara lengkap untuk bisa menghasilkan
desain yang lengkap.
3. Modeling: perancangan antarmuka dari hasil analisis kebutuhan yang telah selesai dikumpulkan secara lengkap.
4. Contruction: hasil perancangan sistem diterjemahkan ke dalam kode-kode dengan menggunakan bahasa
pemrograman yang sudah ditentukan. Aplikasi yang
dibangun langsung diuji baik secara unit.
5. Deployment: menyebarkan aplikasi yang telah di bangun kepada pihak pemesan.
Gambar 1.1 Metode Waterfall [Pressman, Roger, S. Software Enginering]
1.6 Sistematika Penulisan
Agar pembahasan lebih sistematika, maka tulisan ini dibuat
Bab 1. Pendahuluan
Pada bab ini menerangkan secara umum latar belakang masalah,
rumusan masalah, maksud dan tujuan penelitian, batasan
masalah, metodologi penelitian serta sistematika penulisan.
Bab 2. Tinjauan Pustaka
Pada bab ini menerangkan secara garis besar pengertian pokok
dari teori-teori yang mendasari pemecahan masalah yang
dihadapi seperti pengertian pengolahan citra, pengenalan pola,
metode yang digunakan, perangkat keras pendukung dan
lainnya.
Bab 3. Analisis dan Perancangan
Pada bab ini menerangkan penganalisaan masalah dengan
maksud untuk menganalisis prosedur yang sedang berjalan,
analisis data dari hasil penelitian, analisis non-fungsional,
perancangan data antarmuka, prosedural, menu, flowchart, dan analisis basis data.
Bab 4. Implementasi dan Pengujian
Pada Bab ini berisi hasil implementasi dari hasil analisis dan
perancangan yang telah dibuat, disertai juga dengan hasil
apakah sistem yang dibangun telah memenuhi syarat atau
belum.
Bab 5. Kesimpulan dan Saran
Pada bab ini akan berisikan kesimpulan-kesimpulan dari
Laporan Tugas Akhir, dan terdapat pula saran yang diberikan
agar dapat digunakan dimasa mendatang untuk perbaikan
11
2.1 Perangkat Lunak
2.1.1 Pengertian Perangkat Lunak
Perangkat Lunak adalah sekumpulan data elektronik yang
disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh
komputer itu dapat berupa program atau instruksi yang akan
menjalankan suatu perintah. melalui software atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah. Perangkat
lunak berdasarkan distribusinya dibedakan menjadi beberapa macam,
yaitu Perangkat lunak berbayar dan Perangkat lunak gratis ( Freeware, free software, shareware ). [7]
2.1.2 Perkembangan Perangkat Lunak
Perkembangan perangkat lunak telah tumbuh dengan sangat
pesat sejak beredarnya komputer personal dipasaran. Dengan semakin
murahnya harga komputer, semakin banyak pula orang yang
memilikinya dan pemakai komputer membutuhkan bermacam-macam
perangkat lunak untuk lebih mendayagunakan komputernya. Secara
kebetulan, banyak perusahaan-perusahaan perangkat lunak yang
tersedia dilapangan, terutama perangkat lunak paket (Package Software) yaitu program jadi untuk aplikasi tertentu. [7]
2.2 Komputer Vision
Komputer vision adalah sebuah disiplin ilmu yang mempelajari proses menyusun deskripsi tentang objek yang terkandung pada suatu
gambar atau mengenali objek yang ada pada gambar. Komputer vision berusaha menterjamahkan citra menjadi deskripsi atau suatu informasi
yang mempresentasikan suatu citra tersebut. [3]
Disisi lain orang-orang juga mengembangkan bagaimana suatu
mesin pintar dapat memahami dan mengerti semua keadaan seperti
telah dipaparkan di atas, bahkan juga dapat berkomunikasi dengan
semuanya. Inilah konsep yang mendasari komputer vision.
2.2.1 Elemen-Elemen Komputer Vision
Gambar 2.1 di bawah ini adalah struktur yang mendasari
Scane
Image
Symbol Description Image Device
Machine Vision
Application Feedback
Light Source
Gambar 2.1 Struktur Komputer Vision
a. Light sources, merupakan sumber cahaya yang digunakan sebagai sumber untuk aplikasi seperti layar laser, sistem robotika dan
sebagainya.
b. Scence, merupakan kumpulan objek.
c. Image Device, merupakan alat yang digunakan untuk mengubah gambar menjadi suatu yang dimengerti oleh mesin.
d. Image, merupakan gambar dari suatu objek yang merupakan
e. Machine vision, merupakan mesin yang menginterpretasikan gambar yang berkenaan dengan ciri-ciri pola maupun objek yang dapat
ditelusuri oleh sistem.
f. Symbolic description, merupakan sistem yang dapat digunakan untuk menganalogikan struktur kerja sistem ke simbol-simbol tertentu
yang dapat mimengerti oleh sistem.
g. Aplication feedback, merupakan suatu keadaan yang dapat memberikan respon untuk menerima gambar dari suatu sistem
penglihatan.
Dari paparan di atas ada dua elemen yang mendasari suatu
sistem vision, yaitu Image Processing, dan Pattern Classification.[3]
2.3 Image Processing
Pengolahan citra atau Image Processing adalah bidang tersendiri yang sudah cukup berkembang sejak orang mengerti bahwa
komputer tidak hanya dapat menangani data teks, tetapi juga citra.
Teknik pengolahan citra biasanya digunakan untuk melakukan
transformasi dari suatu citra kepada citra lain, sementara tugas
perbaikan citra untu mendapatkan suatu informasi dari citra tersebut
merupakan tugas manusia melalui penyususanan algoritmanya. [4]
Input Image Image Processing Output Image
Gambar 2.2 Fase Image Processing
2.3.1 Pengertian Citra Digital
Secara umum, pengolahan citra digital menunjuk pada
pemrosesan gambar dua dimensi menggunakan komputer. Dalam
konteks yang lebih luas, pengolahan citra digital mengacu pada
pemrosesan setiap data dua dimensi. Citra digital merupakan sebuah
larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu. [1]
Umumnya citra dibentuk dari persegi empat yang teratur
sehingga jarak horizontal dan vertikal antara piksel satu dengan yang lain adalah sama pada seluruh bagian citra. Indeks X bergerak ke kanan
dan indeks Y bergerak ke bawah. Untuk menunjukkan koordinat
(m-1,n-1) digunakan posisi kanan bawah dalam citra berukuran m x n
piksel. Hal ini berlawanan untuk arah vertikal dan horizontal yang berlaku pada sistem grafik dalam matematika. Gambar 2.3
Gambar 2.3 Koordinat Pada Citra Digital
Untuk menunjukkan tingkat intensitas cahaya suatu piksel,
seringkali digunakan bilangan bulat dengan lebar selang antara 0-255,
dimana 0 untuk warna hitam dan 255 untuk warna putih. Sistem visual
manusia dapat membedakan ratusan ribu warna tetapi hanya dapat
membedakan 100 shade keabuan. [8]
2.3.2 Teknik – Teknik Pengolahan Citra
Secara umum teknik pengolahan citra dibagi menjadi 3 tingkat
pengolahan, yaitu sebagai berikut :
1. Low-Level Processing 2. Mid-Level Processing 3. High-Level Processing
Dari ketiga tingkat pengolahan citra diatas tersebut, dapat
dinyatakan suatu gambaran mengenai teknik – teknik pengolahan citra
1. Image Enhancement, berupa proses perbaiakan citra dengan meningkatkan kualitas citra baik kontras maupun kecerahan.
2. Image Restoration, proses memperbaiki model citra, biasanya berhubungan dengan bentuk citra yang sesuai.
3. Color Image Processing, suatu proses yang melibatkan citra berwarna, baik berupa image enhancement, image restoration
atau yang lainnya.
4. Wavelet dan Multiresolution Processing, merupakam suatu proses yang menyatakan citra dalam beberapa resolusi.
5. Image Compression, merupakan proses yang digunakan untuk mengubah ukuran data pada citra.
6. Morpholohical Processing, proses untuk mendapatkan nformasi yang menyatakan deskripsi dari suatu bentuk pada
citra.
7. Segmentataion, proses untuk membedakan atau memisahkan objek – objek yang ada dalam suatu citra, seperti
memisahkan objek dengan latar belakangnya.
2.3.3 Jenis – Jenis Citra
2.3.3.1Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Citra biner disebut juga citra B & W (Black and White) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari citra biner. [1]
Gambar 2.4 Contoh Citra Biner
2.3.3.2 Citra Warna RGB (Red, Green, Blue)
Dalam pengolahan citra, warna dipresentasikan dalam range nilai H000000 sampai 0x00ffffff. Warna hitam adalah 0x00000000 dan
warna putih adalah Hffffff. Definisi nilai warna di atas adalah sebagai
berikut. variabel H menyatakan angka dibelakangnya adalah
X X
X X
X X
H
Nilai B
Nilai G
Nilai R
Gambar 2.5 Definisi nilai warna pada citra
Dengan demikian range warna yang digunakan adalah (2 8) (2 8) (2 8 ) = 2 24 (atau yang dikenal dengan istilah True Colour pada Windows). Nilai warna yang digunakan di atas merupakan gabungan warna cahaya merah, hijau dan biru seperti yang terlihat pada Gambar
2-6.
Gambar 2.6 Komposisi Warna RGB
Dengan demikian, untuk menentukan suatu warna yang bukan
2.3.3.3 Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pikselnya, dengan kata lain nilai bagian
RED = GREEN = BLUE. Nilai tersebut digunakan untuk menunjukan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam,
keabuan, dan putih. Tingkatan keabuan disini merupakan warna abu
dengan berbagai tingkatan dari hitam hingga mendekati putih. [1]
Model warna ini menyimpan informasi warna sebesar 8 bit. Jadi
warna yang bisa ditampilkan pada mode warna grayscale berjumlah sampai 256. Skala perhitungan numeriknya bisa dengan pendekatan
nilai brightness yang berskala 0 sampai 255 seperti pada Gambar 2-7.
Gambar 2.7 Komposisi Warna Grayscale
Greyscaling adalah teknik yang digunakan untuk mengubah citra berwana menjadi bentuk grayscale. Pengubahan dari citra berwarna ke bentuk grayscale dapat dilakukan dengan melakukan beberapa pesamaan sebagai berikut :
sendiri dapat diperoleh dari sistem warna RGB dengan konversi :
GRAY=Y=0.299*R+0.587*G+0.114*B
….……(2.
1)
b. Dengan merata – rata setiap komponen warna pada RGB memiliki persamaan sebaga beriut :
……(2.2)
c. Menggunaan nilai masimal dari komponen RGB meiliki persamaan sebagai berikut :
Gray=MAX{RGB} ….(2.3)
Tabel 2.1 hasil konversi RGB ke Grayscale
Source Image RGB (Data Type)
Resultan Image (Data Type)
8 bit per channel
Contoh dari Hasil dari proses grayscaling ditunjukkan pada Gambar 2.8 dibawah ini :
(a) (b)
Gambar 2.8 Citra Grayscale (a) dan Citra RGB (b)
2.3.4 Teknik Pengambilan Citra
Ada beberapa teknik pengambilan citra digital yang bisa
dilakukan, antara lain dengan menggunakan kamera digital (webcam)
atau menggunakan scanner, atau barcode scanner. Hasil dari citra dengan menggunakan teknik kamera atau scanner berupa citra raster atau citra dengan model matriks. Teknik pengambilan citra selain
membuthkan peralatan input, membutuhkan juga suatu card yang disebut frame grabber yang berupa rangkaian untuk mengolah citra secara hardware.
Selain itu pengambilan citra juga bisa dilakukan dengan
menggunakan teknik grafika komputer, yaitu dengan membentuk citra
komputer sesuai dengan teknik pengambilan citra. Hasil dari citra
dengan menggunakan teknik grafika komputer ini bisa berupa citra
raster atau bisa berupa vektor. [8]
2.3.5 Filtering
Filtering adalah suatu proses dimana diambil sebagian sinyal dari frekwensi tertentu, dan membuang sinyal pada frekwensi yang lain.
Filtering pada citra juga menggunakan prinsip yang sama, yaitu mengambil fungsi citra pada frekwensi-frekwensi tertentu dan
membuang fungsi citra pada frekwensi-frekwensi tertentu. [8]
Gambar 2.9 Format Koordinat frekwensi Pada Citra
2.3.5.1 Teknik-Teknik Filtering
1. Low Pass Filter.
low pass filter adalah proses filter yang mengambil citra dengan gradiasi intensitas yang halus dan perbedaan intensitas yang tinggi akan
dikurangi atau dibuang. Hal ini banyak digunakan untuk reduksi noise dan proses blur. [8]
Ciri-ciri dari fungsi low-pass filter adalah sebagai berikut:
j i H i, j = 1 …..(2.4)
2. High Pass Filter.
High pass filter adalah proses filter yang mengambil citra dengan gradiasi intensitas yang tinggi dan perbedaan intensitas yang
menentukan garis tepi (edge) atau sketsa dari citra. Ciri-ciri dari fungsi High-pass filter adalah sebagai berikut:
j i H i, j = 0 …(2.5)
3. Band Stop Filter
Bila ingin mempertahankan gradiasi dan bentuk, dengan tetap
mengurangi banyaknya bidang frekwensi (bandwidth) dan membuang sinyal yang tidak perlu maka frekwensi rendah dan frekwensi tinggi
dipertahankan, sedangkan frekwensi tengahan dibuang atau dinamakan
dengan Band Stop Filter.
2.4 Segmentasi Citra
Segmenatsi citra merupakan teknik untuk membagi suatu citra
menjadi beberapa daerah (region) dimana setiap daerah memiliki kemiripan atribut.
2.4.1 Thresholding
tresholding adalah binary image dimana piksel hitam untuk mewakili background dan piksel putih mewakili foreground, atau sebaliknya.
Tresholding digunakan untuk mengatur jumlah derajat keabuan yang ada pada suatu citra. Dengan menggunakan tresholding maka derajat keabuan dapat diubah seseuai keinginan. Tresholding dapat juga digunakan untuk mengubah intensitas piksel menjadi salah satu dari
dua nilai, a1 atau a2. Hasil dari proses thresholding ditentukan oleh suatu parameter yang disebut nilai threshold. [1]
Proses thresholding menggunakan fungsi sebagai berikut :
…(2.6)
Keterangan :
f(x,y) = Nilai intensitas yang lama
g(x,y) = Nilai intensitas yang baru
T = Nilai Threshold
Jika a1=0 dan a2=1, maka proses thresholding mengubah citra
2.5 Metode Normalized Sum-Squared Differences (NSSD)
Metode Normalized Sum-Squared Differences (NSSD) merupakan bentuk khusus dari Sum-Squared Differences (SSD). Metode Normalized Sum-Squared Differences (NSSD) didefinisikan sebagai perbedaan nilai intensitas yang dikuadratkan antara frame saat itu dengan frame background dalam suatu daerah yang ditentukan (Windows Detections), yang kemudian di normalisasi [9,10].
Untuk melakukan identifikasi dengan menggunakan metode
Metode Normalized Sum-Squared Differences (NSSD), diperlukan background image untuk dibandingkan dengan frame yang akan dideteksi. Background image yang digunakan merupakan image lajur dalam keadaan kosong atau tidak ada kendaraan yang lewat pada lajur
yang akan dideteksi. Windows Detections atau ROI (Region of Interest) diset pada lajur yang akan dideteksi setelah dilakukan proses grayscale sebelumnya. Kemudian, semua nilai piksel yang terdapat dalam
Windows Detections dijumlahkan.
Hal yang sama juga dilakukan pada setiap frame video. Maksud dari frame video adalah sekumpulan image yang ditampilkan secara berurutan sehingga membentuk suatu gambar bergerak. Sehingga
pada frame dan pada background image harus sama karena pada posisi inilah yang akan dilakukan pembandingan.
Dengan adanya Windows Detections memudahkan proses perhitungan jumlah nilai piksel yang dilakukan oleh komputer.
Bilamana tidak menggunakan Windows Detections, komputer akan melakukan perhitungan pada frame secara keseluruhan. Sedangkan dengan Windows Detections, komputer cukup menghitung pada Windows Detections saja. Setelah mendapatkan jumlah nilai piksel dari background image dan frame, nilai-nilai tersebut dicari selisihnya dengan cara dikurangkan (subtract). Selisih dari jumlah nilai background image dan frame dikuadratkan untuk menghindari nilai negatif. Nilai negatif terjadi bilamana warna dari obyek pada frame lebih gelap daripada background image. Sebab warna gelap memiliki nilai pixel yang kecil.
Metode NSSD dapat dirumuskan dalam persamaan berikut :
…(2.9)
Keterangan:
IC(i) = intensitas frame pada piksel(i)
Q = detection window/ROI (Region of Interest)
N = jumlah pikselpada area Q
Perhitungan NSSD dilakukan pada setiap frame video yang
ditampilkan, sehingga jumlah data yang didapat sesuai dengan jumlah
frame yang ditampilkan.
2.5.1 Windows Detections (ROI)
Windows Detections (ROI) memungkinkan dilakukannya pengkodean secara berbeda pada area tertentu dari citra digital,
sehingga mempunyai kualitas yang lebih baik dari area sekitarnya
(background). Fitur ini menjadi sangat penting, bila terdapat bagian tertentu dari citra digital yang dirasakan lebih penting dari bagian yang
lainnya.[9,10]
menghasilkan area dengan kualitas maksimal dibandingkan area
sekitarnya.
Gambar 2-10 Windows Detection (ROI)
Untuk melakukan Windows Detections (ROI), perlu diidentifikasi koefisien-koefisien yang termasuk dalam Windows Detections (ROI). Hal tersebut dimaksudkan untuk menghasilkan sebuah Windows Detections (ROI) mask, yang merupakan indikator dari koefisien yang termasuk Windows Detections (ROI) atau bukan. Umumnya yang digunakan sebagai penanda merupakan sebuah angka
biner, yang dimiliki oleh piksel-piksel yang termasuk area Windows Detections (ROI).
2.6 Pemodelan Data
Pemodelan sistem memainkan peranan yang penting dalam
pengembangan sistem. Pemodelan data kadang-kadang disebut
diimplementasikan sebagai sebuah database. Pemodelan data dapat digambarkan dengan ERD (entity Relationship Diagram).
2.6.1 Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) merupakan suatu diagram yang digunakan untuk menghubungkan antar elemen (relational Condition), dimana pada tahap selanjutnya dapat diimplementasikan kedalam bentuk tabel relasi.
Entity Relationship Diagram (ERD) menggunakan sejumlah notasi dan simbol untuk menggambarkan struktur dan hubungan antar
data, pada dasarnya ada 3 macam simbol yang digunakan, yaitu :
1. Entity
Adalah suatu objek yang dapat diidentifikasi dalam lingkungan
pemakai dan sesuatu yang penting bagi pemakai dalam konteks sistem
yang akan dibuat.
2. Atribut
Elemen dari sebuah entity yang berfungsi mendeskripsikan karakter entity.
Sebagaimana halnya entity maka dalam hubungan pun harus dibedakan antara hubungan atau bentuk hubungan antara entity dengan isi dari hubungan itu sendiri.
Beberapa macam hubungan antar relasi, antara lain :
1. Satu Ke Satu (One to One)
Bentuk relasi antara satu entitas dengan jumlah satu ke entitas
dengan jumlah yang sama.
2. Satu Ke Banyak (One to Many)
Bentuk relasi dari entitas dengan jumlah satu ke entitas lain
yang berjumlah lebih dari satu (Entitas dengan banyak alternatif
tujuan).
3. Banyak ke Banyak (Many to Many)
Bentuk relasi yang mendeskripsikan permasalahan yang
komplek yaitu hubungan antara entitas yang berjumlah lebih
2.6.2 Flow Map
Bagan alir atau flow map adalah bagan yang menunjukan alir didalam program atau prosedur sistem secara logika. Bagan alir
digunakan terutama untuk alat bantu komunikasi dan dokumentasi.
Bagan alir dokumen atau sering disebut juga Flow Map merupakan bagan alir yang menunjukan arus dari aliran formulir
termasuk tembusan-tembusannya.
Berikut adalah keterangan dari simbol-simbol yang biasa
digunakan dalam pembuatan bagan alir atau Flow map :
1. Arah Aliran Dokumen
Menunjukan Arah aliran dokumen antar bagian yang terkait
dalam suatu sistem. Dapat dari sistem ke luar sistem, dari luar
sistem ke sistem lain dan bagian luar lain.
2. Dokumen
3. Penyimpanan sementara
Menunjukan media penyimpanan sementara dari data informasi
file pada proses manual. Dokumen dapat disimpan dalam lemari
arsip.
4. Penyimpanan (Database)
Menunjukan media penyimpanan dari data informasi file.
Dokumen dapat disimpan dalam database.
2.6.3 Diagram Konteks
Diagram konteks merupakan level tertinggi dari DFD yang
menggambarkan seluruh input ke sistem atau output dari sistem. Yang digambarkan dengan lingkaran tunggal yang mewakili seluruh sistem.
Sistem dibatasi oleh boundary (dapat digambarkan dengan garis putus). Dalam diagram konteks hanya ada satu proses.
2.6.4 Data Flow Diagram (DFD)
Data Flow Diagram atau Diagram Alir Data merupakan diagram alir yang dipresentasikan menggunakan lambang – lambang
tertentu. Penulisan suatu program akan menjadi lebih mudah dalam
pelaksanaan dengan adanya diagram alir data. Keuntungan
komputer untuk lebih mengerti sistem yang akan dikembangkan atau
dikerjakan.
DFD menggunakan simbol-simbol untuk menerangkannya,
yaitu:
1. External Entity (Kesatuan Luar)
External entity (Kesatuan luar ) merupakan kesatuan (entity) di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem
lainnya yang berada dilingkungan luar sistem yang akan memberikan
(input) atau menerima (output) dari sistem. Yang disimbolkan dengan kotak.
2. Data flow (Arus Data)
Data flow (Arus data) mengalir diantara Process (Proses), simpanan data (data store), dan kesatuan luar (external entity). Arus data ini menunjukkan arus dari data yang dapat berupa masukan untuk
sistem atau hasil dari proses sistem. Yang disimbolkan dengan anak
panah.
3. Process (Proses)
dari komputer, untuk Logical Data Flow Diagram (LDFD). Yang disimbolkan dengan lingkaran atau dengan simbol empat persegi
panjang tegak dengan sudut-sudutnya yang tumpul.
4. Data Storage (Penyimpanan Data)
Simpan data (data store) merupakan tempat penyimpanan data. yang disimbolkan dengan sepasang garis horizontal yang tanpa tutup diujungnya.
2.6.5 Kamus Data (Data Dictionary)
kamus data merupakan sebuah daftar yang terorganisasi dari
elemen data yang berhubungan dengan sistem, dengan definisi yang
teliti sehingga pemakai dan analisis sistem akan memiliki pemahaman
yang umum mengenai input, output, komponen penyimpanan serta kalkulasi intermediate.[14]
Pendefinisian data tersebut dilakukan dengan menggunakan
notasi yang umum digunakan dalam menganalisa sistem yaitu dengan
menggunakan sejumlah simbol. Kamus data biasanya dipelihara secara
Cara mendefinisikan kamus data yaitu :
1. Menggambarkan arti aliran data atau penyimpanan yang
ditunjuk dalam DFD.
2. Menggabungkan komponen dari kumpulan data yang mengalir
yaitu kumpulan komponen yang mungkin bisa dipecah lagi
menjadi data elementer.
3. Menggambarkan data yang tersimpan.
4. Menentukan nilai dibagian elementer dari informasi yang
relevan di DFD dan data storenya
2.7 Basis Data
2.7.1 Pengertian Basis Data
Basis Data adalah kumpulan terorganisasi dari data-data yang
berhubungan sedemikian rupa sehingga mudah disimpan, dimanipulasi,
serta dipanggil kembali oleh pengguna. [14]
Keuntungan Sistem basis Data:
1. Kecepatan dan Kumudahan (Speed) 2. Efisiensi Ruang Penyimpanan (Space) 3. Keakuratan (Accuracy)
7. Kebersamaan (Sharability)
Komponen utama Basis Data (Database) antara lain :
1. Perangkat Keras (Hardware)
Yaitu Sebuah Komputer yang sudah berbentuk PC.
2. Sistem Operasi (Software)
Yaitu suatu bahasa pemrograman untuk melayani perintah –
perintah user.
3. Data
Yaitu data yang bersifat terpadu dan berbagi.
4. Aplikasi
Yaitu pengolahan perangkat lunak atau sistem informasi yang
bersifat opsional.
5. Pemakai (User)
Yaitu orang yang memakai atau menggunakan basis data.
Pengguna sistem basis data dapat melakukan berbagai operasi,
antara lain :
2. Mengosongkan berkas;
3. Menyisipkan data ke suatu berkas;
4. Mengambil data yang terdapat pada suatu berkas;
5. Mengubah data pada suatu berkas;
6. Menghapus data pada suatu berkas;
7. Menyajikan suatu informasi yang diambil dari sejumlah
berkas.
2.7.2 Sistem Pengelola Basis Data (Database Management
System)
Kebanyakan dari database tergantung pada Database Management Sistem (DBMS) untuk mengelola data yang tersimpan dalam sistem database dan menyiapkan data agar tersedia bagi pengguna yang ingin mengakses informasi tertentu. Sebuah Database Management Sistem (DBMS) terdiri atas satu perangkat server dan client yang komprehensif (meliputi banyak hal) yang mendukung berbagai macam tugas-tugas administratif dan yang berhubungan
dapat menjadi alternatif penggunaan secara khusus untuk aplikasi,
semisal penyimpanan data dalam file dan menulis kode aplikasi yang spesifik untuk pengaturannya.[14]
Penggunaan Database Management Sistem (DBMS) untuk suatu aplikasi tergantung pada kemampuan dan dukungan Database Management Sistem (DBMS) yang beroperasi secara efisien. Sehingga agar bisa menggunakan Database Management Sistem (DBMS)dengan baik, perlu diketahui cara kerja dari Database Management Sistem (DBMS) tersebut. Pendekatan yang dilakukan untuk menggunakan
Database Management Sistem (DBMS) secara baik meliputi : implementasi Database Management Sistem (DBMS) dan arsitektur secara mendetail untuk dapat memahami desain dari suatu basis data
2.7.3 Bahasa Basis Data
Database Management Sistem (DBMS) merupakan perantara bagi pemakai dengan basis data dalam disk. Cara berkomunikasi atau
berinteraksi antara pemakai dengan basis data tersebut diatur dalam
suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat
Database Management Sistem (DBMS). Bahasa tersebut dapat kita sebut sebagai bahasa basis data yang terdiri atas sejumlah perintah yang
Bahasa yang digunakan dalam Basis Data yaitu :
1. DDL (Data Definition Language )
Merupakan bahasa definisi data yang digunakan untuk membuat
dan memanage objek database seperti database, tabel dan view.
2. DML (Data Manipulation Language)
Merupakan bahasa manipulasi data yang digunakan untuk
memanipulasi data pada objek database seperti tabel.
3. DCL (Data Control Language)
Merupakan bahasa yang digunakan untuk mengendalikan
pengaksesan data.
2.8 Perangkat Lunak Pembangun
2.8.1 C#
1. Sederhana
C# bersifat sederhana, karena bahasa ini didasarkan kepada
bahasa C dan C++. Jika anda familiar dengan C dan C++ atau bahkan Java, anda akan menemukan aspek-aspek yang begitu familiar, seperti statements, expression, operators, dan beberapa fungsi yang diadopsi langsung dari C dan C++, tetapi dengan berbagai perbaikan yang
membuat bahasanya menjadi lebih sederhana.[16]
2. Object Oriented Language
C# memenuhi syarat-syarat sebagai sebuah bahasa
pemrograman yang bersifat Object Oriented, yaitu encapsulation, inheritance dan polymorphism.
3. Powerfull dan Fleksibel
C# bisa digunakan untuk membuat berbagai macam aplikasi,
seperti aplikasi pengolah kata, grapik, spreadsheets, atau bahkan membuat kompiler untuk sebuah bahasa permrograman.
4. Efisien
5. Modular
Kode C# ditulis dengan pembagian masing Class-Class (classes) yang terdiri dari beberapa routines yang disebut sebagai member methods. Class-Class dan metode-metode ini dapat digunakan kembali oleh program atau aplikasi lain. Hanya dengan memberikan
informasi yang dibutuhkan oleh Class dan metode yang dimaksud, maka kita akan dapat membuat suata kode yang dapat digunakan oleh
satu atau beberapa aplikasi dan program (reusable code).
2.8.2 Microsoft Access
Microsoft Access merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.
Microsoft Access dapat menggunakan data yang disimpan di
dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna atau programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat
lunak aplikasi yang kompleks, sementara para programer yang kurang
aplikasi yang sederhana. Microsoft Access juga mendukung teknik-teknik pemrograman berorientasi objek, tetapi tidak dapat digolongkan
ke dalam perangkat bantu pemrograman berorientasi objek.
2.9 Perangkat Keras Pendukung
2.9.1 Kamera (Webcam)
Kamera digital digunakan sebagai sarana masukan untuk
memberikan data objek gambar ke komputer. Sebuah kamera digital
dapat menjangkau hingga resolusi yang cukup. Biasanya resolusi yang
mendukung mencapai 320x460 sampai 768x1024 piksel. [11]
Kemampuan suatu kamera untuk mengambil banyak gambar
utuh (frame) dalam satu detiknya menjadi penting. Untuk menghasilkan video yang memiliki pergerakan yang lancar, suatu kamera setidaknya
harus memiliki kemampuan mengambil gambar utuh sebanyak 30
frame setiap detiknya. Semakin banyak gambar utuh yang diambil setiap detiknya makin mulus gambar yang dihasilkan.
Ada dua jenis kamera yang bisa digunakan, pertama adalah tipe
Gambar 2-11 Webcam
2.9.2 Definisi Real Time
Suatu sistem dikatakan real time jika dia tidak hanya mengutamakan ketepatan pelaksanaan instruksi atau tugas, tapi juga
interval waktu tugas tersebut dilakukan. Dengan kata lain, sistem real time adalah sistem yang menggunakan deadline, yaitu pekerjaan harus selesai jangka waktu tertentu. Sementara itu, sistem yang tidak real time adalah sistem dimana tidak ada deadline, walaupun tentunya respons yang cepat atau performa yang tinggi tetap diharapkan. [12]
mobil. Juga sering dijumpai pada peralatan medis, peralatan pabrik,
peralatan untuk riset ilmiah, dan sebagainya.
Ada dua model sistem real time, yaitu hard real time dan soft real time.
1. Hard real time mewajibkan proses selesai dalam kurun waktu tertentu. Jika tidak, maka gagal. Misalnya adalah alat pacu jantung.
Sistem harus bisa memacu detak jantung jika detak jantung sudah
terdeteksi lemah.
2. Soft real time menerapkan adanya prioritas dalam pelaksanaan tugas dan toleransi waktu. Misalnya adalah transmisi video. Gambar bisa
sampai dalam keadaan terpatah-patah, tetapi itu bisa ditolerir karena
informasi yang disampaikan masih bisa dimengerti.
Sistem Hard real time menjamin bahwa proses waktu nyata dapat diselesaikan dalam batas waktu yang telah ditentukan. Contoh :
sistem safety-critical. Beberapa sistem waktu nyata diidentifikasi
sebagai sistem safety-critical, dalam skenario ini sistem waktu nyata
harus merespon kejadian dalam batas waktu yang telah ditentukan
maka akan terjadi bencana. Sistem manajemen penerbangan merupakan
sebuah contoh sebuah sistem waktu nyata sebagai sistem
Sistem Soft real time menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses
48
3.1 Analisis Sistem
Analisis sistem dapat didefinisikan sebagai penguraian dari suatu
sistem informasi yang utuh ke dalam bagian-bagian komponennya untuk
mengidentifikasikan masalah-masalah, dan hambatan-hambatan sehingga
dapat diusulkan kebutuhan-kebutuhan untuk perbaikannya. Melakukan
analisis terhadap sistem yang sedang berjalan bertujuan sebagai dasar
perancangan atau perbaikan sistem yang lama. Dan dari hasil analisis
tersebut dapat diketahui kelemahan dan kekurangan sistem yang lama dan
dapat dirancang atau diperbaiki menjadi sebuah sistem yang lebih efektif
dan efisien.
3.1.1 Analisis Masalah
Berdasarkan data yang diperoleh dari hasil penelitian dan observasi
langsung terhadap pihak Dinas Perhubungan Kota Cikampek, didapati
beberapa masalah yang masih dihadapi Dinas Perhubungan Kota
Cikampek dalam melakukan pengumpulan data jumlah kendaraan yang
1. Cara penghitungan jumlah kendaraan yang melintas masih
menggunakan cara yang manual yaitu dengan menugaskan
beberapa orang petugas di lapangan, untuk menghitung setiap
kendaraan yang lewat.
2. Pemborosan waktu dalam pembuatan laporan dikarenakan
penghitungan jumlah kendaraan dengan menggunakan cara manual
akan memakan waktu yang cukup lama dalam pembuatan laporan.
3. Kemungkinan terjadinya kesalahan perhitungan jumlah kendaraan
cukup tinggi.
4. Keterlambatan petugas dalam mengalihkan kendaraan ke jalur
alternatif.
3.1.2 Analisis Prosedur Yang Sedang Berjalan
Dari hasil observasi dan wawancara yang telah dilakukan kepada
pihak Dinas Pehubungan Kota Cikampek didapati sistem penghitungan
jumlah kendaraan yang dilakukan oleh pihak Dinas Perhubungan Kota
Cikampek masih menggunakan cara manual yaitu :
1. Pihak Dinas Perhubungan menugaskan beberapa orang petugas di
lapangan ( pos penelitian )
2. Petugas tersebut mencatat dan menghitung setiap jumlah kendaraan
3. Kemudian dilakukan proses penjumlahan dengan perolehan data
dari petugas yang lain.
4. Hasil penjumlahan tadi di rekap ulang sebagai data pegangan
petugas.
5. Data hasil penjumlahan dan perakapan tadi dilaporkan ke kantor
untuk dimasukan ke dalam buku besar.
3.1.3 Solusi Yang Ditawarkan
Untuk mengurangi permasalahan-permasalahan yang ada di Dinas
Perhubungan Kota Cikampek, maka ditawarkan sebuah solusi yaitu dengan
Membangun suatu perangkat lunak yang dapat melakukan penghitungan
jumlah kendaraan dengan menggunakan kamera sebagai pengganti fungsi
mata manusia sebagai pengawas.
Adapun keuntungan dari solusi yang ditawarkan oleh penulis adalah
sebagai berikut:
1. Aplikasi perangkat lunak yang akan dibangun tersebut diharapkan
dapat mengatasi masalah penghitungan jumlah kendaraan yang masih
dilakukan dengan cara manual.
2. Dinas Perhubungan Kota Cikampek dapat mengantisipasi terjadinya
3. Dinas Perhubungan Kota Cikampek dapat mengambil keputusan
dalam pengalihan jalur kendaraan ke jalur alternatif tanpa menunggu
terjadinya penumpukan kendaraan terlebih dahulu.
4. Memberikan kemudahan kepada pegawai Dinas Perhubungan Kota
Cikampek dalam melakukan penghitungan jumlah kendaraan.
3.1.4 Analisis Metode Untuk Penyelesaian Masalah
Tahapan analisis masalah metode untuk penyelesaian masalah
adalah tahapan yang digunakan untuk mengetahui proses-proses yang
digunakan dalam metode yang penulis gunakan dalam pembangunan
aplikasi.
Metode utama yang digunakan dalam pembangunan perangkat
lunak ini adalah metode Normalized Sum Squared Differences (NSSD), metode ini digunakan sebagai penghitung jumlah kendaraan yang melintas.
Sebelum melakukan proses penghitungan terlebih dahulu dilakukan proses
pengolahan citra terhadap data video yang menjadi bahan inputan untuk perangkat lunak ini. Adapun tahapan dari metode Normalized Sum Squared Differences (NSSD) sendiri adalah sebagai berikut:
1. Capture Kamera
3. Grayscaling 4. Filtering 5. Tresholding
6. Penghitungan kendaraan
3.1.4.1 Proses Capture Kamera
Proses capture ini merupakan proses yang sangat penting, karena melalui proses inilah data input akan didapatkan untuk dilakukan proses penghitungan. Pada system realtime proses peng-capture-an sendiri akan terus dilakukan walaupun jalan dalam keadaan kosong. Kecepatan kamera
untuk proses peng-capture-an yang digunkan adalah 25fps. Adapun posisi untuk penempatan kamera yang digunakan dalam penelitian ini adalah
berada di tepi sisi ruas jalan dengan ketinggian yang telah di tentukan dan
kemiringan sekitar 75 derajat, untuk lebih jelasnya dapat dilihat dari
Kamera
Kamera
Gambar 3.3.1 Posisi Penempatan Kamera
3.1.4.2 Proses Setting Detection Window
Setelah proses capture kamera proses selanjutnya adalah proses setting Detection Window (ROI), Detection Window (ROI) adalah daerah persegi panjang pada gambar untuk memproses gambar lebih lanjut.
Dalam pembuatan detection window (ROI) memiliki 2 tahapan proses yang harus dilakukan untuk dapat menggambarkan posisi detection window (ROI) yang akan digunakan pada frame dan background. Adapun tahapan dari proses pembuatan detection window (ROI) adalah sebagai berikut :
1. Menentukan titik-titik sudut
Menentukan titik sudut adalah proses awal yang akan digunakan
untuk pembuatan Detection window (ROI) itu sendiri. Cara untuk
menentukan koordinat titik pikselnya sendiri adalah dengan mengambil
posisi nilai default yang disediakan oleh tools developer yang digunakan
yang kemudian di geser untuk mencari posisi yang pas.
Contoh penetuan titik adalah sebagai berikut :
2. Membuat gambar persegi panjang
Setelah melakukan proses menetukan titik, proses selanjutnya
dalam pembuatan detection window (ROI) adalah proses pembutan gambar persegi panjang dengan dua titik yang telah ditentukan tersebut.
Contoh pembuatan persegi panjang dapat dilihat pada gambar berikut :
Gambar 3.3.4 Membuat Gambar Persegi Panjang Untuk Pembuatan
Detection Window (ROI)
3. Penghitungan jumlah piksel dalam Detection Window (ROI)
Sebenarnya proses ini tidak termasuk dalam proses pembuatan
Dalam penelitian ini hanya terdapat satu detection window yang menjadi daerah pembanding untuk dilakukan proses penghitungan
perbedaan jumlah piksel, luasan dari detection window disesuaikan dengan luasan image yang tercapture oleh kamera.
Gambar 3.3.6 Contoh Penggunaan Detection Window (ROI) Pada Penelitian
Selain membuat detection window (ROI) pada background, detection window (ROI) juga digunakan pada tiap frame video. Posisi
Gambar 3.3.5 Jumlah Piksel Dalam Detection Window
detection window (ROI) pada background dan frame haruslah sama karena di posisi inilah akan dilakukan proses penghitungan Normalized Sum Squared Differences (NSSD).
Gambar 3.3.7 Contoh Penempatan Detection Window (ROI) Pada Frame
3.1.4.3 Grayscaling
Proses selanjutnya setelah proses setting detection window adalah proses Grayscaling, proses Grayscaling ialah mengubah citra berwarna menjadi citra abu-abu guna mempermudah proses perhitungan
Gambar 3.3.8 BackgroundImage Dalam RGB
Contoh image background yang telah di grayscale adalah sebagai berikut:
Gambar 3.3.9 Background ImageGrayscale
Gambar 3.3.10 FrameImage Dalam RGB
Contoh image frame yang telah di grayscale adalah sebagai berikut:
Gambar 3.3.11 Frame imageGrayscale
3.1.4.4 Perhitungan NSSD
Normalized Sum Squared Differences (NSSD) sendiri dilakukan di dalam detection window (ROI). Dalam perhitungan Normalized Sum Squared Differences (NSSD) dibutuhkan nilai intensitas piksel dari detection window (ROI) pada background dan detection window (ROI) pada frame. Intensitas piksel merupakan nilai derajat keabuan dari tiap piksel yang
berada dalam detection window (ROI).
Rumus yang digunakan dalam perhitungan Normalized Sum Squared Differences (NSSD) adalah persamaan 2.9.
0.4 0.2 0.2 0.3
gambar 3.3.12 Nilai Intensitas Piksel Pada ROI
Background
gambar 3.3.13 Intensitas Piksel Pada ROI Background
0.7 0.9 0.8 1.0
gambar 3.3.15 Intensitas Piksel pada ROI Frame gambar 3.3.14 Nilai Intensitas Piksel Pada ROI
Setelah didapatkan nilai intensitas pada frame dan background yang masih berbentuk matriks baris X kolom, kemudian nilai intensitas pada frame dan background dikonversi kedalam bentuk matriks deret. Sehingga hasil dari nilai di atas akan nampak seperti berikut:
0.7 0.9 0.8 1.0 0.6 0.7 0.8 1.0 0.4 0.5 0.6 0.8 0.1 0.2 0.2 0.5
Gambar 3.16 Nilai Intensitas frame dalam matriks deret
0.4 0.2 0.2 0.3 0.3 0.1 0.2 0.1 0.2 0.1 0.4 0.1 0.1 0.2 0.1 0.2
Gambar 3.17 Nilai Intensitas background dalam matriks deret
Setelah nilai intensitas piksel pada background dan frame dirubah kedalam bentuk matriks deret, kemudian langkah selanjutnya adalah mengurangkan nilai
intesitas piksel yang ada pada frame dengan nilai intensitas piksel yang ada pada background.
Untuk lebih jelasnya dapat dilihat pada contoh analisis dibawah ini:
NSSD = (0.7-0.4)2 + (0.9-0.2)2 + (0.8-0.2)2 + …. + (0.2-0.1)2 + (0.5-0.2)2 16
= 3.88 16
Hasil dari perhitungan Normalized Sum Squared Differences (NSSD) sendiri digunakan untuk menunjukan ada atau tidaknya kendaraan
yang lewat. Jika nilai Normalized Sum Squared Differences (NSSD) lebih besar dari nilai threshold yang telah ditentukan maka itu menunjukan
keberadaan sebuah kendaraan namun jika nilai Normalized Sum Squared Differences (NSSD) lebih kecil dari nilai threshold yang telah ditentukan maka itu menunjukan tidak ada kendaraan yang melintas.
Algoritma dari Metode Normalized Sum Squared Differences (NSSD) adalah sebagai berikut:
1. Capture Background
2. Input detection window pada background 3. Capture frame
4. Nilai intensitas piksel pada detection window frame dikurangi nilai intensitas piksel pada detection window background.
5. Nilai hasil intensitas piksel frame yang telah dikurangi nilai intensitas background akan di ambil nilai rata-ratanya setiap 15 frame.
rata-rata yang didapat kurang dari nilai treshold maka kembali ke proses capture frame.
3.1.4.5 Filtering
Setelah mendapatkan nilai NSSD dari setiap frame maka untuk mengurangi nilai yang mencolok di perlukan proses Filtering. Proses filtering adalah proses untuk mengurangi perbedaan nilai data yang mencolok. Teknik filtering yang digunakan dalam metode Normalized Sum Squared Differences (NSSD) adalah teknik low Pass Filter (persamaan). Low Pass Filter menggunakan cara merata-rata setiap data Normalized Sum Squared Differences (NSSD) yang diperoleh.
Dalam kasus ini proses filtering diterapkan terhadap setiap 15 data hasil perhitungan Normalized Sum Squared Differences (NSSD).
Contoh proses filtering terhadap 15 data hasil perhitungan Normalized Sum Squared Differences (NSSD) :
Setelah dilakukan proses untuk ke-15 data nilai NSSD, maka
didapati nilai NSSD rata untuk ke-15 frame adalah 1652.31. nilai
rata-rata yang telah didapat tersebut akan dibandingkan dengan nilai threshold untuk mengetahui apakah dalam 15 frame tersebut ada kendaraan atau
tidak.
3.1.4.6 Threshold
Tahpan selanjutnya setelah proses filtering adalah prosses
membandingkan nilai nssd yang telah di filtering dengan nilai treshold. Nilai threshold sendiri telah ditentukan berdasarkan data perhitungan nilai Normalized Sum Squared Differences (NSSD) terendah. Dalam threshold dibutuhkan sebuah nilai variabel bantu yaitu Nilai Base. Nilai base sendiri akan mencegah perhitungan ganda terhadap satu kendaraan jika ada
kendaraan yang masuk dalam beberapa frame.
Ilustrasi dari proses threshold yang ada pada metode ini dapat dilihat dari gambar berikut:
3.1.4.7 Proses Penghitungan Kendaraan
Proses ini merupakan terusan setelah proses treshold, di dlam proses ini Jumlah kendaraan akan bertambah jika satu kendaraan itu telah
melewati detection window untuk dihitung nilai NSSD dan nilai rata-rata
NSSD-nya (proses filtering) lebih besar dari Nilai Treshold dan nilai base
masih 0.
3.1.5 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional merupakan analisis yang dibutuhkan untuk menentukan spesifikasi kebutuhan sistem. Spesifikasi ini
juga meliputi elemen atau komponen-komponen apa saja yang dibutuhkan
Input image
untuk sistem yang akan dibangun sampai dengan sistem tersebut dapat di
implementasikan.
Analisis kebutuhan ini juga menentukan spesifikasi masukan yang
diperlukan sistem, keluaran yang akan dihasilkan dan proses yang
dibutuhkan untuk mengolah masukan sehingga menghasilkan suatu
keluaran yang diinginkan.
3.1.5.1 Analisis Pengguna
Analisis pengguna dilakukan untuk mengetahui siapa yang akan
menggunakan aplikasi perangkat lunak penghitungan jumlah kendaraan
dengan menggunakan kamera.
Berdasarkan penelitian yang telah dilakuan, pelaku sistem manual
Tabel 3.3-1 Pelaku sistem manual
Pengguna Tugas Keterangan
Kabag Lapangan DisHub Cikampek
Memeriksa laporan hasil laporan penghitungan jumlah kendaraan.
Penanggung jawab
operasional lapangan Dinas Perhubungan Kota Cikampek membuat laporan dari hasil pengamatan jumlah kendaraan di lapangan
Melakukan penghitungan dan pencatatan serta membuat laporan.
Sementara untuk penerapan system yang baru hanya ada satu
pengguna saja yaitu pegawai dishub divisi lapangan yang bertindak sebagai
user peragkat lunak penghitung jumlah kendaraan menggunakan kamera.
Sementara Kabag sendiri hanya bertugas menerima laporan hasil
Tabel 3.3-2 Pelaku Sistem Yang Baru
Pengguna Tugas Keterangan
Pegawai DisHub Divisi Lapangan
Mengawasi dan mengoperasikan sistem perangkat lunak penghitung jumlah kendaraan
Bertindak sebagai pegawai dinas perhubungan divisi lapangan yang bertugas untuk mengoperasikan perangkat lunak penghitung jumlah kendaraan menggunakan kamera.
3.1.5.2 Analisis Kebutuhan Perangkat Keras
Perangkat keras untuk implementasi program perangkat lunak
sangatlah mendukung agar menghasilkan suatu informasi yang sesuai
dengan yang diharapkan.
Berdasarkan hasil observasi dan penelitian langsung terhadap pihak
Dinas Perhubungan Kota Cikampek, didapati perangkat keras yang
digunakan untuk menghitung jumlah kendaraan yang melintas adalah alat
penghitung manual.
Adapun perangkat keras yang dibutuhkan untuk mendukung
1. Kamera
a. Handycam Sony DCR-TRV 250E.
b. Kamera Digital Casio
c. Webcam Logitech 5MP d. Kabel
2. Komputer
a. Mikroprosessor : Intel Pentium IV 4.0 GHz
b. Memori : 1 GB DDR2
c. Media penyimpanan : Harddisk 160 GB d. Kartu Grafik (VGA) : 256 MB
e. Monitor : 14 inch
3.1.5.3 Analisis Kebutuhan Perangkat Lunak
Kebutuhan perangkat lunak merupakan faktor yang harus dipenuhi
untuk merancang sebuah perangkat lunak sehingga sesuai dengan maksud
dan tujuan perangkat lunak tersebut dibuat.
Berdasarkan hasil observasi dan penelitian langsung terhadap pihak
Dinas Perhubungan Kota Cikampek, didapati tidak ada perangkat lunak
Untuk penerapan perangkat lunak yang akan dibangun diusulkan
ada beberapa perangkat lunak pendukung sebagai berikut :
1. Sistem Operasi
Sistem Operasi yang digunakan adalah Windows XP SP2. Dipilih karena sistem operasi ini pegawai dinas perhubungan divisi lapangan friendly dengan aplikasi apapun,
2. Database Management Sistem
Database yang digunakan untuk menyimpan data-data dalam
penelitian dan pembangunan perangkat lunak ini adalah Microsoft Office Access.
3. C#
Merupakan tools development yang digunakan dalam proses coding perangkat lunak penghitung jumlah kendaraan menggunakan kamera ini.
4. AForge