Mengenal IDE Microsoft Visual C Pemrograman Berorientasi Objek OOP untuk Pemrograman Visual

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