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

(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.

6. Bapak dan Ibu dosen Teknik Informatika yang telah memberikan ilmunya kepada penulis selama kuliah.


(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. 10. Teman- teman mahasiswa dan teman-teman diluar kampus yang tak bisa saya

sebutkan satu persatu,,,,,terimakasih atas semua dukungan selama ini dan terimakasi atas pertemanannya……


(5)

DAFTAR ISI

Hal.

ABSTRAK... i

KATA PENGANTAR... ii

UCAPAN TERIMA KASIH... iii

DAFTAR ISI... v

DAFTAR GAMBAR... viii

DAFTAR TABEL... x

BAB I PENDAHULUAN... 1

1.1 Latar Belakang... 1

1.2 Rumusan Masalah... 2

1.3 Batasan Masalah... 2

1.4 Tujuan... 3

1.5 Manfaat... 4

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

2.2 Model warna... 12

2.2.1 Model warna HSV... 12

2.2.2 Model warna CMYK…... 12

2.2.3 Model warna RGB……….. 14

2.3 Citra Grayscale... 16


(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……… 2.9.3 Tool Bar……… 2.9.4 Tool Box……….. 2.9.5 Project ……… 2.9.6 Properties Windows……….. 2.9.7 Form window………. 20 21 22 22 23 24 24 25 25 26 BAB III ANALISA DAN PERANCANGAN ... 27

3.1 Analisa... 27

3.2 Perancangan... 29

3.2.1 Algoritma dan Diagram Alir…... 30

3.2.1.1 Input citra………... 30

3.2.1.2 Proses menentukan detection window... 32

3.2.1.3 Proses Grayscale……….. 33

3.2.1.4 Proses perhitungan nilai NSSD……… 34

3.2.1.5 Proses Filtering………. 34

3.2.1.6 Proses Thresholding………. 36

3.2.1.7 Proses perhitungan orang lewat……… 37

3.3 Rancangan Antarmuka Aplikasi ………... 38


(7)

BAB IV IMPLEMENTASI DAN EVALUASI... 43

4.1 Kebutuhan Aplikasi... 43

4.2 Potongan Program……... 44

4.3 Implementasi Antarmuka... 50

4.3.1 Form Splash... 51

4.3.2 Form Utama... 52

4.3.3 Form Konfirmasi... 53

4.3.4 Form Hasil Perhitungan…….………….……….. 53

BAB V UJI COBA DAN EVALUASI... 55

5.1 Uji CobaPerhitungan Jumlah Orang Lewat... 55

5.1.1 Uji Coba Perhitungan menggunakan simulasi yang dibuat... 55

5.1.2 Uji Coba Perhitungan menggunakan orang lewat sebenarnya... 58 5.2 Analisa Uji Coba... 59

5.2.1 Analisa Hasil Uji Coba dengan Variasi Iluminasi……… 60

5.2.2 Hasil Uji Coba dengan Variasi Nilai Pengali……….. 5.3 Evaluasi……….. 61 62 BAB VI PENUTUP... 65

6.1. Kesimpulan... 65

6.2. Saran... 66

LAMPIRAN……… 68


(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.6 Model warna CMYK... 14

2.7 Model warna RGB... 14

2.8 Nilai Warna RGB Dalam Hexadesimal... 16

2.9 Komposisi Warna Grayscale………16

2.10 Citra RGB (a) dan Citra Grayscale (b)……… 17

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.1 Diagram alir Aplikasi... 29

3.2 Diagram alir input citra... 31

3.3 Diagram alir proses menentukan detection window... 32

3.4 Diagram alir proses grayscale...33

3.5 (a) Diagram alir perhitungan NSSD , (b) Diagram alir proses filtering... 35

3.6 Diagram alir proses thresholding... 36

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

3.8 Form Splash... 38

3.9 Form Utama... 39

3.10 Form Hasil perhitungan ………... 40

3.11 Form Konfirmasi Keluar………...40

3.12 Model penerapan aplikasi ……….………... 41

4.1 Form Splash... 51

4.2 Form Utama... 52

4.3 Form Konfirmasi Keluar... 53

4.4 Form Hasil perhitungan... 54 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……….

62


(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.

Untuk memudahkan perhitungan jumlah pengunjung disuatu tampat umum dapat menggunakan teknologi multimedia. Teknologi multimedia merupakan perpaduan dari unsur - unsur gambar, suara, animasi serta video disatukan didalam komputer untuk disimpan, diproses dan disajikan guna membentuk interaksi yang inovatif antara komputer dengan manusia. Contohnya perhitungan jumlah orang lewat disuatu tempat dapat diketahui dari adanya


(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

Agar tidak terjadi kesalahan persepsi dan tidak meluasnya pokok bahasan, maka terdapat batasan-batasan masalah sebagai berikut:


(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 :

1. Merancang suatu aplikasi yang dapat menampilkan data video hasil perekaman webcam secara real time.


(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

Pada tahap ini dilakukan pengumpulan dokumen-dokumen referensi tentang pengertian tentang citra, model warna, greyscaling, metode NSSD, filtering, tresholding yang digunakan untuk mendukung program yang akan dibuat. 2. Pembuatan program


(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

Pada bab ini berisikan tentang latar belakang masalah, perumusan masalah, batasan masalah, tujuan, manfaat, dan sistematika penulisan pembuatan tugas akhir ini.


(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

Bab ini berisi kesimpulan yang diperoleh dari hasil penganalisaan data dalam bab-bab sebelumnya, juga berisi tentang saran-saran


(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 dengan data citra, namun tujuan ketiganya berbeda, yaitu:


(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 dibentuk oleh garis-garis lurus, dengan data masukan berupa koordinat awal dan


(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 tersebut, dan memberikan keluaran berupa deskripsi objek di dalam citra. [1]


(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 dibelakangnya adalah hexadecimal. [2]


(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

Hasil dari proses grayscaling ditunjukkan pada gambar dibawah ini. [3]


(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 :

Persamaan 2.4

Keterangan :

IC(i) = intensitas frame pada pixel (i)

IB(i) = intensitas background pada pixel (i)

Q = detection region/ROI (Region of Interest)

N = jumlah pixel pada area Q

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 muncul seperti pada Gambar 2.13


(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 letak atau file yang dikerjakan. [7]


(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 program baik desain maupun penggeditan gambar,button dan sebagainya. [7]


(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 Gambar 2.18. [7]


(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 sebagainya. [7]


(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.

Aplikasi mempunyai input data video yang diambil dari webcam secara langsung, pengambilan gambar background dan frame, dimana nantinya data input ini akan digunakan untuk mendapatkan selisih nilai piksel antara frame dan background. Output sistem merupakan hasil perhitungan jumlah orang lewat baik


(39)

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

Awal pendeteksian yang dilakukan dengan penerapan sebuah metode deteksi nilai pixel yang dinamakan metode RGB agar mendapatkan nilai warna merah, hijau, biru pada suatu pixel. Deteksi akan dilakukan dengan cara menelusuri piksel pada ROI (detection window) baik pada frame maupun pada background secara brurutan, nantinya setiap nilai piksel akan dilakukan perubahan ke bentuk grayscale agar piksel tersebut hanya memiliki satu nilai saja, kemudian proses perhitungan pada metode NSSD dimana nilai piksel yang didapat akan digunakan untuk proses pengambilan selisih antara nilai piksel frame dan background, kemudin menuju ke proses selanjutnya yaitu pemangkatan dari nilai piksel frame dan background sebelumya agar tidak terjadi nilai minus, nantinya pada metode NSSD semua nilai piksel yang telah dipangkatkan akan dijumlahkan dengan nilai piksel selanjutnya kemudian hasil dari semua penjumlahan nilai piksel akan dibagi dengan banyaknya piksel pada ROI (Detection window) untuk mendapatkan hasil normalisasi dari metode NSSD. Setelah peoses perhitungan NSSD selesai selanjutnya akan dilakukan proses filtering pada nilai NSSD yang dihasilkan, dimana akan terdapat penjumlahan semua nilai NSSD kemudian dibagi dengan banyaknya frame, agar mendapatkan nilai rata-rata NSSD dan perbedaaan nilai NSSD satu dengan lainya tidak begitu jauh. Selanjutnya proses tresholding dimana proses tresholding memiliki makna merubah citra grayscale menjadi biner, disini dalam perhitungan tresholding sendiri membutuhkan input nilai dari proses filtering, setelah proses tresholding selesai maka selanjtnya pada


(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

Secara garis besar alur perhitungan jumlah orang lewat terdiri dari beberapa proses yaitu input citra yang terdiri dari input data video yang diambil dari


(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

4. Hasil dari proses tersebut berupa data video dapat dinikmati secara visual oleh user (frame) dan gambar background.


(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

Input : gambar

background dan

frame

Penentuan detection window (ROI) untuk jalur masuk dan jalur

keluar pada

background dan frame

Selesai Output : gambar input beserta ROI dengan ukuran dan posisi ROI sesuai dengan yang telah ditentukan


(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)

Gambar 3.5 (a) Diagram alir perhitungan NSSD , (b) Diagram alir proses filtering


(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

2. 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


(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

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


(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

c. Titik fokus untuk melakukan perhitungan yang dilakukuan webcam hanya pada ROI (detection window) pada jalur 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

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


(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 dan background


(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

Next l Next k


(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 'proses pengambilan selisih frame dan background

'proses pemangkatan selisih agar tidak ada nilai minus 'proses penjumlahan seluruh nilai selisih


(59)

JumSelisihNilaiPixelMasuk = JumSelisihNilaiPixelMasuk + ((lfrmasuk - lbmasuk) ^ 2)

Next l Next k

penjumlahanpixelmasuk.Text = JumSelisihNilaiPixelMasuk txtjmlpixelmasuk.Text = nmasuk

'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

If NSSDmasuk > thresholdmasuk Then txtstatusmasuk.Text = "1"


(61)

Jummasuk = Jummasuk + 1 txtJummasuk.Text = Jummasuk

End If

Else 'NSSDmasuk < thresholdmasuk

txtstatusmasuk.Text = "2"

End If

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

window) pada frame dan background, yang digunakan sebagai fokus area perhitungan nilai piksel yang akan di proses seperti pada penjelasan diagram alir


(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 dibawah ini.


(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

Gambar 5.2 Nilai NSSD Percobaan Menggunakan Data simulasi secara Real-Time pada Jalur masuk


(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 Sum-Squared Differences (NSSD) dengan data real-time adalah sebanyak 5 obyek


(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 dalam tabel 5.2


(71)

5.2.1 Analisa Hasil Uji Coba dengan Variasi Iluminasi

Tabel 5.3 Tabel Hasil Uji Coba Dengan Variasi Iluminasi

No Kondisi

Jumlah Orang Terhitung

Jumlah orang sebenarnya

Porsentase Keberhasilan (%)

1 Kecepatan normal 5 5 100 (%)

2 Terang 5 5 100 (%)

3 Redup 5 5 100 (%)

Dari Tabel 5.3 dapat dilihat bahwa 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 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 apabila kondisi ruangan relatif terang, walaupun warna background hampir


(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

Jumlah Orang / Obyek Terhitung

Jumlah Orang / Obyek Sebenarnya

Jeda Waktu Orang / Obyek

1 0.1 5 5 9 detik

2 0.2 5 5 9 detik

3 0.3 5 5 9 detik

4 0.4 5 5 9 detik

5 0.5 5 5 9 detik

6 0.6 5 5 9 detik

7 0.7 5 5 9 detik

8 0.8 > 5 5 9 detik

9 0.9 > 5 5 9 detik

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


(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 sama dengan warna objek yang lewat. Tetapi apabila jarak antara objek satu


(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 terhadap tingkat keberhasilan,seperti pada table 5.4.


(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 aplikasi, dengan kata lain semakin cepat obyek bergerak maka


(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 pintu keluar yang berdampingan maka perlu dikembangkan


(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 dikarenakan obyek lewat.


(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]


(1)

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 sama dengan warna objek yang lewat. Tetapi apabila jarak antara objek satu


(2)

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 terhadap tingkat keberhasilan,seperti pada table 5.4.


(3)

65 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 aplikasi, dengan kata lain semakin cepat obyek bergerak maka


(4)

semakin besar kemungkinan gambar tidak terekam ketika objek 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 pintu keluar yang berdampingan maka perlu dikembangkan


(5)

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 dikarenakan obyek lewat.


(6)

95 [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]

Taryana Suryana, Visual Basic,Graha Ilmu,Bandung februari 2009).