69
VIDEO RECORDING DENGAN MOTION DETECTION MELALUI INTEGRASI WEBCAM - APLIKASI .NET TUGAS AKHIR Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Ilmu Komputer Disusun Oleh : MUHAMMAD MUHSIN DEMOKRAT NIM. M3307054 PROGRAM DIPLOMA III ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET 2010

VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

Embed Size (px)

Citation preview

Page 1: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

VIDEO RECORDING DENGAN MOTION DETECTION

MELALUI INTEGRASI WEBCAM - APLIKASI .NET

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya

Program Diploma III Ilmu Komputer

Disusun Oleh :

MUHAMMAD MUHSIN DEMOKRAT

NIM. M3307054

PROGRAM DIPLOMA III ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET

2010

Page 2: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

HALAMAN PERSETUJUAN

Disusun Oleh :

MUHAMMAD MUHSIN DEMOKRAT

NIM. M3307054

Laporan Tugas Akhir ini disetujui untuk dipresentasikan

pada Sidang Tugas Akhir

tanggal : 21 Juli 2010

Pembimbing

Budi Legowo, M.Si

NIP. 19730510 199903 1 002

Page 3: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

HALAMAN PENGESAHAN

VIDEO RECORDING DENGAN MOTION DETECTION

MELALUI INTEGRASI WEBCAM - APLIKASI .NET

Disusun Oleh :

MUHAMMAD MUHSIN DEMOKRAT

NIM : M3307054

Dibimbing oleh

Pembimbing Utama :

Budi Legowo, M.Si

NIP. 19730510 199903 1 002

Tugas Akhir ini telah diterima dan disahkan

Oleh dewan penguji Tugas Akhir

Program Diploma III Ilmu Komputer

Pada hari Kamis tanggal 5 Agustus 2010

Dewan Penguji: Tanda Tangan

1.

Budi Legowo, M.Si

NIP. 19730510 199903 1 002

(..........................................)

2.

Muhammad A. Safi’ie, S.Si

NIDN. 0603118103

(..........................................)

3.

Hartatik, M.Stat

NIDN. 0703057802

(..........................................)

Mengetahui,

Dekan Ketua

FMIPA UNS Program Diploma III Ilmu Komputer

Prof. Drs. Sutarno, M. Sc., Ph. D. Drs. Y. S. Palgunadi, M. Sc

NIP. 19600809 19812 1 001 NIP. 19560407 198303 1 004

Page 4: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

ABSTRACT

MUHAMMAD MUHSIN DEMOKRAT. 2010. VIDEO RECORDING WITH

MOTION DETECTION BY INTEGRATING WEBCAM –. NET

APPLICATION. Final Project. Diploma of Computer Science Faculty of

Mathematic and Natural Science. Sebelas Maret University of Surakarta.

In this final project, the author developed software to detect motion using a

webcam. These applications will be developed with a webcam and technology

based. NET Framework.

Software integrated with the principle of Doppler, where objects are already

available in. NET Framework. Software, will organize the object, in order to

connect with web camera that can display the motion graphics.

Can be concluded that the software VIDEO RECORDING WITH MOTION

DETECTION BY INTEGRATING WEBCAM –. NET APPLICATION

successfully created.

Key words: Doppler Effect, Motion Detection, Webcam, .NET Framework.

Page 5: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

ABSTRAK

MUHAMMAD MUHSIN DEMOKRAT. 2010. VIDEO RECORDING

DENGAN MOTION DETECTION MELALUI INTEGRASI WEBCAM –

APLIKASI .NET. Tugas Akhir (TA). DIII Ilmu Komputer Fakultas Matematika

dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret.

Dalam TA ini penulis mengembangkan software untuk mendeteksi gerakan

dengan menggunakan webcam. Aplikasi tersebut akan dikembangkan dengan

webcam dan berbasis teknologi .NET Framework.

Software dibangun dengan prinsip efek doppler, di mana objek-objek

tersebut telah tersedia dalam .NET Framework. Software akan mengorganisasi

objek tersebut, agar terkoneksi dengan webcam sehingga dapat menampilkan

gerakan dalam grafis.

Dapat ditarik kesimpulan bahwa software VIDEO RECORDING DENGAN

MOTION DETECTION MELALUI INTEGRASI WEBCAM – APLIKASI .NET

berhasil dibuat.

Kata Kunci : Efek Doppler, Motion Detection, Webcam, .NET Framework

Page 6: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

MOTTO

“Jika saya bisa melihat jauh, itu karena saya berdiri di atas bahu para raksasa.”

Sir Isaac Newton; fisikawan dan penulis salah satu buku terpenting di dunia :

Principia.

“Berpikir imajinatif, bertindak efisien.”

Jose Mourinho, mantan pelatih Chelsea FC.

“Bilangan dapat menghitung bilangan.”

Alan Turing; Penemu komputer colossus (pemecah kode nazi) – Penyusun standar

tes kecerdasan buatan (tes turing)

“Whatever your problem, NGEH is the answer.”

Kirana Larasati, artis teman twitter penulis.

“Yang paling diterima adalah yang mudah mengganda, dan menyebar.

Sesederhana, dan seaneh apapun itu.”

Richard Brodie, penemu Microsoft Word.

“Mari mencintai Indonesia! Mari menginspirasi dunia!”

Yohanes Surya, dan Hokky Situngkir, peneliti dan penggerak perkembangan

fisika di indonesia

Page 7: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

PERSEMBAHAN

Untuk ayah dan ibuku (family man), mengherankan rasanya mereka berdua

dapat mendidik penulis dalam kebebasan (membiarkan independent memilih jalan

sains (yang oleh masyarakat kebanyakan dianggap tidak menghasilkan)) padahal

penulis tahu sejak muda ayah sudah mandiri bekerja, dan ibu lekat dengan tradisi

keluarga Banjar. Setiap tindak laku mereka hanya untuk memberikan yang terbaik

untuk anak-anaknya.

Untuk sahabat-sahabat penulis di Solo (khususnya satu almamater, semoga

yang mengambil Tugas Akhir lulus semua, hasilnya bagus, dan tidak bingung

setelahnya mau kemana), sekitar rumah, dan yang merantau jauh semoga mimpi-

mimpi baik kalian diijinkan terjadi oleh Allah. Untuk guru-guru penulis dari guru

TK, pondok pesantren (saat SD), hingga dosen-dosen UNS semoga usaha

pendidikan yang diberikan kepada kami dapat memajukan pendidikan, khususnya

Indonesia suatu saat nanti. Tak kurang dari seratus kali setiap hari, penulis selalu

merenungkan makna kehadiran kalian semua.

Terakhir untuk para pencinta ilmu pengetahuan, semoga kelak di Indonesia

matematika dan sains dapat populer dan dianggap selezat pizza (love math and

science like a pizza).

Page 8: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

KATA PENGANTAR

Segala puji syukur dan terimakasih penulis panjatkan kehadirat Allah SWT,

sebab hanya dengan ridho-Nya yang begitu melimpah, akhirnya pembuatan

laporan Tugas Akhir ini dapat diselesaikan.

Ketika berpikir mengenai “penemu”, pada umumnya orang menghadirkan

bayangan profesor yang linglung, dengan rambut acak-acakan, bekerja dalam

laboratorium yang penuh tabung reaksi dengan isi yang mengeluarkan gelembung,

atau mesin instrumentasi elektronik yang rumit, atau juga sedang menulis di buku

catatan yang penuh dengan perhitungan matematika. Bagi banyak orang, seorang

penemu adalah kombinasi aneh dari ilmuwan dan pemimpi. Namun, faktanya

tidak ada pembatasan dan persyaratan. Siapa pun dapat menjadi penemu!

Semua hasil ciptaan mulai sebagai ide seorang dan hampir semua orang

mempunyai banyak ide mengenai cara memperbaiki sesuatu. Beberapa ide untuk

suatu benda, ada yang belum pernah ada sama sekali; ide lain membuat penemuan

atau hasil ciptaan lain menjadi lebih baik atau hanya membuat tugas dapat

dilakukan dengan lebih mudah dan lebih menyenangkan. Beberapa ide

menyangkut masa depan, dan mungkin tergantung pada teknologi yang belum

diciptakan. Beberapa diantaranya, walaupun ide itu mungkin tampak bodoh di

mata orang lain, menawarkan solusi yang merupakan jawaban praktis bagi

kebutuhan penemu-seperti kacamata kucing, agar tampak keren saat kontes, atau

tidak cedera saat berkelahi. Walaupun siapa pun dapat mempunyai ide itu, hal ini

tidak dengan sendirinya membuat dia menjadi penemu, perlu situasi yang

kondusif, referensi teknis, teman-teman pendukung, teknologi, dan untuk ilmuwan

muda administrator merupakan elemen vital dalam kegiatan penemuannya.

Pada Tugas Akhir ini, di mana penulis belajar menjadi penemu, banyak hal-

hal yang harus dipelajari lagi, yakni redefinisi penemuan, penelitian ilmiah, dan

hal-hal teknis yang mendukung. Alhamdulillah segala sesuatunya kini sudah

terlaksana.

Page 9: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

Tidak terkecuali Tugas Akhir yang sifatnya membuat produk, penelitian

ilmiah belum lengkap sebelum hasilnya diumumkan. Di kalangan mahasiswa

diploma, khususnya mahasiswa yang bercita-cita menjadi peneliti seperti saya,

laporan tugas akhir ini ibarat batu landasan untuk membangun bangunan riset-

riset ke depan.

Selesai meniup sangkakala mengenai karya ini, penulis ingin mengucapkan

rasa berutang budi kepada para pendukung penulis, yaitu :

1. Kedua orangtua penulis (family man) yang telah memberikan dukungan

materi dan motivasi.

2. Drs. Y. S. Palgunadi, M. Sc, selaku ketua program DIII Ilmu Komputer.

3. Administrator ilmiah pertama penulis, Budi Legowo, M.Si. Tanpa

administrator, peneliti muda akan kehilangan arah.

4. Dayat Kurniawan, peneliti LIPI yang telah meluangkan waktu menjawab

pertanyaan-pertanyaan penulis.

5. Teman-teman gank, Ramdhan Sabar I, Cakra Yudha S (yang saat ditulisnya

laporan ini sedang kuliah di Jakarta), Bindrasto Duta P, Hery Kuswanto,

Silvester Ditya Aribowo, Dwi Kurnaedi. Ada beberapa hal yang tidak dapat

dibeli dengan uang, dan mereka menunjukkannya pada penulis.

Daftar tadi seharusnya lebih panjang, tapi nama-nama inilah yang paling

berperan selama saya menyelesaikan Tugas Akhir ini.

Penulis juga menyadari laporan ini masih belum sempurna, oleh karena itu

dengan senang hati penulis mengharap sumbang saran, pendapat, bahkan kritikan

guna memperbaiki isi laporan Tugas Akhir ini.

Semoga dengan tersusunnya laporan Tugas Akhir ini, bisa bermanfaat bagi

para pembaca sekalian.

Salatiga, 23 Mei 2010

PENULIS

Page 10: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

DAFTAR ISI

Halaman

ABSTRACT...................................................................................................... iv

ABSTRAK ........................................................................................................ v

MOTTO .......................................................................................................... vi

PERSEMBAHAN............................................................................................. vii

KATA PENGANTAR ...................................................................................... viii

DAFTAR ISI..................................................................................................... x

DAFTAR GAMBAR ........................................................................................ xii

DAFTAR LAMPIRAN..................................................................................... xiv

BAB I PENDAHULUAN ........................................................................... 1

1.1. Latar Belakang......................................................................................... 1

1.2. Perumusan Masalah ................................................................................. 2

1.3. Batasan Masalah ...................................................................................... 2

1.4. Tujuan dan Manfaat ................................................................................. 3

1.4.1. Tujuan............................................................................................. 3

1.4.2. Manfaat........................................................................................... 3

1.5. Metodologi Penelitian.............................................................................. 3

1.6. Sistematika Penulisan .............................................................................. 4

BAB II LANDASAN TEORI....................................................................... 5

2.1. Mengenal Pemrograman.......................................................................... 5

2.1.1. Bagaimana Caranya Memprogram?............................................... 6

2.1.2. Bagaimana Cara Membuat Program Video Recording dengan Motion

Detection?....................................................................................... 7

2.1. Mengenal Teknologi Pembangun Aplikasi ............................................. 8

2.2.1. Mengenal Webcam ......................................................................... 8

2.2.2. Mengenal Microsoft .NET Framework.......................................... 9

2.2.3. Mengenal IDE Microsoft Visual C# .............................................. 9

2.2.4. Mengenal Mitov VisionLab Library .............................................. 9

Page 11: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

2.1. Cara Menggunakan Teknologi Pembangun Aplikasi .............................. 12

2.3.1. Pemrograman Berorientasi Objek (OOP) untuk Pemrograman Visual

C# ................................................................................................... 12

2.3.2. Abstraksi Komunikasi Data DirectShow ....................................... 13

2.3.3. Cara Implementasi dengan VisionLab ........................................... 15

2.2. Hipotesis .................................................................................................. 15

2.4.1. Inspirasi .......................................................................................... 16

2.4.2. Hipotesis Pengujian........................................................................ 16

BAB III DESAIN DAN PERANCANGAN.................................................. 18

3.1. Persiapan.................................................................................................. 18

3.1.1. Software yang Dibutuhkan ............................................................. 18

3.1.2. Instalasi........................................................................................... 18

3.2. Abstraksi dan Desain Interface................................................................ 29

3.3. Implementasi (Pembuatan Aplikasi......................................................... 30

BAB IV IMPLEMENTASI DAN ANALISA ............................................... 39

4.1. Pengujian Sistem ..................................................................................... 39

4.2. Analisis .................................................................................................... 42

4.2.1. Cara Bekerjanya Sistem ................................................................. 42

4.2.2. Analisis Implementasi Listing Pemrograman ................................ 43

4.1. Pembuktian Hipotesis .............................................................................. 47

4.2. Asas Manfaat Aplikasi............................................................................. 50

BAB V PENUTUP........................................................................................ 51

5.1. Simpulan.................................................................................................. 51

5.2. Saran ........................................................................................................ 52

DAFTAR PUSTAKA ....................................................................................... 53

LAMPIRAN...................................................................................................... xv

Page 12: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

DAFTAR GAMBAR

Nomor Halaman

1 Prinsip Pengolahan Data Komputer .......................................................... 6

2 Prinsip Kerja Webcam ............................................................................... 8

3 Contoh Penanganan Display Video ........................................................... 14

4 Diagram .NET Microsoft........................................................................... 16

5 Jendela Welcome to Setup.......................................................................... 19

6 Jendela License Terms ............................................................................... 19

7 Jendela Pilihan Fitur Program ................................................................... 20

8 Jendela Pilihan Lokasi Instalasi................................................................. 20

9 Jendela Proses Instalasi.............................................................................. 21

10 Jendela Keterangan Instalasi Visual C# Berhasil ...................................... 21

11 Jendela Peringatan VisionLab ................................................................... 22

12 Jendela License Agreement........................................................................ 23

13 Jendela Installaton Type .......................................................................... 23

14 Jendela Pilihan Lokasi Instalasi (VisionLab) ............................................ 24

15 Jendela Pilihan Fitur Instalasi.................................................................... 24

16 Jendela Pilihan Paket Instalasi................................................................... 25

17 Membuat Tab Baru .................................................................................... 26

18 Choose Items pada VideoLab .................................................................... 26

19 Form Choose Toolbox Items...................................................................... 27

20 Lokasi Instalasi VisionLab ........................................................................ 27

21 Form Choose ToolBox Items ..................................................................... 28

22 Hasil Akhir Penambahan Items VisionLab................................................ 28

23 Interface Hasil Abstraksi Pertama ............................................................. 29

24 Interface Hasil Abstraksi Kedua................................................................ 30

25 Abstraksi Komunikasi Data dengan DirectShow ...................................... 31

26 Implementasi Komunikasi Data Objektif Motion Detection ..................... 32

27 Jendela New Project .................................................................................. 32

Page 13: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

28 Pengaturan Posisi Komponen Aplikasi ..................................................... 33

29 Tampilan Form Setelah Properti Diatur .................................................... 34

30 Pemilihan InputPin untuk DSCapture1 ..................................................... 35

31 Pemilihan InputPin untuk motionDetect.OutputPin.................................. 35

32 Pengaturan Motion Grid (untuk Sensitifitas)............................................. 36

33 Jendela Awal Aplikasi ............................................................................... 39

34 Jendela Select Source................................................................................. 40

35 Dialog Edit Motion Grid Sebagai Sarana Pemilihan Nilai Sensitifitas ..... 40

36 Lokasi File Hasil Capture ......................................................................... 41

37 Gambar yang Dicapture dengan Webcam VGA ....................................... 42

38 Gambar yang Dicapture dengan Webcam 1.3 MP .................................... 42

39 Diagram Blok Cara Bekerjanya Sistem..................................................... 42

40 Arsitektur Abstrak Aplikasi Motion Detection dengan Gambaran Lebih

Sederhana................................................................................................... xxi

Page 14: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

DAFTAR LAMPIRAN

Nomor Halaman

1 Hal-hal yang Mungkin Ditanyakan atau Kurang Jelas ............................ xvi

2 Bukti Mainstream Keterujian Hipotesis .................................................. xviii

3 Implikasi Nilai ......................................................................................... xx

Page 15: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

BAB I

PENDAHULUAN

1.1. Latar Belakang

Secara induktif, baik melalui pengamatan langsung (realitas di masyarakat)

atau membaca media informasi (iklan, ulasan fotografi, majalah, dan sejenisnya)

dapat diverifikasi bahwa mayoritas konsumen Indonesia yang memutuskan untuk

memiliki kamera mempunyai tujuan untuk mengabadikan momen berwisata, dan

memotret buah hati, atau lebih spesifik anak pertamanya.

Kebanyakan orang tua ingin merekam aktivitas si buah hati (yang sedang

lucu-lucunya itu) sepanjang hari selama media penyimpanan, atau media cetak

masih tersedia untuk melakukannya.

Sayangnya, kebanyakan momen natural dari si buah hati ini sering kali

terlewatkan, entah dikarenakan orang tua tidak menyangka si buah hati akan

melakukan tindakan “X”, atau pada saat itu tidak ada yang membawa kamera

sehingga menurut riset komunitas fotografer tahun 2007 (www.fotografer.net)

63% foto bayi yang bagus adalah manipulasi orang tuanya, baik dengan cara

digoda dengan mainan, dan sebagainya.

Terinspirasi atas kondisi di atas, sekaligus untuk menyelesaikan Tugas

Akhir (TA) penulis memutuskan untuk membuat produk TA “Video Recording

dengan Motion Detection Melalui Integrasi Webcam - Aplikasi .NET” dimana

tangibles (produk yang memanfaatkan teknologi ini) penulis harap dapat menjadi

pilihan pemakai, dalam mengabadikan gerakan natural, khususnya momen natural

buah hati tercinta.

Adapun mengenai keunggulan dari laporan dan produk tugas akhir ini

adalah lebih condongnya penulis dalam membahas potensi yang ada dari

komunikasi data objektif secara teoretis-praktis, sehingga diharapkan setelah

memahami laporan ilmiah serta produk yang dihasilkan (dengan

mempertimbangkan software yang digunakan juga), di masa depan pembaca dapat

memanfaatkan teknologi ICT ini dengan lebih kreatif, dan inovatif.

Page 16: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

2

1.2. Perumusan Masalah

Bertolak dari uraian latar belakang masalah di atas, dapat dirumuskan

masalah sebagai berikut:

1. Apa yang menjadi ‘jantung masalah’ mengabadikan gerak natural?

2. Bagaimana mengatasinya dengan solusi aplikasi ICT?

3. Mengapa solusi ICT tersebut efektif dan efisien?

4. Apakah solusi ICT tersebut dapat dimodelkan menjadi model solusi umum

atau alternatif cara pandang pemrograman di masa depan?.

1.3. Batasan Masalah

Karya ilmiah yang baik apapun wujudnya (makalah, jurnal, atau presentasi)

adalah karya yang fokus terhadap bahasan yang dikajinya, sehingga tidak

menimbulkan kesalahpahaman, dan sesuai dengan sasaran penelitiannya. Maka,

agar karya ini juga memiliki nilai tersebut, penulis akan membatasi masalah

laporan ini pada kajian mengenai:

1. Analisa yang menjembatani teoretis-praktis atau lebih ke proses komputer di

balik integrasi webcam-pemrograman .NET, sehingga sesuai keunggulan

laporan yang telah disinggung pada latar belakang;

2. Analisa potensi pemrograman .NET dan library tambahan dari MITOV

(www.mitov.com) yang dapat menghasilkan aplikasi kaya guna melalui

pembuktian hipotesis;

3. Batasan topik permasalahan pada laporan ini adalah pada fotografi natural

saja, jadi penulis sama sekali tidak akan membahas mengenai teknik

fotografi lanjut seperti pemilihan setting, gerakan manusia, human interest,

pencahayaan, lensa, dan sebagainya;

4. Pembahasan dalam laporan ini juga tidak menyertakan perhitungan

matematis pada penggunaan memori, ketepatan sensitivitas, pemrosesan

frame, dan persoalan matematis lainnya. Penulis berharap, semoga hal ini

tidak mereduksi pemahaman (karena memang digunakan sebagai dasar),

dan mengurangi minat pembaca terhadap laporan ini.

Page 17: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

3

1.4. Tujuan dan Manfaat

1.4.1. Tujuan :

1. Memenuhi salah satu syarat mencapai gelar ahli madya program diploma III

ilmu komputer FMIPA UNS;

2. Sebagai langkah awal pengabdian penulis kepada masyarakat, baik umum,

maupun komunitas akademis, sebagai mahasiswa diploma III ilmu

komputer, dengan menghasilkan produk yang membantu permasalahan

pendeteksian gerakan secara otomatis (motion detect).

1.4.2. Manfaat :

1. Sebagai referensi penelitian ICT lainnya di mana membutuhkan framework

.NET serta library tambahannya, pada kajiannya;

2. Memberikan informasi bagi para peminat dan hobiis ICT dalam membuat

dan menganalisa aplikasi .NET buatannya;

3. Untuk peminat logika penemuan ilmiah, penulis juga menyisipkan beberapa

pengetahuan teknis mengenai hal tersebut dengan cara yang cukup

menyenangkan (secara tidak langsung), seperti kaidah penyangkalan

(falsifiabilitas), keragu-raguan, dan sebagainya, di mana penulis harap karya

ini dapat membantu siapa saja yang berminat pada logika penemuan ilmiah

(dan tidak tabu lagi masalah sains).

1.5. Metodologi Penelitian

Dalam melakukan penelitian ini penulis menggunakan beberapa metode,

yaitu studi pustaka, mengikuti seminar (Seminar Microsoft Innovation Road Trip

2010, di Universitas Muhammadiyah Surakarta), wawancara dengan peneliti

divisi Pusat Penelitian Elektronika dan Telekomunikasi Lembaga Ilmu

Pengetahuan Indonesia (LIPI), bapak Dayat Kurniawan (via e-mail atau sms), dan

yang paling penting adalah pengujian teori melalui eksperimen yang

menghasilkan produk motion detection.

Page 18: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

4

1.6. Sistematika Penelitian

Agar penelitian mudah dilakukan, dan karyanya mudah dikaji oleh

khalayak, peneliti juga harus mempertimbangkan sistematika penelitian yang

membantunya untuk mencapai tujuan tersebut, hal yang sama tentu juga penulis

lakukan dalam penyusunan laporan Tugas Akhir (TA) ini. Adapun laporan TA ini

penulis bagi dalam enam sesi sebagai berikut :

1. Sesi pertama, berisi latar belakang yang memberi inspirasi penulis dalam

pemilihan topik penelitian ini, beserta tujuan, manfaat, dan batasan kajian

yang melingkupinya, bahasan ini dapat pembaca simak pada Bab I halaman

1-4;

2. Sesi kedua, berisi landasan teoretis pembuatan aplikasi. Meliputi ulasan

singkat hardware, software, dan integrasi keduanya, rinciannya penulis

sajikan pada Bab II, di mana dapat pembaca simak halaman 5-17;

3. Sesi ketiga, berisi desain dan perancangan produk TA yang pada akhirnya

digunakan sebagai solusi pemecahan masalah yang telah dibahas pada latar

belakang. Meliputi panduan persiapan, instalasi, arsitektur aplikasi,

abstraksi, desain antar muka, dan implementasi dalam wujud pembuatannya.

Bahasan ini dapat pembaca simak pada Bab III halaman 18-38;

4. Sesi keempat, berisi pengujian dan analisa, yang menunjukkan mengapa

solusi yang berwujud produk TA ini efektif, dan efisien dalam

menyelesaikan masalah yang telah dibahas pada latar belakang. Bahasan ini

dapat pembaca simak pada Bab IV, halaman 39-50;

5. Sesi kelima, berisi simpulan dan saran, yang dapat digunakan pembaca

sesuai manfaat penelitian yang telah disinggung pada Bab I, keduanya dapat

pembaca simak pada Bab V, halaman 51-52;

6. Sesi terakhir (daftar pustaka dan lampiran), berisi referensi yang penulis

gunakan dalam menyelesaikan penelitian ini yang dapat disimak pada

halaman 53-55, beserta lampiran fakta-fakta, dan kajian umum potensi yang

dimiliki produk TA ini, dapat pembaca simak mulai halaman xv-.

Page 19: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

BAB II

DASAR TEORI

2.1. Mengenal Pemrograman

“Apa yang pertama kali dibutuhkan untuk menguasai pemrograman?”

Pertanyaan ini adalah pertanyaan pertama yang biasanya muncul di benak

seseorang yang baru saja mulai belajar bahasa pemrograman. Memang hal itulah

yang perlu diketahui pertama kali.

Pada dasarnya ilmu pemrograman adalah suatu ilmu menuliskan sejumlah

instruksi (dengan alat input perintah, misalnya keyboard) yang diberikan kepada

prosesor (misalnya Intel Pentium IV) untuk dikerjakan (Pranoto:2007). Instruksi

yang diberikan kepada Pentium IV ini kemudian akan diproses dengan melibatkan

komponen-komponen komputer lainnya, yaitu memori (RAM), kemudian

komputer akan memberikan “jawaban” yang dikeluarkan melalui alat keluaran

baik suara (melalui speaker), gambar (melalui monitor), atau “dikeluarkan” ke

printer dalam bentuk cetakan. Hasil dari jawaban ini beberapa diantaranya juga

dapat disimpan dalam media penyimpanan (storage media seperti hard disk).

Masalahnya, sering kali para programmer (orang yang menulis program

komputer) tidak tahu apa yang harus mereka tulis.

Oleh karena itu, agar bisa menguasai pemrograman, maka seseorang harus

memahami seluk-beluk komputer itu sendiri. Hal ini dikarenakan ketika suatu

program akan dijalankan, maka program akan berinteraksi dengan komponen-

komponen yang terkoneksi dengan prosesor. Minimal program akan berinteraksi

dengan memori dan prosesor (Pranoto:2008), bahkan untuk program yang tidak

“gaul” (seenaknya sendiri, seperti virus) sekalipun, minimal membutuhkan

komunikasi prosesor dan memori. Interaksi prosesor dengan komponen yang

terkoneksi ini dikenal dengan istilah teknis prinsip pengolahan data komputer.

Prinsip pengolahan data komputer juga memiliki bahasan lanjut yaitu komunikasi

data di mana akan dibahas dan menjadi pokok laporan ini.

Page 20: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

6

Adapun prinsip pengolahan data komputer dapat digambarkan sebagai

berikut :

Gambar 1 : Prinsip Pengolahan Data Komputer

Berikut keterangan dari masing-masing elemen :

• Input

Adalah media yang dipakai untuk memasukkan data atau perintah kepada

prosesor (Stephen:2006). Misalnya mouse, keyboard, dan webcam;

• Proses

Proses pengolahan data atau perintah (baik logika maupun aritmatik) yang

telah dimasukkan ke dalam komputer melalui input (Stephen:2006). Proses

dilakukan oleh prosesor yang memiliki ALU (Aritmathic Logical Unit) untuk olah

data aritmatik dan logika dan control unit (pengontrol media input/output (I/O)

lain)

• Output

Media yang digunakan untuk menampilkan data hasil pengolahan proses

(Stephen:2006). Misalnya monitor, speaker, dan printer.

• Memori

Media penyimpanan yang digunakan untuk menjalankan aplikasi,

mendokumentasikan atau mem-back-up data hasil pengolahan (Stephen:2006).

Untuk menjalankan aplikasi, komputer “menyerahkan tugasnya” kepada RAM

(Random Access Memory), sedangkan untuk mem-back-up atau menyimpan data,

komputer menyerahkan tugasnya pada media penyimpanan data digital seperti

hard disk, atau flash disk

2.1.1. Bagaimana Caranya Memprogram?

Pertama-tama dibutuhkan suatu bahasa pemrograman. Untuk pembuatan

aplikasi motion detection ini dipakai bahasa pemrograman C#, karena sesuai

definisinya, pemrograman adalah aktivitas menuliskan sejumlah instruksi yang

INPUT PROSES OUTPUT

MEMORI

Page 21: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

7

diberikan kepada prosesor, dan dimengerti juga oleh prosesor. Dengan kata lain,

manusia yang menjadi programmer-nya “berkomunikasi” dengan komputer

dengan cara memberikan sejumlah perintah (listing) yang harus dijalankan. Hal

ini dapat dianalogikan dengan bos yang memberikan instruksi kepada

karyawannya. “Joni, coba kamu pergi ke TIKI, paketkan buku ini. Lalu kamu beli

makanan ringan di supermarket.” Tampak bahwa ada perintah yang harus

dijalankan di sini dan dimengerti oleh pemroses informasinya.

Bahasa pemrograman tersebut dapat dituliskan dengan cara manual melalui

editor teks, atau IDE (Integrated Development Environment). Setelah selesai

menuliskan program, programmer akan beranjak pada aktivitas pemrograman lain

seperti kompilasi (meminta komputer menerjemahkan bahasa pemrograman kita

untuk diterjemahkan ke bahasa mesin supaya dimengerti prosesor (penerjemah

dan penyusun terjemahannya dinamakan compiler)), menyempurnakan hasil

pemrograman dan sebagainya.

IDE yang sebelumnya disinggung tadi adalah aplikasi untuk menjembatani

bahasa pemrograman dan lingkungannya. Disebut “menjembatani”, karena dalam

membuat program, programmer sebenarnya dapat menggunakan editor teks

sederhana, misalnya notepad, yang kemudian dikompilasi menggunakan compiler

manual. Namun dengan cara manual demikian, akan mempersulit programmer

jika program yang dibuat adalah program yang kompleks, kesulitan ini terjadi

karena dengan memilih “jalan” manual programmer harus melanjutkan pekerjaan-

pekerjaan penting lain secara manual juga. Hal-hal penting seperti debug

(mengecek kesalahan), membuat library, dan dalam kasus ini untuk hal

sekompleks filtering pun harus dijalani secara manual.

2.1.2. Bagaimana Cara Membuat Program Video Recording dengan Motion

Detection?

Sudah dibahas sebelumnya bahwa programmer harus mengetahui seluk

beluk komputer sebelum memprogram. Yang dimaksud dengan seluk beluk di sini

adalah : semua alat baik input, output, dan perangkat lunak yang berhubungan

dengan komputer. Untuk saat ini pembaca dapat belajar mengenai pembuatan

aplikasi video recording dengan motion detection, yang memanfaatkan teknologi

Page 22: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

8

komunikasi data antar objek. Secara bertahap akan dibahas teknologi pembangun

aplikasi hingga cara menggunakan teknologi tersebut.

2.2. Mengenal Teknologi Pembangun Aplikasi

Untuk membangun aplikasi video recording dengan motion detection ini

digunakan empat teknologi, yaitu :

1. Webcam

2. Microsoft NET Framework 3.5

3. IDE Microsoft Visual C# 2008 Express Edition

4. Mitov VisionLab Library

2.2.1. Mengenal Webcam

Webcam merupakan sebuah hasil pengembangan teknologi kamera gambar

hidup dengan teknologi digital sensor CCD/CMOS. Kamera gambar hidup sendiri

adalah kamera yang digunakan untuk membuat gambar hidup (kini lebih dikenal

dengan istilah video). Gambar hidup sebenarnya tidak lebih dari foto yang

ditayangkan di depan mata kita dengan demikian cepat sampai kita tidak

mengetahui kalau satu gambar telah disingkirkan dan gambar berikutnya telah

menggantinya. Jadi, gambar-gambar ini tampak bergerak, seperti saat peristiwa itu

terjadi. Fenomena ini disebut “penglihatan yang tertinggal” (gambar tetap dalam

penglihatan kita dalam beberapa milidetik) dan sudah dikenal cukup lama

(Philbin:2008).

Gambar 2 ; Prinsip Kerja Webcam (sumber : gandirsetyadi.wordpress.com)

Page 23: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

9

2.2.2. Mengenal Microsoft .NET Framework

.NET framework adalah sebuah platform yang dengannya kita dapat

membangun aplikasi perangkat lunak dan library yang disebut sebagai aplikasi

managed (aplikasi yang dimengerti .NET); .NET menyediakan compiler dan

perangkat yang dibutuhkan untuk melakukan proses build (menjadikan instruksi

kita seolah-olah sebagai komponen aplikasi yang bertugas sesuai perintah kita),

debug (mengecek kesalahan) dan eksekusi aplikasi managed (Rahman:2009)

Berdasarkan riset penulis, Microsoft .NET Framework adalah lingkungan

bahasa pemrograman dengan teknologi generalisasi API, sehingga memungkinkan

kita untuk membuat aplikasi dengan dukungan penuh perangkat keras (dalam hal

ini untuk yang sudah dikenali Windows). API sendiri adalah sekumpulan definisi

dari suatu cara bagaimana suatu perangkat lunak berkomunikasi dengan pihak

lain. API merupakan satu metode dalam melakukan abstraksi dalam pemrograman

berorientasi, biasanya (tetapi tidak selalu) antara perangkat lunak tingkat rendah

dan tingkat tinggi (Wikipedia:2010).

Untuk praktek ini, digunakan API DirectShow yang telah terintegrasi

dengan NET Framework bawaan Visual C#.

2.2.3. Mengenal IDE Microsoft Visual C#

Karena aplikasi menggunakan bahasa C#, maka harus digunakan salah satu

IDE yang cocok, di sini digunakan Visual C# 2008 Express Edition yang dibuat

oleh Microsoft. Visual C# (Visual C Sharp) adalah IDE OOP yang mendukung

proyek .NET framework Microsoft.

2.2.4. Mengenal Mitov VisionLab Library

1. Mengenal Mitov Software

Mitov Software adalah developer (pengembang aplikasi) yang menyediakan

komponen library tambahan untuk IDE bahasa pemrograman C++ Builder,

Visual C++ MFC/Win32, NET Framework 2.0, atau versi lebih baru (Visual C#,

Visual Basic 9, C++/CLI, J#), dan Delphi (untuk Delphi bernama IGDI+) yang

dapat digunakan untuk pembuatan aplikasi berbasis video, audio, pengolahan

sinyal digital, atau CV (Computer Vision). Semua library yang disediakan sudah

mendukung teknologi multithreading prosesor, dan telah dioptimalisasi dengan

Page 24: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

10

teknologi Intel MMX. Library yang ditawarkan oleh mitov software dibangun

dengan pengembangan lanjut teknologi OpenWire, yang memungkinkan

penggunanya membuat program kompleks secara visual (tanpa mengetik baris

listing sekalipun), atau setidaknya sedikit listing saja (Mitov:2010).

Library tambahan adalah sekumpulan (set) kakas, yang dapat membantu

programmer dalam membuat aplikasi. Kakas (dalam OOP juga dapat disebut

paket) ini berisi instruksi yang telah dituliskan dan disimpan dalam berkas library

(misalnya dynamic link library atau *.dll), sehingga dapat dimanfaatkan

programmer dengan cara memanggil library ini, dalam penyusunan aplikasinya.

Library sendiri dapat diartikan sebagai “bumbu instan” pembuatan aplikasi,

sama halnya dengan penggunaan bumbu instan dalam kegiatan memasak. Dengan

library, programmer dapat menyingkat penulisan programnya, sesuai yang telah

dijelaskan dalam teknologi OpenWire tadi.

Berikut teknologi OpenWire yang telah dikembangkan Mitov Software :

a. VisionLab (OpenWire library untuk keperluan pengolahan data visual)

b. VideoLab (OpenWire library untuk keperluan pengolahan data video)

c. AudioLab (OpenWire library untuk keperluan pengolahan data audio)

d. PlotLab (OpenWire library untuk keperluan plotting (pembuatan grafik),

dan waterfall (diagram alir))

e. InstrumentLab (OpenWire library untuk keperluan aplikasi intrumentasi

dengan bantuan komputer, misalnya termometer)

f. IntelligenceLab (OpenWire library untuk keperluan aplikasi kecerdasan

buatan, seperti jaringan saraf tiruan)

g. IGDI+ (OpenWire library untuk IDE Delphi)

2. Mengenal Teknologi OpenWire

OpenWire adalah freeware library open source (aplikasi gratis dengan

lisensi pengembangan kode bebas).

OpenWire menggunakan konsep aliran data untuk penggunaan komunikasi

datanya. Konsep aliran data ini membuat koneksi sebuat output dengan satu input

atau lebih. Atau lebih lengkapnya sebagai berikut (Mitov:2010):

a. Setiap komponen dapat memiliki banyak input

Page 25: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

11

b. Setiap komponen input dan output disebut Pin, sehingga untuk

pembuatannya dikenal dua istilah InputPin dan OutputPin

c. Setiap OutputPin dapat mengalirkan format data spesifik (misal *.MP3)

kepada InputPin yang kompatibel.

d. Setiap tipe data memiliki masing-masing spesifikasi.

Yang dimaksud spesifikasi data di sini adalah identifikasi secara unik suatu

tipe data. Sebagai contoh, tipe data integer (bilangan bulat) mempunyai spesifikasi

data yang berbeda dengan tipe data String. Sebuah OutputPin dapat diatur untuk

mengalirkan satu atau lebih tipe data. Sebagai contoh sebuah OutputPin dapat

mengalirkan tipe data String untuk nama file, dan data gambar yang juga tersusun

atas String yang terkonversi. InputPin yang kompatibel, dapat menggunakan fitur

ini (Mitov:2010).

Karena aplikasi ini menggunakan bahasa berorientasi objek Visual C#,

maka perlu diketahui juga logika objektif untuk OpenWire, berikut keterangan

lengkap dari Mitov Software (Mitov:2010) :

a. Setiap Pin bersumber dari hasil kloning TOWPin

b. InputPin hasil kloning dari TOWPin disebut TOWSinkPin

c. OutputPin hasil kloning dari TOWPin disebut TOWSourcePin

d. InputPin dan OutputPin dapat diimplementasikan pada satu atau lebih

interface. Setiap interface memiliki kode GUI sendiri (misalnya :

GenericFilter yang penulis gunakan).

e. Tipe data yang kompatibel antara InputPin dan OutputPin dapat saling

terkoneksi (jika tidak saling kompatibel akan ditolak).

3. VisionLab

Untuk pembuatan aplikasi video recording dengan motion detection ini,

digunakan salah satu teknologi pengembangan OpenWire dari Mitov Software

yaitu VisionLab. Seperti telah disinggung sebelumnya VisionLab adalah

OpenWire library untuk keperluan pengolahan data visual, termasuk motion

detection dengan Visual C#.

Page 26: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

12

2. 3. Cara Menggunakan Teknologi Pembangun Aplikasi

2.3.1. Pemrograman Berorientasi Objek (OOP) untuk Pemrograman Visual

C#

Aplikasi berbasis windows adalah program yang sangat kompleks yang

menyajikan tampilan menarik kepada user (pengguna aplikasi) dan menawarkan

antar muka sederhana hingga kompleks dengan tombol, dropdown, popup menu,

toolbox, dan masih banyak komponen yang lain. Dibelakang antar muka tersebut

masih ada hubungan bussiness process yang kompleks seperti misal hubungan

antara Product, Customer, dan Order yang melibatkan banyak logika dan

pengolahan data.

Untuk menangani berbagai kompleksitas yang terjadi maka programmer

mengembangkan teknik yang diberi nama “Object Oriented Programming”,

dengan tujuan yang sederhana yaitu mengatur kompleksitas dengan memodelkan

aspek esensial yang ada (Kurniawan:2009). Jika model yang dikembangkan

semakin mendekati problem yang akan dipecahkan maka semakin mudah

persoalan tersebut dapat dimengerti sehingga program lebih mudah ditulis dan di-

maintain.

Masalah yang akan dipecahkan dan semua informasi yang berhubungan

dengan problem tersebut sering disebut sebagai problem domain (domain

masalah). Misal jika pembaca ingin membuat program untuk keperluan Inventory

dan Sales di suatu perusahaan maka domain masalahnya adalah semua informasi

tentang perusahaan tersebut yang berhubungan dengan pengaturan stok inventory,

cara penjualan, pemasukan penjualan dan data lainnya. Manajer penjualan dan

manajer bagian gudang akan menjadi ahli pemecahan masalah (problem domain

expert) yang dapat membantu anda dalam menyelesaikan masalah.

Desain dari Object Oriented harus berisi objek-objek yang ada pada domain

masalah tersebut. Cara ini dinamakan abstraksi (Hariyanto:2007). Sebagai contoh

jika problem domainnya adalah mesin ATM maka objek didalamnya seharusnya

adalah customer, rekening, dan lain-lain.

Page 27: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

13

2.3.2. Abstraksi Komunikasi Data dengan DirectShow

Seperti telah disinggung sebelumnya, dalam melakukan abstraksi kita harus

berfokus pada domain masalah yang akan diselesaikan. Domain masalah dari

motion detection adalah komunikasi data, di mana komunikasi data yang terjadi

adalah komunikasi data USB Webcam, webcam built in, atau webcam dengan

konektor apapun, agar dimungkinkan video recording, dan komunikasi data

penyimpanan ke media penyimpanan (misalnya hard disk).

Data adalah fakta yang dinyatakan dalam bentuk simbol (Palgunadi:2007).

Dengan demikian komunikasi data dapat diartikan sebagai komunikasi atau

interaksi dari fakta yang diolah komputer atau bersama komponen tambahannya,

dalam wujud data-data.

Karena kebutuhan komunikasi data yang banyak tersebut, relatif tidak

efisien jika kita menggunakan komunikasi data klasik, yang menggunakan data

biner. Untunglah dengan menggunakan NET Framework kita tidak perlu

dipusingkan lagi masalah tersebut, karena fitur generalisasi API-nya. Dengan

memanfaatkan fitur tersebut pada pendekatan OOP kita hanya perlu

mengabstraksikannya sekali saja.

Agar abstraksi API ini dapat diimplementasikan dengan teknologi

VisionLab, seperti telah disinggung sebelumnya dalam koneksi OpenWire, kita

harus menggunakan tipe data yang kompatibel antara InputPin dan OutputPin

yang dalam NET Framework kita dapat menggunakan DirectShow dengan tipe

data filter (dengan API ini semua komunikasi data pada Windows dianggap

sebagai filter-filter).

DirectShow terdiri atas dua komponen utama, yakni filter, bagian terkecil

DirectShow, dan filter graph, himpunan beberapa filter yang saling terhubung

untuk menghasilkan suatu fungsionalitas (Juhara:2010). DirectShow memisah

tugas kompleks menjadi deretan langkah pemrosesan dasar yang lebih sederhana

ke dalam filter. Tiap filter memiliki paling tidak sebuah pin, dimana filter

dihubungkan dengan filter lain dalam filter graph (Gambar 2).

Page 28: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

14

Gambar 3 : Contoh Penanganan Display Video

dengan Directshow (sumber : Juhara:2010)

Jika kita menganalogikan filter graph sebagai sebuah pabrik mobil, maka

hubungan filter-filter adalah jalur produksi dalam pabrik mobil, sedangkan filter

adalah bagian produksi dalam pabrik. Material yang menyusun mobil adalah data

yang diproses. Tiap bagian produksi menerima material mentah dan bagian

produksi lain (input), mengolah material dan mengubahnya (processing) menjadi

bentuk lain (output), yang kemudian mengirimkannya ke bagian produksi lain.

1. Filter

Filter adalah salah satu tingkat dalam pemrosesan data di filter graph. Filter

melakukan operasi terhadap sampel media. Ada tiga macam tipe filter: source

filter, transform filter, dan rendering filter. Source filter sebagai penangkap data

dari perangkat input, transform filter mengolah sampel data, kemudian

mengubahnya menjadi bentuk lain, dan rendering filter mengirimkan data ke

perangkat output seperti speaker, layar monitor, network atau disk atau bahkan

bisa juga membuang data tersebut (Juhara:2010).

2. Pin

Pin adalah lokasi di mana dua buah filter dihubungkan. Tiap filter, paling

tidak harus memiliki sebuah pin untuk bisa dihubungkan dengan filter lain.

Instance pin dibungkus dalam interface IPin yang menyediakan mekanisme

koneksi dengan pin lain (Juhara:2010). Aplikasi menggunakan filter graph

manager untuk menghubungkan filter-filter.

3. Filter Graph Manager

Filter graph manager adalah penampung dan pengelola filter- filter. Filter

graph manager menyediakan fungsi-fungsi untuk membangun susunan filter

Page 29: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

15

dalam filter graph, mengoordinasi perubahan status filter-filter, mengatur clock

referensi, dan memberi feedback ke aplikasi (Juhara 2010).

Filter graph manager menyediakan objek-objek yang bertugas melakukan

hal spesifik, seperti mengelola window yang digunakan untuk menampilkan data,

pengaturan feedback, dan lain-lain. Filter yang digunakan dalam aplikasi ini

adalah:

a. IMediaEvent

Interface IMediaEvent mengelola feedback yang dikirim ke aplikasi.

Feedback ini berupa pemberitahuan kejadian (event notification) yang sedang

terjadi di filter graph manager.

b. IVideoWindow.

IViewWindow mengelola window yang digunakan untuk menampilkan data

video. Interface ini juga menyediakan fungsi-fungsi untuk mengelola mode full

screen.

2.3.3. Cara Implementasi dengan VisionLab

Setelah melakukan abstraksi di tingkat API, kita kini dapat beranjak ke cara

implementasi pada library Mitov VisionLab. Seperti telah kita ketahui

sebelumnya, VisionLab dikembangkan dari OpenWire, sehingga implementasi

dengan VisionLab library pun mengikuti kaidah OpenWire.

Karena sudah setengah jalan dengan selesai abstraksi di tingkat API, hal

berikutnya yang harus dilakukan tinggal implementasi filter-filter yang tersusun

dengan komponen VisionLab. Mengenai hasil implementasi akan dijelaskan pada

desain dan perancangan.

2.4. Hipotesis

Pada sub-bab 2.2.2 pembaca yang cermat mungkin telah membaca bahwa

dalam penelitian penulis, Microsoft .NET Framework adalah lingkungan bahasa

pemrograman dengan teknologi generalisasi API, sehingga memungkinkan kita

untuk membuat aplikasi dengan dukungan penuh perangkat keras. Dengan

maksud publikasi penelitian, dan mendeskripsikan keunggulan laporan dengan

lebih baik sesuai latar belakang, pada kesempatan ini penulis mengajukan

hipotesis generalisasi API dengan inspirasi dan tesis pengujian berikut ini:

Page 30: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

16

2.4.1. Inspirasi

Untuk hipotesis ini, penulis berangkat dengan tesis presentasi Microsoft

Indonesia berikut ini sebagai inspirasi : “Visual Studio adalah produk unggulan

kami, di mana dengan produk ini siapa saja akan dapat memprogram komputer

dengan mudah. Khusus untuk anda mahasiswa, anda tinggal mempelajari

persoalan teoretis fundamental saja (Sistem Operasi, Arsitektur, Komunikasi

Data), ini yang membedakan anda dengan non-IT.” – Seminar Microsoft Road

Innovation Road Trip 2010 oleh Narendra Wicaksono.

Untuk mendukung alasan tersebut, pihak Microsoft juga memberikan sedikit

gambaran teknologinya kepada peserta seminar untuk dikaji, di mana pembicara

juga menjelaskannya bahwa solusi ini adalah sebuah revolusi Mircosoft untuk

solusi pemrograman integrasional atau virtual di masa depan. Alasan tersebut

dijelaskan secara singkat dengan gambaran sebagai berikut :

Gambar 4 : Diagram .NET Microsoft (sumber : Microsoft:2010)

Namun, sebagai orang yang terdidik untuk berpikir kritis dan ilmiah, wajar

jika kita tidak percaya dan menggunakan mentah-mentah tesis mereka. Mungkin

karena pertimbangan hal tersebut hanyalah iklan, dan sebagainya.

2.4.2. Hipotesis Pengujian

Menanggapi hal di atas, penulis mengujinya dengan hipotesis berikut ini:

Karena API dasar Windows (yang terpisah menjadi framework-framework

tersendiri) dalam perkembangannya berevolusi menjadi .NET Framework dan

pemrograman mainstream Windows, mungkin integrasi .NET-IDE Visual C#

D

C B

A

A : NET 1.0 – CLR, Winforms,

Web Service, ASP.NET

B : NET 2.0 - WCF, WF, WPF,

Cardspace, DirectShow

C : NET 3.5 - LINQ, AJAX,

REST

D: .NET 4.0 Bilangan Kompleks,

Gaming Control

Page 31: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

17

2008 Express Edition merupakan solusi pemrograman yang efektif dan efisien

untuk sistem operasi Microsoft Windows. Sehingga generalisasi framework dapat

menjadi cara pandang baru dalam memecahkan permasalahan menggunakan

ICT.

Page 32: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

18

BAB III

DESAIN DAN PERANCANGAN

Agar lebih memudahkan pembaca laporan ini di kemudian hari, penulis akan

membagi pembahasan bab ini dengan urutan sebagai berikut :

1. Persiapan

2. Abstraksi dan desain interface (sebagai ganti kata desain dan perancangan)

3. Implementasi (pembuatan aplikasi)

3.1. Persiapan

Pada bagian ini akan dipersiapkan berbagai software yang diperlukan dalam

pengembangan aplikasi motion detection dengan teknologi .NET 3.5 SP 1..

3.1.1. Software yang Dibutuhkan

Sebelum membangun aplikasi sederhana ini, perlu disiapkan komputer dengan

sistem operasi Windows XP SP 2, sebuah webcam (USB/integrated di laptop) dan

berbagai software sebagai berikut :

C# IDE : Visual C# Express Edition 2008

Library tambahan : VisionLab.NET 4.3.1

3.1.2. Instalasi

1. Instalasi Visual C# Express 2008

Untuk instalasi pertama, penulis akan menunjukkan cara meng-install Visual C#

2008 EE.

Langkah 1

Pembaca dapat memilih berkas instalasi Visual C# EE melalui berkas setup yang

bersangkutan (misalnya dari CD TA Penulis). Program instalasi akan menyalin beberapa

berkas instalasi yang dibutuhkan ke dalam sebuah folder sementara. Setelah penyalinan

selesai, aplikasi setup akan ditampilkan dan hal tersebut yang menandakan bahwa

instalasi siap dimulai.

Page 33: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

19

Langkah 2

Pada halaman Welcome to Setup, pembaca dapat memberikan tanda centang

(V) pada check box untuk mengirimkan user experience pada saat instalasi ke

Microsoft. Pilih Next untuk melanjutkan.

Gambar 5 : Jendela Welcome to Setup

Langkah 3

Aplikasi instalasi akan menampilkan halaman License Terms, pembaca

dapat meluangkan waktu untuk memahami persyaratan tersebut, jika sudah pilih I

have read and accept the license terms, setelah selesai, pilih Next untuk

melanjutkan.

Gambar 6 : Jendela License Terms

Page 34: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

20

Langkah 4

Halaman berikutnya berisi pilihan fitur program yang akan diinstal. Pada

bagian ini, penulis menyarankan agar pembaca memasangkan semua fitur yang

ada demi kelancaran dalam mengembangkan program. Pilih Next untuk

melanjutkan.

Gambar 7 : Jendela Pilihan Fitur Program

Langkah 5

Berikutnya akan ditampilkan folder tujuan instalasi. Secara default, folder

tujuan telah ditentukan oleh program. Pilih lokasi yang sesuai dengan ruang disk

yang tersedia, kemudian pilih Install.

Gambar 8 : Jendela Pilihan Lokasi Instalasi

Page 35: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

21

Langkah 6

Proses instalasi akan berlangsung beberapa menit (kadang akan dilakukan

restart jika program bermasalah, namun akan normal dan dilanjutkan lagi setelah

restart). Setelah selesai, pilih Exit untuk keluar dari jendela setup.

Gambar 9 : Jendela Proses Instalasi

Gambar 10 : Jendela Keterangan Instalasi Visual C# Berhasil

Langkah 7

Restart komputer agar aplikasi berjalan normal (sudah menyesuaikan

dengan sistem operasi). Berikutnya pembaca dapat melakukan pengecekan hasil

instalasi dengan membuka Visual C# yang bersangkutan.

Page 36: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

22

2. Menambahkan VisionLab ke Visual C# 2008 Express Edition

Sebelum VisionLab ditambahkan ke Visual C# 2008 EE, terlebih dahulu

lakukan instalasi komponen VisionLab. Berikut ini cara instalasi VisionLab

Langkah 1

Sebelum VisionLab diinstall, terlebih dahulu pastikan Microsoft Visual C#

2008 EE pembaca tidak mengalami masalah.

Langkah 2

Unduh VisionLab (www.mitov.com), kemudian jalankan atau jalankan

berkas setup yang telah penulis sertakan dalam CD TA. Klik dua kali berkas

setup, akan muncul gambar di bawah ini :

Gambar 11 : Jendela Peringatan VisionLab

(Tidak Menemukan Visual Studio 2005)

Langkah 3

Pada gambar di atas muncul bahwa VisionLab tidak menemukan Visual

Studio 2005 atau 2008, itu karena kita menggunakan Visual C# 2008 Express

Edition. Klik OK, atau tekan Enter.

Langkah 4

Pada halaman Welcome to Setup, pembaca dapat memilih tombol Next

untuk melanjutkan.

Page 37: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

23

Langkah 5

Aplikasi instalasi akan menampilkan halaman License Agreement, pembaca

dapat meluangkan waktu untuk memahami persyaratan tersebut, jika sudah pilih I

accept the agreement, pilih Next untuk melanjutkan.

Gambar 12 : Jendela License Agreement

Langkah 6

Pada halaman Select installation type kita disuguhi pertanyaan mengenai

tipe instalasi, karena penulis tidak memiliki tujuan komersial penulis memilih No

Source code – Free For Non Commercial Use, pilih Next untuk melanjutkan.

Gambar 13 : Jendela Installaton Type

Page 38: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

24

Langkah 7

Berikutnya akan ditampilkan folder tujuan instalasi. Secara default, folder

tujuan telah ditentukan oleh program. Pilih lokasi yang sesuai dengan ruang disk

yang tersedia, kemudian pilih Next untuk melanjutkan.

Gambar 14 : Jendela Pilihan Lokasi Instalasi

Langkah 8

Halaman berikutnya berisi pilihan fitur program yang akan diinstal. Pada

bagian ini, penulis menyarankan agar pembaca memasangkan semua fitur (full

install) yang ada demi kelancaran dalam mengembangkan program. Pilih Next

untuk melanjutkan.

Gambar 15 : Jendela Pilihan Fitur Instalasi

Page 39: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

25

Langkah 9

Setelah yakin, dengan ringkasan pilihan setup (Ready to Install) yang

ditampilkan halaman ini, pilih Install.

Gambar 16 : Jendela Pilihan Paket Instalasi

Langkah 10

Tunggu proses instalasi, hingga muncul halaman Package Installation

Options, klik Next saja, hingga Finish.

3. Menambahkan VisionLab ke Visual C# 2008 Express Edition

Langkah 1

Sebelum library VisionLab ditambahkan ke Visual C# 2008 Express

Edition, terlebih dahulu pastikan VisionLab dan Microsoft Visual C# 2008

Express Edition pembaca tidak mengalami masalah.

Langkah 2

Jalankan Visual C# 2008 Express Edition

Langkah 3

Buat tab baru pada toolbox (Ctrl + W + X), dengan cara pilih General �

Klik kanan � Add tab, seperti terlihat pada gambar di bawah ini. dengan nama

VideoLab.

Page 40: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

26

Langkah 4

Seperti pada langkah ke-2 dan ke-3, tambahkan beberapa tab lagi dengan

nama VisionLab.

Gambar 17 : Membuat Tab Baru

Langkah 5

Agar item pada toolbox VideoLab, dan VisionLab keluar (dapat

digunakan) lakukan hal berikut : Pilih untuk salah satu tab baru tadi, dalam

praktek penulis memilih VideoLab terlebih dahulu, jadi klik VideoLab � klik

kanan � Choose Items, seperti pada gambar di bawah ini :

Gambar 18 : Choose Items pada VideoLab

Page 41: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

27

Langkah 6

Akan muncul form Choose Toolbox Items, seperti terlihat pada gambar di

bawah ini, klik browse.

Gambar 19 : Form Choose Toolbox Items

Langkah 7

Muncul dialog Open. Arahkan ke lokasi instalasi VisionLab. Pada proyek

ini, penulis meng-install VisionLab di C:\Program Files\LabPacks\DotNET\Bin.

Gambar 20 : Lokasi Instalasi VisionLab

Langkah 8

Pada form Open di atas, pilih VideoLabBasic.dll, lalu tekan Open.

Pembaca akan kembali ke form Choose Toolbox Items.

Page 42: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

28

Gambar 21 : Form Choose ToolBox Items

Langkah 9

Biarkan Items yang bertanda centang tersebut, lalu klik OK.

Langkah 10

Ulangi langkah 5-9, untuk VideoLab tambahkan lagi

VideoLabAdditional.dll, dan untuk tab VisionLab tambahkan VisionLab.dll

Langkah 11

Setelah langkah 1-10 akan terlihat bagian toolbox seperti ini :

Gambar 22 : Hasil Akhir Penambahan Items VisionLab

Page 43: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

29

3.2. Abstraksi dan Desain Interface

Setelah selesai melakukan tahap persiapan, pembaca kini sudah siap untuk

membuat aplikasi. Namun sebelumnya (jika pembaca cukup sabar, dan berminat

dengan ide penulis), mari kita deskripsikan dulu tujuan kita membuat program

dengan bahasa alami (bahasa ibu programmer untuk membantu mendeskripsikan

idenya).

“Penulis ingin membuat aplikasi di mana aplikasi tersebut dapat

mengendalikan webcam (input) untuk mendeteksi gerakan (motion detection)

secara otomatis (process) dari rekaman realitas (video recoring) dan dapat

menyimpannya (output) di folder yang sudah disediakan (storage media).”

Beranjak ke model perintah yang sedikit rumit, penulis akan menjabarkan

perintah tadi dengan abstraksi, agar dapat fokus ke objek yang akan

diimplementasikan. Penulis akan memulai dengan memecah persoalan untuk

mendapatkan domain solusi, dan berikut hasil abstraksi penulis :

1. Abtraksi Pertama dan Hasil Interfacenya

Untuk membuat aplikasi ini, dibutuhkan lima penyusun utama, penampil

(penampil berjumlah dua, display rekaman realitas, dan display motion detect),

tombol yang mengontrol webcam untuk memulai motion detect, tombol untuk

menghentikan motion detect, tombol untuk memilih sensitifvitas, dan tombol

untuk memilih perangkat capture (webcam).

Gambar 23 : Interface Hasil Abstraksi Pertama

DISPLAY

REKAMAN

REALITAS

DISPLAY

MOTION DETECT

SELECT SOURCE MULAI STOP SENSITIFITAS

Page 44: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

30

2. Abstraksi Kedua dan Hasil Interfacenya

Tombol untuk memulai dan menghentikan dapat dijadikan satu, dengan

logika percabangan. Karena pada display hasil motion detect, diinginkan gambar

mudah tersimpan dengan ukuran sama yang mendukung konsep array maka

penampil gambar ditambahkan lagi satu komponen sebagai tempat gambar agar

mudah dikonversi yaitu PictureBox. Agar rapi kedua penampil lebih baik

dijadikan grup masing-masing dengan groupbox.

Gambar 24 : Interface Hasil Abstraksi Kedua

Selesai mengabstraksikan objek pada abstraksi kedua, berarti kita sudah

dapat mulai mengidentifikasi bagaimana objek akan diimplementasikan. Select

source diimplementasikan dengan pemilihan sumber device, start/stop selain

mengganti label, juga berisi implementasi mulai atau menghentikan capture

(menggunakan genericFilter). Dan terakhir, pada sensitifitas, penulis akan

membandingkan nilai sensitifitas gerakan (berupa filter frekuensi sesuai efek

doppler) dengan video rekaman realitas.

DISPLAY

REKAMAN

REALITAS

PENAMPIL

GAMBAR

SELECT SOURCE START/STOP SENSITIFITAS

PICTURE

BOX

Page 45: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

31

3. Abstraksi DirectShow Filter (Perancangan Proses Aplikasi)

Selesai mendesain interface mari kita rancang proses yang bekerja di

dalamnya. Adapun dengan mengacu bahasa alami dan abstraksi sebelumnya, kita

dapatkan DirectShow filter sebagai berikut :

Gambar 25 : Abstraksi Komunikasi Data dengan DirectShow

Keterangan :

A : Filter Source (untuk mendapatkan sumber device)

B : Filtergraph IMedia Control (memulai prosedur capture)

C : Filter iMediaEvent (pemantauan event)

D : Prosedur genericFilter1_ProcessData (untuk pembanding motion

detect/efek doppler –kirim ke outputpin dan olah ke motion detect-)

E : Filter Transform (mengubah menjadi gambar .*bmp)

F : Filter Rendering dan IvideoWindow (keduanya berperan dalam

menampilkan)

4. Implementasi Penggerak Proses dengan VisionLab

Sebelumnya kita sudah mengetahui bahwa VisionLab akan memudahkan

kita hingga setengah jalan jika sudah benar dalam mendefinisikan filter-filter

sebagai komponen komunikasi data. Sekarang kita kerjakan setengah jalan yang

lain, agar komunikasi data aplikasi ini menjadi jelas. Ibarat memerintah karyawan,

seorang bos dalam kasus kita sebelumnya, ia juga harus membayangkan jalan dan

transportasi apa yang digunakan karyawannya agar misinya berhasil. Berikut

komunikasi data dari proses yang diimplementasikan dengan “penggerak proses”

atau objek-objek yang akan kita komunikasikan hingga membentuk komunikasi

data webcam berbantu komputer untuk mendeteksi gerakan secara otomatis :

A B C D E

Page 46: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

32

Gambar 26 : Implementasi Komunikasi Data Objektif Motion Detection

3.3. Implementasi (Pembuatan Aplikasi)

Berikut ini langkah-langkah pembuatan aplikasi motion detection dengan

Visual C# 2008 Express Edition.

Langkah 1

Jalankan Visual C# 2008 Express Edition, lalu klik File � New Project.

Langkah 2

Pada jendela New Project, pilih Window Forms Application dan beri

nama motion_detect, lalu klik OK.

Gambar 27 : Jendela New Project

Langkah 3

Simpan proyek dengan klik File � Save All. Ketikkan nama, lokasi proyek,

dan solution name, lalu klik Save.

Page 47: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

33

Langkah 4

Pada Form1, tambahkan komponen berikut :

3 x Button (dapat ditambahkan dari toolbox tab All Windows Forms)

2 x GroupBox (dapat ditambahkan dari toolbox tab All Windows Forms)

2 x DSImageDisplay (dapat ditambahkan dari toolbox tab VideoLab)

1 x PictureBox (dapat ditambahkan dari toolbox tab All Windows Forms)

2 x DSCapture (dapat ditambahkan dari toolbox tab VideoLab)

1 x genericFilter (dapat ditambahkan dari toolbox tab VideoLab)

1 x motionDetect (dapat ditambahkan dari toolbox tab VisionLab)

Langkah 5

Atur posisi dari komponen yang ditambahkan tadi sehingga terlihat seperti

gambar di bawah ini :

Gambar 28 : Pengaturan Posisi Komponen Aplikasi

Page 48: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

34

Langkah 6

Atur properti komponen (dengan klik kanan komponen pilih Properties)

yang ditambahkan pada langkah 5 seperti pada ditunjukkan tabel berikut :

Tabel 1 : Pengaturan Properti Komponen Aplikasi

Komponeen Properti Nilai Properti

Form1 Text Motion Detect

GroupBox1 Text Video Source

GroupBox2 Text Motion Detect

Button1 Text Select Source

Button2 Text Start

Enable False

Button3 Text Sensitifitas

Enable False

DSImageDisplay1 Anchor Top, Bottom, Left, Right

DSImageDisplay2 Anchor Top, Bottom, Left, Right

dsCapture1 Enable False

PictureBox Visible False

Sehingga tampak seperti pada gambar di bawah ini :

Gambar 29 : Tampilan Form Setelah Properti Diatur

Langkah 7

Pada DSCapture1 pilih OuputPin, lalu klik tombol

Page 49: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

35

Langkah 8

Pada open wire connection editor, pilih InputPin dari dsImageDisplay1

dan motionDetcct1, lalu klik OK.

Gambar 30 : Pemilihan InputPin untuk DSCapture1

Langkah 9

Pada motionDetect1, pilih OuputPin, lalu klik tombol

Langkah 10

Pada dialog motionDetect1.OutputPin, pilih InputPin dari

dsImageDisplay2, dan genericFilter1, lalu klik OK.

Gambar 31 : Pemilihan InputPin untuk motionDetect.OutputPin

Langkah 11

Pada motionDetect1, pilih MotionGrid, lalu tekan tombol

Page 50: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

36

Langkah 12

Ubah jumlah kolom dan baris berikut nilainya menjadi seperti gambar di

bawah, lalu klik OK. Nilai sensitifitas ini berkisar antara 0-9. Nilai 0

menunjukkan sensitifitas rendah, sementara 9 menunjukkan sensitifitas tinggi.

Gambar 32 : Pengaturan Motion Grid (untuk Sensitifitas)

Langkah 13

Klik tombol SelectSource, lalu tuliskan program di bawah ini.

Private void button1_Click(object sender, EventArgs e)

{

dsCapture1.VideoCaptureDevice.ShowDeviceSelctDialog();

button2.Enabled = true;

button3.Enabled = true;

}

Program di atas berfungsi untuk menampilkan dialog pemilihan source

device yang akan digunakan, yaitu pada fungsi

dsCapture1.VideoCaptureDevice.ShowDeviceSelctDialog();

Page 51: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

37

Langkah 14

Klik tombol Start, lalu tuliskan program di bawah ini.

Private void button2_Click(object sender,EventArgs e)

{

If (button2.Text == “Start”)

{

dsCapture1.Enabled = true;

dsCapture1.Start();

button1.Enabled = false;

button2.Enabled = “Stop”;

}

else

{

dsCapture1.Stop();

dsCapture1.Enabled = false;

button1.Enabled = true;

button2.Text = “Start”;

button2.Enabled = false;

button3.Enabled = false;

}

}

Untuk memulai capture digunakan fungsi dsCapture1.Start(); Untuk

menghentikannya digunakan fungsi dsCapture1.Stop();

Langkah 15

Klik tombol Sensitifitas, lalu tuliskan program di bawah ini.

Private void button3_Click(object sender, EventArgs e)

{

motionDetect1.MotionGrid.ShowDialog();

}

Fungsi motionDetect1.MotionGrid.ShowDialog(); digunakan untuk

menampilkan form sensitifitas pada langkah 12.

Page 52: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

38

Langkah 16

Klik genericFilter1 � Event , lalu klik ganda ProcessData. Tuliskan

program di bawah ini.

Private Int16 ulang;

private void genericFilter1_ProcessData(object Sender,

Mitov.VideoLab.VideoProcessDataEventArgs Args)

{

System.Drawing.Bitmap ABitmap = Args.InBuffer.ToBitmap();

pictureBox1.Image = ABitmap;

pictureBox1.Image.Save("E:/ " + Convert.ToString(ulang) + ".bmp");

ulang++;

}

Langkah 17

Untuk menjalankan program, klik Start Debuging atau tekan F5

Langkah 18

Agar aplikasi dapat dijalankan di komputer lain (re-distribuadalbe), salin

(copy) terlebih dahulu library VisionLab di lokasi instalasi VisionLab yang sudah

dipilih sebelumnya. Penulis meng-install di C:\Program

Files\LabPacks\DotNET\Bin..

Page 53: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

BAB IV

PENGUJIAN DAN ANALISA

4.1. Pengujian Sistem

Sistem dapat diuji dengan cara sebagai berikut :

1. Jika PC/laptop belum terinstall .NET framework 3.5 SP 1 (untuk user yang

sudah meng-install Visual C# 2008 EE, otomatis sudah terinstall), install

terlebih dahulu agar API general dikenali komputer.

2. Jalankan aplikasi dari folder proyek aplikasi, misalnya :

C:/motion_detect/motion_detect//bin/Debug/motion_detect.exe.

Gambar 33 : Jendela Awal Aplikasi

3. Klik Select Source untuk memilih input webcam, bisa default jika ingin

memilih webcam utama atau USB Video Device untuk pengguna USB

webcam, sedangkan untuk laptop dapat memilih webcam yang

teridentifikasi sesuai merknya. Tekan OK jika setuju.

Page 54: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

40

Gambar 34 : Jendela Select Source

1. Secara opsional pembaca dapat memberi nilai sensitifitas (1-10), dengan

klik tombol Sensitifitas, kemudian isi cols dan rows pada dialog Edit Motion

Grid. Tekan OK jika setuju.

Gambar 35 : Dialog Edit Motion Grid Sebagai Sarana Pemilihan Nilai Sensitifitas

2. Untuk memulai tekan Start

3. Gerakkan objek yang telah terfokus

4. Jika ingin berhenti, klik tombol Stop

5. Cek hasil capture pada lokasi yang telah ditentukan

Page 55: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

41

Gambar 36 : Lokasi File Hasil Capture

Pengujian sistem oleh penulis, dilakukan pada objek (botol bekas air

minum) yang digerakkan berayun selama 8 detik dengan webcam VGA merk

iTech (sensor CMOS). Variabel pokok adalah set nilai sensitivitas, yaitu acak

(random) dan default (kolom 10, baris 10 (10:10)), yang menghasilkan lebih

banyak gambar dengan sensitivitas tinggi (nilai 10:10, atau default). Untuk

Pembuktian API DirectShow sendiri aplikasi dijalankan pada laptop Acer

(embedded webcam 1,3 Mega Pixel, sensor CMOS). Adapun batasan lain dari

pengujian ini adalah :

1. Warna objek tidak boleh terlalu sama dengan warna latar belakang

(background).

2. Jarak objek dari kamera 10 centimeter.

3. Jumlah objek yang digerakkan hanya 1 buah.

4. Faktor acak posisi awal, dan kecerahan cahaya dalam ruangan diabaikan.

Tabel 2 : Hasil Lengkap Pengujian Sistem

pada USB Webcam dan Embedded Webcam

Banyak Pendeteksian Gerakan

Set Sensitivitas (8:2) Default PC/Laptop Banyak

Pengujian I II III IV RT I II III IV RT

PC 4 12 14 13 12 12.75 15 16 17 16 16

Laptop 4 13 14 14 15 14 17 17 18 16 17

Page 56: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

42

Keterangan :

RT = Rata-rata (jumlah total hasil percobaan.banyaknya pengujian)

12.75 dapat diartikan stabil antara 12-13 gambar.

Berikut gambar yang didapatkan pada PC dan Laptop

Gambar 37 : Gambar yang Dicapture dengan Webcam VGA

Gambar 38 : Gambar yang Dicapture dengan Webcam 1.3 MP

Nampak bahwa jenis resolusi kamera menentukan jernihnya gambar,

sedangkan jumlah capture relatif sama karena menggunakan sensor yang sama

(CMOS).

4.2. Analisis

4.2.1. Cara Bekerjanya Sistem

Blok diagram sistem untuk mendeteksi gerakan dan penyimpanan outputnya

dalam format .bitmap (.*bmp) dapat dilihat pada Gambar:

Gambar 39 : Diagram Blok Cara Bekerjanya Sistem

OBJEK TERFOKUS FRAME EFEK DOPPLER

BANDINGKAN KONVERSI

Page 57: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

43

Keterangan :

1. Objek terfokus membentuk frame yang terlihat pada display video source

(jika tidak bergerak, prosedur lanjut tidak dijalankan).

2. Perubahan frame karena efek doppler (terlihat pada display video source dan

motion detect) � Simpan frame sebelumnya dalam memori buffer.

3. Bandingkan dengan nilai sensitifitas (jika tidak sesuai, maka tidak

tersimpan.

4. Konversi gambar � simpan dalam media storage (dengan lokasi yang telah

ditentukan pada aplikasi)

Dapat disimak bahwa proses cocok dengan abstraksi DirectShow API

(Gambar 25), maka analisa dilanjutkan pada analisa implementasi listing.

4.2.2. Analisis Implementasi Listing Pemrograman

Dalam menganalisa listing (daftar perintah) pemrograman, programmer

tidak akan pernah bisa lepas dari logika bahasa pemrograman yang digunakan.

Adapun logika pemrograman yang digunakan untuk membangun aplikasi ini

yaitu:

1. Abstraksi

Mengikuti kaidah OOP bahwa dalam pembuatan aplikasi, programmer

harus fokus pada domain masalah, aplikasi ini dibagi kelas-kelas yang mewakili

event atau proses aplikasi. Adapun event dalam aplikasi ini yaitu :

a. Memilih perangkat yang teridentifikasi aplikasi (Select Source);

b. Memilih sensitifitas;

c. Memulai dan mengakhiri proses capture (pengambilan gambar);

d. Proses penyimpanan gambar.

2. Percabangan

Saat aplikasi dijalankan dapat disimak bahwa tombol start dan stop saling

menggantikan dalam aplikasi ini, jika start hidup, stop mati dan sebaliknya (vice

versa). Lebih jauh lagi, saat tombol dengan tulisan (text) start aktif, maka tombol

dengan text select source juga ikut aktif. Berikut pembahasan listing yang

diketikkan sehingga dapat menjelaskan proses ini:

Page 58: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

44

// BERIKUT ADALAH BARIS MULAI PENJELASAN AKTIVASI

If (button2.Text == “Start”)

{

dsCapture1.Enabled = true;

dsCapture1.Start();

button1.Enabled = false;

button2.Enabled = “Stop”;

// BERIKUT ADALAH AKHIR DARI PENJELASAN AKTIVASI

}

// BERIKUT ADALAH BARIS MULAI PENJELASAN PENGHENTIAN

else

{

dsCapture1.Stop();

dsCapture1.Enabled = false;

button1.Enabled = true;

button2.Text = “Start”;

button2.Enabled = false;

button3.Enabled = false;

// BERIKUT ADALAH AKHIR PENJELASAN PENGHENTIAN

}

Keterangan listing :

Proses aktivasi capture : Proses DSCapture berjalan (enabled) jika tombol

dengan tulisan (text) start (button2) ditekan, setelah itu, tulisan pada tombol start

akan diganti dengan stop dan select source (button1) mati.

Proses penghentian : Proses dihentikan jika tombol dengan tulisan stop

ditekan, diikuti proses lain yaitu tombol dengan tulisan select source (button1)

dan sensitiftas (button3) kembali aktif, setelah itu tulisan stop digantikan start.

3. Penggunaan Library Tambahan (OOP)

Telah dibahas sebelumnya bahwa melalui library tambahan, programmer

akan dibantu dalam menyederhanakan aplikasinya. Untuk aplikasi ini,

programmer dimudahkan karena Visual C# dan library-nya sejak awal telah

menerapkan konsep pewarisan, enkapsulasi, klasifikasi, polymorphism, dan pesan

yang disebut logika OOP dasar (Hariyanto:2007).

Page 59: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

45

Berikut dijabarkan fungsi lima konsep di atas pada aplikasi motion detection

ini :

a. Proses enkapsulasi menyembunyikan perintah yang sejatinya dilakukan oleh

library tambahan, melalui deklarasi private.

b. Proses polymorphism diantarnya membuat perintah sensitifitas menjadi satu

perintah.

c. Proses klasifikasi membuat program kita modular (dapat dipisahkan) dalam

tombol-tombol, dan display-display.

d. Proses pewarisan diantaranya memudahkan kita dalam menjaga konsistensi

ukuran input-outpu, dan dapat digunakannya konversi ke bitmap (*.bmp)

dengan sekali panggil (melalui system.drawing.bitmap).

e. Proses komunikasi pesan (lewat Open Wire Connection Editor), membuat

objek-objek kita dapat bekerja bersama-sama karena membentuk kesatuan

sebagai events.

Berikut dua penerapan logika OOP pada aplikasi:

a. Using System.Drawing � Aplikasi dapat menggunakan semua kelas dalam

library System.Drawing di mana terwujud dalam prosedur.yang digunakan

dalam objek.

b. dsCapture1.VideoCaptureDevice.ShowDeviceSelctDialog();

Aplikasi menggunakan library dsCapture1.VideoCapture untuk

menampilkan objek dialog show device.

4. Array

Seperti telah disinggung dalam pendahuluan, minimal suatu program

berinteraksi dengan memori dan prosesor. Dalam program ini agar dapat

menangkap perubahan gerakan, webcam harus berinteraksi dengan memori yang

dapat menyimpannya. Hal inilah yang menjadi kesamaan prinsip kerja sistem ini

dengan “kawan lama kita” kamera gambar hidup. Dalam kamera gambar hidup,

ada peristiwa “penglihatan yang tertinggal” pada pengamat (manusia) karena

kecepatan bergantinya gambar dalam suatu peristiwa (frekuensi) lebih cepat dari

kemampuan pengamat (sensitifitas pengamatan), dalam fisika hal ini dikenal

Page 60: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

46

dengan istilah efek doppler. Untuk bidang komunikasi data, efek doppler dapat

diartikan sebagai besar pergeseran frekuesni saja (Einstein:2005).

Berangkat dengan teori efek doppler dalam bidang komunikasi data, dapat

diaplikasikan bahwa dalam aplikasi ini dibutuhkan memori yang dapat diatur

sensitifitasnya, di mana terwujud dengan implementasi kode sebagai berikut :

Private void button3_Click(object sender, EventArgs e)

{

motionDetect1.MotionGrid.ShowDialog();

}

Keterangan listing :

Karena dijalankan fungsi motionDetect1.MotionGrid.ShowDialog(); maka

aplikasi memberikan umpan balik dialog kepada user untuk memilih motion grid

sebagai data input pembanding (daya sensitifitas yang diinginkan). Penyimpan

daya sensitiftas yang diatur dengan dua nilai ini disebut array.

Array adalah sekumpulan tempat penyimpanan data (variabel) yang bertipe

sama, dan diberi nama sama (Darmawan:2009). Namun untuk membedakannya

array juga memiliki index (terwujud dalam output foto dengan nama 0, 1, 2, dan

seterusnya).

Dalam pemrograman, array ini juga berfungsi sebagai pointer. Pointer

adalah variabel khusus yang digunakan untuk menyimpan memori dari variabel

lain (Darmawan:2009). Artinya kita dapat memesan tempat di dalam memori dan

memberi nama sesuai variabel yang di-point (ditunjuk). Sehingga dengan sifat

pointer memungkinkan programmer untuk menyimpan hasil capture aplikasi

pada sebuah folder dengan implementasi sebagai berikut :

private Int16 ulang;

private void genericFilter1_ProcessData(object Sender,

Mitov.VideoLab.VideoProcessDataEventArgs Args)

{

System.Drawing.Bitmap ABitmap = Args.InBuffer.ToBitmap();

pictureBox1.Image = ABitmap;

pictureBox1.Image.Save("E:/ " + Convert.ToString(ulang) + ".bmp");

Page 61: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

47

ulang++;

}

Keterangan listing :

Setelah didapatkan hasil gerakan (melalui DSCapture pada array

motionDetect, filter motionDetect menampilkan hasilnya pada DSImageDisplay

dan mengolahnya pada genericFilter (lihat Gambar 26 (implementasi komunikasi

data objektif motion detection)). GenericFilter sesuai listing di atas,

menyimpannya pada pictureBox dan mengonversi nilai yang ditangkap filter

motionDetect sebagai String yang disimpan sebagai bitmap.

5. Perulangan

Pada pembahasan listing logika keempat (array) dapat diamati adanya

perintah private Int16 ulang; dan perintah unary (satu operand) ulang++ untuk

memanggilnya. Perintah ini menandakan prosesor akan melakukan interupsi

pengulangan capture, selama user tidak menekan tombol stop (menghentikan

program) dan objek terus bergerak.

4.3. Pembuktian Hipotesis

Setelah menyimak penjelasan mengenai abstraksi dan pembuatan aplikasi,

mungkin pembaca sudah dapat memahami bahwa dengan Visual C# 2008 EE,

programmer benar-benar dimudahkan untuk mengimplementasikan hasil abstraksi

yang telah kita jabarkan Sehingga nampak jelas dengan sendirinya bahwa proses

pemrograman motion detection ini dapat dijabarkan sebagai berikut:

Abstraksi � Organisasi objek-objek hasil abstraksi (akan lebih mudah jika

kita mengetahui juga organisasi pemroses (komputer) dengan alat yang dikontrol,

misalnya dengan bantuan DirectShow, untuk kasus webcam ini) � Implementasi

dengan C# dan library VisionLab.

Namun masih timbul sebuah pertanyaan : “Bagaimana bisa webcam

konektor USB dengan webcam embedded dapat diidentifikasi aplikasi tanpa

pengaturan seperti solusi aplikasi terdahulu?”

Inilah yang disebut dengan API. Dengan API semua hardware telah

diidentifikasi sistem operasi sebagai objek umum sehingga mudah diabstraksikan.

Page 62: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

48

Sama halnya dengan tongkat, martil, dan kayu yang dapat kita identifikasi sebagai

alat pukul.

Sejak komputer berevolusi menjadi mesin multimedia dan hiburan, pasar

komputer dibanjiri oleh beragam perangkat multimedia, seperti digital video

camcoder, webcam. Dengan banyaknya vendor dan jenis perangkat yang dirilis,

menjadi tidak mudah bagi pengembang aplikasi untuk mendukung semua

perangkat tersebut. Maka jelas bahwa ada kebutuhan akan sebuah Application

Programming Interface (API) yang mampu menjembatani, dan memberi solusi

masalah ini (Kurniawan:2010). Salah satu API tersebut adalah DirectShow yang

digunakan dalam pembuatan aplikasi ini. Ada banyak API yang digunakan IDE

non-Microsoft, seperti COM pada Delphi.

Namun dengan makin kompleksnya masalah yang membutuhkan

penanganan dengan ICT, menjadi tidak efisien dan relatif kurang kreatif jika

programmer hanya menggunakan satu jenis API saja, lebih tidak mengena lagi

jika masih menggunakan pemrograman prosedural, karena listing yang begitu

banyak.

Berikut beberapa perbandingan penggunaan API tunggal dan general dan

.NET framework :

1. Dengan logika objektif sama-sama dapat menyentuh persoalan, namun

dengan API tunggal, solusi inovatif biasanya buntu, dan memerlukan

program pihak ketiga. Misalnya kontrol mikrokontroller untuk instrumentasi

humiditas, jika mengandalkan API tunggal programmer hanya dapat

menggunakan satu aplikasi saja (misalnya jika suhu sekian nyalakan kipas

A), jika ingin menambahnya harus menggunakan API lain seperti php-

MySQL (yang sekarang dikritik keamanannya) untuk basis data di web.

Dengan API general cukup satu pemrograman saja, tanpa perlu belajar

sintaks dasar SQL.

2. Untuk kasus motion detection, tanpa menggunakan manajemen memori

otomatis (salah satu fitur .NET), programmer akan kesulitan mendefinisikan

memori yang digunakan, di mana hal tersebut sering mengurangi performa

program.

Page 63: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

49

3. Untuk pemrograman yang belum mendukung framework objektif,

komunikasi data harus menggunakan data biner atau heksadesimal, sehingga

tidak hanya harus mempelajari prinsip kerja suatu alat, programmer harus

mengetahui juga batasan data, dan debug-nya tidak efisien. Bahkan dalam

banyak kasus penelitian hanya menghasilkan produk yang “itu-itu saja”

karena inovasi terbentur sulitnya menguasai batasan data alat.

Dalam pengujiannya hipotesis telah memenuhi kaidah penalaran deduktif,

sebagai berikut:

1. Kaidah keacakan : Setidaknya ada satu alternatif mirip peluang

(DirectShow)

2. Riset alternatif lain (WIA:lihat daftar pustaka PCMedia), dan banyak dari

artikel lain.

3. Frekuensi relatif percobaan dengan hasil yang positif, membuktikkan

hipotesis cocok dengan realitas saat ini.

Dapat diambil kesimpulan bahwa :

Semua anggota API Windows sebelumnya terbukti digeneralisasi Microsoft,

atau dapat diringkas dengan pernyataan sebagai berikut :

Standar Tersendiri � API (dimengerti oleh komputer sebagai objek dengan

nama yang sudah ditentukan) yang dapat diatur dengan aplikasi pendukung API

� .NET Framework (API Windows tergeneralisasi) yang dapat diatur dengan

Visual Studio.

Atau dapat dirumuskan dengan bahasa matematis sebagai berikut :

Setiap teori generalisasi yang tentunya bersifat umum, harus sedemikian

rupa susunannya, sehingga hipotesis ditransformasikan ke bentuk yang persis

sama bila peubah-peubah a � a’, atau b � b’ (domain masalah untuk solusi

terdahulu (framework terpisah)), dinyatakan dalam bentuk baru (a, b, … n) � A.

Dalam kaitan ini, huruf dengan tanda aksen (a’, b’, ... n’) menandakan framework

lama yang dipakai untuk pemecahan solusi, sedangkan A merupakan solusi yang

telah digeneralisasi (NET Framework yang mendukung solusi lama, misalnya

DirectShow, berarti kita dapat memakai NET 2.0 atau lebih tinggi).

Page 64: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

50

4.4. Asas Manfaat Produk

Dengan capaian kajian kita sejauh ini, kita sudah mendapati bahwa

pemilihan program IDE C# (disertai library tambahannya) dan .NET Framework

terbukti efektif dan efisien dalam perjalanannya, karena selain gratis (minim

modal finansial), kita juga disediakan fitur-fitur yang berimplikasi pada cara

pandang memecahkan masalah dengan ICT yang dapat dibilang mudah. Sehingga

asas manfaat dasar (meminimalkan modal, memaksimalkan hasil yang didapatl)

telah terpenuhi. Tiba pada kajian lanjut (pemasaran, pengembangan, dan lainnya)

sehingga diskursus kita kali ini menjadi kompleks.

Untuk pemasaran sendiri aplikasi ini sejatinya non-komersial, namun

mengingat jumlah pengguna gadget yang ditanam fungsi kamera kian meningkat

dari hari ke hari, terutama di kalangan urban, penulis menyarankan kepada

pengembang aplikasi ini (penulis sendiri menyerahkan hak aplikasi ini kepada

semua yang ingin mengembangkan (freeware open source)) nantinya dapat

membuat aplikasi motion detection untuk suatu gadget misalnya iPod sehingga

kita dapat menjualnya secara online, atau menawarkan kerjasama bundling

dengan produk mereka.

Page 65: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

BAB V

PENUTUP

5.1. Simpulan

Setelah melakukan perancangan dan implementasi pada sistem dapat

disimpulkan bahwa :

1. Webcam dapat digunakan sebagai sensor untuk mendeteksi gerakan, dengan

bantuan aplikasi .NET yang terintegrasi (komunikasi data objektif).

2. Penggunaan webcam sebagai input mengakibatkan keterbatasan pada

sistem, seperti warna tersebut tidak boleh terlalu menyerupai background,

dan jarak efektif yang cukup pendek karena citra kabur.

3. Sebuah ide menjadi penemuan hanya ketika kita menunjukkan bahwa ide

tersebut dapat bekerja. Pembuatan rencana yang sistematis-bekerja dengan

abstraksi dan diakhiri dengan uji, pada pembuatan aplikasi komputer sangat

membantu programmer.

4. Integrasi Visual C# 2008 Express Edition – Library tambahan dari mitov

(www.mitov.com) dapat menjadi solusi pembuatan dan pengembangan

aplikasi yang powerfull. Dapat dilihat pada situsnya yang menyediakan

banyak library yang dapat dimanfaatkan membuat aplikasi kaya guna, dari

instrumentasi digital, signal processing, hingga penghitungan kompleks

berbasis Artificial Intellegence dapat dibuat dengan integrasi ini dengan

relatif mudah. Hal ini karena Microsoft melalui NET Framework membuat

terobosan dengan mengintegrasikan banyak API yang telah mereka rilis.

5. Menurut hemat penulis, aplikasi motion detection ini sudah cukup efektif-

efisien, karena selain dapat dibuat dengan modal yang relatif sedikit (cukup

memerlukan webcam, karena Visual C# dan library tambahannya gratis),

dibanding membeli kamera pendeteksi gerakan otomatis yang relatif mahal,

kita masih dapat membuat sesuai keinginan kita selama potensi (kita dan

teknologi) masih mendukung, misalnya sensitifitas yang dapat diatur pada

aplikasi motion detection buatan penulis.

Page 66: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

52

5.2. Saran

Bertolak pada semua poin simpulan di atas, penulis menyarankan supaya

pembaca mengembangkan alter ego (potensi diri) masing-masing seluas-luasnya,

tidak hanya dalam ICT, tapi juga ilmu-ilmu mendasar (matematika (baik aliran

simbolis-logikal-hukum), bahasa (baik era pra-modern, modern, postmodern), seni

(baik filsafati-praktik), ilmu alam, dan humaniora), karena dalam proses kreatif

(saturasi (kritis awal, mimpi) – inkubasi (riset) – iluminasi (pencerahan)), semua

dapat dipetakan dengan poin-poin simpulan di atas.

Mengenai ide pengembangan, C# dan library tambahannya (khusunya dari

www.mitov.com) masih memiliki ranah yang luar biasa luas, karena seperti sudah

disinggung pada manfaat penelitian, proyek TA penulis ini memang sengaja

dibuat relatif mendasar yang mudah-mudahan dapat menjadi pintu masuk ke

proyek yang lebih kreatif-inovatif. Khusus untuk pembaca yang tertarik

mengkomersialkan produknya, dalam buku putih Kementerian Ristek dan

Teknologi (dapat diunduh di www.ristek.go.id), mantan Menristek Kusmayanto

Kadiman telah mencanangkan program resolusi riset Indonesia dengan sinergi

ABG (Academic-Business-Government), di mana kita dapat mengajukan

penelitian kita ke bagian akademik yang berwenang di UNS, yang akan

membantu kita dalam langkah sinergis lanjutnya (Government-Business).

Untuk yang ingin menjadi penemu lepas (independent), dapat membaca

referensi lebih lanjut, salah satunya : Steven Caney – Buku Tentang Penciptaan,

terbitan Karisma Publishing.

Page 67: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

DAFTAR PUSTAKA

Buku

Caney, Steven. 2008. Buku Tentang Penciptaan, Karisma Publishing : Tangerang.

Darmawan, Erico. 2009. Pemrograman Dasar C – Java – C#, Penerbit

Informatika : Bandung.

Einstein, Albert. 2005. Relativitas : Teori Umum dan Khusus, Cetakan Pertama,

Kepustakaan Populer Gramedia (KPG) : Jakarta, halaman : 59.

Hariyanto, Bambang. 2007. Esensi-esensi Bahasa Pemrograman Java, Edisi 2,

Cetakan Pertama, Penerbit Informatika : Bandung.

Kurniawan, Dayat. 2010. Aplikasi Elektronika dengan Visual C# 2008 Express

Edition (Menguasai Pembuatan Aplikasi Elektronika Sederhana Berbasis

ATMega 8). Eles Media Komputindo : Jakarta, halaman : 95-103.

Philbin, Tom. 2008. 100 Penciptaan Terbesar Sepanjang Sejarah, Cetakan

Pertama. Karisma Publishing : Tangerang, halaman : 259-262.

Popper, Karl R. 2008. Logika Penemuan Ilmiah, Cetakan Pertama. Pustaka

Pelajar : Yogyakarta.

Pranoto, Eka Dharma. 2007. The Art of Debugging, Cetakan Pertama, Andi Offset

: Yogyakarta.

Majalah dan Tabloid

Hutabarat, Bernaridho Immanuel. 2007. Sistem Olah Data: (Tidak) Asal Usul.

PCMedia edisi 04/2007, halaman 80.

Juhara, Zamrony P. 2010. DirectShow: Mengutak-atik Filter Graph. PCMedia

edisi 02/2010, halaman 199-122

Juhara, Zamrony P. 2010. Pemrograman DirectShow. PCMedia edisi 01/2010 ,

halaman 112-115:

Kurniawan, Agus. 2010. Integrasi Webcam de ngan Aplikasi .NET. PCMedia

05/2010, halaman 126-127:

Page 68: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

Redaksi PCMild. 2010. How It Works : Augmented Reality. PCMild edisi

07/2010, halaman 3.

Sarjono, Gunung. 2010. Kinerja Plug n Play. PCMedia edisi 01/2007, halaman

96.

Slide Presentasi (PDF – Impress/Powepoint)

Rahman, Basirudin. 2009. PDF Presentasi Pemrograman .NET, diunduh gratis di

geeks.netindonesia.net sebagai member.

Stephen. 2007. Powerpoint Presentasi Pengantar Teknologi Informasi dan

Telekomunikasi : SMA Negeri 1 Tengaran.

Wely. Slide 2009. Powerpoint Presentasi C# Fundamental, diunduh gratis di

geeks.netindonesia.net sebagai member.

Catatan Kuliah

Palgunadi. 2007. Pengantar Algoritma. Universitas Sebelas Maret : Surakarta.

Seminar

Tim MSDN Institut Teknologi Bandung, Microsoft Innovation Road Trip 2010 :

Sesi Visual Studio, 8 Maret 2010 di Universitas Muhammadiyah

Surakarta.

Wawancara

Dayat Kurniawan, Peneliti Pusat Penelitian Elektronika dan Telekomunikasi,

Lembaga Ilmu Pengetahuan Indonesia (LIPI), melalui e-mail dan SMS :

[email protected]

Internet

Fotografer.net, team, 2007. Survey Alasan Orang Indonesia Membeli Kamera,

diakses 16 April 2007.

Kurniawan, Erick. 2009. OOP dengan C# (Bagian 1-4).

http://mugi.or.id/blogs/erick/default.aspx, diakses : 17 Juni 2009.

Page 69: VIDEO RECORDING DENGAN MOTION DETECTION MELALUI …/Video... · Can be concluded that the software VIDEO RECORDING WITH MOTION ... Abstraksi Komunikasi Data DirectShow ... sehingga

MITOV team, 2010. VisionLab Package.

http://turbomirror.com/wikidoc/index.php?title=Package_VisionLabPkg,

diakses 15 Juni 2010.

Setyadi, Gandhi Rahmawan. 2007. Beberapa Hal yang Gua Tahu dari Digital

Photography, http://gandirsetyadi.wordpress.com/2007/11/26/bahan-ii-

beberapa-hal-yang-gua-tahu-dalam-digital-fotografi/, diakses 15 Juni 2010.

Wikipedia Indonesia. 2010. Microsoft Visual Studio Express.

http://id.wikipedia.org/wiki/Microsoft_Visual_Studio_Express, diakses : 16

Juni 2010.

Wikipedia Indonesia. 2010. Antarmuka Pemrograman Aplikasi.

http://id.wikipedia.org/wiki/Antar_Muka_Pemrograman_Aplikasi, diakses :

16 Juni 2010.