MENGHITUNG JUMLAH KENDARAAN DARI FILE

MENGHITUNG JUMLAH KENDARAAN
DARI FILE VIDEO (AVI)

Bagus Priambodo
Fakultas Ilmu Komputer, Universitas Mercu Buana, Indonesia
Email : bagus@lembagarating.com

Abstrak
Dalam penelitian ini, dikembangkan aplikasi untuk menghitung kendaraan yang
melewati loket pembayaran jalan tol secara otomatis dari hasil rekaman video
(AVI). Pengembangan aplikasi ini menggunakan alat bantu software Visual C++
6.0. Dari hasil implementasi dan ujicoba, dapat disimpulkan bahwa aplikasi ini
dapat berfungsi sebagaimana mestinya. Hanya saja keberhasilan system
penghitungan ini sangat bergantung pada dua parameter yaitu pertama
parameter batas toleransi selisih nilai antara pixel frame dengan pixel frame
patokan dan kedua adalah parameter batas maximum jumlah pixel

yang

melewati batas toleransi. Diharapkan aplikasi ini dapat menjadi pemicu
pengembangan aplikasi pencacah kendaraan secara real time dan cerdas,

artinya dapat menentukan parameter dengan otomatis

Kata kunci : C++, Pengenalan Pola, Pengolahan Citra, Video

I. PENDAHULUAN

PT. JASAMARGA (Persero) adalah BUMN yang bertugas mengelola jaringan
jalan tol di Indonesia dan memelihara seluruh ruas jalan tol agar selalu
berfungsi sebagaimana mestinya. Ada beberapa layanan yang diberikan
kepada publik yang berhubungan dengan jalan tol, diantaranya adalah:
a. layanan transaksi, seperti layanan berlangganan tol.
b. layanan lalu-lintas, seperti penderekan, ambulan dan patroli.
c. layanan pemeliharaan jalan tol.

Namun,

selain

layanan-layanan


yang

diberikan

kepada

publik,

PT.

JASAMARGA sebagai suatu perusahaan juga tidak lepas dalam hal kegiatan
manajerial yang sifatnya internal. Ada masalah internal yang harus di kelola
salah satunya adalah penghitungan jumlah kendaraan yang melewati loket
pembayaran jalan tol. Pada dasarnya, bila prosedur dan pekerjaan dijalankan
sebagaimana mestinya, jumlah kendaraan yang melewati loket dapat tercatat
sebagaimana mestinya. Namun, seringkali di lapangan terjadi ketidaksesuaian
antara jumlah kendaraan yang lewat dengan yang tercatat di loket. Salah satu
usaha yang telah dilakukan oleh PT. JASAMARGA adalah merekam kendaraan
yang melewati loket pembayaran dengan menggunakan kamera yang
diletakkan pada fixed position (yang telah ditetapkan posisinya), dan

menghitung secara manual dengan melihat hasil rekaman kamera tersebut.
Namun, keterlibatan manusia dalam sistem penghitungan manual seperti ini
ternyata tidak memberikan hasil seperti yang diharapkan. Faktor human error,
itulah yang menyebabkan hasil penghitungan kendaraan lewat dengan yang
tercatat di loket pembayaran tidak sama.
Untuk itu pada penelitian ini, dikembangkan satu cara untuk mengatasi masalah
tersebut diatas dengan membuat sebuah program atau aplikasi menghitung
jumlah kendaraan lewat secara otomatis dari file video hasil rekaman di loket
pembayaran jalan tol.

II. METODE

Computer vision terdiri dari teknik-teknik untuk mengestimasi ciri-ciri obyek di
dalam citra, pengukuran ciri yang berkaitan dengan geometri obyek, dan
menginterpretasi informasi geometri tersebut. Persamaan berikut penting untuk
diingat dalam bidang computer vision.
Vision = Geometry + Measurement + Interpretation
Proses-proses di dalam computer vision dapat dibagi menjadi tiga aktivitas,
yaitu :
1. Memperoleh atau mengakuisisi citra digital.

2. Melakukan teknik komputasi untuk memproses atau memodifikasi
data citra (operasi-operasi pengolahan citra).

3. Menganalisis dan menginterpretasi citra dan menggunakan hasil
pemrosesan untuk tujuan tertentu, misalnya memandu robot,
mengontrol peralatan, memantau proses manufaktur, dan lain-lain.

Bitmap adalah array bit dua dimensi yang berisi data yang berhubungan
dengan pixel dari sebuah citra atau image (untuk selanjutnya citra akan disebut
image). Ketika gambar dari dunia nyata di tangkap dalam bentuk bitmap,
gambar tersebut akan di pecah menjadi grid dan pixel. Nilai dari masing-masing
pixel dalam bitmap menunjukan rata-rata warna dari gambar. Monochrome
bitmap memerlukan hanya satu bit per pixel, gray shade atau bitmap berwarna
membutuhkan perkalian bits per pixel.
Device independent bitmap (DIB) diperkenalkan di Windows 3.0 untuk
memberikan format berkas image yang sangat diperlukan dan cocok untuk
pertukaran. Sebagaimana diketahui, format berkas image lain seperti .GIF atau
.JPEG, lebih banyak dikenal dan digunakan. Ini dikarenakan format .GIF dan
.JPEG telah dikompresi sehingga berukuran kecil dan secara signifikan dapat
mengurangi waktu pengunduhan. Kebanyakan DIB selalu tak dikompresi. Ini

merupakan keuntungan yang besar. Tidak seperti berkas .GIF dan .JPEG, DIB
secara langsung didukung fungsi Windows API.
Model yang dirancang adalah mengolah masukan frame(DIB) dari AVI yang
telah dipecah, kemudian dilakukan visualisasi proses sistem, dan keluaran
ditampilkan ke user. Dalam menjelaskan sistem yang dirancang, diberikan alur
data sistem dalam bentuk diagram Flow chart dan diagram aliran data, yang
akan lebih dirinci ke dalam level diagram berikutnya.

Perancangan Sistem dengan Flow Chart

isiArrayAwal()
bKetemu = false
bAwal = true

If !stop

isiArrayNext()
jmlPixelBeda = hitungSelisihPixel()

Ya


If jml Pixel Beda > =
max pixel beda

Tidak

bKetemu = false

Tidak

If !bketemu
Ya
Ya
bKetemu = true
bAwal = false

If bAwal
Tidak
bKetemu = true
jmlMobil++


Gambar 2.1 Flow Chart Sistem Keseluruhan

Diagram Konteks
Perancangan

dimulai

dengan

pembuatan

diagram

konteks,

berupa

penggambaran sistem dari penerapan algoritma penghitungan secara garis
besar.


AVI

Sistem
Penghitungan

Pengguna
Jumlah Kendaraan

Gambar 2.2 Diagram Konteks

Diagram Aliran Data
Dari diagram Konteks diturunkan Diagram Aliran Data(DAD) Level 0 untuk
penjabaran sistem penghitungan kendaraan.
Angka (Jumlah Kendaraan)

Pengguna
AVI
State A


0.1
Fungsi Pecah
AVI
State B

0.2
0.3
Fungsi Isi
Fungsi
Array 3.4 Diagram Aliran Data Level 0
Gambar
Beda

State C

0.4
Fungsi
Count Car

Gambar 2.3


Kamus Data



AVI merupakan masukan untuk proses sistem adalah file Audio Video 24 bit.
State A merupakan hasil perubahan bentuk masukkan dari AVI menjadi



bitmap



pixel diambil ditaruh dalam tiga buah array awal dan tiga buah array Next.



dan tiga buah array awal di dapatkan Jumlah selisih warna.


State B merupakan hasil perubahan bentuk state setelah nilai RGB dari

State C merupakan hasil penghitungan selisih antara tiga buah array next

Angka (Jumlah kendaraan) merupakan hasil penghitungan berupa total
jumlah kendaraan yang berhasil dihitung oleh sistem.

Spesifikasi Proses
Sistem menerapkan beberapa proses yang saling berhubungan sehingga akan
membentuk suatu sistem utuh yang diharapkan.

Proses pecah AVI menjadi frame-frame bitmap (DIB)
Nomor

0.1

Proses
Masukkan

AVI

Keluaran

state A

Logika

File AVI dipecah menjadi Frame-frame
bitmap (DIB)

Proses isi Array dari nilai RGB bitmap
Nomor
Proses

0.2

Masukkan

State A

Keluaran

State B
Bitmap

Logika

diambil

Nilai

RGB

dari

Pixelnya
Lalu nilai RGBnya di masukkan
dalam Array

Proses Fungsi Beda Pixel
Nomor
Proses

0.3

Masukkan

State B

Keluaran

State C
Masing-masing Nilai dari Array Awal (Patokan) – Array Next

Logika

Lalu selisihnya dibandingkan apabila > toleransi maka stace
C (Jumlah Beda) ditambah 1

Proses hitung kendaraan (count car)
Nomor
Proses

0.4

Masukkan

State C

Keluaran

Angka (Jumlah Kendaraan)

Bandingkan Jumlah Beda frame sekarang dan frame
sebelumnya
Jika masih sama besar atau dalam batas toleransi maka
tidak ada
Logika

kendaraan yg lewat
Jika sebelumnya telah terjadi lonjakan nilai atau berada
diluar toleransi maka
perhatikan jika jml Beda mendekati 0 berarti kendaraan
telah lewat
Kemudian jumlah kendaraan ditambah 1

III. HASIL DAN PEMBAHASAN
Untuk meninjau kinerja atau keberhasilan program dalam menghitung
kendaraan, diambil beberapa potongan frame awal beserta nilai-nilainya.
Uji Kinerja Penghitungan Kendaraan


Setelah area ditentukan dan penghitungan dimulai akan tampak tampilan
sebagai berikut:

Gambar 2.4 Frame pertama

Perhatikan maximum beda pixel yang dijadikan patokan adalah 600
artinya area awal dan area berikut akan dianggap berbeda jika nilai pixel
beda lebih dari 600. Terlihat semua nilai masih 0.


Setelah beberapa kali menekan tombol > mulai terlihat ada kendaraan
mendekat pada Area II Berikut, Nilai Pixel Beda pun berubah

Gambar 2.5 Frame ke dua

Nilai Pixel Beda Area(II) berubah menjadi 516 namun masih di bawah
batas ambang toleransi, batas ambang atau Max BedaPixel adalah 600
(lihat pada Gambar 2.5 diatas).
Nilai Pixel Beda Area(I) terlihat masih 0, dan memang tidak terlihat
kendaraan disana.


Kemudian menekan tombol > lagi, untuk menuju ke frame berikutnya,
perhatikan perubahan yang terjadi.

Gambar 2.6 Frame ke tiga

Pada Area I Berikut terlihat mulai ada kendaraan yang memasuki area, dan
nilai Pixel Beda Area (I) berubah menjadi 282, masih di bawah toleransi.
Jumlah mobil pada Area I masih terlihat 0.
Pada Area II Berikut terlihat kendaraan sudah memasuki area, nilai Pixel
Beda Area (II) melonjak menjadi 3131, artinya frame benar-benar berbeda
dan sudah jauh dari batas ambang (max beda pixel hanya 600).
Jumlah mobil pada area II masih terlihat 0


Kemudian menekan tombol > kembali untuk menuju ke frame
berikutnya.

Gambar 2.7 Frame ke empat

Pada Area I Berikut terlihat mobil telah memasuki Area I dan nilai Pixel
Beda Area I berubah drastis menjadi 982. Artinya frame awal telah berbeda
dengan frame sekarang karena telah di atas batas toleransi (600). Jumlah
mobil pada Area I masih telihat 0.
Pada Area II Berikut terlihat mobil mulai menjauhi Area II dan nilai Pixel
Beda area II telah turun dari sebelumnya 3131 menjadi 473. Nilai sekarang
sudah berada di bawah toleransi, artinya frame awal dan sekarang dapat
dikatakan sama, sehingga Jumlah mobil Area II bertambah.
Jumlah mobil Area II berubah menjadi 1.


Tekan tombol >, untuk menuju ke frame berikutnya.

Gambar 2.8 Frame ke lima

Pada Area I Berikut terlihat mobil telah memasuki Area I dan nilai Pixel
Beda Area I berubah drastis menjadi 982. Artinya frame awal telah berbeda
dengan frame sekarang karena telah di atas batas toleransi (600). Jumlah
mobil pada Area I masih telihat 0. Pada Area II Berikut terlihat mobil mulai
menjauhi Area II dan nilai Pixel Beda Area II telah turun dari sebelumnya
3131 menjadi 473. Nilai sekarang sudah berada di bawah toleransi, artinya
frame awal dan sekarang dapat dikatakan sama, sehingga Jumlah mobil
Area II bertambah. Jumlah mobil Area II berubah menjadi 1.


Kemudian Tekan tombol > lagi untuk menuju ke frame berikutnya

Gambar 2.9 Frame ke enam

Pada Area I Berikut terlihat mobil telah menjauhi Area I dan nilai Pixel Beda
Area I turun menjadi 323. Artinya frame di bawah batas toleransi, sehingga
frame awal dapat dikatakan sama atau kembali ke awal sehingga Jumlah
mobil Area I bertambah. Terlihat jumlah mobil pada Area I sekarang adalah
1.
Pada Area II Berikut terlihat mobil sudah tidak ada dalam area dan nilai
Pixel Beda Area II telah turun kembali menjadi 0, frame sakarang sama
dengan frame awal
Jumlah mobil Area II sekarang adalah 1 (tidak berubah)


Tekan tombol >, untuk menuju ke frame berikutnya

Gambar 2.10 Frame ke tujuh

Pada Area I Berikut terlihat mobil sudah tidak ada dalam area dan nilai Pixel
Beda Area I telah turun kembali menjadi 0, frame sakarang sama dengan
frame awal.
Jumlah mobil Area I sekarang adalah 1 (tidak berubah)
Pada Area II Berikut terlihat belum ada mobil yang mendekati area II dan
nilai Pixel Beda area II masih 0, frame sakarang sama dengan frame awal
Jumlah mobil Area II sekarang adalah 1 (tidak berubah)

Hasil Kinerja
Dari hasil uji coba beberapa frame, yaitu dari frame awal hingga ada
kendaraan memasuki area dan kendaraan menjauhi area. Terlihat bahwa
sistem mampu membedakan frame awal dan frame berikutnya. Sehingga dapat

dihitung jumlah kendaraan yang melewati area yang telah ditentukan. Namun
penempatan atau pengambilan area yang baik sangat menentukan keakuratan
dari sistem. Juga pemberian batas toleransi yang tepat sangat mempengaruhi
keakuratan dari sistem.

IV. KESIMPULAN
Berdasarkan hasil penelitian, dapat disimpulkan bahwa:
1. Sistem

dapat

menghitung

jumlah

kendaraan

yang

melewati

loket

pembayaran jalan tol. Berdasarkan hasil rekaman video yang diperoleh
melalui kamera yang telah ditetapkan posisinya, yaitu di atas loket
2. Sistem masih tergantung pada dua buah parameter untuk penghitungan
kendaraan, antara lain :
ƒ

Parameter batas toleransi selisih nilai antara pixel frame dengan pixel
frame patokan.

ƒ

Parameter batas maximum jumlah pixel yang melewati batas toleransi.

3. Secara umum sistem ini telah dapat menghitung jumlah kendaraan secara
otomatis.
Kedepan sebaiknya pengembangan sistem mampu menentukan parameterparameter toleransi secara otomatis.
V. DAFTAR PUSTAKA
1. Petzold, Charles (1998), Programming Windows, 5th Edition. Microsoft
Press; November 11, 1998; 1479 pages..

2. Darma Putra Sodikin (2010), Pengolahan Citra Digital, Andi Publisher