• Tidak ada hasil yang ditemukan

Aplikasi Penghitung Jumlah Orang Lewat Menggunakan Metode Normalized Sum-Squared Differences (NSSD).

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Penghitung Jumlah Orang Lewat Menggunakan Metode Normalized Sum-Squared Differences (NSSD)."

Copied!
79
0
0

Teks penuh

(1)

SQUARED DIFFERENCES (NSSD)

SKRIPSI

Diajukan Oleh :

DEDDY PRASETYA PUTERA 0736010029

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR

(2)

KATA PENGANTAR

Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki penyusun, akhirnya penyusun dapat menyelesaikan Skripsi yang berjudul “ Aplikasi Penghitung Jumlah

Orang Lewat Menggunakan Metode Normalized Sum-Squared Differences

(NSSD) ” tepat pada waktunya.

Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada program studi Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Melalui Skripsi ini penyusun merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat bergerak. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.

Surabaya, April 2011

(3)

UCAPAN TERIMA KASIH

Penyusun menyadari bahwasanya dalam menyelesaikan Skripsi ini telah mendapat banyak bantuan dan dukungan dari berbagai pihak, dan tanpa menghilangkan rasa hormat,, penyusun mengucapan terima kasih kepada:

1. Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor UPN “Veteran” Jawa Timur.

2. Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

3. Basuki Rahmat,S.Si,MT selaku Kepala Jurusan Teknik Informatika UPN “Veteran” Jawa Timur, dosen wali dan dosen pembimbing I yang telah giat meluangkan banyak waktu untuk memberikan arahan, ilmu.

4. Fetty Tri Anggraeny, S.Kom selaku dosen pembimbing II yang dengan sabar telah meluangkan banyak waktu, pikiran dan tenaga di antara kesibukan beban-beban kegiatan akademik untuk memberikan bimbingan dan kesempatan penyusun untuk berkreasi dalam proses pembuatan Skripsi ini. 5. Ir. Kartini, MT dan Fetty Tri Anggraeny, S.Kom selaku penguji seminar TA

yang telah banyak memberi masukan serta membuka wawasan baru.

(4)

7. Ayahanda tercinta, yang merupakan lelaki terhebat yang pernah aku temui dan ibunda tersayang yang juga merupakan perempuan yang kesabarannya tiada bandingnya didunia ini, juga Kakak dan adik-adikku.

8. Teman-teman kuliah khususnya anak-anak Ilmu Komputer angkatan 2007 putu, faris, dhani, doni, rendy, fathi, toni, taufik, ipam, reza, fanji, riki, arik, kuswanto, cepot, alan, kokoh, bayu dan teman-teman TF, SI lainnya yang tak bisa disebutkan satu persatu makasih semua atas persahabatan yang begitu indah selama kuliah makasih semua atas bantuan semangat dan doanya, sukses buat kalian semuanya.

9. Part of my heart, Yanti penyemangat hidup dan mendamaikan hati penyusun.

(5)

DAFTAR ISI

1.6 MetodologiPembuatan Tugas Akhir... 4

1.7 Sistematika Penulisan... 5

BAB II LANDASAN TEORI ... 8

2.1 Pengolahan Citra ... 8

2.1.1 Definisi Citra... 8

2.1.2 Definisi Pengolahan Citra... 9

(6)

2.5 Thresholding... 17

2.6 NSSD (Normalized Sum Squared Difference)…... 2.6.1 Pemrosesan Background Image dan Frame……….. 2.6.2 Perhitungan NSSD………. 18 19 19 2.7 Pengertian program visual basic……… 2.8 Sejarah singkat Visual Basic………. 2.9 Mengenal Visual Basic……….. 2.9.1 Tampilan awal Visual Basic……… 2.9.2 Title Bar……… BAB III ANALISA DAN PERANCANGAN ... 27

3.1 Analisa... 27

3.3 Rancangan Antarmuka Aplikasi ………... 38

(7)

BAB IV IMPLEMENTASI DAN EVALUASI... 43

(8)

DAFTAR GAMBAR

No. Hal.

2.1 Hubungan pengolahan Citra... 10

2.2 Hubungan Grafika komputer dengan pengolahan citra... 10

2.3 Contoh Grafika Komputer... 11

2.4 Hubungan pengenalan pola dengan pengolahan citra... 12

2.5 Model warna HSV... 12

2.11 Proses filtering menggunkan LowPass Filter………17

2.12 Kotak Dialog Open – Tabulasi New...22

2.13 Tampilan Awal Lembar Kerja Visual Basic 6.0………23

2.14 Title Bar………23

2.15 Tool Bar………24

2.16 Tool Box………24

2.17 Jendela project explorer………25

2.18 Properties window………26

2.19 Form window………26

3.7 Diagram alir proses perhitungan jumlah orang lewat... 37

3.8 Form Splash... 38 5.1 Gambar a merupakan gambar background, gambar b,c,d,e,f

merupakan gambar simulasi robot lewat hasil percobaan data

real-time...

56

(9)

Real-Time pada Jalur masuk...

5.3 Nilai Filtering Percobaan Menggunakan Data simulasi secara

Real-Time...

57 5.4 Nilai Treshold Percobaan Menggunakan Data simulasi secara

Real-Time...

57 5.5 Gambar a merupakan gambar background, gambar b,c

merupakan gambar orang lewat hasil percobaan data real-time, gambar d merupakan gambar adanya perubahan intensitas cahaya……...

(10)

DAFTAR TABEL

No. Hal.

5.1 Tabel Data Uji Coba Simulasi Secara Real-time ………. 55 5.2 Tabel Data Uji Coba Orang Lewat Sebenarnya Real-time……… 58 5.3 Tabel Hasil Uji Coba Dengan Variasi Iluminasi………. 60 5.4 Tabel Hasil Uji Coba dengan Variasi Nilai Pengali……….

61

5.5 TabelPerhitungan aplikasi……….

(11)

ABSTRAK

Saat ini banyak dijumpai orang (pengunjung) yang mendatangi tempat umum seperti perpustakaan, mal, toko swalayan dan tempat umum lainya. Namun jumlah pengunjung masih dihitung secara manual, contohnya seperti pengisian buku pengunjung perpustakaan yang diisi secara manual oleh pengunjung sendiri. Begitu pula dengan jumlah orang yang masih ada di dalam tempat tersebut.

Dengan adanya permasalahan diatas maka dalam Skripsi ini dibuat sebuah aplikasi penghitung jumlah orang lewat baik masuk maupun keluar pada suatu tempat umum, sehingga dapat diketahui jumlah orang yang masih ada di dalam ruangan. Penghitungan jumlah orang ini menggunakan metode Normalized Sum-Squared Differences (NSSD) dengan data video yang diambil melalui kamera webcam. Nilai NSSD yang didapat dibandingkan dengan nilai threshold untuk perhitungan adanya orang lewat. Aplikasi ini secara keseluruhan tidak bekerja secara baik atau tidak berhasil untuk penerapan pada data sesungguhnya, karena adanya faktor intensitas cahaya yang masih belum teratasi, namun untuk penerapan pada data simulasi bekerja dengan cukup baik dengan persentase 100%, dimana telah ditetapkan batasan dan perangkat keras ataupun perangkat lunak yang telah ditentukan sebelumnya.

(12)

Dalam bab ini dijelaskan beberapa hal dasar yang meliputi latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, metodologi skripsi serta sistematika penulisan skripsi. Dari uraian tersebut diharapkan, gambaran umum permasalahan dan pemecahan yang diambil dapat dipahami dengan baik.

1.1 Latar Belakang Masalah

Data jumlah pengunjung suatu tempat umum sangat penting. Data tersebut biasanya digunakan untuk laporan perkembangan minat masyarakat terhadap tempat tersebut. Data jumlah pengunjung biasanya didapat secara manual, contohnya seperti pengisian buku pengunjung perpustakaan secara manual dan diisi oleh pengunjung sendiri.

(13)

perubahan jumlah piksel gambar video yang direkam dengan kamera digital (webcam) ditempat tersebut.

Pada tugas akhir ini digunakan metode Normalized Sum-Squared Differences (NSSD) untuk menghitung jumlah orang lewat baik masuk dan keluar sehingga dapat diketahui jumlah orang yang masih ada di dalam dengan webcam sebagai kamera perekamnya.

1.2 Perumusan Masalah

Berdasarkan latar belakang di atas, maka dibuat suatu perumusan masalah, yaitu :

1. Bagaimana merancang aplikasi yang dapat membantu pengelola suatu tempat umum dalam menghitung jumlah pengunjung di tempat tersebut.

2. Bagaimana mengimplementasikan metode Normalized Sum Squared Differences (NSSD) untuk menghitung jumlah orang lewat baik masuk maupun keluar .

1.3 Batasan Masalah

(14)

1. Penghitungan jumlah orang dilakukan pada pintu masuk dan pintu keluar yang berdampingan dan terdapat sekat pemisah antara pintu masuk dan pintu keluar.

2. Pintu masuk dan pintu keluar merupakan jalur satu arah yang khusus bagi para pengunjung

3. Pengunjung melewati pintu yang di desain hanya bisa dilewati satu per satu dan antar pengunjung terdapat sela atau jedah waktu tertentu.

4. Orang yang lewat pada pintu masuk dihitung satu orang masuk dan orang yang lewat pada pintu keluar dihitung satu orang keluar.

5. Perekaman video dilakukan dengan menggunakan webcam.

6. Ukuran frame data video digital (webcam) yang akan diolah adalah sebesar 320 x 240.

7. Intensitas cahaya pada pintu masuk / keluar atau area perhitungan cenderung konstan dan terang.

1.4 Tujuan

Mengacu pada perumusuhan masalah diatas, tujuan yang hendak dicapai dalam penyusunan tugas akhir ini adalah :

(15)

2. Mengaplikasikan metode Normalized Sum-Squared Differences (NSSD) untuk menghitung jumlah orang masuk dan keluar .

1.5 Manfaat.

Manfaat yang diperoleh dalam pembuatan aplikasi ini antara lain :

1. Dihasilkan suatu aplikasi yang dapat menghitung jumlah pengunjung baik masuk maupun keluar sehingga dapat diketahui jumlah orang yang masih ada di dalam ruangan dengan memanfaatkan webcam.

2. Dapat membantu membantu pengelola suatu tempat umum dalam proses penghitungan jumlah pengunjung baik masuk maupun keluar dan yang masih ada di dalam ruangan sehingga tidak perlu dilakukan secara manual.

1.6 Metodologi Pembuatan Tugas Akhir

Pembuatan Tugas Akhir ini terbagi menjadi beberapa tahapan sebagai berikut :

1. Studi Literatur

(16)

Pada tahap ini dilakukan coding untuk membuat sebuah program sederhana sebagai penerapan metode, perhitungan orang lewat baik masuk / keluar dan jumlah orang yang ada di dalam tempat.

3. Analisa hasil

Program yang telah selesai akan dilakukan uji coba dan kemudian dilakukan analisa terhadap hasil dari program tersebut.

4. Penyusunan Buku Tugas Akhir

Pada tahap terakhir ini disusun buku sebagai dokumentasi dari pelaksanaan Tugas Akhir. Dokumentasi ini dibuat untuk memudahkan orang lain yang ingin mengembangkan aplikasi penghitung jumlah orang lewat menggunakan metode NSSD, yang merupakan dari pengerjaan Tugas Akhir ini.

1.6 Sistematika Penulisan

Dalam laporan tugas akhir ini, pembahasan disajikan dalam enam bab dengan sistematika pembahasan sebagai berikut:

BAB I : PENDAHULUAN

(17)

BAB II : LANDASAN TEORI

Pada bab ini menjelaskan tentang teori-teori pemecahan masalah yang berhubungan dan digunakan untuk mendukung dalam pembuatan tugas akhir ini, meliputi pengertian tentang citra, model warna, greyscaling, metode NSSD, filtering, tresholding yang digunakan untuk mendukung program yang akan dibuat.

BAB III : ANALISA DAN PERANCANGAN

Pada bab ini menjelaskan tentang analisa dan perancangan aplikasi Penghitung Jumlah Orang Lewat Menggunakan Metode Normalized Sum Squared Differences (NSSD)

BAB IV : IMPLEMENTASI DAN EVALUASI

Pada Bab ini berisikan bagaimana implementasi aplikasi yang telah di buat berdasarkan desain sebelumnya.

BAB V : UJI COBA

Pada bab ini berisikan mengenai analisa output dari aplikasi menggunakan metode Normalized Sum Squared Differences (NSSD) yang telah dibuat

BAB VI : PENUTUP

(18)

yang diharapkan dapat bermanfaat dan sesuai dengan tujuan penelitian tugas akhir ini.

(19)

BAB II

LANDASAN TEORI

Pada bab ini akan dibahas beberapa teori dasar untuk menunjang

penyelesaian skripsi ini, yaitu beberapa pengertian umum, konsep, dan teori yang

berhubungan dengan pembuatan aplikasi Penghitung Jumlah Orang Lewat

Menggunakan Metode Normalized Sum Squared Differences (NSSD), antara lain:

definisi citra, penggolahan citra, teori mengenai model warna, citra grayscale,

filtering, treshold, motode NSSD, serta penjelasan mengenai software yang

digunakan.

2.1 Pengolahan Citra

2.1.1 Definisi Citra

Secara harfiah, citra (image) adalah gambar pada bidang dwimatra

(dua dimensi). Ditinjau darisudut pandang matematis, citra merupakan fungsi

menerus (continue) dari Intensitas cahaya pada bidang dwimatra. Sumber

cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas

cahaya tersebut. Pantulan cahaya ini ditangkap oleh oleh alat-alat optik,

misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya,

sehingga bayangan objek yang disebut citra tersebut terekam. Citra sebagai

keluaran dari suatu sistem perekaman data dapat bersifat:

(20)

2. analog berupa sinyal video seperti gambar pada monitor televisi,

3. digital yang dapat langsung disimpan pada suatu pita magnetik. Citra

yang dimaksudkan di dalam keseluruhan isi buku ini adalah citra diam (still

images). Citra diam adalah citra tunggal yang tidak bergerak. Citra bergerak

(moving images) adalah rangkaian citra diam yang ditampilkan secara

beruntun (sekuensial) sehingga memberi kesan pada mata kita sebagai gambar

yang bergerak. Setiap citra di dalam rangkaian itu disebut frame. Gambar-gambar

yang tampak pada film layar lebar atau televisi pada hakikatnya terdiri atas

ratusan sampai ribuan frame. [1]

2.1.2 Definisi Pengolahan Citra

Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan

komputer, menjadi citra yang kualitasnya lebih baik.

Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila :

1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan

kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang

terkandung di dalam citra

2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur

3. Sebagian citra perlu digabung dengan bagian citra yang lain.

Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan

(21)

1. Grafika Komputer (komputer graphics).

2. Pengolahan Citra (image processing).

3. Pengenalan Pola (pattern recognition atau image interpretation).

Hubungan antara ketiga bidang (grafika komputer, pengolahan

citra, pengenalan pola) ditunjukkan pada Gambar.

Gambar 2.1 Hubungan pengolahan Citra

Grafika Komputer bertujuan menghasilkan citra (lebih tepat disebut

grafik atau picture) dengan primitif-primitif geometri seperti garis,

lingkaran, dan sebagainya. Primitif-primitif geometri tersebut memerlukan data

deskriptif untuk melukis elemen-elemen gambar. Contoh data deskriptif

adalah koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna,

dan sebagainya.

Gambar 2.2Hubungan Grafika komputer dengan pengolahan citra

Contoh grafika komputer misalnya menggambar sebuah rumah yang

(22)

koordinat ujung garis.

Gambar 2.3 Contoh Grafika Komputer

Pengolahan Citra bertujuan memperbaiki kualitas citra agar mudah

di interpretasi oleh manusia atau mesin (dalam hal ini komputer).

Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi,

masukannya adalah citra dan keluarannya juga citra, namun citra keluaran

mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam

bidang ini juga adalah pemampatan citra (image compression).

Pengenalan Pola mengelompokkan data numerik dan simbolik

(termasuk citra) secara otomatis oleh mesin (dalam hal ini

komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di

dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak

manusia telah belajar mengklasifikasi objek-objek di alam sehingga

mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem

visual manusia inilah yang dicoba ditiru oleh mesin. Komputer menerima

masukan berupa citra objek yang akan diidentifikasi, memproses citra

(23)

Gambar 2.4Hubungan pengenalan pola dengan pengolahan citra.

2.2 Model warna

Model warna yang bisa digunakan adalah HSB (Hue, Saturarion, Brightness

), RGB ( Red, Green, Blue ), CMYK ( Cyan, Magenta, Yellow, Black )

2.2.1 Model warna HSV

Gambar 2.5Model warna HSV

Model warna HSV mendefinisikan warna dalam terminologi Hue,

Saturation dan Value. Hue menyatakan warna sebenarnya, seperti merah, violet,

dan kuning. Hue digunakan untuk membedakan warna-warna dan menentukan

kemerahan (redness), kehijauan (greeness) dari cahaya. Hue berasosiasi dengan

panjang gelombang cahaya. Saturation menyatakan tingkat kemurnian suatu

(24)

Value adalah atribut yang menyatakan banyaknya cahaya yang diterima oleh mata

tanpa memperdulikan warna.

Informasi penting mengenai isi citra digital dapat dengan baik diketahui

dengan membuat histogram citra. Histogram citra adalah grafik yang

menggambarkan penyebaran nilai-nilai intensitas pixel dari suatu citra atau bagian

tertentu dalam citra. Dari sebuah histogram dapat diketahui frekuensi kemunculan

nisbi (relative) dari intensitas pada citra tersebut. Histogram juga dapat

menunjukan banyak hal tentang kecerahan (brightness) dan kontras (contrast)

pada sebuah citra.

2.2.2 Model warna CMYK

CMYK (Cyan, Magenta, Yellow, Black) atau warna Primer Subtraktif,

warna ini dikenal sebagai warna Separasi / four color separation yang digunakan

untuk print, dimana warna-warna tersebut biasa digunakan untuk keperluan cetak

pada berbagai media keras seperti untuk pembuatan Brosur, Buku, Majalah, Cover

CD.

Media yang menggunakan pantulan cahaya untuk untuk meghasilkan warna

memakai metode campuran warna subtraktif. Dalam industri percetakan, untuk

menghasilkan warna bervariasi, diterapkan pemakaian warna primer subtraktif:

magenta, kuning dan cyan dalam ukuran yang bermacam-macam.

Campuran kuning dan cyan menghasilkan nuansa warna hijau; campuran kuning

dengan magenta menghasilkan nuansa warna merah, sedangkan campuran

(25)

pigmen ini dalam ukuran yang seimbang akan menghasilkan nuansa warna

kelabu, dan akan menjadi hitam jika ketiganya disaturasikan secara penuh, tetapi

dalam praktek hasilnya cenderung menjadi warna kotor kecoklatan. Oleh karena

itu, seringkali dipakai warna keempat, yaitu hitam, sebagai tambahan dari cyan,

magenta dan kuning. Ruang warna yang dihasilkan lantas disebut dengan CMYK

(Cyan, Magenta, Yellow, Black). Hitam disebut dengan "K" (key) dari istilah "key

plate"

Gambar 2.6Model warna CMYK

2.2.3 Model warna RGB

(26)

Persentase yang sangat besar dari spectrum yang terlihat dapat

direpresentasikan dengan mencampur merah, hijau dan biru (Red, Green dan

Blue) yang diberi warna terang dalam berbagai proporsi dan intensitas. Dengan

mencampur warna merah, hijau dan biru akan menciptakan warna putih. Oleh

karena itu model RGB juga disebut dengan additive colors (warna campuran).

RGB ( Red, Green, Blue )atau Warna Additif, warna ini biasanya digunakan oleh

monitor computer/TV. Warna yang dihasilkan berasal dari kombinasi 3 warna

tersebut dan masing-masing memiliki nilai 8 bit merah, 8 bit hijau dan 8 bit biru.

Alat/media yang menggabungkan pancaran cahaya untuk menciptakan sensasi

warna menggunakan sistem warna additif. Televisi adalah yang paling umum.

Warna primer additif adalah merah, hijau dan biru. Campuran warna cahaya

merah dan hijau, menghasilkan nuansa warna kuning atau orange. Campuran hijau

dan biru menghasilkan nuansa cyan, sedangkan campuran merah dan biru

menghasilkan nuansa ungu dan magenta. Campuran dengan proporsi seimbang

dari warna additif primer menghasilkan nuansa warna kelabu, jika ketiga warna

ini disaturasikan penuh, maka hasilnya adalah warna putih. Ruang warna / model

warna yang dihasilkan disebut dengan RGB (red, green, blue).

Dasar dari pengolahan citra adalah pengolahan warna RGB pada posisi

tertentu. Dalam pengolahan citra warna dipresentasikan dengan nilai

hexadesimal dari 0x00000000 sampai 0x00ffffff. Warna hitam

adalah 0x00000000 dan warna putih adalah 0x00ffffff. Definisi nilai8 warna

di atas seperti gambar dibawah, variabel 0x00 menyatakan angka

(27)

Gambar 2.8. Nilai Warna RGB Dalam Hexadesimal.

2.3 CitraGrayscale

Grayscale menunjukkan tingkat keabuan (dari hitam- putih) yang ada

dalamsuatu citra. Modelwarna 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 dibawah.

Gambar 2.9. Komposisi Warna Grayscale

Greyscaling adalah teknik yang digunakan untuk mengubah citra

berwana menjadi bentuk grayscale. Pengubahan dari citra berwarna ke bentuk

grayscale mengikuti aturan sebagai berikut :

Persamaan 2.1

(28)

(a) (b)

Gambar 2.10.Citra RGB (a) dan Citra Grayscale (b).

2.4 Filtering

Proses filtering dilakukan untuk mengurangi perbedaan nilai data yang

mencolok. Dengan menggunkan LowPass Filter, data yang memiliki nilai besar akan terendam sehingga perbedaan antar data tidak terlalu besar. Proses LowPass Filter ini menggunakan cara merata-rata setiap data yang diperoleh, misalkan untuk merata-rata 5 data, maka :

filtering = (data(1) + data(2) + data(3) + data(4) + data(5)) / 5 Persamaan 2.2

Gambar 2.11.Proses filtering menggunkan LowPass Filter. [4] [5]

2.5 Thresholding

Thresholding digunakan untuk mengubah intensitas piksel menjadi salah

satu dari dua nilai, a1 atau a2. Hasil dari proses thresholding ditentukan

(29)

menggunakan fungsi sebagai berikut :

Persamaan 2.3

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

greyscale menjadi citra biner. [3] [4] [5]

2.6 NSSD (Normalized Sum Squared Difference)

NSSD adalah bentuk khusus dari SSD (Sum Squared difference).

Diawali dengan pengambilan background, mengubahnya menjadi grayscale

dan menentukan detection window pada jalur orang lewat yang akan diamati. Hal

yang sama dilakukan juga untuk setiap frame video yang ditampilkan.

Detection window atau ROI (Region of Interest) pada background dan frame

harus pada posisi yang sama sehingga luasan area yang diamati sama persis.

Jumlah nilai pixel pada frame dan background diambil selisihnya dan

dikuadratkan. Hasil tersebut dibagi dengan luasan detection window untuk

(30)

2.6.1 Pemrosesan Background Image dan Frame

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 atau ROI diset pada lajur yang akan dideteksi setelah

dilakukan proses grayscale sebelumnya. Kemudian, semua nilai pixel yang

terdapat dalam detection window 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 proses grayscale, setting detection window, dan

menjumlahkan nilai pixel dilakukan pada masing-masing frame. Posisi

detection window pada frame dan pada background image harus sama

karena pada posisi inilah yang akan dilakukan pembandingan. Dengan adanya

detection window memudahkan proses perhitungan jumlah nilai pixel yang

dilakukan oleh komputer. Bilamana tidak menggunakan detection window,

komputer akan melakukan perhitungan pada frame secara keseluruhan.

Sedangkan dengan detection window, komputer cukup menghitung pada detection

window saja.

2.6.2 Perhitungan NSSD

Setelah mendapatkan jumlah nilai pixel dari background image dan frame,

(31)

Selisih dari jumlah nilai background image dan frame dikuadratkan untuk

menghindari nilai negatif. Metode NSSD dapat dirumuskan dalam persamaan

berikut :

Dalam perhitungan NSSD, yang digunakan adalah selisih dari jumlah nilai

pixel pada background image dan pada frame. Selisih jumlah nilai pixel,

memungkinkan untuk menghasilkan nilai negatif sehingga hasil selisih

tersebut dikuadratkan untuk menghindari hasil negatif. Nilai negatif terjadi

bilamana warna dari obyek pada frame lebih gelap dari pada background

image. Sebab warna gelap memiliki nilai pixel yang kecil. Perhitungan

NSSD dilakukan pada setiap frame video yang ditampilkan. [4] [5]

2.7 Pengertian program visual basic

Visual Basic 6.0 adalah salah satu dari berbagai bahasa pemrograman yang

(32)

paling sederhana di bandingkan dengan bahasa pemrograman yang lain karena

penulisan perintah dan intruksi yang kompleks sehingga langkah pemrograman

menjadi lebih jauh sederhana.dengan pemprogram dapat lebih berkonsentrasi pada

bagaimana memecahkan masalah pemrograman yang dihadapinya.

2.8 Sejarah singkat Visual Basic

Berikut ini adalah point-point penting dalam sejarah perkembangan Visual

Basic adalah sebagai berikut :

a. Visual Basic pertama kali diperkenalkan tahun 1991 yaitu program Visual

Basic untuk DOS dan untuk windows.

b. Visual Basic 3.0 dirilis tahun 1993.

c.Visual Basic 4.0 dirilis pada akhir 1995 (tambahan dukungan aplikasi 32

Bit)

d. Visual basic 6.0 dirilis pada akhir tahun 1998

e.Visual Basic terbaru adalah versi Visual Basic.Net yang dirilis pada tahun

2002.

Microsoft umumnya membuat tiga edisi Visual Basic yaitu :

1. Standard edition merupakan produk dasar.

2. Profesional Edition berisi tambahan Microsoft Jet Data Accsess Engine

(33)

2.9 Mengenal Visual Basic

Microsoft Visual Basic adalah sebuah aplikasi yang digunakan untuk

pengembangan dengan memanfaatkan keistimewaan konsep-konsep antar muka

grafis dalam Microsoft windows. Aplikasi yang dihasilkan Visual Basic berkaitan

erat dengan windows itu sendiri sehingga dibutuhkan pengetahuan bagaimana

kerja windows. Dalam pemrograman visual basic banyak istilah dan konsep untuk

menyebut sesuatu yang membentuk sebuah aplikasi, istilah-istilah tersebut

memiliki arti sma dalam lingkungan pemrograman visual lainya,seperti misalnya

objek, property dan event.

2.9.1 Tampilan awal Visual Basic

Pada saat pertama kali menjalankan Visual Basic,secara otomatis akan

muncul kotak dialog New Project seperti yang terlihat pada gambar 2.12. [7]

Gambar 2.12Kotak Dialog Open – Tabulasi New

Lalu pilih menu yang anda butuhkan , misalnya standart EXE maka akan

(34)

Gambar 2.13Tampilan Awal Lembar Kerja Visual Basic 6.0

Pada lembar awal kerja visual basic inilah kita dapat memulai awal

pengerjaan seperti membuat button yang diperlukan.

2.9.2 Title Bar

Title Bar merupakan judul dari program Visual Basic 6.0 yang terletak pada

bagian paling atas dari jendela program. Kompnen ini berfungsi untuk

menampilkan judul atau nama jendela, ilustrasi Title Bar dapat dilihat seperti pada

Gambar 2.14

Gambar 2.14Title Bar

Dengan adanya title bar inilah pengguna atau user dapat mengetahui bahwa

(35)

2.9.3 Tool Bar

Tool Bar merupakan sebuah batang yang berisi kumpulan tombol yang

terletak di bagian bawah menu bar yang dapat digunakan untuk menjalankan

suatu perintah. Ilustrasi Tool Bar dapat dilihat seperti pada gambar 2.15. [7]

Gambar 2.15Tool Bar

2.9.4 Tool Box

Tool box merupakan kotak perangkat yang berisi kumpulan tombol objek

atau kontrol untuk mengatur desain dari aplikasi yang akan dibuat.Tool Box dapat

dilihat seperti Gambar 2.16

Gambar 2.16 Tool Box

Pada tool box inilah yang akan mempermudah dalam pengerjaan sebuah

(36)

2.9.5 Project

Project merupakan suatu kumpulan modul atau program aplikasi itu

sendiri. Dalam Visual Basic, file project disimpan dengan nama file berakhiran

.VBP,dimana file ini berfungsi untuk menyimpan seluruh komponen pada semua

program. Berikut ini adalah gambar project dari visual basic 6.0 .

Gambar 2.17 Jendela project explorer

Pada bagian project ini segala pembuatan form dari lembar kerja yang telah

kita buat akan tercantum dalam jendela project. [7]

2.9.6 Properties Windows

Properties windows merupakan sebuah jendela yang digunakan

menampung nama properti kontrol yang terpilih. Pengaturan properties pada

program Visual Basic merupakan hal yang sangat penting untuk membedakan

objek yang satu dengan yang lainnya. Properties dapat dilihat seperti pada

(37)

Gambar 2.18Properties window

2.9.7 Form window

Form window merupakan jendela desain dai sebuah program aplikasi.

Seperti pada Gambar 2.19

Gambar 2.19 Form window

Pada bagian form window tersebut pembuatan sebuah project pertama kali

dilakukan seperti pembuatan tombol, kolom meletakan sebuah gambar, dan

(38)

Metode NSSD adalah bentuk khusus dari SSD (Sum Squared difference) digunakan untuk menghitung selisih nilai piksel antara frame dan background image yang kemudian di jumlah dengan nilai selisih pada piksel berikutnya sesuai dengan jumlah frame yang diambil, kemudian hasil tersebut dibagi dengan luasan detection window untuk dinormalisasi. Pada bab ini akan di bahas tentang analisa permasalahan, perancangan aplikasi yang terdiri dari proses grayscale, penerapan NSSD, filtering, treshold contoh permasalahan, serta rancangan antarmuka aplikasi yang akan dibuat.

3.1 Analisa

Aplikasi yang akan dibuat pada tugas akhir ini merupakan aplikasi yang dapat menghitung jumlah orang lewat. Dari hasil perhitungan jumlah orang lewat baik masuk / keluar nantinya akan didapat juga jumlah pengunjung dan jumlah orang yang masih berada didalam tempat.

(39)

masuk / keluar nantinya akan didapat juga jumlah pengunjung dan jumlah orang yang masih berada didalam tempat.

(40)

proses perhitungan orang lewat dengan syarat jika nilai NSSD lebih besar dari nilai treshold maka status = 1 (lewat) jika sebaliknya maka status = 2 (kosong), dimana nantinya jumlah orang lewat bertambah bila status dan status sebelumnya (temp) tidak sama.

3.2 Perancangan

Gambar 3.1 Diagram alir Aplikasi

(41)

webcam secara langsung berupa frame dan background image, set detection window, grayscale, perhitungan NSSD, filtering, tresholding, proses perhitungan orang lewat. Gambar 3.1 diatas adalah gambar blok diagram perhitungan NSSD.

3.2.1 Algoritma dan Diagram Alir

Pada bagian ini dijelaskan mengenai beberapa algoritma yang digunakan dalam perangkat lunak, beserta diagram alirnya. Diantaranya adalah yaitu input citra yang terdiri dari input data video yang diambil dari webcam secara langsung berupa frame dan background image, set detection window, grayscale, perhitungan NSSD, filtering, tresholding.

3.2.1.1 Input citra

Gambar 3.2 merupakan gambar diagram alir untuk input citra, yang trediri dari proses menampilkan data video dan proses penggambilan gambar background dan frame. Berikut adalah penjelasan langkah – langkah algoritma proses menampilkan data video dan proses penggambilan gambar :

1. Data masukan berupa data video yang diambil dari webcam secara langsung

2. Menampilkan data video diambil dari webcam secara langsung

3. Melakukan pengambilan gambar background dan frame

(42)
(43)

3.2.1.2 Proses menentukan detection window

Gambar 3.3 merupakan gambar diagram alir untuk menentukan detection window. Berikut adalah penjelasan langkah – langkah algoritma proses menentukan detection window :

1. Data masukan berupa gambar background dan frame hasil dari proses sebelumnya

2. Melakukan penentuan detection window (ROI) untuk jalur masuk dan jalur keluar pada background dan frame

3. Hasil dari proses tersebut berupa gambar input beserta ROI dengan ukuran dan posisi ROI sesuai dengan yang telah ditentukan, baik pada jalur masuk dan jalur keluar pada background dan frame

Mulai

(44)

3.2.1.3 Proses Grayscale

Gambar 3.4 merupakan gambar diagram alir untuk proses grayscale. Berikut adalah penjelasan langkah – langkah algoritma proses grayscale :

1. Data masukan berupa nilai setiap pixel di dalam ROI (Detection windows) pada background dan frame

2. Melakukan perubahan nilai intensitas setiap pixel dari RGB ke grayscale

3. Hasil dari proses tersebut berupa nilai intensitas setiap pixel di dalam ROI pada background dan pada frame yang sudah berupa citra grayscale

(45)

3.2.1.4 Proses perhitungan nilai NSSD

Gambar 3.5 (a) merupakan gambar diagram alir untuk perhitungan nilai NSSD, dimana di dalam perhitungan nilai NSSD terdapat proses perhitungan selisih nilai piksel frame dan background, pemangkatan selisih nilai piksel frame dan background, penjumlahan hasil proses pemangkatan sebelumnya, sesuai dengan jumlah piksel yang ada pada ROI (detection window) frame dan background. Berikut adalah penjelasan langkah – langkah algoritma proses perhitungan nilai NSSD :

1. Data masukan berupa jumlah pixel pada ROI (Detection windows), nilai pixel di dalam ROI (Detection windows) pada background dan frame yang sudah berupa citra grayscale

2. Melakukan perhitungan nilai NSSD

3. Hasil dari proses tersebut berupa nilai NSSD

3.2.1.5 Proses Filtering

Gambar 3.5 (b) merupakan gambar diagram alir untuk proses filtering. Berikut adalah penjelasan langkah – langkah algoritma proses filtering :

1. Data masukan berupa jumlah nilai NSSD, Jumlah frame

2. Melakukan perhitungan rata-rata nilai NSSD

(46)

(b)

(a)

(47)

3.2.1.6 Proses Thresholding

Gambar 3.6 merupakan gambar diagram alir untuk proses thresholding. Berikut adalah penjelasan langkah – langkah algoritma proses thresholding :

1. Data masukan berupa rata-rata nilai NSSD, nilai pengali yang ditentukan oleh user

2. Melakukan perhitungan penghitungan nilai threshold dengan mengalikan nilai rata-rata NSSD dengan nilai pengali yang ditentukan oleh user

3. Hasil dari proses tersebut berupa nilai Threshold

(48)

3.2.1.7 Proses perhitungan orang lewat

Gambar 3.7 Diagram alir proses perhitungan jumlah orang lewat

Gambar 3.7 merupakan gambar diagram alir untuk proses perhitungan jumlah orang lewat. Berikut adalah penjelasan langkah – langkah algoritma proses perhitungan orang lewat :

1. Data masukan berupa nilai NSSD, nilai threshold

(49)

lebih besar dari nilai threshold dan status pada frame tersebut tidak sama dengan status pada frame sebelumnya (Temp).

3. Hasil dari proses tersebut berupa bertambahnya jumlah orang lewat

3.3 Rancangan Antarmuka Aplikasi

Dalam melakukan perancangan antarmuka aplikasi diharapkan mampu memenuhi aspek-aspek seperti user friendly (mudah dimengerti oleh user), sederhana, dan mengurangi terjadinya kesalahan saat user menggunakan aplikasi. Untuk memberikan gambaran awal tentang antarmuka aplikasi serta menjaga konsistensi dari desain aplikasi, maka perlu dibuat suatu rancangan masukan dan keluaran aplikasi.

a. Form Splash

Form splash merupakan form yang muncul pertama kali ketika aplikasi dijalankan. Form splash menampilkan nama dari aplikasi yang dijalankan. Berikut merupakan rancangan antarmuka dari form splash.

(50)

b. Form Utama

Form utama pada Gambar 3.9 ini digunakan untuk menampilkan data video yang diambil dari webcam secara langsung yang digunakan sebagai pengambilan gambar background dan frame. Juga terdapat ROI (detection window) pada frame dan background, yang digunakan sebagai fokus area perhitungan nilai piksel yang akan di proses seperti pada penjelasan diagram alir (flowchart) diatas, proses akan berjalan secara otomatis setelah user memberikan nilai pengali > 0.

Gambar 3.9 Form Utama

c. Form Hasil perhitungan

(51)

ditampilkan berdasarkan tanggal yang dicari, terlihat seperti pada gambar 3.10 dibawah ini.

Gambar 3.10 Form Hasil perhitungan

d. Form Konfirmasi

Pada aplikasi pembesaran citra ini, terdapat form konfirmasi yang akan terlihat apabila user ingin menutup aplikasi. Berikut form konfirmasi yang dimiliki oleh aplikasi ini :

1. Gambar 3.11 merupakan form konfirmasi ketika user ingin keluar. Sehingga ketika user meng-klik menu keluar, maka user akan menerima konfirmasi keluar untuk memperjelas apakah user benar– benar ingin keluar dari aplikasi.

(52)

3.4 Definisi Persyaratan

Perangkat lunak penghitung jumlah orang lewat menggunakan metode Normalized Sum-Squared Differences (NSSD) ini dirancang untuk sebuah tempat umum dengan model seperti tampak pada gambar dibawah

Gambar 3.12 Model penerapan aplikasi

Gambar model penerapan aplikasi diatas menjelaskan bahwa :

a. Model pintu masuk dan pintu keluar yang berdampingan dan terdapat sekat pemisah antara pintu masuk dan pintu keluar

b. Penempatan webcam berada diatas pintu masuk dan keluar

(53)

d. Pintu masuk dan pintu keluar merupakan jalur satu arah yang khusus bagi para pengunjung

e. Penghitungan yang dilakukan yaitu jumlah orang yang lewat pada pintu masuk dan pintu keluar, menuju ataupun dari dalam tempat

f. Pengunjung melewati pintu yang di desain hanya bisa dilewati satu per satu dan antar pengunjung terdapat sela atau jedah waktu tertentu

(54)

4.1 Kebutuhan Aplikasi

Sebelum melakukan implementasi dan menjalankan aplikasi penghitung

jumlah orang lewat, dibutuhkan spesifikasi perangkat keras dan perangkat lunak

dengan kondisi tertentu agar dapat berjalan dengan baik. Berikut ini adalah

perangkat keras yang digunakan dalam implementasi aplikasi penghitung jumlah

orang lewat adalah sebagai berikut :

a. Notebook Compaq C510

b. Intel Pentium Core 2 Duo

c. Memory 2 Gb DDR2.

d. Harddisk 250 Gb

e. C-Junction Webcam

Perangkat lunak yang digunakan dalam implementasi aplikasi penghitung

jumlah orang lewat ini adalah sebagai berikut :

a. Microsoft Windows Xp

b. Visual Basic 6.0

(55)

4.2 Potongan Program

Dalam sub bab ini akan dijelaskan mengenai beberapa potongan program

Visual basic sebagai implementasi dari algoritma yang sudah dijelaskan pada bab sebelumnya.

a. Proses inisialisasi webcam

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long

Public Const WM_CAP_CONNECT As Long = 1034 Public Const WM_CAP_DISCONNECT As Long = 1035 Public Const WM_CAP_GET_FRAME As Long = 1084 Public Const WM_CAP_COPY As Long = 1054

Public Const WM_CAP_START As Long = WM_USER

Inisialisasi webcam menggunakan fungsi API pada visual basic, dimana digunakan untuk mengambil data video secara langsung dan untuk pengambilan

input berupa background image dan frame.

b. Proses menjalankan kamera

If mCapHwnd <> 0 Then Exit Sub FrameNum = 0

(56)

Me.Timer1.Enabled = False

' capture video

mCapHwnd = capCreateCaptureWindowA("WebCap", 0, 0, 0, m_Width, m_Height, Me.hwnd, 0)

DoEvents

' koneksi ke webcam

Call SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0)

DoEvents

Call SendMessage(mCapHwnd, WM_CAP_SET_PREVIEW, 0, 0)

' informasi timer1

bStopped = False

Me.Timer1.Enabled = True

Proses menjalankan kamera dilakukan oleh user dengan menekan button

capture video, dan data video yang diambil secara langsung nantinya digunakan sebagai input yang berupa pengambilan background image dan frame

c. Proses pengambilan background image

'* Ambil background

Picture3.Picture = Picture2.Picture

Proses pengambilan background image diambil pada saat keadaan jalan masih

kosong / belum ada orang lewat, dimana pengambilan background image disini

berfungsi untuk perhitungan mendapatkan nilai selisih antara nilai piksel frame

(57)

d. Proses mendapatkan nilai RGB pada piksel dalam ROI

For k = 1 To Shape2.Width Step 15 For l = 1 To Shape2.Height Step 15

pixelmasuk = Picture3.Point(k + Shape4.Left, l + Shape4.Top)

'pengambilan pixel pada ROI background 'RGB Background

red = pixelmasuk And RGB(255, 0, 0)

green = Int((pixelmasuk And RGB(0, 255, 0)) / 256)

blue = Int((Int(pixelmasuk And RGB(0, 0, 255)) / 256) / 256)

Proses mendapatkan nilai RGB pada ROI dilakukan secara berurutan

menggunakan proses looping hingga semua piksel pada ROI terpenuhi, nantinya

nilai RGB ini dirubah menjadi citra grayscale agar nilai piksel hanya satu.

e. Proses perubahan model warna RGB menjadi cira grayscale

For k = 1 To Shape2.Width Step 15 For l = 1 To Shape2.Height Step 15

pixelmasuk = Picture3.Point(k + Shape4.Left, l + Shape4.Top)

'pengambilan pixel pada ROI background 'RGB Background

red = pixelmasuk And RGB(255, 0, 0)

green = Int((pixelmasuk And RGB(0, 255, 0)) / 256)

blue = Int((Int(pixelmasuk And RGB(0, 0, 255)) / 256) / 256)

lbmasuk = (red + green + blue) / 3 'proses grayscale

Picture7.PSet (k, l), RGB(lbmasuk, lbmasuk, lbmasuk) 'perubahan warna setiap pixel di ROI background pada picture

(58)

Proses perubahan model warna RGB menjadi cira grayscale seperti pada

persamaan 2.1, dimana memiliki perhitungan penjumlahan nilai red, green, blue

kemudian dibagi 3, nantinya nilai piksel hanya menjadi satu dan proses

perhitungan menjadi lebih mudah karena yang diolah berupa nilai piksel dari

proses grayscale

f.Proses perhitungan NSSD

'Penerapan NSSD

For k = 1 To Shape2.Width Step 15 For l = 1 To Shape2.Height Step 15

pixelmasuk = Picture3.Point(k + Shape4.Left, l + Shape4.Top)

'pengambilan pixel pada ROI background 'RGB Background

red = pixelmasuk And RGB(255, 0, 0)

green = Int((pixelmasuk And RGB(0, 255, 0)) / 256)

blue = Int((Int(pixelmasuk And RGB(0, 0, 255)) / 256) / 256) lbmasuk = (red + green + blue) / 3 'proses grayscale

Picture7.PSet (k, l), RGB(lbmasuk, lbmasuk, lbmasuk) 'perubahan warna setiap pixel di ROI background pada picture

warnamasuk = Picture2.Point(k + Shape2.Left, l + Shape2.Top)

'pengambilan pixel pada ROI Frame 'RGB Frame

red = warnamasuk And RGB(255, 0, 0)

green = Int((warnamasuk And RGB(0, 255, 0)) / 256)

blue = Int((Int(warnamasuk And RGB(0, 0, 255)) / 256) / 256) lfrmasuk = (red + green + blue) / 3 'proses grayscale

Picture6.PSet (k, l), RGB(lfrmasuk, lfrmasuk, lfrmasuk) 'perubahan warna setiap pixel di ROI Frame pada picture

nmasuk = nmasuk + 1 'proses perhitungan jumlah pixel pada ROI frame

(59)

JumSelisihNilaiPixelMasuk = JumSelisihNilaiPixelMasuk + ((lfrmasuk -

'proses mendapatkan nilai NSSDkeluar pada setiap frame

NSSDmasuk = JumSelisihNilaiPixelMasuk / nmasuk txtNSSDmasuk.Text = NSSDmasuk

Proses perhitungan NSSD diawali dengan pengambilan background,

mengubahnya menjadi grayscale dan menentukan detection window pada jalur

orang lewat yang akan diamati. Hal yang sama dilakukan juga untuk setiap

frame video yang ditampilkan. Detection window atau ROI (Region of Interest) pada background dan frame harus pada posisi yang sama sehingga luasan area yang diamati sama persis. Jumlah nilai pixel pada frame dan

background diambil selisihnya dan dikuadratkan. Hasil tersebut dibagi dengan luasan detection window untuk dinormalisasi, seperti pada persamaan 2.4

g. Proses perhitungan filtering

'proses filtering

JumFramemasuk = JumFramemasuk + 1 'perhitungan jumlah frame

txtjmlframemasuk.Text = JumFramemasuk

JumNSSDmasuk = JumNSSDmasuk + NSSDmasuk 'penjumlahan nilai

NSSDkeluar setiap frame

txtjmlNSSDmasuk = JumNSSDmasuk

(60)

txtfiltermasuk.Text = Filtermasuk

Proses filtering disini menggunakan LowPass Filter ini menggunakan cara

merata-rata setiap data yang diperoleh. Proses filtering membutuhkan input

jumlah frame dan jumlah nilai NSSD, dimna nanti proses perhitungannya adalah jumlah nilai NSSD / jumlah frame. Perhitungan ini sesui dengan persamaan 2.2.

h. Proses perhitungan thresholding

'proses thresholding

threshold = Filter * Val(cmbxnilaipengali.Text) 'proses perhitungan nilai filter dengan nilai pengali yang ditentukan oleh user

txthasiltresholdmasuk.Text = thresholdmasuk

Perhitungan proses thresholding mempunyai input berupa nilai rata-rata NSSD

(nilai hasil dari proses filtering) yang dikalikan oleh nilai pengali yang diberikan

oleh user, fungsi proses thresholding disini adalah mengubah citra greyscale

menjadi citra biner, seperti pada persamaan 2.3.

i. Proses perhitungan orang lewat

'proses perhitungan orang lewat

(61)

txttempmasuk.Text = txtstatusmasuk.Text

Proses perhitungan orang lewat memiliki data masukan berupa nilai NSSD,

nilai threshold. Melakukan perhitungan jumlah orang yang lewat, Apabila nilai

NSSD lebih besar dari nilai threshold maka satus = 1 (Lewat) dan apabila

nilai NSSD lebih kecil dari nilai threshold maka status = 2 (Kosong). Jumlah

orang bertambah apabila Apabila nilai NSSD lebih besar dari nilai

threshold dan status pada frame tersebut tidak sama dengan status pada frame sebelumnya (Temp).

4.3 Implementasi Antarmuka

Pada tahap ini akan dijabarkan tentang implementasi antarmuka dari

aplikasi penghitung jumlah orang lewat menggunakan metode NSSD, berdasarkan

perancangan yang telah dibuat. Form - form yang digunakan, antara lain :

1. Form Splash.

(62)

3. Form Konfirmasi. 4. Form Hasil perhitungan

4.3.1 Form Splash

Form ini tampak pada saat aplikasi pertama kali dijalankan. Form splash ini perlu dibuat agar dapat diketahui nama dari aplikasi tersebut. Seperti terlihat

pada gambar 4.1 dibawah. Berikut adalah antarmuka dari form splash.

Gambar 4.1 Form Splash 4.3.2 Form Utama

Berikut ini akan dijelaskan mengenai menu-menu yang terdapat di form

utama. Form utama pada Gambar 4.2 ini digunakan untuk menampilkan data

video yang diambil dari webcam secara langsung yang digunakan sebagai

pengambilan gambar background dan frame. Juga terdapat ROI (detection

(63)

(flowchart) pada bab 3, proses akan berjalan secara otomatis setelah user

memberikan nilai pengali > 0. Pada form utama terdapat beberapa menu yaitu :

a. Menu File

Jika menu utama di klik, maka user akan masuk ke sub menu keluar , dimana

ketika sub menu di tekan maka akan muncul form konfirmasi yang menanyakan

apakah anda ingin keluar, jika ditekan button ya maka program akan mati dan jika

tidak maka akan dihadapkan lagi dengan form utama.

b. Menu View

Berisi dua sub menu yaitu cam perhitungan NSSD dan data perhitungan NSSD,

dimana bila sub menu cam perhitungan NSSD ditekan maka akan ditampilkan

form utama sendiri dan apabila sub menu data perhitungan NSSD ditekan maka

akan memanggil Form Hasil perhitungan.

(64)

4.3.3 Form konfirmasi

Form konfirmasi digunakan untuk mengakhiri dalam menggunakan aplikasi atau ingin menutup form tertentu. Berikut merupakan beberapa form

konfirmasi yang dimiliki oleh aplikasi ini.

a. Konfirmasi Keluar

Konfirmasi keluar tampil ketika user ingin mengakhiri atau menutup form.

Hal ini bertujuan untuk meyakinkan user akan pilihannya untuk keluar. Form

konfirmasi keluar dapat dilihat pada gambar 4.3

Gambar 4.3 Form Konfirmasi Keluar 4.3.4 Form Hasil perhitungan

Form Hasil perhitungan digunakan untuk menampilkan data hasil perhitungan dan data adanya orang lewat baik masuk ataupun keluar, yang

ditampilkan berdasarkan tanggal yang dicari, terlihat seperti pada gambar 4.4

(65)
(66)

5.1Uji Coba Perhitungan Jumlah Orang Lewat

5.1.1 Uji Coba Perhitungan menggunakan simulasi yang dibuat

Uji coba perhitungan jumlah orang lewat yang dilakukan menggunakan

data real-time pada simulasi yang dibuat.

Tabel 5.1 Tabel Data Uji Coba Simulasi Secara Real-time

1 Tanggal Uji coba Tgl 31-3-2011

2 Waktu mulai 11-01-51 PM

3 Watu akhir 11-02-56 PM

4 Durasi 0:1:5

5 Jumlah Frame 64

6 Nilai Pengali 0.6

Beberapa hasil perekaman webcam ditunjukkan seperti Gambar 5.1 berikut :

(67)

(c) Tgl 31-3-2011 Jam 11-02-19 PM (d) Tgl 31-3-2011 Jam 11-02-29 PM

(e) Tgl 31-3-2011 Jam 11-02-38 PM (f) Tgl 31-3-2011 Jam 11-02-47 PM

Gambar 5.1 Gambar a merupakan gambar background, gambar b,c,d,e,f merupakan gambar simulasi robot lewat hasil percobaan data real-time

Hasil dari proses perhitungan nilai NSSD ini dapat dilihat pada gambar 5.2

(68)

Gambar 5.3 Nilai Filtering Percobaan Menggunakan Data simulasi secara Real-Time

Gambar 5.4 Nilai Treshold Percobaan Menggunakan Data simulasi secara Real-Time

Hasil perhitungan simulasi robot lewat yang dilakukan oleh aplikasi

penghitung jumlah orang lewat menggunakan metode Normalized

(69)

yang masuk (jalur masuk) dan 0 obyek yang keluar (jalur keluar), jadi jumlah

obyek yang ada di dalam ruangan adalah 5. Jika dibandingkan dengan hasil

perhitungan secara manual maka prosentase keberhasilannya adalah 100 % .

5.1.2 Uji Coba Perhitungan menggunakan orang lewat sebenarnya

Uji coba perhitungan jumlah orang lewat yang dilakukan menggunakan

orang lewat sebenarnya.

Tabel 5.2 Tabel Data Uji Coba Orang Lewat Sebenarnya Real-time

1 Tanggal Uji coba Tgl 30-3-2011

2 Waktu mulai 12-40-30 PM

3 Watu akhir 12-42-55 PM

4 Durasi 0:2:15

5 Jumlah Frame 135

6 Nilai Pengali 0.6

Beberapa hasil perekaman webcam ditunjukkan seperti Gambar 5.5 berikut :

(70)

(c) Tgl 30-3-2011 Jam 12-40-35 PM (d) Tgl 30-3-2011 Jam 12-40-40 PM Gambar 5.5 Gambar a merupakan gambar background, gambar b,c merupakan gambar orang lewat hasil percobaan data real-time, gambar d merupakan gambar adanya perubahan intensitas cahaya

Hasil perhitungan orang lewat yang dilakukan oleh aplikasi penghitung

jumlah orang lewat menggunakan metode Normalized Sum-Squared Differences

(NSSD) tidak sesuai dengan jumlah orang sebenarnya dengan jumlah orang yang

terhitung, karena terdapat beberapa faktor seperti berubahnya intensitas cahaya,

adanya bayangan yang terhitung orang lewat dan faktor kecepatan jalan manusia

yang terlalu cepat dari kecepatan capture aplikasi.

5.2 Analisa Uji Coba

Keseluruhan hasil uji coba aplikasi penghitung jumlah orang lewat

menggunakan metode Normalized Sum-Squared Differences (NSSD) dapat dilihat

(71)

5.2.1 Analisa Hasil Uji Coba dengan Variasi Iluminasi

Tabel 5.3 Tabel Hasil Uji Coba Dengan Variasi Iluminasi

No Kondisi

lewat dengan metode Normalized Sum-Squared Differences (NSSD) dapat

bekerja dengan baik pada saat objek bergerak dengan kecepatan

normal, namun apabila objek bergerak dengan cepat maka tingkat keberhasilan

aplikasi akan berkurang. Hal ini dikarenakan aplikasi mengalami delay.

Rata-rata delay pada percobaan dengan objek berjalan cepat dan pergerakan

objek lebih cepat dari kecepatan capture program sehingga ketika objek

melewati detection window, gambar tidak terekam. Besarnya delai program

bergantung pada besarnya detection window yang dibuat.

Semakin besar detection window maka kecepatan capture program semakin

berkurang. Selain itu sistem penghitung jumlah orang lewat menggunakan

metode Normalized Sum-Squared Differences (NSSD) juga bekerja dengan baik

(72)

sama dengan warna objek yang lewat. Tetapi apabila jarak antara objek satu

dengan objek lainnya cukup dekat maka tingkat keberhasilan aplikasi

akan berkurang. Hal ini dikarenakan antar obyek tidak terdapat sela yang cukup

sehingga nilai NSSD selalu melebihi nilai Threshold.

5.2.2 Hasil Uji Coba dengan Variasi Nilai Pengali

Tabel 5.4 Tabel Hasil Uji Coba dengan Variasi Nilai Pengali

No Nilai Pengali

Besarnya nilai pengali yang ditentukan oleh user mempengaruhi proses

penghitungan jumlah orang lewat. Hal ini dikarenakan besarnya nilai

(73)

pengali tersebut. Oleh karena itu ketepatan penentuan nilai pengali berpengaruh

terhadap tingkat keberhasilan. Untuk penjelasan table 5.4 perhitungan dimulai

dengan penentuan nilai pengali yang digunakan untuk mendapatkan nilai

threshold , dimana nilai threshold nanti digunakan sebagai pembanding nilai nssd untuk proses perhitungan orang lewat. Disini saya menggunakan nilai pengali 0.6

karena penentuan threshold terbaik setelah saya uji sendiri menggunakan nilai

penggali 0.1 sampai 0.9 adalah 0.6 dan saya juga merujuk pada penelitian

sebelumnya, bahwa penentuan nilai threshold terbaik adalah sekitar 0.5 lebih dari

nilai filter. Dimana penentuan perhitungan seperti berikut :

Waktu Mulai = 11-01-51 PM

Waktu Berakhir = 11-02-56 PM

Durasi = 0:1:5

Jumlah Frame = 65

Jumlah Obyek = 5

Jumlah Obyek terhitung = 5

Nilai pengali = 0.6

Tabel 5.5 Perhitungan aplikasi

Frame

Jml Piksel ROI

Selisih

Piksel NSSD Filter Treshold Lewat Jam

18 1036 23280 22.47104247 769.0986284 461.459177 1 11-02-09 PM

28 1036 54549 52.65315315 888.1180326 532.8708195 1 11-02-19 PM

38 1036 71411 68.92910768 946.8549104 568.1129462 1 11-02-29 PM

47 1036 103793 100.1864007 944.0572898 566.4343739 1 11-02-38 PM

(74)

Dijelaskan pada table diatas, bahwa pada frame 18, 28, 38, 47, 56 terdapat

obyek lewat. Dimana pada table diatas sudah menjelaskan nilai perhitungan nilai

nssd dan nilai threshold, Dari Tabel 5.5 dapat dilihat bahwa besarnya

pengali dapat menentukan tingkat keberhasilan program sebesar 100% , dan

perhitungan selengkapnya terdapat pada lampiran.

5.3Evaluasi

Hasil evaluasi dari uji coba perhitungan jumlah orang lewat yang telah

dilakukan membuktikan bahwa aplikasi yang telah dibuat dapat berjalan dengan

baik sesuai dengan fungsinya. Sedangkan aplikasi penghitung jumlah orang

lewat dengan metode Normalized Sum-Squared Differences (NSSD) dapat

bekerja dengan baik pada saat objek bergerak dengan kecepatan

normal, namun apabila objek bergerak dengan cepat maka tingkat keberhasilan

aplikasi akan berkurang. Hal ini dikarenakan sistem mengalami delai ,

rata-rata delai pada percobaan dengan objek berjalan cepat dan pergerakan objek

lebih cepat dari kecepatan capture program sehingga ketika objek melewati

detection window, gambar tidak terekam. Besarnya delai program bergantung pada besarnya detection window yang dibuat, Semakin besar detection window

maka kecepatan capture program semakin berkurang.

Selain itu aplikasi penghitung jumlah orang lewat menggunakan

metode Normalized Sum-Squared Differences (NSSD) juga bekerja dengan baik

apabila kondisi ruangan relatif terang, walaupun warna background hampir

(75)

dengan objek lainnya cukup dekat maka tingkat keberhasilan aplikasi

akan berkurang. Hal ini dikarenakan antar obyek tidak terdapat sela yang cukup

sehingga nilai NSSD selalu melebihi nilai Threshold.

Besarnya nilai pengali yang ditentukan oleh user mempengaruhi proses

penghitungan jumlah orang lewat. Hal ini dikarenakan besarnya nilai

threshold ditentukan dari nilai rata-rata NSSD yang dikalikan dengan nilai pengali tersebut. Oleh karena itu ketepatan penentuan nilai pengali berpengaruh

(76)

6.1 Kesimpulan

Dari hasil uji coba yang telah dilakukan terhadap aplikasi perhitungan

jumlah orang lewat menggunakan metode Normalized Sum-Squared Differences

(NSSD), maka dapat diambil kesimpulan berdasarkan dari hasil rumusan

masalah yang telah disebutkan sebelumnya adalah sebagai berikut:

1. Aplikasi penghitung jumlah orang lewat menggunakan metode

Normalized Sum-Squared Differences (NSSD) telah berhasil diimplementasikan untuk data yang bersifat real time.

2. Aplikasi sebagai penghitung jumlah orang lewat baik masuk maupun

keluar sehingga dapat diketahui secara keseluruhan tidak bekerja

secara baik atau tidak berhasil untuk penerapan pada data

sesungguhnya, karena adanya faktor intensitas cahaya yang masih

belum bisa diatasi pada aplikasi ini. Namun untuk penerapan pada data

simulasi bekerja dengan cukup baik dengan persentase 100%, dimana

telah ditetapkan batasan dan perangkat keras ataupun lunak yang telah

disebutkan sebelumnya.

3. Kecepatan pergerakan objek mempengaruhi tingkat keberhasilan

(77)

lewat pada detection window oleh program.

4. Ketepatan penentuan nilai pengali oleh user mempengaruhi tingkat

keberhasilan sistem. Hal ini dikarenakan besarnya nilai threshold

ditentukan dari nilai rata-rata NSSD yang dikalikan dengan nilai

pengali tersebut.

5. Perubahan intensitas cahaya pada sekitar pintu masuk sangat

mempengaruhi kerja aplikasi ini, meskipun terdapat perubahan cahaya

sedikit.

6.2 Saran

Adapun saran-saran yang dapat digunakan untuk mengembangkan aplikasi

yang telah dibuat pada tugas akhir ini adalah sebagai berikut :

1. Karena besarnya ROI berpengaruh terhadap lamanya proses

perhitungan sehingga mempengaruhi kecepatan capture gambar

pada aplikasi maka untuk proses penentuan ROI perlu

dikembangkan secara otomatis sesuai dengan besarnya objek yang

lewat.

2. Untuk pengembangan perangkat lunak, maka dapat ditambahkan fungsi

untuk membedakan objek yang lewat, apakah yang lewat adalah

orang atau bukan.

3. Karena aplikasi dirancang hanya untuk model pintu masuk dan

(78)

dengan menggunakan dua kamera.

4. Karena intensitas cahaya sangat mempengaruhi maka untuk

pengembangan aplikasi, maka dapat mengatasi adanya perubahan

intensitas cahaya pada tempat penerapan aplikasi (pintu), misalnya

dengan cara selalu mengupdate background image apabila ada

perubahan intensitas cahaya namun bukan perubahan intensitas cahaya

(79)

[1]

Agung “ sistem-lalu-lintas” http://ocu-agung.blogspot.com/2008/05/sistem-lalu-lintas.htm , 02 Maret 2011, 19.36 WIB

[2]

Aniati M., Dina C., “Pengolahan Citra Digital : Konsep Dasar Representasi Citra”, www.cs.ui.ac.id/WebKuliah/citra/2005/citra4d.ppt , 05 Maret 2011, 20.36 WIB

[3]

Lande. S., “ Program Penghitung Orang Lewat Menggunakan Webcam”, http://puslit.petra.ac.id/journals/informatics/ , 07 Maret 2011, 21.36 WIB

[4]

M. Ali, Nazleena, 2004, “TeoriWarna”

,www.ftsm.ukm.my/nma/BAB%206B%20- %20TH2563.ppt , 12 Maret 2011, 15.36 WIB

[5]

Marlon leong,Dari Programer Untuk Programer Visual Basic , Andi Yogyakarta,2006)

[6]

Rinaldi Munir ,” Penggolahan Citra Digital dengan pendekatan Algoritmatik”.Informatika ,Bandung ,Juni 2004

[7]

Gambar

Gambar 2.12 Kotak Dialog Open – Tabulasi New
Gambar 2.15 Tool Bar
Gambar 2.17  Jendela project explorer
Gambar 2.19 Form window
+7

Referensi

Dokumen terkait

Proses yang dilakukan adalah mengecek jika setiap titik pada piksel frame bernilai 255 maka akan dilakukan proses pengabungan antara background dan hasil1 dengan

Gambar yang diambil oleh kamera bersifat digital dan jika perhitungan tempat parkir pun masih dilakukan dengan manual, dengan menggunakan metode background

Dengan window size sebesar 25x25 piksel (sehingga SIZE = 625 pada persamaan 2.11) dilakukan connected component analysis untuk menghubungkan komponen ke lingkup piksel

Penerapan metode transposisi pada video dilakukan untuk melakukan pengacakan piksel yang menyusun frame secara horizontal dan vertikal sesuai dengan kunci simetri untuk

Metode PVD ini menggunakan selisih nilai piksel yang satu dengan nilai piksel yang lain, dimana hasil selisih kedua pixel tersebut nantinya akan digunakan untuk

Penerapan metode transposisi pada video dilakukan untuk melakukan pengacakan piksel yang menyusun frame secara horizontal dan vertikal sesuai dengan kunci simetri untuk

Pergolakan api membuat nilai Red piksel pada setiap region api akan mengalami berkali-kali perubahan nilai antara piksel api menjadi piksel background dan

Dari penelitian tersebut dapat disimpulkan untuk menghitung pengunjung yang masuk melewati pintu, dapat menggunakan kamera sebagai sensor, metode Background