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
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, startstop 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 STARTSTOP
SENSITIFITAS PICTURE
BOX
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
Gambar 26 : Implementasi Komunikasi Data Objektif Motion Detection
3.3. Implementasi Pembuatan Aplikasi