• Tidak ada hasil yang ditemukan

BAB IV HASIL DAN PEMBAHASAN

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.

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

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 RGBformat .bmptadi 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 grayscaleukuran 80 x 80 tetapi masih dalam bentuk .bmp.

Gambar 4.27 Hasil Konversi Citra RGBke 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 menuDaftar Dosen yang berada disamping menuData 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 menuDaftar 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 ->

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 menuDaftar Kelas, yang berada di samping menuBuat 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

Langkah 2: Lakukan proses matching dengan citra wajah pada database. Proses matching dilakukan oleh prosedur:

matchpict(picture5.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=Val(faces.Identify(pict1))

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 face(i). 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 face(i).Jika ditemukan bahwa iyang 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

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.35 Cetak Laporan [Absensi] bag. 2

Dokumen terkait