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++ MFCWin32, 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
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
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.
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.
2.3.2. Abstraksi Komunikasi Data dengan DirectShow