Pengkodean Implementasi Aplikasi HASIL DAN PEMBAHASAN

4.11 Pengkodean

Pada tahap ini dilakukan pengkodean coding dari rancangan- rancangan sebelumnya, baik rancangan aplikasi, rancangan basis data, maupun rancangan tampilan. Bahasa pemrograman yang digunakan pada pengembangan aplikasi ini adalah Visual Basic versi 6.0. Selain itu, database yang digunakan adalah Microsoft Access.

4.12 Implementasi Aplikasi

Aplikasi yang dibuat penulis adalah Aplikasi Pengenalan Wajah, namun lebih lengkapnya adalah Analisis Algoritma Eigenface Pada Aplikasi Kehadiran Pengajaran Dosen. Disini penulis menerangkan tentang analisis menganalisa tahapan dan proses aplikasi. Analisa yang dimaksud adalah: 1. Jika seorang dosen Prodi TI ingin mengajar satu matakuliah maka yang harus dilakukan adalah: a. Dosen harus pergi ke FST untuk melakukan absensi dengan cara mengcapture wajah yang sudah tersedia melalui aplikasi pengenalan wajah, jika telah selesai maka dosen akan pergi ke kelas yang akan dituju sambil membawa map merah, map merah digunakan untuk absensi mahasiswa saja. b. Adapun proses dosen ketika melakukan absensi wajah ialah: 1. Login Ketika akan Login, dosen memasukan username dan password yang sudah disetting oleh admin pegawai fst. Gambar 4.23 Login 2. Form Utama Setelah Login, maka akan muncul tampilan aplikasi secara keseluruhan Form Utama. Form tersebut yaitu: Master Data, Presensi dan Laporan. Gambar 4.24 Form Utama 3. Form Master Data 3.a1 Dosen [ Data Dosen ] Kemudian, ketika membuka Form Utama, dosen mengklik Master Data - Dosen - Data Dosen hal ini dilakukan, jika dosen baru pertama kali mengisi biodata untuk mengajar. Gambar 4.25 Data Dosen Pada Menu Data Dosen ini, dosen yang akan mengajar wajib memasukan data, diantaranya: nip, nama lengkap, jenis kelamin, tempat lahir, tanggal lahir, telpon, alamat, golongan, jabatan. Data dosen yang dimasukan akan disimpan dalam table dosen. Form ini dilengkapi dengan fasilitas untuk menambahkan foto dosen. Untuk foto dosen bisa diambil dengan metode di-capture langsung dengan webcam. Foto dosen akan disimpan dalam folder images dengan tipe .jpg, dengan ukuran 80 x 80 piksel. Adapun algoritma normalisasi gambarnya sebagai berikut: Gambar di-capture menggunakan webcam, dihasilkan citra wajah bertipe .bmp dengan format RGB, dengan resolusi sesuai resolusi kamera pada saat proses capturing. Gambar yang disimpan harus memiliki ukuran yang seragam. Disini dipilih ukuran 80 x 80, sehingga gambar harus dinormalisasi. Citra wajah yang diperoleh dari webcam misalnya berukuran 160 x 120 di-croping sehingga mempunyai ukuran 80 x 80 piksel. Source code untuk cropping bisa dilihat di Lampiran 3 bagian a. a. Cara Penelitian a.1 Bahan Penelitian Untuk melakukan penelitian ini, sumber data berupa citra RGB bertipe .bmp. Citra ini akan di konversi dengan software yang dibangun dengan software Visual Basic. Hasil akhirnya adalah citra yang telah diubah kedalam format grayscale. a.2 Proses Konversi Adapun proses pengubahan citra RGB ke dalam citra grayscale dapat dilihat pada gambar 4.34. Gambar 4.26 Proses Pengubahan Citra RGB ke dalam Citra Grayscale Proses pertama adalah mengambil nilai R, G dan B dari suatu citra bertipe RGB. Pada tipe .bmp citra direpresentasikan dalam 24 bit, sehingga diperlukan proses untuk mengambil masing-masing 3 kelompok 8 bit dari 24 bit tadi. Sebagai contoh suatu pixel memiliki nilai RGB 24 bit sebagai berikut: 111100001111000011111111 untuk mendapatkan masing- masing nilai R, G dan B dilakukan operasi-operasi sebagai berikut: Untuk mendapatkan nilai R dilakukan operasi modulo dengan bilangan 256 sebagai berikut: Nilai R = 111100001111000011111111 mod 10000000 = 11111111 Sedangkan untuk nilai G, dapat dicari dengan cara sebagai berikut: Citra RGB Ekstraksi Komponen R, G dan B Nilai R Nilai G Nilai B Kalkulasi Nilai Grayscale Citra Grayscale Nilai G = 111100001111000011111111 and 1111111100000000 100000000 = 11110000 Untuk Nilai B, dapat dicari dengan menggunakan rumus: Nilai B = 111100001111000011111111 and 111111110000000000000000 10000000000000000 = 11110000 Sehingga dari nilai pixel 1111000011110000111111112 atau 15790335 diperoleh nilai: R = 11111111 = 255 G = 11110000 = 240 B = 11110000 = 240 Sehingga diperoleh triplet RGB = 255, 240, 240. Setelah nilai triplet RGB kita peroleh, maka kita bisa mendapatkan nilai grayscale dari pixel tersebut. Ide dasarnya sebenarnya adalah membuat band tunggal dari 3 band RGB tadi dengan rumus tertentu. Pada penelitian ini digunakan rumus: red = red 5 \ 10 green = green 8 \ 10 blue = blue 3 \ 10 gray = red + green + blue 10 \ 16 Dengan mengaplikasikan prosedur tadi pada semua pixel akan kita dapatkan citra dengan format grayscale. Setelah dihasilkan gambar dengan ukuran 80 x 80 piksel maka gambar RGB format .bmp tadi kita ubah ke dalam format grayscale, dengan tujuan agar kita mempunyai 1 matriks yang berkorespondensi dengan 1 image saja. Adapun source code-nya dapat dilihat di Lampiran 3 bagian b. Hasil langkah ini adalah citra grayscale ukuran 80 x 80 tetapi masih dalam bentuk .bmp. Gambar 4.27 Hasil Konversi Citra RGB ke Grayscale Sumber:Hanif al Fatta , 2009:57 Langkah berikutnya tinggal menyimpan citra yang kita dapatkan dalam format .jpg. Adapun source code-nya dapat dilihat di Lampiran 3 bagian c. Untuk fungsi ConvertBMPtoJPG ditangani oleh file JPGUtils.dll. 3. a2 Dosen [ Daftar Dosen ] Jika dosen sudah mengisi biodata di form Data Dosen, dan ingin melihat hasil tampilannya, maka klik menu Daftar Dosen yang berada disamping menu Data Dosen. Gambar 4.28 Daftar Dosen 3.a3 Dosen [ Jadwal mengajar ] Jika dosen sudah mengisi jadwal mengajar yang ada di Master Data - Kelas - Buat Kelas dan Master Data - Matakuliah, dan ingin melihat hasil tampilannya, maka klik menu Jadwal Mengajar yang berada disamping menu Daftar Dosen. Gambar 4.29 Jadwal Mengajar 3.b1 Matakuliah Sebelum menginput form Kelas, terlebih dahulu dosen harus mengisi form Matakuliah, yang terletak pada Master Data - Matakuliah. Gambar 4.30 Matakuliah 3.c1 Kelas [ Buat Kelas ] Pada form kelas ini, dosen harus mengklik button tambah untuk mengisi matakuliah, ruang, jam muka, semester, tahun ajaran dan hari mengajar, setelah itu klik simpan. Gambar 4.31 Buat Kelas 3.c2 Kelas [ Daftar Kelas ] Hasilnya, bisa dilihat di menu Daftar Kelas, yang berada di samping menu Buat Kelas. Gambar 4.32 Daftar Kelas 4. Form Presensi Menu presensi terdiri dari 1 file atau halaman saja yaitu: absensi dosen. Untuk absensi selanjutnya dosen tidak perlu lagi memasukan data, karena sudah tersimpan di menu Master Data - Dosen. Dosen yang akan mengajar cukup mengcapture citra wajah saja yang sudah tersedia pada menu Presensi - Absensi. Ketika dosen mengklik capture, maka tersedia data dosen, dan dosen wajib mengisinya, jika sudah diisi maka klik simpan. Gambar 4.33 Absensi Dosen Proses absensi ditangani oleh menu Presensi - Absensi. Dosen menggunakan webcam untuk mengcapture image wajah seperti pada saat pengisian foto untuk data dosen. Hasil capture kemudian dicocokan dengan foto dosen pada folder image dan dilakukan proses identifikasi dengan langkah sebagai berikut: Langkah 1: Capture citra wajah dosen. Adapun source code-nya dapat dilihat di Lampiran 3 bagian d. Langkah 2: Lakukan proses matching dengan citra wajah pada database. Proses matching dilakukan oleh prosedur: matchpictpicture5.picture6 Adapun source code-nya dapat dilihat di Lampiran 3 bagian e. Hasil capture pada saat absensi disimpan pada variable pict1, kemudian proses matching dilakukan dengan memanggil baris perintah: closesImage=Valfaces.Identifypict1 Di mana faces adalah obyek yang merupakan instance dari classFaceRecogniser dan identify adalah salah satu propertinya. Untuk menjelaskan bagaimana proses identifikasi dilakukan, perhatikan apa yang dilakukan oleh classFaceRecogniser berikut ini, classFaceRecogniser adalah klas yang digunakan untuk melakukan deteksi wajah berdasarkan algoritma eigenface. Adapun cara kerjanya adalah sebagai berikut: Pertama kali klas akan menghitung rataan eigenvector. Sebelumnya semua citra wajah yang ada di dalam folder image diambil dan dibuat eigenvectornya dengan subprogram faceTemplate, kemudian dilakukan perhitungan rataan eigenvector- nya, simpan dalam faceTemplate, dengan sourcecode selengkapnya yang bisa dilihat di Lampiran 3 bagian f. Rataan eigenvector yang tersimpan pada faceTempalte kita gunakan untuk menghitung nilai eigen eigenfaces value, untuk semua image yang ada dalam folder image, sourcecode selengkapnya bisa dilihat di Lampiran 3 bagian g. Perhitungan dilakukan dengan: nilai eigenface untuk semua wajah disimpan dalam facei. Tinggal sekarang lakukan identifikasi jika ada citra wajah yang masuk pada saat presensi. Proses identifikasi dilakukan sebagai berikut: citra wajah yang di-capture saat presensi disimpan dalam testFace. Citra wajah ini kemudian dikalkulasi nilai eigenfacenya berdasarkan faceTemplate yang tadi telah dihitung. Jika eigenface dari testface sudah dikalkulasi maka tinggal menghitung “jarak” dengan nilai-nilai yang disimpan dalam facei. Jika ditemukan bahwa i yang berkorespondensi maka i menunjukan urutan citra wajah hasil identifikasi. Sourcecode selengkapnya bisa dilihat di Lampiran 3 bagian h. Langkah 3: Identifikasi data dosen berdasarkan identifikasi wajah. Pada pencarian ini, eigenface yang dianggap valid adalah nilai dengan jarak terkecil dengan facetemplate, tetapi masih harus dalam range kemiripan yang di-setting di awal. Misalnya kita mengeset nilai kemiripan 80. Andaikan saja facetemplate yang kita miliki mempunyai nilai 1000, maka seandainya ditemukan jarak paling dekat adalah 700, maka wajah yang berkorespondensi dengan nilai 700 tidak akan dapat diambil karena nilai kemiripannya lebih kecil dari 80. Jika citra yang sesuai dengan testface sudah didapatkan, misalnya facek, kita tinggal mencari file yang sesuai yang tersimpan dalam folder image. Di sinilah field id berguna. Nama file citra wajah sebenarnya diambil dari id. Misalnya file pict7.jpg akan berkorespondensi dengan id bernilai 7. Jika id sudah teridentifikasi maka tinggal mengambil semua data pada record dosen dengan id tersebut. Sourcecode selengkapnya bisa dilihat di Lampiran 3 bagian i. 5. Form Laporan Form Laporan pada aplikasi ini terdiri dari 3 menu yaitu: a. Menu Absensi Pada menu ini menampilkan absensi dosen perhari, diantaranya: dapat mencetak id absen, nip, nama dosen, kode, matakuliah, tanggal, jam masuk dan tatap muka. Gambar 4.34 Cetak Laporan [Absensi] bag.1 Gambar 4.35 Cetak Laporan [Absensi] bag. 2

4.13 Spesifikasi