BAB 3 ANALISIS DAN PERANCANGAN PROGRAM
3.1
Perancangan Program Aplikasi
3.1.1
Gambaran Umum Program Aplikasi Nama program yang hendak dikembangkan adalah Viola Jones Simulator. Tujuan dari
perancangan program ini adalah untuk melakukan simulasi proses pembelajaran dan pendeteksian wajah dari sembarang citra digital yang diberikan. Secara umum, aplikasi terdiri dari pendeteksian dari file gambar tak bergerak, dan gambar bergerak. Format yang didukung oleh program ini untuk file gambar tidak bergerak antara lain: bitmap (bmp), jpeg, jpg, dan gif, sementara format yang didukung untuk file gambar bergerak adalah file avi.
3.1.2 Spesifikasi Rumusan Perancangan Program yang dikembangkan memiliki satu form utama. Modul detecting from image dan detecting from video dimasukkan ke dalam form yang terpisah, namun form detecting from image akan menjadi form default pada saat program pertama kali dijalankan. Untuk memanggil modul detecting from image atau detecting from video dilakukan dengan mengklik menu yang sesuai, dan form yang bersangkutan akan muncul di dalam form utama. Terdapat 2 proses utama pada program ini, yakni: 1. Proses Detecting From Image
20
21 Proses deteksi pada modul ini menggunakan cascade classifier dengan ukuran 24 x 24 yang akan dijalankan pada citra digital yang telah dipilih, kemudian wajah-wajah yang terdeteksi akan ditandai dengan kotak berwarna kuning. 2. Proses Detecting From Video Proses deteksi pada modul ini menggunakan cascade classifier dengan ukuran 24 x 24 yang akan dijalankan terus menerus selama video yang diputar masih belum habis, wajah-wajah pada masing-masing frame akan ditandai dengan kotak berwarna kuning.
3.1.3
Use-Case Diagram Program ini memiliki sebuah form utama, namun pada saat pertama kali dijalankan, form
utama akan memanggil form detecting secara langsung. Berdasarkan menu yang dipilih oleh pengguna, form utama akan memanggil salah satu dari 2 modul utama program, yaitu modul detecting dan modul training.
Gambar 3.1 Use-Case Diagram Program Aplikasi ViolaJonesSimulator
22 3.2
Perancangan Modul
3.2.1 Perancangan Menu Form utama merupakan suatu container bagi form-form anak. Form ini terdiri atas sebuah menu dan sebuah container. Menu akan berisi tombol-tombol untuk memanggil form detecting from image, form detecting from video, dan mengaktifkan fungsi-fungsi tambahan seperti memanggil form author dialog, dan untuk keluar dari program. Container ini yang akan digunakan untuk menampung form anak pada saat dipanggil. From Image
From Video
About
Exit
Container
Gambar 3.2 Rancangan Menu
3.2.2 Perancangan Menu Detect From Image Form detect from image digunakan untuk melakukan proses deteksi wajah dari sembarang citra digital yang diberikan. Form ini terdiri dari sebuah TextBox tempat nama file
23 input akan diisi, dan sebuah PictureBox sebagai tempat citra digital hasil deteksi akan ditampilkan. Button Browse akan mengaktifkan sebuah Open File Dialog yang kemudian digunakan user untuk memilih citra digital, yang terdapat pada hard drive maupun network drive, yang ingin digunakan sebagai input. Apabila user memilih suatu file, nama file tersebut akan ditampilkan pada TextBox di sebelahnya. Kemudian citra yang terdapat pada file tersebut pun akan ditampilkan pada PictureBox di bawahnya. Button Detect akan menjalankan proses deteksi wajah pada citra digital yang telah dipilih, kemudian proses akan menandai citra yang terdapat pada PictureBox dengan kotak-kotak berwarna kuning di tempat wajah-wajah yang terdeteksi. Informasi lebih detil mengenai wajah yang terdeteksi pun ditampilkan pada TextBox Result.
Nama File :
Browse
Canvas
Gambar 3.3 Rancangan Form Detect From Image
Detect
Result
24 3.2.3 Perancangan Menu Detect From Video Form detect from video digunakan untuk melakukan proses deteksi wajah dari video berformat avi yang diberikan. Form ini terdiri dari sebuah TextBox tempat nama file input akan diisi, dan dua buah Button untuk menjalankan program. Button Browse akan mengaktifkan sebuah Open File Dialog yang kemudian digunakan user untuk memilih file berformat avi, yang terdapat pada hard drive maupun network drive, yang ingin digunakan sebagai input. Apabila user memilih suatu file, nama file tersebut akan ditampilkan pada TextBox di sebelahnya. Button Detect akan menjalankan video dari file yang telah dipilih user, dan sementara itu, proses deteksi wajah dijalankan terus-menerus pada setiap frame yang dimiliki oleh video tersebut, kemudian proses akan menandai frame pada video dengan kotak-kotak berwarna kuning di tempat wajah-wajah yang terdeteksi. Selama proses ini, video akan tampak berjalan lebih lambat dari seharusnya, hal ini dikarenakan proses deteksi wajah dijalankan pada setiap frame.
Nama File :
Browse
Detect
Gambar 3.4 Rancangan Form Training
3.2.4
Perancangan Author Dialog Author Dialog dapat dimunculkan dengan cara mengaktifkan menu About pada form
utama. Pada dialog ini, terdapat informasi singkat mengenai pengembang program ini, dan tentang program itu sendiri.
25
Logo
Andoko Program Studi Ganda : Matematika – Teknik Informatika © Universitas Bina Nusantara 2007
OK
Gambar 3.5 Rancangan Author Dialog
3.3
Spesifikasi Program Berikut ini akan dijelaskan cara kerja program menggunakan pseudocode. Penjelasan
akan dibagi berdasarkan form-form yang terdapat pada program. 3.3.1
Perancangan Spesifikasi Proses Form Detect From Image IF input_image NOT Chosen THEN SHOW ERROR_MESSAGE ELSE SHOW input_image ON canvas END IF DO FACE_DETECTION ON input_image FOR EACH result
26 READ face_position IN result DRAW RECTANGLE ON canvas AT face_position END FOR
3.3.2
Perancangan Spesifikasi Proses Form Detect From Video IF input_video NOT Chosen THEN SHOW ERROR_MESSAGE EXIT END IF WHILE next_frame EXISTS DO FACE_DETECTION ON next_frame FOR EACH result READ face_position IN result DRAW RECTANGLE ON next_frame AT face_position END FOR END WHILE