ANALISIS ALGORITMA EIGENFACE (PENGENALAN WAJAH) PADA APLIKASI KEHADIRAN PENGAJARAN DOSEN
Skripsi Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh: Fika Tiara Puri 106091002857
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1432 H
ANALISIS ALGORITMA EIGENFACE (PENGENALAN WAJAH) PADA APLIKASI KEHADIRAN PENGAJARAN DOSEN
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh: Fika Tiara Puri 106091002857
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1432 H
ii
ANALISIS ALGORITMA EIGENFACE (PENGENALAN WAJAH) PADA APLIKASI KEHADIRAN PENGAJARAN DOSEN
Skripsi Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh: Fika Tiara Puri 106091002857
Menyetujui, Pembimbing I
Pembimbing II
Yusuf Durrachman, M.Sc, MIT
Viva Arifin, MMSI
NIP. 19710522 200604 1 002
NIP. 19730810 200604 2 001
Mengetahui, Ketua Program Studi Teknik Informatika
Yusuf Durrachman, M.Sc, MIT NIP. 19710522 200604 1 002 iii
PENGESAHAN UJIAN Skripsi yang berjudul “Analisis Algoritma Eigenface (Pengenalan Wajah) Pada Aplikasi Kehadiran Pengajaran Dosen”. Telah diuji dan dinyatakan lulus dalam sidang munaqosyah Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta, pada hari Senin 22 Agustus 2011. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata Satu (S1) pada Program Studi Teknik Informatika. Jakarta, 22 Agustus 2011 Tim Pembimbing,
Pembimbing I
Pembimbing II
Yusuf Durrachman, M.Sc, MIT NIP. 19710522 200604 1 002
Viva Arifin, MMSI NIP. 19730810 200604 2 001 Tim Penguji,
Penguji I
Penguji II
Dr. Syafedi Syafei, M.Sc NIP. 195710051982111001
Nurhayati, Ph. D. NIP. 196903161999032002 Mengetahui,
Dekan
Ketua Program Studi
Dr. Syopiansyah Jaya Putra, M.Sis NIP. 196801172001121001
Yusuf Durrachman, M.Sc, MIT NIP. 19710522 200604 1 002
iv
LEMBAR PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, 22 Agustus 2011
Fika Tiara Puri
v
ABSTRAK Fika Tiara Puri, Analisis Algoritma Eigenface (Pengenalan Wajah) Pada Aplikasi Kehadiran Pengajaran Dosen, dibimbing oleh Viva Arifin, MMSI dan Yusuf Durrachman, M.Sc, MIT.
Dalam ilmu biometrik cakupan perkembangannya sangat pesat, tidak hanya digunakan pada sidik jari saja tapi juga bisa dengan pengenalan wajah, retina, dan lain-lain. Pengenalan wajah (face recognition) sekarang telah dikembangkan untuk banyak aplikasi dan untuk membantu menyelesaikan masalah. Penggunaan wajah sebagai identifier mempunyai banyak manfaat, terutama kepraktisannya karena tidak perlu dibuat kartu atau foto untuk identifikasi. Masalah utamanya adalah sebuah image yang mewakili sebuah gambar terdiri dari vector dengan ukuran relative besar. Ada banyak teknik untuk mereduksi dimensi dari image yang akan diproses, salah satunya yang akan dibahas di sini adalah dengan menganalisa algoritma eigenface. Salah satu aplikasinya adalah penggunaan sistem terkomputerisasi untuk aplikasi kehadiran pengajaran dosen. Dengan aplikasi ini akan diketahui jumlah kehadiran dosen dalam satu semester. Dalam perancangan aplikasi ini, penulis menggunakan bahasa pemrograman Visual Basic 6.0 dan database Microsoft Access 2007, juga concurrent model sebagai metode pengembangan sistem, Aplikasi tersebut harus dapat mengetahui berapa kali dosen masuk dan tidak masuk dalam satu semester, dengan cara setiap dosen yang akan mengajar, sebelum masuk kelas dosen tersebut harus merekam wajahnya dengan menggunakan webcam yang dipasang di komputer yang tersedia di Fakultas Sains dan Teknologi (FST), algoritma eigen akan mengenali wajah dosen yang dicapture/direkam, hasil pengcapturan wajah dosen tersebut akan dicocokan dengan wajah dosen sebelumnya.
Kata Kunci: Eigen, Eigenface, Face recognition, Pengenalan wajah. Jumlah Halaman : xix+115 halaman Jumlah Daftar Pustaka : 19 sumber (2001-2011)
vi
KATA PENGANTAR
Bismillaahirrahmaanirrahiim....... Puji dan syukur penulis limpahkan kehadirat Allah SWT, yang dengan karunia,
berkat
dan
kemurahan-Nya
telah
memperkenankan
penulis
menyelesaikan skripsi ini. Demikian pula penulis menyampaikan ucapan terima kasih kepada: 1.
Dr. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
2.
Yusuf Durrachman, M.Sc, MIT, sebagai Ketua Program Studi Teknik Informatika dan juga sebagai dosen pembimbing I.
3.
Viva Arifin, MMSI, sebagai Sekretaris Program Studi Teknik Informatika dan juga sebagai dosen pembimbing II. Terimakasih penulis ucapkan kepada para dosen pembimbing yang senantiasa sabar dan selalu meluangkan waktunya di tengah-tengah berbagai kesibukannya untuk membimbing penulis dalam proses penyusunan skripsi ini.
4.
Bapak dan Ibu penguji yang memberikan kritik dan saran pada skripsi ini.
5.
Seluruh Dosen Fakultas Sains dan Teknologi yang telah mengajarkan kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam penulisan skripsi ini
6.
Kedua orang tua penulis, H. Ir. Toto Wahyu dan Hj. Dra. Euis Nurbeti yang telah memberikan kasih sayang, dukungan moril, semangat dan materil yang tiada henti-hentinya.
vii
7.
Adik-adikku, Nurlitha Mayang Putri, Riki Laksa Purnama, Mila Sofia Ulfa dan Ray Akbar Maulana, kalian semua menjadi inspirasi bagiku untuk terus berjuang, penyemangat dan terimakasih untuk doanya.
8.
Syamsul Bachtiar yang telah memberikan doa dan semangat.
9.
Ibu nurhasanah selaku ibu kos, dan Pak didi selaku bapak kos yang sangat baik hati semoga kebaikan kalian dibalas oleh Allah SWT, amin.
10. Teman-teman KKS kelompok 25 di Tasikmalaya Jawa Barat. Penulis menyadari sepenuhnya bahwa penulisan skripsi ini masih jauh dari kesempurnaan yang dikarenakan pengatahuan dan pengalaman yang dimiliki oleh penulis masih sangat terbatas yang masih perlu diperbaiki, baik dari segi, penyajian maupun isinya. Akhirul kalam, kepada Allah Subhanahu Wata'ala penulis berserah diri, karena hanya pada-Nyalah kebenaran dan kesempurnaan itu berada. Semoga skripsi ini dapat memberikan manfaat bagi siapa saja yang tertarik untuk mempelajari “Analisis Algoritma Eigenface (Pengenalan Wajah) Pada Aplikasi Kehadiran Pengajaran Dosen”. Dan tentunya agar dapat dikembangkan lebih jauh lagi di masa mendatang.
Jakarta, 22 Agustus 2011 Penulis
Fika Tiara Puri
viii
DAFTAR ISI
Halaman HALAMAN JUDUL ................................................................................... ii HALAMAN PERSETUJUAN PEMBIMBING .......................................... iii HALAMAN PENGESAHAN ..................................................................... iv HALAMAN PERNYATAAN ..................................................................... v ABSTRAK ................................................................................................... vi KATA PENGANTAR ................................................................................. vii DAFTAR ISI ................................................................................................ ix DAFTAR GAMBAR ................................................................................... xiv DAFTAR TABEL ........................................................................................ xvii DAFTAR LAMPIRAN ............................................................................... xviii
BAB I PENDAHULUAN 1.1 Latar Belakang ................................................................................. 1 1.2 Perumusan Masalah ......................................................................... 3 1.3 Pembatasan Masalah ........................................................................ 3 1.4 Tujuan Penelitian ............................................................................. 4 1.5 Manfaat Penelitian ........................................................................... 4 1.6 Metodologi Penelitian ...................................................................... 5 1.7 Sistematika Penulisan ...................................................................... 6
ix
BAB II LANDASAN TEORI 2.1 Konsep Pengenalan Pola .................................................................. 7 2.1.1 Definisi Pola ............................................................................ 7 2.1.2 Definisi Pengenalan Pola ........................................................ 8 2.1.3 Komponen Sistem Pengenalan Pola ....................................... 9 2.1.4 Pendekatan Pengenalan Pola ................................................... 10 2.1.5 Contoh Penerapan Aplikasi/Sistem Pengenalan Pola ............. 13 2.2 Pengenalan Wajah (Face Recognition) ............................................ 13 2.2.1 Definisi Wajah ........................................................................ 13 2.2.2 Algoritma Eigenface ............................................................... 14 2.3 Aplikasi ............................................................................................ 15 2.4 Dosen ............................................................................................... 15 2.5 Absensi ............................................................................................. 16 2.6 Webcam ........................................................................................... 16 2.6.1 Definisi Webcam .................................................................... 16 2.6.2 Cara Kerja Webcam ................................................................ 17 2.7 Konsep Database ............................................................................. 18 2.7.1 Definisi Basisdata (Database) ................................................ 18 2.7.2 DBMS (Database Management System) ............................... 22 2.7.3 Elemen-elemen Database ....................................................... 24 2.8 Bahasa Pemrograman ....................................................................... 28 2.8.1 Visual Basic 6.0 ...................................................................... 28 2.8.2 Microsoft Access .................................................................... 28
x
2.9 Alat Bantu Yang Digunakan ............................................................ 28 2.9.1 Bagan Alir (Flowchart) ........................................................... 28 2.9.2 DFD (Data Flow Diagram) .................................................... 29 2.10 Metode Pengembangan Aplikasi ................................................... 29 2.11 Studi Literatur ................................................................................ 31
BAB III METODOLOGI PENELITIAN 3.1 Metode Pengumpulan Data .............................................................. 37 3.1.1 Observasi ................................................................................. 37 3.1.2 Studi Pustaka ........................................................................... 38 3.1.3 Wawancara .............................................................................. 38 3.2 Metodologi Pengembangan Aplikasi ............................................... 39 3.3 Kerangka Berpikir ............................................................................ 44
BAB IV HASIL DAN PEMBAHASAN 4.1 Analisis Sistem Yang Berjalan ........................................................ 46 4.1.1 Analisis Input (Masukan) ........................................................ 49 4.1.2 Analisis Output (Keluaran) ..................................................... 49 4.2 Permasalahan ................................................................................... 50 4.3 Analisis Persyaratan (Requirement) ................................................. 50 4.4 Analisis Aplikasi Usulan .................................................................. 52 4.5 Analisis Proses ................................................................................. 55 4.5.1 Eigenface ................................................................................. 55
xi
4.5.2 Cara Kerja Eigenface dengan PCA/ Karhunen-Loeve (KL) .... 58 4.6 Analisis Komponen Sistem .............................................................. 60 4.7 Tahapan – tahapan Algoritma Eigenface ......................................... 64 4.8 Perancangan Basis Data ................................................................... 70 4.8.1 Struktur Tabel ......................................................................... 70 4.8.2 ERD (Entity Relationship Diagram) ...................................... 75 4.8.3 Diagram Relasi Antar Tabel ................................................... 76 4.9 Perancangan Aplikasi ....................................................................... 80 4.9.1 Diagram Konteks Yang Diusulkan ......................................... 80 4.9.2 DFD Level 1 ........................................................................... 81 4.9.3 DFD Level 2 ........................................................................... 82 4.9.4 DFD Level 3 ........................................................................... 84 4.10 Perancangan User Interface ........................................................... 85 4.10.1 Perancangan Struktur Menu ................................................ 85 4.10.2 Perancangan Antar Muka (Interface) .................................. 86 4.11 Pengkodean .................................................................................... 91 4.12 Implementasi Aplikasi ................................................................... 91 4.13 Spesifikasi ...................................................................................... 106 4.13.1 Spesifikasi Hardware ........................................................... 106 4.13.2 Spesifikasi Software ............................................................ 107 4.14 Pengujian ........................................................................................ 107 4.14.1 Pengujian Mandiri ............................................................... 107 4.14.2 Pengujian Lapangan ............................................................ 109
xii
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ................................................................................... 110 5.2 Saran ............................................................................................. 112
DAFTAR PUSTAKA ................................................................................. 113 LAMPIRAN
xiii
DAFTAR GAMBAR
Halaman Gambar 2.1 Contoh Pengenalan Pola Tanda Tangan .................................. 9 Gambar 2.2 Komponen Sistem Pengenalan Pola ......................................... 10 Gambar 2.3 Contoh Web Camera ................................................................ 18 Gambar 2.4 Jenjang dari Data ...................................................................... 20 Gambar 2.5 Kolom dan Baris di dalam Tabel Pelanggan ............................ 21 Gambar 2.6 Cardinality One to One ............................................................ 26 Gambar 2.7 Cardinality One to Many .......................................................... 26 Gambar 2.8 Cardinality Many to Many ....................................................... 26 Gambar 2.9 Siklus Pengembangan Model Concurrent ............................... 30 Gambar 3.1 Siklus Pengembangan Model Concurrent ............................... 44 Gambar 3.2 Kerangka Berfikir ..................................................................... 45 Gambar 4.1 Flowchart Kehadiran Pengajaran Dosen yang Berjalan .......... 48 Gambar 4.2 Flowchart Kehadiran Pengajaran Dosen yang Diusulkan ........ 54 Gambar 4.3 Alur Proses Identifikasi Image Menggunakan Algoritma Eigenface .................................................................................. 57 Gambar 4.4 Hubungan Antar Komponen Pada Aplikasi Kehadiran Pengajaran Dosen Berbasis Pengenalan Wajah ....................... 61 Gambar 4.5 Langkah-langkah Proses Identifikasi Image Wajah ................. 63 Gambar 4.6 Perancangan ERD untuk Aplikasi Kehadiran Dosen ............... 75 Gambar 4.7 Diagram Relasi Antar Tabel ..................................................... 76
xiv
Gambar 4.8 Diagram Konteks Aplikasi Kehadiran Pengajaran Dosen ....... 80 Gambar 4.9 DFD Level 1 untuk Aplikasi Kehadiran Pengajaran Dosen .... 81 Gambar 4.10 DFD Level 2 untuk Proses Input Data Dosen......................... 83 Gambar 4.11 DFD Level 2 untuk Proses Absensi ...................................... 84 Gambar 4.12 DFD level 3 untuk Proses Input Citra .................................... 84 Gambar 4.13 Perancangan Struktur Menu ................................................... 85 Gambar 4.14 Login ...................................................................................... 86 Gambar 4.15 Form Utama ........................................................................... 86 Gambar 4.16 Data Dosen ............................................................................. 87 Gambar 4.17 Daftar Dosen .......................................................................... 88 Gambar 4.18 Jadwal Mengajar .................................................................... 88 Gambar 4.19 Matakuliah ............................................................................. 89 Gambar 4.20 Buat Kelas .............................................................................. 89 Gambar 4.21 Daftar Kelas ........................................................................... 90 Gambar 4.22 Absensi ................................................................................... 90 Gambar 4.23 Login ...................................................................................... 92 Gambar 4.24 Form Utama ........................................................................... 92 Gambar 4.25 Data Dosen ............................................................................. 93 Gambar 4.26 Proses Pengubahan Citra RGB ke dalam Citra Grayscale ..... 95 Gambar 4.27 Hasil Konversi Citra RGB ke Grayscale ................................ 97 Gambar 4.28 Daftar Dosen .......................................................................... 98 Gambar 4.29 Jadwal Mengajar .................................................................... 98 Gambar 4.30 Matakuliah ............................................................................. 99
xv
Gambar 4.31 Buat Kelas .............................................................................. 100 Gambar 4.32 Daftar Kelas ........................................................................... 101 Gambar 4.33 Absensi Dosen ........................................................................ 102 Gambar 4.34 Cetak Laporan [Absensi] bag.1 ............................................. 105 Gambar 4.35 Cetak Laporan [Absensi] bag.2 .............................................. 106
xvi
DAFTAR TABEL
Halaman Tabel 2.1 Elemen-elemen ERD ................................................................... 24 Tabel 2.2 Studi Literatur .............................................................................. 32 Tabel 4.1 Nonfunctional Requirement ......................................................... 51 Tabel 4.2 Struktur Tabel Dosen ................................................................... 71 Tabel 4.3 Struktur Tabel Kelas .................................................................... 71 Tabel 4.4 Struktur Tabel Matakuliah ........................................................... 71 Tabel 4.5 Struktur Tabel Query 1 ................................................................ 71 Tabel 4.6 Struktur Tabel Query 2 ................................................................ 72 Tabel 4.7 Struktur Tabel Query 3 ................................................................ 72 Tabel 4.8 Struktur Tabel Absensi ................................................................ 73 Tabel 4.9 Struktur Tabel Query Absen ........................................................ 73 Tabel 4.10 Struktur Tabel Jabatan ............................................................... 73 Tabel 4.11 Struktur Tabel Users .................................................................. 73 Tabel 4.12 Struktur Tabel Setting ................................................................ 74 Tabel 4.13 Struktur Tabel Foto .................................................................... 74 Tabel 4.14 Struktur Tabel Foto .................................................................... 77 Tabel 4.15 Struktur Tabel Jabatan ............................................................... 77 Tabel 4.16 Struktur Tabel Pegawai .............................................................. 78 Tabel 4.17 Struktur Tabel Kelas .................................................................. 78 Tabel 4.18 Struktur Tabel Absensi .............................................................. 79
xvii
Tabel 4.19 Struktur Tabel Matakuliah ......................................................... 80 Tabel 4.20 Tabel Spesifikasi Hardware ....................................................... 106 Tabel 4.21 Tabel Spesifikasi Software ........................................................ 107 Tabel 4.22 Hasil Pengujian Aplikasi secara Mandiri ................................... 108 Tabel 4.23 Hasil Pengujian Lapangan ......................................................... 109
xviii
DAFTAR LAMPIRAN
Lampiran 1. Surat Pengesahan Judul Skripsi ............................................... A-1 Lampiran 2. Wawancara .............................................................................. B-1 Lampiran 3. SourceCode ............................................................................. C-1
xix
BAB I PENDAHULUAN
1.1 Latar Belakang Sistem biometrika merupakan teknologi pengenalan diri dengan menggunakan bagian tubuh atau perilaku manusia. Sidik jari, tanda tangan, DNA, telinga, wajah, infra red, gaya berjalan, geometri tangan, selaput pelangi, gaya penekanan tombol, bau, telapak tangan, retina, suara, gigi, dan bibir. Masing-masing merupakan karakteristik dari cabang ilmu biometrika yang dewasa ini sedang berkembang pesat. Sistem pengenalan diri adalah sistem untuk mengenali identitas seseorang secara otomatis dengan mengunakan teknologi komputer, yang bertujuan untuk meningkatkan keamanan sistem dan untuk mengenali target secara cepat dan tepat (Putra, 2009: 1). Menurut Kepala Sub Bag Akademik FST Ibu Sukmayati. Beliau mengatakan, sejak tahun 2010/2011 seorang dosen jika ingin mengajar dalam suatu perkuliahan yang sudah ditentukan jadwalnya, maka dosen tersebut dianjurkan untuk menandatangani daftar kehadiran yang sudah disediakan oleh pihak admin FST, yaitu di ruang pelayanan akademik lantai II FST. Kemudian admin langsung menyiapkan dan memberikan daftar hadir mahasiswa/i dan matakuliah dosen yang bersangkutan (lembaran-lembaran tersebut sudah admin siapkan didalam map berwarna merah). Peraturan yang sudah diterapkan di FST adalah: map merah tidak boleh diwakilkan oleh
1
2
mahasiswa/i, boleh diwakilkan oleh mahasiswa/i jika dalam keadaan terdesak dan harus dengan memo tertulis dari dosen tersebut. Begitupun setelah dosen selesai mengajar, dosen mengembalikan map merah tersebut ke lantai II FST ruang pelayanan. Menurut beliau, penandatanganan daftar kehadiran dosen masih dilakukan secara manual. Kekurangan dari sistem manual adalah kesalahan bisa saja terjadi pada data yang tertulis, atau data bisa hilang sewaktu-waktu, dan ada baiknya jika Sistem Absensi Pegawai lebih dispesifikasikan lagi dengan dibuatnya Aplikasi Kehadiran Pengajaran Dosen. Menurutnya, aplikasi tersebut harus dapat mengetahui berapa kali dosen masuk dan tidak masuk dalam satu semester (pelaporan dihitung per hari), dengan cara setiap dosen yang ingin mengajar sebelum masuk kelas, dosen tersebut harus merekam wajahnya dengan menggunakan webcam yang dipasang di komputer yang tersedia di akademik FST. Agar permasalahan tersebut dapat diatasi maka penulis mengajukan penelitian. Dan penulis memilih karakteristik wajah dengan judul “Analisis Algoritma Eigenface (Pengenalan Wajah) Pada Aplikasi Kehadiran Pengajaran Dosen”.
3
1.2 Perumusan Masalah Berdasarkan permasalahan yang ada, maka penulis merumuskan suatu masalah dalam penelitian ini, yaitu: 1.
Bagaimana menganalisa algoritma eigenface dan merancang aplikasi kehadiran pengajaran dosen sehingga aplikasi mampu menyesuaikan kebenaran data dengan dosen yang dimaksud.
1.3 Pembatasan Masalah Berdasarkan permasalahan yang ada, maka penulis membatasi suatu masalah dalam penelitian ini, yaitu: 1.
Program yang dibuat dapat menerima masukan berupa citra wajah yang di-capture dengan alat bantu webcame.
2.
Algoritma yang digunakan untuk identifikasi wajah adalah Eigenface algorithm.
3.
Identifikasi dilakukan dengan pattern matching sederhana tanpa menggunakan metode pembelajaran khusus seperti Jaringan Syaraf Tiruan (Neural Network), Fuzzy logic atau 3D.
4.
Sistem yang dihasilkan hanya dapat mengenali image dengan format .jpg.
5.
Bahasa pemrograman yang dipakai adalah Visual Basic 6.0 dan Microsoft Access 2007.
6.
Untuk sampel data diambil pada Fakultas Sains dan Teknologi (FST) UIN Syarif Hidayatullah Jakarta.
4
7.
Pengguna sistem ini adalah dosen Program Studi Teknik Informatika UIN JKT.
1.4 Tujuan Penelitian Tujuan yang ingin dicapai oleh penulis dalam penelitian ini adalah: 1.
Memberikan solusi bagi FST untuk mengetahui rata-rata jumlah kehadiran pengajaran dosen dalam satu semester (pelaporan dihitung min. 10x pertemuan – max. 15x pertemuan).
2.
Menerapkan algoritma eigenface pada Aplikasi Kehadiran Pengajaran Dosen.
1.5 Manfaat Penelitian Adapun manfaat dari penelitian ini adalah: a. Bagi FST 1.
Untuk mengetahui jumlah kehadiran pengajaran dosen dalam satu semester (pelaporan dihitung min. 10x pertemuan – max. 15x pertemuan).
2.
Mempermudah FST dalam pelaporan hal-hal yang berkaitan dengan
absensi
para
dosen,
pengaturan
kurikulum,
dan
penjadwalan mata kuliah. b. Bagi Dosen 1.
Dosen dapat mengetahui secara cepat jumlah kehadirannya, karena absensi dilakukan secara terkomputerisasi.
5
c. Bagi Penulis 1.
Dapat melakukan perbandingan jika ada aplikasi yang sama tapi dengan metode dan algoritma yang berbeda, sehingga bisa menciptakan inovasi baru dan sumber daya manusia yang berkualitas dalam membuat aplikasi.
1.6 Metodologi Penelitian Metode penelitian yang digunakan dan diterapkan dalam penulisan tugas akhir ini meliputi: a. Metode Pengumpulan Data Dalam proses penulisan skripsi ini, bentuk metodologi pelaksanaan yang akan dilakukan antara lain: a. Observasi b. Wawancara c. Studi Pustaka d. Studi Literatur b. Metode Pengembangan Aplikasi Pada penelitian ini penulis menggunakan metode concurrent model dalam mengembangkan aplikasi. Metode ini dikatakan revolusi karena merubah proses pengembangan sistem informasi yang lama seperti System Development Life Cycle (SDLC). Tahapan atau Fase-fase dari model konkuren adalah: Fase Definisi, Fase Pengembangan, Fase Pengujian, Fase Penggunaan dan Fase Adaptasi.
6
1.7 Sistematika Penulisan Dalam penyusunan skripsi ini, pembahasan penulis sajikan dalam lima bab pokok bahasan, diantaranya adalah: BAB I
PENDAHULUAN Pada
bab
ini,
menerangkan
latar
belakang,
perumusan masalah, pembatasan masalah, tujuan dan manfaat penulisan, serta sistematika penulisan. BAB II
LANDASAN TEORI Pada bab ini berisi tentang konsep dasar teori yang digunakan dalam penyusunan skripsi ini.
BAB III
METODOLOGI PENELITIAN Menguraikan secara rinci metode penelitian yang digunakan.
Metode
tersebut
meliputi
metode
pengumpulan data dan metode pengembangan aplikasi. Disini dijelaskan alasan memilih metode penelitian tersebut. BAB IV
HASIL DAN PEMBAHASAN Bab ini berisi analisis terhadap kebutuhan system dan implementasi pengembangannya secara konkrit.
BAB IV
PENUTUP Berisi Kesimpulan dan Saran.
BAB II LANDASAN TEORI
2.1 Konsep Pengenalan Pola 2.1.1 Definisi Pola Pola adalah entitas yang terdefinisi atau didefinisikan melalui ciricirinya (feature). Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola yang lainnya. Ciri yang baik adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi. Menurut Duda, Hurt (Al Fatta, 2009: 7), Pola adalah gabungan dari fitur yang merupakan sifat dari sebuah objek. Beberapa contoh pola diantaranya adalah: 1. Huruf, memiliki ciri-ciri seperti tinggi, tebal, titik sudut dan lengkungan garis. 2. Suara, memiliki ciri-ciri seperti amplitudo, frekuensi, nada dan intonasi. 3. Tanda tangan, memiliki ciri-ciri seperti panjang, kerumitan dan tekanan. 4. Sidik jari, memiliki ciri-ciri seperti lengkungan, dan jumlah garis. (Sitorus dkk, 2006) Dalam hal ini, penelitian yang dilakukan penulis adalah wajah. Wajah memiliki pola. Ciri-ciri pada suatu pola (diperoleh dari hasil
7
8
pengukuran pada titik objek uji). Khusus pada pola yang terdapat didalam citra dalam hal ini adalah wajah, ciri-ciri yang dapat diperoleh dari informasi diantaranya adalah: 1. Spasial, seperti intensitas piksel dan histogram. 2. Tepi, seperti arah dan kekuatan. 3. Kontur, seperti garis, ellips dan lingkaran. 4. Wilayah/bentuk, seperti keliling, luas dan pusat massa. 5. Hasil Ttransformasi Fourier, seperti frekuensi. (Sitorus dkk, 2006) 2.1.2 Definisi Pengenalan Pola Pengenalan pola adalah salah satu cabang dari bidang kecerdasan buatan. Ada beberapa definisi yang berbeda tentang pengenalan pola, diantaranya: 1. Penentuan suatu objek fisik atau kejadian ke dalam salah satu atau beberapa kategori. 2. Ilmu pengetahuan yang menitik beratkan pada deskripsi dan klasifikasi (pengenalan) dari suatu pengukuran. Berdasarkan definisi di atas, pengenalan pola bisa didefinisikan sebagai cabang kecerdasan buatan yang menitik beratkan pada metode pengklasifikasian objek ke dalam klas-klas tertentu untuk menyelesaikan masalah tertentu. Jadi pengenalan pola adalah mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin
9
(komputer). Tujuan pengelompokkan adalah untuk mengenali suatu objek di dalam citra (Al Fatta, 2009: 5). Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan keluaran berupa informasi atau deskripsi objek di dalam citra. Untuk lebih jelas, perhatikan Gambar 2.1 (Sitorus dkk, 2006).
Gambar 2.1 Contoh Pengenalan Pola Tanda Tangan (Sumber: Sitorus dkk, 2006) 2.1.3 Komponen Sistem Pengenalan Pola Sistem pengenalan pola dasar terdiri dari: 1. Sensor Sensor digunakan untuk menangkap objek yang ciri atau fiturnya akan diekstraksi.
10
2. Mekanisme pre-processing Mekanisme pengolahan objek yang ditangkap oleh sensor biasanya digunakan untuk mengurangi kompleksitas ciri yang akan dipakai untuk proses klasifikasi. 3. Mekanisme pencari fitur (manual atau otomatis) Bagian ini digunakan untuk mengekstraksi ciri yang telah melalui tahapan preprocessing untuk memisahkannya dari fitur-fitur pada objek yang tidak diperlukan dalam proses klasifikasi. 4. Algoritma pemilah Pada tahapan ini proses klasifikasi dilakukan dengan menggunakan algoritma klasifikasi tertentu. Hasil dari tahapan ini adalah klasifikasi dari objek yang ditangkap ke dalam kriteria-kriteria yang telah ditentukan. POLA MASUKAN
EKSTRAKSI PREPROCESSOR
CIRI
CLASSIFIER
HASIL KLASIFIKASI
Gambar 2.2 Komponen Sistem Pengenalan Pola (Sumber: Al Fatta, 2009:5) 2.1.4 Pendekatan Pengenalan Pola Aplikasi
pengenalan
pola
dapat
dibuat
dengan
beberapa
pendekatan yang menggunakan basis statistikal untuk menghasilkan pola. Pendekatan lainnya menggunakan struktur dari pola yang
11
menyediakan informasi fundamental untuk pengenalan pola. Pendekatan yang lain lagi adalah dengan membangun dan melatih suatu arsitektur yang secara akurat mengasosiasikan input pola tertentu dengan respons yang diharapkan. Suatu masalah bisa diselesaikan dengan salah satu atau beberapa pendekatan tadi, tinggal dipertimbangkan pendekatan mana yang lebih tepat untuk masalah yang akan dipecahkan. Macam-macam pengenalan pola terdiri dari: 1.
Pendekatan pengenalan pola geometrik statistikal (StatPR) Pengenalan pola statistikal memiliki asumsi suatu basis statistik untuk algoritma klasifikasi. Sekelompok karakteristik pengukuran yang menunjukan fitur diekstraksi dari data input dan digunakan untuk menentukan setiap vektor fitur ke dalam salah satu kelas c. Fitur diasumsikan dihasilkan secara natural sehingga model yang bersangkutan adalah suatu state of nature atau klas-klas probabilitas (probability density function) yang telah dikondisikan. Dengan demikian kesimpulannya sebagai berikut: a. Pola dipilah berdasarkan model statistik dari fitur. b. Model statistik didefinisikan sebagai sebuah keluarga dari fungsi kerapatan peluang bersyarat kelas Pr(x|ci) – peluang vektor fitur x jika diberikan kelas ci - > dengan i = 1, 2, 3, … ,N. Pada penelitian ini, penulis menggunakan pendekatan statistikal.
12
2.
Pendekatan pengenalan pola sintaktik (syntPR) Untuk pendekatan sintaktik dapat dijelaskan sebagai berikut: a. Pola dipilih berdasarkan keserupaan ukuran struktural. b. ‘Pengetahuan’ direpreesentasikan secara formal grammar atau Deskripsi relasional (graf). c. SyntPR dipakai tidak hanya untuk pemilahan, tetapi juga untuk deskripsi. d. Biasanya SyntPR memformulasikan deskripsi hierarkis dari pola kompleks yang tersusun dari pola bagian yang lebih sederhana.
3.
Pendekatan pengenalan pola neural (NeuroPR) Pendekatan ini menggunakan metode jaringan syraf tiruan untuk mengidentifikasi pola. Pendekatan ini dapat dijelaskan sebagai berikut: a. Pemilahan dilakukan berdasarkan tanggapan suatu neuron jaringan pengolah sinyal (neuron) terhadap stimulus masukan (pola). b. ‘Pengetahuan’ disimpan dalam sambungan antarneuron dan kekuatan pembobot sinaptik. c. NeuroPR sangat menarik karena dengan jumlah lapisan dan neuron secukupnya, JST dapat membentuk semua jenis daerah keputusan yang rumit sekalipun. (Al Fatta, 2009:5)
13
2.1.5 Contoh Penerapan Aplikasi atau Sistem Pengenalan Pola Contoh Penerapan dari aplikasi-aplikasi atau sistem pengenalan pola cukup beragam, di antaranya: 1.
Voice
recognition:
beberapa
sistem
rahasia
menggunakan
pengenalan suara sebagai kunci bagi pengguna sistemnya. 2.
Fingerprint identification: sistem pengenalan sidik jari telah dipakai secara luas sebagai pengganti password atau pin untuk mengakses sistem komputer tertentu.
3.
Handwriting identification: aplikasi perbankan menggunakan pengenalan tulisan untuk membuktikan pelaku transaksi adalah orang yang benar-benar berhak. (Al Fatta, 2009: 9)
2.2 Pengenalan Wajah (Face Recognition) 2.2.1 Definisi Wajah Wajah atau muka adalah bagian depan dari kepala, pada manusia meliputi wilayah dari dahi hingga dagu, termasuk rambut, dahi, alis, mata, hidung, pipi, mulut, bibir, gigi, kulit, dan dagu (KBBI, 2009). Elemen-elemen itulah yang menjadi pembeda antara wajah satu dengan yang lain. Selain elemen fisik ada faktor-faktor lain yang mempengaruhi wajah yaitu: syaraf dan pembuluh darah, trauma fisik dan hasil pembedahan, ekspresi karena pembuluh, air mata dan keringat, kesakitan dan kelelahan, gender, ras, pertumbuhan dan usia. Oleh karena
14
itu tidak ada satu wajahpun yang serupa mutlak, bahkan pada manusia kembar identik sekalipun karena wajah terutama digunakan untuk ekspresi wajah, penampilan serta identitas (Sitorus dkk, 2006).
2.2.2 Algoritma Eigenface Kata eigenface sebenarnya berasal dari bahasa Jerman “eigenwert” dimana “eigen” artinya karakteristik dan “wert” artinya nilai. Eigenface adalah salah satu algoritma pengenalan pola wajah yang berdasarkan pada Principle Component Analysis (PCA) yang dikembangkan di MIT. Banyak penulis lebih menyukai istilah eigenimage. Teknik ini telah digunakan pada pengenalan tulisan tangan, pembacaan bibir, pengenalan suara dan pencitraan medis. Menurut layman (Al Fatta, 2009) Eigenface adalah sekumpulan standardize face ingredient yang diambil dari analisis statistik dari banyak gambar wajah. Algoritma eigenface secara keseluruhan cukup sederhana. Training image direpresentasikan dalam sebuah vector flat (gabungan vektor) dan digabung bersama-sama menjadi sebuah matriks tunggal. Eigenface dari masing-masing citra kemudian diekstraksi dan disimpan dalam file temporary atau database. Test image yang masuk didefinisikan juga nilai eigenfaces-nya dan dibandingkan dengan eigenfaces dari image database atau file temporary (Prasetyo dan Rahmatun).
15
2.3 Aplikasi Software (perangkat lunak) adalah perintah (program komputer) yang bila di eksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan, struktur data yang memungkinkan program memanipulasi informasi secara proporsional dan dokumen yang menggambarkan operasi dan kegunaan program (Pressman, 2010: 4).
2.4 Dosen Dosen adalah pendidik profesional dan ilmuwan di universitas atau perguruan
tinggi
mentransformasikan,
negeri
atau
swasta,
mengembangkan
dan
dengan
tugas
menyebarluaskan
utama ilmu
pengetahuan, teknologi dan seni melalui pendidikan, penelitian dan pengabdian kepada masyarakat. Profesi dosen merupakan bidang pekerjaan khusus yang dilaksanakan berdasarkan prinsip sebagai berikut: 1.
Memiliki bakat, minat, panggilan jiwa dan idealisme serta memiliki kemampuan untuk mewujudkan tujuan pendidikan nasional
2.
Memiliki komitmen untuk meningkatkan mutu pendidikan, keimanan, ketakwaan dan akhlak mulia
3.
Memiliki kualifikasi akademik, sertifikat dan latar belakang pendidikan sesuai dengan bidang tugas
4.
Memiliki kompetensi yang diperlukan sesuai dengan bidang tugas
5.
Memiliki tanggung jawab, sehat jasmani dan rohani atas pelaksanaan tugas keprofesionalan
16
6.
Memperoleh penghasilan yang ditentukan sesuai dengan prestasi kerja
7.
Memiliki kesempatan untuk mengembangkan keprofesionalan secara berkelanjutan dengan belajar sepanjang hayat
8.
Memiliki jaminan perlindungan hukum dalam melaksanakan tugas keprofesionalan
(Undang-Undang Republik Indonesia Nomor 14 Tahun 2005 tentang Guru dan Dosen, 2005).
2.5 Absensi Adalah sebuah cara untuk melakukan evaluasi, monitoring dan laporan kehadiran para pegawai, dosen dan mahasiswa/i sesuai dengan ketentuan yang berlaku (KBBI, 2009). Absensi dibuat dalam rangka pembinaan pegawai agar disiplin terhadap waktu. Biasanya bentuk akhir dari absensi berupa laporan keterangan berapa kali jumlah kehadiran masuk, sakit, alpa dan cuti. Absensi yang digunakan biasanya dihitung perminggu, perbulan, persemester, pertahun, atau tergantung kondisi dan peraturan suatu instansi atau lembaga (Lembaga Pemerintah DKI, 2008).
2.6 Webcam 2.6.1 Definisi Webcam Webcam (singkatan dari web camera) adalah sebutan bagi kamera real-time (bermakna keadaan pada saat ini juga) yang gambarnya bisa diakses atau dilihat melalui World Wide Web, program instant
17
messaging atau aplikasi video call. Webcam atau web camera adalah sebuah kamera video digital kecil yang dihubungkan ke komputer melalui (biasanya) port USB ataupun port COM. Sekarang ini web camera yang ada di pasaran pada umumnya terbagi ke dalam dua tipe: web camera permanen (fixed) dan revolving web camera. Pada web camera permanen terdapat pengapit untuk mengapit lensa standar di posisi yang diinginkan untuk menangkap gambar pengguna. Sedangkan pada revolving web camera terdapat landasan dan lensa standar dipasang di landasan tersebut sehingga dapat disesuaikan ke sudut pandang yang terbaik untuk menangkap gambar pengguna. 2.6.2 Cara Kerja Webcam Cara kerja webcam adalah sebuah web camera yang sederhana terdiri dari sebuah lensa standar, dipasang di sebuah papan sirkuit untuk menangkap sinyal gambar; casing (cover), termasuk casing depan dan casing samping untuk menutupi lensa standar dan memiliki sebuah lubang lensa di casing depan yang berguna untuk memasukkan gambar; kabel support, yang dibuat dari bahan yang fleksibel, salah satu ujungnya dihubungkan dengan papan sirkuit dan ujung satu lagi memiliki connector, kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang web camera. Sebuah webcam biasanya dilengkapi dengan software, software ini mengambil gambar-gambar dari kamera digital secara terus menerus
18
ataupun dalam interval waktu tertentu dan menyiarkannya melalui koneksi internet. Ada beberapa metode penyiaran, metode yang paling umum adalah software merubah gambar ke dalam bentuk file JPEG dan menguploadnya ke web server menggunakan File Transfer Protocol (FTP).
Gambar 2.3 Contoh Web camera (Tim Penelitian dan Pengembangan Komputer, 2004: 72).
2.7 Konsep Database 2.7.1 Definisi Basis Data (Data Base) Basis data secara umum adalah koleksi data yang bisa mencari secara menyeluruh dan secara sistematis memelihara, mengakses informasi.
Suatu
basis
data
bisa
terkomputerisasi
dan
tidak
terkomputerisasi. Beberapa basis data yang tidak terkomputerisasi diantaranya: buku telepon, lemari surat dan sistem katalog kartu perpustakaan. Sedangkan definisi basis data secara terkomputerisasi adalah basis data yang bisa diupdate, filenya terorganisasi, informasinya dapat dibaca, pencarian bisa dilakukan secara cepat dan bisa diretrieve menggunakan komputer.
19
Basis data secara terkomputerisasi adalah suatu aplikasi terpisah yang menyimpan suatu koleksi data dan sebagai tempat penyimpanan file data. Sebagai file data, suatu basis data tidak menyajikan informasi secara langsung kepada pengguna. Pengguna harus menjalankan aplikasi untuk mengakses data dari basis data dan menyajikannya dalam bentuk yang mudah dimengerti. Ketika bekerja dengan file-file data, suatu aplikasi harus dikodekan agar bekerja dengan struktur masing-masing file data. Biasanya, suatu basis data berisi suatu katalog yang menggunakan aplikasi untuk menentukan cara data diorganisir (Simarmata, 2007: 2). James F. Courtney Jr. dan David B. Paradice dalam buku “Database Sistem for Management” menjelaskan sistem database adalah sekumpulan database yang dapat dipakai secara bersama-sama, personal-personal yang merancang dan mengelola database, teknikteknik untuk merancang dan mengelola database, serta komputer untuk mendukungnya (Ladjamudin, 2005: 9). Dari definisi diatas, penulis menyimpulkan bahwa sistem database mempunyai beberapa elemen penting, yaitu database sebagai inti sistem database, perangkat lunak untuk mengelola database, perangkat keras sebagai pendukung operasi pengolahan data, serta manusia mempunyai peran penting dalam sistem tersebut. Sampai dengan membentuk database, data mempunyai jenjang yang dapat dilihat dalam gambar 2.4.
20
Database File
Table
Field / Kolom
Record / Baris
Character
Gambar 2.4 Jenjang dari data (Sumber: Simarmata, 2007: 44) a. Database File Database File adalah file utama meliputi keseluruhan basis data dan disimpan ke hard-drive. Contoh: basisdataMahasiswa.Mdb. b. Tabel Tabel adalah kumpulan data tentang topik spesifik. Disana bisa terdapat berbagai tabel didalam suatu basis data, atau tabel merupakan kumpulan informasi secara logis yang terkait dan diperlakukan sebagai unit. Gambar 2.5 menunjukan contoh isi dari Tabel Mahasiswa.
21
Field / Kolom
Record / Baris
Nim
Nama
Alamat
101
Dina Mardiana
Jl. Rahayu No.8 Jaksel
102
Rita Saharani
Jl. Dadali No.2 Bogor
103
Budi Wardana
Jl. Batu No.24 Sumbar
104
Muhammad Lukman
Jl.Toba No. 20 Sumut
Gambar 2.5 Kolom dan Baris di dalam Tabel Mahasiswa (Sumber: Simarmata, 2007: 42) c. Field / Kolom Baris diorganisasikan sebagai sekumpulan kolom/field. Semua baris di dalam tabel terdiri atas sekumpulan kolom yang sama. Pada Tabel Mahasiswa, kolom adalah Nim Mahasiswa, Nama dan Alamat. d. Record / Baris Suatu tabel yang terdiri dari baris. Suatu baris/record adalah kejadian tunggal yang berisi data di dalam tabel. Setiap baris diperlukan sebagai unit tunggal. Pada Tabel Mahasiswa, seperti gambar 2.5, terdapat empat baris dan setiap baris berisi informasi tentang mahasiswa individu. e. Characters Character adalah bagian data yang terkecil, dapat berupa karakter numeric, huruf ataupun karakter-karakter khusus yang membentuk suatu item data atau field (Simarmata, 2007: 43).
22
2.7.2 DBMS (Database Management System) Istilah basis data sering disalahgunakan sebagai sinonim untuk sistem manajemen basis data (DBMS), padahal keduanya tidak sama. DBMS adalah mekanisme perangkat lunak dalam pengelolaan data. DBMS sudah dikembangkan untuk mengatasi berbagai kesulitan dalam penggunaan sistem pengolahan file (Simarmata, 2007: 13). Jadi Inti dari suatu basis data adalah database management system (DBMS), yang membolehkan pembuatan, modifikasi dan pembaharuan basis data. DBMS adalah paket perangkat lunak yang komplek digunakan untuk memanipulasi database. Lebih lanjut lagi, DBMS merupakan koleksi terpadu dari database dan program-program komputer (utilitas) yang digunakan untuk
mengakses
dan
memelihara
database.
Program-program
tersebut menyediakan berbagai fasilitas operasi untuk memasukkan, melacak dan memodifikasi data kedalam database, mendefinisikan data baru, serta mengolah data menjadi informasi yang dibutuhkan (Ladjamudin, 2005: 130). Beberapa keunggulan DBMS untuk mengelola data (Ladjamudin, 2005: 131): a.
Kemandirian Data Program aplikasi idealnya tidak diekspos pada detail representasi dan penyimpanan data. DBMS menyediakan satu pandangan abstrak tentang data yang menyembunyikan detail tersebut.
23
b.
Akses Data Efisien DBMS memanfaatkan berbagai teknik yang canggih untuk menyimpan dan mengambil data secara efisien.
c.
Integritas dan Keamanan Data Jika data selalu diakses melalui DBMS, maka DBMS dapat memanfaatkan batasan integritas. DBMS dapat memanfaatkan control akses yang menentukan data apa yang boleh dilihat oleh kelas pengguna yang berbeda.
d.
Administrasi Data Ketika beberapa pengguna berbagi data, pemusatan administrasi data
dapat
memberikan
perbaikan
yang
signifikan.
Para
professional yang berpengalaman yang memahami sifat data yang akan dikelola dan memahami bagaimana kelompok pengguna yang berbeda menggunakan data tersebut, dapat memegang tanggung jawab untuk mengatur representasi data untuk meminimalkan redudansi dan untuk mengatur penyimpanan data guna melakukan pengambilan data yang efisien. e.
Akses Konkuren dan Crash recovery DBMS menjadwalkan akses konkuren pada data dalam cara tertentu sehingga pengguna dapat memandang data sebagai data yang diakses oleh hanya satu pengguna pada satu waktu. Lebih lanjut, DBMS memproteksi pengguna dari efek kegagalan sistem (konkurensi).
24
2.7.3 Elemen – Elemen Database a. ERD (Entity Relationship Diagram) ERD adalah model jaringan data yang menekankan pada struktur-struktur dan relationship data (Ladjamudin, 2005: 142). Dan biasanya ERD mengilustrasikan struktur logis dari basis data (Simarmata, 2007: 111). ERD juga bisa diartikan sebagai model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak (Al Fatta, 2009: 27). Elemen – elemen ERD dapat dilihat di tabel 2.1:
Tabel 2.1 Elemen-elemen ERD
Simbol
Nama dan Keterangan
Entity Suatu entity merupakan suatu objek atau
konsep
mengenai tempat yang anda inginkan untuk menyimpan informasi.
Weak Entity Suatu weak entitiy tergantung pada entitas lainnya to exist.
Attribute Attribute adalah sifat-sifat atau karakteristik dari suatu entitas.
25
Multivalued Attribute Suatu multivalued attribute memiliki lebih dari satu nilai. Sebagai contoh, gaji bulanan seorang pegawai berdasarkan pada gaji bulanan, karyawan lain yang berdasarkan pada gaji tahunan.
Derived Attribute Suatu derived attribute didasarkan pada atribut lainnya. Sebagai
contoh,
gaji
bulanan
seorang
pegawai
berdasarkan pada gaji bulanan, karyawan lain yang berdasarkan pada gaji tahunan.
Relationship Relationship mengilustrasikan bagaimana dua entitas berbagi informasi di dalam struktur basis data. Cara menggambar relasi adalah menghubungkan dua entitas terlebih dahulu, baru kemudian mengedrop notasi relasi pada garis.
Weak Relationship Untuk menghubungkan weak entity dengan yang lainnya,
anda
perlu
menggunakan
notasi
weak
relationship.
Link Menghubungkan antara eintitas satu dengan entitas yang lainnya.
(Sumber: Simarmata, 2007: 113)
26
b. Kardinalitas (Cardinality) Kardinalitas relasi adalah tingkat hubungan yang terjadi antara entity. Tiga macam kardinalitas relasi yaitu: 1.
One to one Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian, pada entitas pertama hanya mempunyai satu hubungan dengan satu kejadian pada entitas kedua. 1
1
Gambar 2.6 Cardinality One to One 2.
One to Many atau Many to One Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu. Tergantung pada arah mana hubungan itu dilihat. 1
M
Gambar 2.7 Cardinality One to Many 3.
Many to Many Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya. M
M
Gambar 2.8 Cardinality Many to Many
27
c.
Kunci (Key) Kunci atau key adalah atribut unik yang dapat digunakan untuk membedakan suatu entitas dengan entitas lainnya dalam suatu himpunan entitas. Tidak ada lebih dari satu entitas
memiliki
nilai-nilai yang sama untuk semua
atributnya. Macam-macam jenis kunci (key) diantaranya: 1.
Primary key Primary key adalah satu set minimal atribut yang tidak hanya mengidentifikasi secara unik satu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari entity. Primary key memiliki tiga (3) kriteria: a. Key tersebut lebih natural digunakan sebagai acuan. b. Key tersebut lebih sederhana. c. Key tersebut terjamin keunikannya.
2.
Foreign key (Kunci Tamu) Foreign key merupakan sembarang atribut yang menunjuk kepada Primary Key pada table lain. Foreign Key terjadi pada suatu relasi yang memiliki Cardinality one to many atau many to many. (Ladjamudin, 2005: 143)
28
2.8 Bahasa Pemrograman 2.8.1 Visual Basic 6.0 Menurut Pandia (2006: 8) Visual Basic atau sering disebut VB, berawal dari usaha Bill Gates pendiri Microsoft untuk mengembangkan Basic Interpreter untuk perusahaan IBM. Kemudian Microsoft meluncurkan Basica (Basic Advanced) yang dijalankan di DOS. Perkembangan
selanjutnya,
Microsoft
meluncurkan
Microsoft
QuickBasic dan Microsoft Basic (dikenal juga sebagai Basic Compiler). Akhirnya dengan menggabungkan kedua compiler tersebut, Microsoft melahirkan Visual Basic. 2.8.2 Microsoft Access Microsoft Office Access 2007 merupakan salah satu software pengolah database. Dengan Microsoft Access anda dapat mengolah berbagai jenis data serta membuat hasil akhir berupa laporan dengan tampilan
yang
lebih
menarik
(Tim
Divisi
Penelitian
dan
Pengembangan, 2008: 1).
2.9 Alat Bantu Yang digunakan 2.9.1 Bagan Alir (FlowChart) Bagan alir atau flowchart merupakan alat bantu berbentuk grafik yang dapat digunakan untuk menunjukkan urutan-urutan kegiatan dari sistem informasi berbasis komputer. Bagan alir ini memperlihatkan urutan proses dalam sistem dengan menunjukkan alat media input,
29
output, serta jenis media penyimpanan dalam proses pengolahan data (Ladjamudin, 2005: 211).
2.9.2 DFD (Data Flow Diagram) DFD adalah sebuah teknik grafis yang menggambarkan desain informasi yang diaplikasikan pada saat data bergerak dari input menjadi output. DFD dapat digunakan untuk menyajikan sebuah sistem atau perangkat lunak pada setiap tingkat abstraksi. DFD memberikan suatu mekanisme bagi pemodelan fungsional dan pemodelan aliran informasi (Al Fatta, 2009: 32). DFD (Data Flow Diagram) adalah model dari sistem untuk menggambarkan pembagian sistem ke modul yang lebih kecil. DFD dapat memudahkan pemakai (user) yang kurang menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan.
2.10 Metode Pengembangan Aplikasi Metode pengembangan aplikasi yang penulis lakukan menggunakan siklus pengembangan model concurrent. Metode kongkuren sebagai suatu paradigma baru dalam pengembangan sistem informasi manajemen, tidak hanya sekedar suatu evolusi dari metode pengembangan sistem informasi yang sudah ada, tetapi sekaligus merupakan revolusi dalam pengembangan sistem informasi manajemen.
30
Model kongkuren dapat dilihat pada gambar 2.9. Gambar tersebut memberikan representasi skematis dari aktivitas di dalam model proses yang konkuren. Aktifitas analisis bisa berada dalam salah satu dari keadaan-keadaan yang dicatat pada saat tertentu. Dengan cara yang sama, aktivitas yang lain (desain atau komunikasi pelanggan) dapat direpresentasikan dalam sebuah sikap yang analog (menunjukkan persamaan). Semua aktifitas ada secara kongkuren (bersamaan) tetapi dia tinggal di dalam keadaan yang berbeda (Pressman, 2010: 60).
Inactive represents the state of a software engineering activity or task Under development A waiting changes Under review
Under revision
Baselined
Done
Gambar 2.9 Siklus pengembangan model concurrent (Sumber: Pressman, 2010)
31
Contohnya, di awal proyek, aktivitas komunikasi pelanggan telah melengkapi iterasi pertamanya dan berada di dalam keadaan menunggu perubahan. Aktifitas analisis (yang ada di dalam non state sementara komunikasi pelanggan inisial dilengkapi) sekarang membuat sebuah transisi ke dalam keadaan di bawah perkembangan tetapi jika pelanggan menunjukkan bahwa perubahan kebutuhan harus dibuat, maka aktifitas analisis bergerak dari keadaan di dalam perkembangan ke dalam keadaan menunggu perubahan.
2.11 Studi Literatur Studi Literatur berisi uraian tentang teori, temuan dan bahan penelitian lain yang diperoleh dari bahan acuan untuk dijadikan landasan kegiatan penelitian. Terdapat beberapa penelitian yang berkaitan dengan Aplikasi Pengenalan Wajah, yang telah dibuat sebagai studi sejenis dalam penelitian ini. Adapun ringkasan penelitian tersebut dapat dilihat dalam tabel 2.2 berikut:
BAB III METODOLOGI PENELITIAN
Pada penelitian tugas akhir ini, penulis menggunakan beberapa metode penelitian diantaranya metode pengumpulan data dan metode pengembangan sistem. 3.1
Metodologi Pengumpulan Data 3.1.1 Observasi Metode observasi dilakukan untuk mendapatkan gambaran yang jelas mengenai pelaksanaan sistem yang berjalan serta mencari dan mengumpulkan data yang dibutuhkan langsung dari sumbernya (Ladjamudin, 2005). Guna mengumpulkan informasi mengenai kebutuhan sistem (system requirements), penulis melakukan pengumpulan data dengan cara observasi di tempat penelitian, yang dalam hal ini adalah Fakultas Sains dan Teknologi (FST). Penulis langsung ke lapangan untuk mengetahui sistem yang sedang berjalan saat ini. Hal ini perlu dilakukan agar penulis dapat melakukan analisis terhadap sistem yang telah berjalan serta menentukan rancangan sistem baru yang akan dibangun agar tetap sinkron dengan sistem yang sudah ada. Observasi dilakukan penulis dari tanggal 01 Maret – 06 Maret 2011.
37
38
3.1.2 Studi Pustaka Pada tahapan pengumpulan data dengan cara studi pustaka, penulis mencari referensi-referensi yang relevan dengan objek yang akan diteliti. Pencarian referensi dilakukan di perpustakaan sebanyak sembilan (9) buku, di toko buku sebanyak empat (4) buku, maupun secara online melalui internet sebanyak enam (6) sumber. Setelah mendapatkan referensi-referensi yang relevan tersebut, penulis lalu mencari informasi-informasi yang dibutuhkan dalam penelitian ini dari referensi-referensi tersebut. Informasi yang didapatkan digunakan dalam penyusunan landasan
teori,
metodologi
penelitian
serta
pengembangan
aplikasinya secara langsung. Pustaka-pustaka yang dijadikan acuan dapat dilihat di Daftar Pustaka sebanyak sembilan belas (19) buku atau sumber. 3.1.3 Wawancara Penulis juga melakukan pertemuan dan wawancara kepada pihak-pihak yang nantinya akan berhubungan dengan aplikasi yang akan dikembangkan oleh penulis. Tujuan dari wawancara yang dilakukan oleh penulis adalah untuk mengumpulkan data dan mendapatkan informasi seputar pengenalan wajah, hal ini dikarenakan ketidaktahuan penulis tentang ilmu biometrik beserta karakteristiknya dan implementasinya dalam bidang teknologi. Pihak-pihak yang dimaksud adalah Kepala Sub Bag Akademik FST Ibu Sukmayati,
39
Kepala Bagian Tata Usaha FST Ibu Yarsi Berlianti, satu dosen Teknik Informatika Universitas Indonesia sekaligus Kepala Laboratorium Information Retrieval, Universitas Indonesia Ibu Dra. Mirna Adriani, Ph.D.,
yang
telah
meluangkan
waktunya
untuk
melakukan
wawancara. Yang terakhir adalah wawancara penulis kepada dosen pembimbing ke II Ibu Viva Arifin, MMSI. Wawancara dilakukan pada tanggal 20 Januari 2010 dan 14 juli 2011.
3.2 Metode Pengembangan Aplikasi Pemilihan model kongkuren ini dilakukan dengan alasan model ini dapat dilakukan secara acak dan bersama-sama, selain itu model ini sangat tepat bagi penulis karena memberikan kemudahan, dan sangat efisien yang didasari pada siklus atau tahapan kerja yang teratur (maksudnya model ini dikembangkan berdasarkan pada fase-fase yang terurut). Fase-fase tersebut diantaranya adalah: Fase definisi, fase pengembangan, fase pengujian, fase penggunaan dan fase adaptasi. Selain itu Model proses konkuren sering digunakan sebagai paradigma
bagi pengembangan aplikasi klien-server. Sistem klien-server dirancang dari serangkaian komponen fungsional. Bila diaplikasikan kepada klien-server, model proses konkuren akan mendefinisikan aktivitas di dalam dua dimensi: dimensi sistem dan dimensi komponen (Pressman, 2010).
40
Isu tingkat sistem dituju dengan menggunakan tiga aktivitas: desain, assembly, dan pemakaian. Dimensi komponen dituju dengan dua aktivitas yaitu desain dan realisasi. Konkuren dicapai dengan dua cara, yaitu: 1. Aktivitas sistem dan komponen yang berlangsung secara simultan dan dapat dimodelkan dengan menggunakan pendekatan orientasi keadaan yang digambarkan pada gambar 3.1. 2. Aplikasi klien-server khusus diimplementasikan dengan banyak komponen di mana masing-masing bisa dirancang dan direalisasikan secara konkuren. Kelebihan-kelebihan concurrent model diantaranya adalah : 1. Perangkat lunak yang dikembangkan adalah perangkat lunak yang sesuai dengan user, karena pada concurrent model terdapat keterlibatan user selama pengembangan perangkat lunak. 2. Dapat mendefinisikan setiap peristiwa yang penting yang akan memicu perubahan dari satu tahap ke tahap yang lain untuk setiap aktivitas pengembangan perangkat lunak. 3. Meningkatkan komunikasi yang baik antara user dan pengembang perangkat lunak. 4. Meningkatkan
jaminan
mutu
terdahap
perangkat
lunak
yang
dikembangkan, karena jika dalam sebuah tahapan masih didapatkan kekurangan maka dapat dilakukan pengulangan/iterasi.
41
Fase-fase yang dilakukan oleh penulis dalam melakukan pengembangan perangkat lunak ini adalah: 1. Fase Definisi Fase ini dikenal juga sebagai tahap pengidentifikasi tujuan aplikasi. Pada tahap ini penulis melakukan pengamatan terhadap sistem yang sedang berjalan, mengidentifikasi masalah yang terjadi dari sistem yang ada dan menentukan alur aplikasi serta persoalan data yang akan didukung oleh aplikasi yang akan dikembangkan. Pada fase ini ditentukan pula jangkauan
atau
batasan
aplikasi.
Untuk
memudahkan
dalam
mendefinisikan analisis aplikasi, maka harus diidentifikasikan hal-hal sebagai berikut: a. Input data, yaitu permasalah yang ada (dapat dilihat di sub bab 4.1). b. Proses data, yaitu bagaimana menyelesaikan persoalan (dapat dilihat di sub bab 4.3). c. Output data, yaitu hasil dari solusi yang diberikan (dapat dilihat di sub bab 4.4). 2. Fase Pengembangan Setelah mengetahui definisi aplikasi yang akan dibuat, yang meliputi analisis terhadap aplikasi, maka fase selanjutnya adalah melakukan pengembangan. Fase ini dibagi menjadi 2 (dua) tahapan, yaitu perancangan (design) dan implementasi. a. Perancangan (design) Perancangan dimaksudkan untuk membuat pemodelan terhadap
42
aplikasi yang akan dibuat. Perancangan yang dilakukan meliputi halaman-halaman yang ada di dalam sistem. Selain itu aplikasi ini juga dilengkapi dengan beberapa perancangan diantaranya: 1. Perancangan Basis Data, terdiri atas: - Struktur Tabel (dapat dilihat pada sub bab 4.8.1) - ERD (dapat dilihat pada sub bab 4.8.2) - Diagram Relasi Antar Tabel (dapat dilihat pada sub bab 4.8.3) 2. Perancangan Aplikasi, terdiri atas: - Diagram Konteks yang Diusulkan (dapat dilihat pada sub bab 4.9.1) - DFD Level 1 (dapat dilihat pada sub bab 4.9.2) - DFD Level 2 (dapat dilihat pada sub bab 4.9.3) - DFD Level 3 (dapat dilihat pada sub bab 4.9.4) 3. Perancangan User Interface, terdiri atas: - Perancangan Struktur Menu (dapat dilihat pada sub bab 4.10.1) - Perancangan Antar Muka (dapat dilihat pada sub bab 4.10.2) b. Implementasi Pada fase ini penulis melakukan pengembangan aplikasi berdasarkan
tahapan-tahapan
sebelumnya.
Aplikasi
ini
telah
diimplementasikan dengan menggunakan Visual basic 6.0, algoritma yang digunakan menggunakan algoritma eigenface, dan design database yang telah dibuat, diimplementasikan dengan menggunakan Microsoft Access 2007 (dapat dilihat di sub bab 4.12).
43
3. Fase Pengujian Pengujian aplikasi adalah proses untuk memastikan apakah semua fungsi dalam aplikasi bekerja dengan baik dan mencari apakah masih ada kesalahan pada sistem. Pengujian ini bertujuan untuk menjamin kualitas aplikasi dan menjadi peninjauan terhadap fase-fase sebelumnya. Pengujian dilakukan penulis kepada 3 (tiga) Pegawai FST. (hasil pengujian selengkapnya dapat dilihat di sub bab 4.13). 4. Fase Penggunaan Pada fase ini dilakukan pengenalan terhadap aplikasi. Proses pengenalan terhadap aplikasi dilakukan dengan mendemonstrasikan aplikasi serta pelatihan terhadap user, fungsinya untuk mengurangi kemungkinan kesalahan dalam penggunaan aplikasi. Pada fase ini user dapat memberikan masukan terhadap kekurangan aplikasi, masukan atau koreksi dari user dapat dijadikan pertimbangan pada fase maintenance. 5. Fase Adaptasi (maintenance) Setelah perangkat lunak digunakan, user akan mengenali fungsifungsi tambahan yang memberi mereka keuntungan, maka dilakukan pemeliharaan aplikasi yang telah diterapkan agar dapat berjalan terus dengan baik sesuai harapan. Proses yang terjadi dalam fase ini sama dengan fase pengembangan, dimana proses yang yang dilakukan sesuai dengan kebutuhan akan perbaikan aplikasi. Dalam penulisan skripsi ini, penulis hanya membahas pada fase definisi, fase pengembangan, dan fase pengujian. Adapun fase penggunaan
44
dan fase adaptasi dapat dilakukan apabila aplikasi ini sudah diterapkan secara real. Inactive Fase Adaptasi
Fase Definsi Fase Pengembangan
Under development A waiting changes
Fase Pengujian Under review
Under revision
Fase Penggunaan
Baselined
Done
Gambar 3.1 Siklus pengembangan model concurrent (Sumber : Pressman, 2010) 3.3 Kerangka Berpikir Dalam
melakukan
penelitian ini,
penulis
melakukan tahapan-
tahapan kegiatan dengan mengikuti rencana kegiatan yang tertuang dalam kerangka berpikir meliputi metode pengumpulan data dan metode pengembangan sistem. Kerangka berpikir penelitian ini terdapat pada gambar 3.2.
45
Start
Analisis Sistem Berjalan
Permasalahan
Analisis Persyaratan
Fase Definisi
(Requirements)
Analisis Aplikasi Usulan
Struktur Tabel Perancangan ERD
Perancangan Basis Data
Diagram Relasi Antar Tabel
Fase Diagram Konteks yg di Usulkan DFD
Perancangan Struktur Menu Perancangan Antar Muka
Perancangan
Pengembangan
Aplikasi
& Adaptasi
Perancangan User Interface
Coding
Implementasi Aplikasi
Fase Spesifikasi Hardware & Software
Pengujian
Pengujian
Fase Penggunaan
Pembuatan Laporan
End
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini akan dibahas secara detail dan terperinci mengenai aplikasi yang akan diimplementasikan dengan menerapkan metodologi penelitian yang telah diuraikan pada bab sebelumnya. Pada bab sebelumnya telah dibahas bahwa model pengembangan sistem yang akan digunakan dalam pengembangan aplikasi ini adalah concurrent model.
4.1 Analisis Sistem yang Berjalan Berdasarkan pengamatan, observasi dan wawancara yang dilakukan oleh penulis, berikut ini alur kerja sistem yang berjalan: a. Kehadiran Pengajaran Dosen Sejak tahun 2010/2011, prodi TI memberikan nama-nama dosen untuk diinput oleh pihak akademik FST. Akademik FST (admin) mempersiapkan nama-nama dosen dalam map absensi berwarna merah, di dalam map merah tersebut sudah tersedia lembaran kehadiran dosen, nama-nama mahasiswa/i, dan matakuliah yang diajarkan. Kemudian seorang dosen jika ingin mengajar dalam suatu perkuliahan yang sudah ditentukan jadwalnya, maka dosen tersebut dianjurkan untuk menandatangani daftar kehadiran yang sudah disediakan oleh pihak admin FST, yaitu di ruang pelayanan akademik lantai II FST. Kemudian admin langsung menyiapkan dan memberikan daftar hadir mahasiswa/i dan
46
47
matakuliah dosen yang bersangkutan (lembaran-lembaran tersebut sudah admin siapkan didalam map berwarna merah). Peraturan yang sudah diterapkan di FST adalah: map merah tidak boleh diwakilkan oleh mahasiswa/i, boleh diwakilkan oleh mahasiswa/i jika dalam keadaan terdesak dan harus dengan memo tertulis dari dosen tersebut. Kemudian dosen akan pergi ke kelas yang akan dituju sambil membawa map merah, map merah digunakan untuk absensi atau presensi mahasiswa dan dosen TI. Setelah perkuliahan selesai seluruh mahasiswa wajib melakukan tanda tangan di map merah yang didalamnya berisi nama-nama mahasiswa dan jumlah kehadiran mahasiswa min.12x max.15x pertemuan. Begitupun setelah dosen selesai mengajar, dosen mengembalikan map merah tersebut ke lantai 2 FST ruang pelayanan. Setelah itu, akademik FST akan merekap kehadiran dosen selama satu semester tapi dalam hal pelaporan/rekapannya, akan dihitung perhari. Terakhir, hasil rekapan kehadiran dosen dalam satu bulan akan diduplikat / di copy untuk diserahkan kepada bagian keuangan FST, untuk menghitung gaji dosen yang biasanya gaji tersebut diberikan perbulan.
48
Absensi Kehadiran Pengajaran Dosen Dosen
FST
Mahasiswa
Start Map Merah Absensi Dosen Absensi Mahasiswa Map Merah
Map Merah Map Merah
Map Merah
Pengisian LKM
Map Merah
Map Merah
End
Gambar 4.1 Flowchart Kehadiran Pengajaran Dosen yang berjalan
49
4.1.1 Analisis input (masukan) Tujuan dari Analisis ini adalah untuk mengetahui data apa saja yang menjadi masukan pada sistem yang berjalan. Masukan dari sistem yang berjalan adalah: a. Data-data di program studi teknik informatika, pada penelitian ini penulis meminjam data-data absensi dosen yang masih manual, biasanya di simpan di dalam map kuning, data tersebut terdiri nama dosen, mata kuliah yang diajarkan, sks, ruang kls, jumlah kehadiran dan keterangan bila dosen tidak mengajar. Selain itu, ada data berisi biodata dosen. Ketika aplikasi ini akan dibuat, maka penulis akan menjelaskan algoritma eigenface dan menganalisa cara kerja tersebut.
4.1.2 Analisis output (keluaran) Tujuan dari Analisis ini adalah untuk mengetahui data apa saja yang menjadi keluaran pada sistem yang berjalan nantinya (sistem baru). Keluaran dari sistem yang berjalan (sistem baru) adalah: a. Jika sistem baru telah dibuat, yaitu aplikasi kahadiran pengajaran dosen, diharapkan adanya output berupa data-data laporan jumlah kehadiran pengajaran dosen juga data-data laporan mata kuliah apa saja yang akan diajarkan oleh setiap dosen, sks, ruang. Dan data laporan tersebut bisa dicetak oleh FST jika memang diperlukan. b. Dengan adanya aplikasi ini, diharapkan memberi kemudahan, baik dari FST dalam hal pelaporan maupun dosen yang ingin melakukan presensi.
50
4.2 Permasalahan Berdasarkan uraian singkat serta flowchart sistem yang sedang berjalan, maka dapat diidentifikasikan kelemahan-kelemahan dari sistem yang sedang berjalan, yaitu: a. Kehadiran pengajaran dosen masih bersifat manual, yaitu dosen yang ingin mengajar melakukan absensi secara tertulis di kertas yang disimpan di dalam map. b. Jika data disimpan secara manual atau kertas, kemungkinan terjadi hilangnya data karena terbuang tidak sengaja, sobek, hilang, apalagi jika tidak ada backup data.
4.3 Analisis Persyaratan (Requirement) Setelah mengetahui permasalahan pada sistem yang berjalan selanjutnya penulis melakukan analisis requirement sebagai solusi masalah tersebut. Requirement yang ada dibagi menjadi 2 (dua) bagian. Bagian pertama adalah Functional Requirement yaitu aktivitas dan service yang harus disediakan oleh aplikasi yang akan dikembangkan. Bagian kedua adalah Nonfunctional Requirement yaitu fitur-fitur lain yang diperlukan oleh aplikasi agar dapat lebih memuaskan user atau pengguna. a. Functional Requirement Aplikasi
yang
dikembangkan
requirement sebagai berikut:
harus
mempunyai
functional
51
1. Membuat aplikasi kehadiran pengajaran dosen yang baik, antara lain meliputi: a. Program yang dibuat dapat menerima masukan berupa citra wajah yang di-capture dengan alat bantu webcame. b. Algoritma yang digunakan untuk identifikasi wajah adalah Eigenface algorithm. c. Menjelaskan proses / langkah-langkah dari algoritma eigenface. d. Identifikasi dilakukan dengan pattern matching sederhana tanpa menggunakan metode pembelajaran khusus seperti Jaringan Syaraf Tiruan (Neural Network). e. Sistem yang dihasilkan hanya dapat mengenali image dengan format .jpg. b. Nonfunctional Requirement Nonfunctional requirement dari aplikasi yang dikembangkan akan dijelaskan dalam tabel 4.1.
52
Tabel 4. 1 Nonfunctional Requirement Jenis Kebutuhan
Penjelasan
1. Model Tampilan (Performance)
a. Mengefisienkan waktu proses pengolahan data. b. Tampilan interface yang user friendly sehingga lebih mudah dimengerti dan digunakan user.
2. Model penyimpanan (Information)
a. Melakukan penyimpanan data berupa data laporan kehadiran dosen, mata kuliah, sks, kelas, nama-nama mahasiswa, juga biodata dosen. b. Meminimalisasi terjadinya kesalahan penginputan data. c. Data terdokumentasi dan terstruktur. Sehingga kecil kemungkinan terjadinya kehilangan data secara manual.
3. Model Pengontrolan Sistem (Control)
a. Meningkatkan keamanan terhadap pelaksanaan proses penyimpanan data.
4.4 Analisis Aplikasi Usulan Berdasarkan analisis yang didapat dari hasil observasi dan wawancara yang dilakukan, penulis bermaksud mengusulkan sebuah aplikasi kehadiran pengajaran dosen dengan metode eigenface (pengenalan wajah), di khususkan bagi dosen Program Studi Teknik Informatika UIN Jakarta. Aplikasi ini diharapkan dapat menjadi sarana absensi yang memudahkan antara dosen dan FST. Pada pengembangannya, penulis melakukan studi kasus pada Fakultas Sains dan Teknologi UIN Jakarta. Usulan aplikasi yang dimaksud adalah sebagai berikut:
53
a. Kehadiran Pengajaran Dosen Jika dosen ingin mengajar, maka 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. Setelah perkuliahan selesai seluruh mahasiswa wajib melakukan tanda tangan di map merah yang didalamnya berisi nama-nama mahasiswa dan jumlah kehadiran mahasiswa min.12x max.15x pertemuan. Begitupun setelah dosen selesai mengajar, dosen mengembalikan map merah tersebut ke lantai 2 FST ruang pelayanan. Jadi yang membedakan antara kehadiran pengajaran dosen secara manual dan terkomputerisasi, terletak pada form presensi dimana pada sistem terkomputerisasi ketika dosen mengcapture wajah dengan webcame maka dosen harus mengisi mata kuliah apa yang diajarkan, ruang berapa, jumlah sks. Sedangkan pada sistem manual, dosen harus mengisi mata kuliah, ruang berapa, jumlah sks itu pada map merah (data berupa lembar kertas). Selain itu pada sistem terkomputerisasi dosen tidak perlu melakukan tanda tangan di map merah yang biasa dilakukan pada sistem manual.
54
Absensi Kehadiran Pengajaran Dosen Dosen Start
Absensi Dosen
FST Absensi Dosen (face image)
Map Merah
Dosen Mengajar
Map Merah
Absensi Mahasiswa
Map Merah
Pengisian LKM
Map Merah
Mahasiswa
Map Merah
Map Merah
End
Gambar 4.2 Flowchart Kehadiran Pengajaran Dosen yang diusulkan
55
4.5 Analisis Proses 4.5.1 Eigenface Kata eigenface sebenarnya berasal dari bahasa Jerman “eigenwert” dimana “eigen” artinya karakteristik dan “wert” artinya nilai. Eigenface adalah salah satu algoritma pengenalan pola wajah yang berdasarkan pada Principle Component Analysis (PCA) yang dikembangkan di MIT (Prasetyo dan Rahmatun). Banyak penulis lebih menyukai istilah eigenimage. Teknik ini telah digunakan pada pengenalan tulisan tangan, pembacaan bibir, pengenalan suara dan pencitraan medis. Menurut layman (Al Fatta, 2009) Eigenface adalah sekumpulan standardize face ingredient yang diambil dari analisis statistik dari banyak gambar wajah. Untuk menghasilkan eigenface, sekumpulan citra digital dari wajah manusia diambil pada kondisi pencahayaan yang sama kemudian dinormalisasikan dan diproses pada resolusi yang sama (misal m x n), kemudian citra tadi diperlakukan sebagai vektor dimensi m x n dimana komponennya diambil dari nilai piksel citra. Algoritma Eigenface secara keseluruhan cukup sederhana. Image Matriks (Γ) direpresentasikan ke dalam sebuah himpunan matriks (Γ1, Γ2, … , ΓM). Cari nilai rata-rata (Ψ) dan gunakan untuk mengekstraksi eigenvector (v) dan eigenvalue (λ) dari himpunan matriks. Gunakan nilai eigenvector untuk mendapatkan nilai eigenface dari image. Apabila ada sebuah image baru atau test face (Γnew) yang ingin dikenali, proses yang
56
sama juga diberlakukan untuk image (Γnew), untuk mengekstraksi eigenvector (v) dan eigenvalue (λ), kemudian cari nilai eigenface dari image test face (Γnew). Setelah itu barulah image baru (Γnew) memasuki tahapan pengenalan dengan menggunakan metode euclidean distance (Kusumoputro dan Sripomo, 2002).
57
Start
Database Wajah
Training Image X
E1 = Eigenface X
Test Face Xn
E2 = Eigenface X
E1 = E2
Tampilkan W1 dan W2
End
Gambar 4.3 Alur proses identifikasi image menggunakan algoritma eigenface
58
4.5.2 Cara Kerja Eigenface dengan PCA/ Karhunen-Loeve (KL) Pengenalan wajah merupakan suatu pengenalan pola (pattern recognition) yang khusus untuk kasus wajah. Ini dapat dideskripsikan sebagai pengklasifikasian suatu wajah apakah dikenali (known) atau tidak dikenali (unknown), dimana setelah dibandingkan kemudian disimpan secara tersendiri. Beberapa pendekatan untuk pengenalan obyek didasarkan secara langsung pada citra-citra tanpa penggunaan model 3D dan Jaringan Syaraf Tiruan. Secara umum sistem dibagi menjadi dua jenis, yaitu sistem feature based dan image based. Pada sistem yang pertama digunakan fitur yang diekstraksi dari komponen citra wajah (mata, hidung, mulut dll) yang kemudian hubungan antara fitur-fitur tersebut dimodelkan secara geometris. Sedangkan sistem kedua menggunakan informasi mentah dari piksel citra (webcam) yang kemudian direpresentasikan dalam metode tertentu misalnya principal component analysis (PCA), transformasi wavelet yang kemudian digunakan untuk klasifikasi identitas citra. Pendekatan image based kebanyakan digunakan untuk pengenalan wajah. Pada metode ini, model wajah dipelajari melalui proses training dengan menggunakan satu set data pelatihan yang berisi contoh-contoh wajah. Kemudian hasil training ini digunakan untuk pengenalan wajah. Yang termasuk dalam metode ini adalah eigenface. Proyeksi ruang eigen (eigenspace) dikenal juga sebagai KarhunenLoeve (KL) atau juga dinamakan dengan Principal Component Analysis
59
(PCA). Algoritma eigenface memanfaatkan Principal Component Analysis (PCA) untuk mereduksi dimensinya guna menemukan vektorvektor yang mempunyai nilai terbaik untuk distribusi citra wajah didalam ruang citra masukan. Ide utama PCA adalah menemukan vektor dengan nilai terbaik untuk distribusi citra wajah dalam seluruh ruang citra. Vektor-vektor ini mendefinisikan subruang citra wajah atau biasa disebut dengan nama ruang wajah. Vektor ini mendefinisikan subruang dari citra-citra wajah dan subruang tersebut dinamakan ruang wajah. Semua wajah-wajah dalam himpunan pelatihan diproyeksikan ke dalam ruang wajah untuk menemukan suatu himpunan bobot-bobot yang mendeskripsikan kontribusi dari tiap vector dalam ruang wajah. Untuk identifikasi suatu citra uji, membutuhkan proyeksi suatu citra ke dalam ruang wajah untuk menentukan
korespondensi
kumpulan
bobot-bobot.
Dengan
membandingkan kumpulan bobot-bobot wajah dalam training set, Pengujian citra dapat diidentifikasi. Prosedur kunci dalam PCA didasarkan pada tranformasi Karhumen-Loeve. Bentuk umum dari Principal Component Analysis (PCA) dapat dilihat berikut ini:
Dimana C merupakan matriks kovarian, x merupakan image (x1, x2, … , xk) dan Ψ adalah rata-rata image yang dihasilkan dari merata-rata x
60
(x1, x2, … , xk). Dengan dekomposisi eigen, matriks kovarian ini dapat didekomposisi menjadi: Dimana Ф adalah selisih antara image (x) dengan nilai tengah (Ψ). Pilih sejumlah kolom dari matriks Ф yang berasosiasi dengan eigenvalue terbesar. Pemilihan sejumlah m kolom dari matriks Ф ini menghasilkan matriks transformasi atau matriks proyeksi Фm. Berikutnya sebuah image x (berdimensi n) dapat diekstraksi kedalam feature baru y (berdimensi m < n) dengan memproyeksikan x searah dengan Фm sebagai berikut:
Dengan kata lain metode PCA memproyeksikan ruang asal kedalam ruang baru yang berdimensi lebih rendah, yang mana sebanyak mungkin kandungan informasi asal tetap dipertahankan untuk tidak terlalu banyak hilang setelah dibawa ke dimensi feature yang lebih kecil. Disini terlihat reduksi feature yang signifikan dari n buah menjadi m buah yang tentunya akan sangat meringankan komputasi dalam proses pengenalan berikutnya.
4.6 Analisis Komponen Sistem Sistem terdiri dari beberapa komponen yang dapat digambarkan dalam suatu model seperti yang tampak pada Gambar 4.4.
61
Antarmuka Pengguna (Dosen)
Image Capturing
Komponen Sub-Sistem Pengenalan Wajah
File
Komponen
Wajah
Basis Data
Gambar 4.4 Hubungan antar komponen pada Aplikasi Kehadiran Pengajaran Dosen Berbasis Pengenalan Wajah
Keterangan: 1.
Komponen Webcam Piranti masukan yang digunakan dalam Aplikasi Kehadiran Pengajaran Dosen Berbasis Pengenalan Wajah ini adalah webcam. Webcam digunakan untuk dua kegunaan yaitu: a.
Digunakan untuk melengkapi data dosen dengan foto, dimana foto ini akan disimpan ke dalam database, yang nantinya akan dicocokkan dengan image wajah yang di capture saat proses presensi dilakukan.
b.
Digunakan untuk meng-capture image wajah dosen pada saat proses presensi/absensi. Dengan menggunakan webcam, image wajah dosen diambil, kemudian image wajah ini dicocokkan dengan image wajah yang ada dalam database.
62
2.
Komponen Image Capturing Komponen ini berfungsi untuk melakukan mekanisme mengambil citra wajah dengan media webcam, baik untuk disimpan sebagai file image wajah maupun untuk image wajah yang digunakan sebagai input pada saat proses presensi dilakukan.
3.
Komponen Antarmuka Komponen ini berfungsi untuk menjembatani komunikasi antara pengguna dengan sistem. Baik untuk proses input data dosen, maupun proses presensi kedalam sistem.
4.
File Wajah Image wajah dosen (testface) yang digunakan untuk melengkapi data dosen disimpan dalam database dosen, dan file wajah ini bisa dipanggil dengan menggunakan nama file wajah yang ada.
5.
Komponen Database Komponen ini berfungsi menyimpan data yang terdapat dalam aplikasi.
6.
Subsistem Pengenalan Wajah Pengenalan wajah dilakukan dengan mencocokkan image wajah yang dicapture pada saat presensi dengan image wajah yang ada didalam database dosen. Langkah-langkah pencocokan wajah (image matching) dapat dilihat pada Gambar 4.5.
63
Webcam
Tesface
Normalisasi Image
Tesface
Kalkulasi Eigenface
Ternormalisasi
Eigenface Eigenface
Proses Matching
Database Wajah Flatvector Citra Wajah
Eigenface
Kalkulasi Eigenface
Cari Selisih yang paling kecil antara testface dengan eigenface pada citracitra wajah yang terdapat dalam database.
Gambar 4.5 Langkah-langkah Proses Identifikasi Image Wajah
Keterangan: 1.
Image wajah di-capture dengan menggunakan webcam. Hasil dari capturing ini adalah file gambar yang bertipe .bmp.
2.
Image wajah ini kemudian dinormalisasikan. Normalisasi dilakukan dengan beberapa tahapan. Pertama image diturunkan kualitas warnanya menjadi tipe grayscale. Ukuran dari image wajah juga diseragamkan dengan ukuran 80 x 80 piksel.
3.
Setelah didapatkan image wajah yang ternormalisasi, tentukan eigenface dari image wajah tersebut, misalnya diperoleh nilai μ.
64
4.
Pada data dosen, kita juga mempunyai koleksi image wajah. Dari koleksi ini masing masing image dikalkulasi eigenface-nya. Misalkan kita mendapatkan nilai (μ1, μ2,…, μn ).
5.
Proses matching dilakukan dengan mencocokkan nilai μ dengan nilainilai pada eigenface dari image dalam database, dan mencari nilai yang paling mendekati.
6.
Jika sudah ditemukan nilai yang paling mendekati, cari data dosen yang berkorespondensi dengan nilai tadi.
Untuk proses perhitungan eigenface dari image pada langkah tiga, penjelasannya sebagai berikut:
4.7 Tahapan – Tahapan Algoritma Eigenface Algoritma selengkapnya (Gambar 4.3) adalah: Tahapan Perhitungan Eigenface: 1.
Langkah pertama adalah menyiapkan data dengan membuat suatu himpunan S yang terdiri dari seluruh training image (Γ1, Γ2, … , ΓM).
Buat Himpunan image (S) dari total M training_image, dimana setiap image adalah p x q piksel.
65
Misal di dalam himpunan image terdapat tiga image ukuran 3 x 3 piksel maka: Image 1
0 4 3 1 4 2 0 0 0
2.
Image 2
Image 3
2 2 1 3 2 4 0 0 0
1 3 2 2 3 0 0 0 0
Langkah kedua adalah ambil nilai tengah atau mean (Ψ).
Cari nilai tengah atau mean (Ψ). 3
Ψ = 1 ∑ Гn = 1 3 3 n=1
Ψ=
3.
0 4 3 1 4 2 0 0 0
+
2 2 1 3 2 4 0 0 0
+
1 3 2 2 3 0 0 0 0
1 3 2 2 3 0 0 0 0
Langkah ketiga kemudian cari selisih (Ф) antara training image (Γ1) dengan nilai tengah (Ψ).
Cari selisih (Ф) antara training image (Г) dengan nilai tengah (Ψ), apabila ditemukan nilai dibawah nol ganti nilainya dengan nol.
66
Ф1 = Г1 – Ψ =
0 4 3 1 4 2 0 0 0
-
1 3 2 2 3 2 0 0 0
-
0 1 1 0 1 0 0 0 0
Ф2 = Г2 – Ψ =
2 2 1 3 2 4 0 0 0
-
1 3 2 2 3 2 0 0 0
-
1 0 0 1 0 1 0 0 0
Ф3 = Г3 – Ψ =
1 3 2 2 3 0 0 0 0
-
1 3 2 2 3 2 0 0 0
-
0 1 0 0 0 0 0 0 0
4.
Langkah keempat adalah menghitung nilai matriks kovarian (C).
Hitung nilai matriks kovarian (С). M
C = 1 ∑ Фn Фn M n=1 C = AAT A = Ф1, Ф2, … ,ФM L = AAT, dimana Lm, n = ФnФm
L= L=
0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 4 2 1 2 3 1 1 1 1
x
0 1 1 1 0 0 0 1 0
0 1 0 1 0 1 0 0 0
0 0 0 1 0 0 0 0 0
67
5.
Langkah kelima menghitung eigenvalue (λ) dan eigenvector (v) dari matriks kovarian (C).
Cari nilai eigenvalue (λ) dan eigenvector (v). Lxv=λxv L x v = λI x v ( L – λI ) = 0 atau ( λI – L ) = 0 maka eigenvalue (λ) dapat dihitung, det (λI -L) = 0
1 0 0 =λ
0 0 1
4 2 1 2 3 1 1 1 1
λ–4 2 1
=
2 λ–3 1
1 1 λ–1
akan dihasilkan nilai λ = 1 , dan λ = 4. v =
v1 v2 v3
eigenvector (v) dihasilkan dengan mensubtitusikan nilai eigenvalue (λ) kedalam persamaan ( λI – L ) v = 0. untuk λ = 4, maka 2 2 1 2 1 1 1 1 3
v1 v2 v3
4–4 2 1 2 4–3 1 1 1 4–1
2v1 = 2v1 v1
2v2 v2 v2 1
dihasilkan eigenvector
0 =
-3 dan
0 untuk λ = 1, maka
v3 v3 3v3
v1 v2 = 0 v3
1–2 2 2 1–3 1 1
1 1 1 1–1
v1 v2 = 0 v3
68
-1 2 1 2 -2 1 1 1
v1 v2 v3
=
-v1 2v1 v1
2v2 -2v2 v2
v3 v3 = 0
0
1 dihasilkan eigenvector 1 sehingga eigenvector yang dihasilkan dari matriks L adalah: 1 -3 1 -1 1 0 1 0
6.
Langkah keenam, setelah eigenvector (v) diperoleh, maka eigenface (μ) dapat dicari dengan:
Cari nilai eigenface (μ) M
μi = ∑ vlk Фk k=1
μ1 = v. Ф1 =
1 -3 1 -1 0 1 0 1 0
0 1 1 0 1 0 0 0 0
=
-2 1 -1 -1 0 1 0
μ2 = v. Ф2 =
1 -3 1 -1 0 1 0 1 0
1 0 0 1 0 1 0 0 0
=
-2 -3 -1 1 0 1
μ3 = v. Ф3 =
1 -3 1 -1 0 1 0 1 0
0 1 0 0 0 0 0 0 0
0 = 0
1 0 -1 0 0
69
Untuk proses matching image penjelasannya sebagai berikut: Tahapan Pengenalan: 1.
Sebuah image wajah baru atau test face (Γnew) akan dicoba untuk dikenali, pertama terapkan cara pada tahapan pertama perhitungan eigenface untuk mendapatkan nilai eigenface dari image tersebut.
Cari nilai eigenface image baru (Γnew) yang akan dikenali. a.
Cari selisih (Ф) antara test face (Γnew) dengan nilai tengah (Ψ), apabila ditemukan nilai dibawah nol ganti nilainya dengan nol. Misal test face (Γnew) terdiri dari matriks 3 x 3:
test face
Фnew = b.
2 6 5 0 1 3 1 0 0
2 6 5 0 1 3 1 0 0
1 3 2 2 3 2 0 0 0
=
1 0 1
3 0 0
=
2 3 2 -3 0 0
3 1 0
Cari nilai eigenface dari test face (Γnew) μnew = v. Фnew μnew =
1 -3 1 -1 0 1 0 1 0
1 3 3 0 0 1 1 0 0
0 -3 1
70
2.
Gunakan Euclidean Distance untuk mencari selisih terkecil antara eigenface training image (Γi) dalam database dengan eigenface test face (Γnew).
εk = || Ω - Ωnew ||
ε1 = || Ω1 - Ωnew || =
0 -2 1 0 -1 -1 0 1 0
-
2 3 2 -3 0 0
0 -3 1
= 16
ε2 = || Ω2 - Ωnew || =
-2 0 -1 0 1 0
-3 0 1
-
2 3 0 2 -3 -3 0 0 1
= 20
ε3 = || Ω3 - Ωnew || =
0 1 0 -1 0 0
0 0 0
-
2 3 0 2 -3 -3 0 0 1
= 12
karena jarak (distance) eigenface image 3 dengan eigenface test face yang paling kecil, maka hasil identifikasi meyimpulkan bahwa test face lebih mirip dengan image 3 daripada image 1 atau image 2.
4.8 Perancangan Basis Data 4.8.1 Struktur Tabel Rancangan basis data yang digunakan untuk aplikasi kehadiran pengajaran dosen ini dapat dijelaskan sebagai berikut:
71
Adapun struktur tabel untuk masing-masing tabel yang digunakan diatas dapat dilihat pada penjelasan berikut. Untuk semua tabel yang ada digunakan notasi primary key dan foreign key. Tabel 4.2 Struktur Tabel Dosen
Tabel 4.3 Struktur Tabel Kelas
Tabel 4.4 Struktur Tabel Matakuliah
Tabel 4.5 Struktur Tabel Query 1
72
Tabel 4.6 Struktur Tabel Query 2
Tabel 4.7 Struktur Tabel Query 3
73
Tabel 4.8 Struktur Tabel Absensi
Tabel 4.9 Struktur Tabel Query Absen
Tabel 4.10 Struktur Tabel Jabatan
Tabel 4.11 Struktur Tabel Users
74
Tabel 4.12 Struktur Tabel Setting
Tabel 4.13 Struktur Tabel Foto
75
4.8.2 ERD (Entity Relationship Diagram)
gender
nama
nip
tmp_lahir Pegawai
1
M
Melakukan
1
tgl_lahir idjabatan
*id
Absensi
*idabsen
1 tanggal
telpon
idmatakuliah
jam_masuk alamat
kode
idpegawai golongan
nama
idkelas
sks
tatapmuka Memiliki
Matakuliah
Mengajar
1 M M *idjabatan
M
Jabatan jam_mulai
Kelas
*idkelas
kode jam_selesai
ruang
nama idpegawai
hari
semester idmatakuliah thn_ajaran
Gambar 4.6 Perancangan ERD untuk Aplikasi Kehadiran Pengajaran Dosen
76
4.8.3 Diagram Relasi Antar Tabel Absensi idabsen
Foto
tanggal
id
jam_masuk
idpegawai
idpegawai
Pegawai
idkelas
id
tatapmuka
nip nama Kelas
gender
Jabatan idjabatan
tmp_lahir
idkelas
tgl_lahir
ruang
idjabatan
jam_mulai
telpon
jam_selesai
alamat
idpegawai
golongan
semester
kode
thn_ajaran
nama
idmatakuliah hari
Matakuliah idmatakuliah kode nama sks
Gambar 4.7 Diagram Relasi Antar Tabel untuk Aplikasi Kehadiran Pengajaran Dosen
Adapun struktur tabel untuk masing-masing tabel yang digunakan di atas dapat dilihat pada penjelasan berikut. Untuk semua tabel yang ada digunakan notasi-notasi berikut: *
: primary key
**
: foreign key
77
1. Tabel Foto Tabel ini digunakan untuk menyimpan semua foto-foto dosen, yang berhubungan dengan absensi (setiap foto memiliki idpegawai, dan foto idpegawai tersebut akan disamakan dengan id setiap pegawai pada tabel pegawai). Tabel foto ini memiliki primary key yaitu id. Tabel 4.14 Struktur Tabel Foto No.
Nama Field
1.
id*
2.
idpegawai**
Tipe
Ukuran
AutoNumber
Keterangan Id Foto Semua Pegawai (Login)
Number
Id Foto Setiap Pegawai
2. Tabel Jabatan Tabel ini digunakan untuk menyimpan jabatan yang ada di lingkungan UIN Syarif Hidayatullah Jakarta (dalam hal ini adalah seorang dosen Prodi Teknik Informatika). Tabel jabatan ini memiliki primary key yaitu idjabatan. Tabel 4.15 Struktur Tabel Jabatan No.
Nama Field
Tipe
Ukuran
AutoNumber
Keterangan
1.
idjabatan*
Id Jabatan
2.
kode
Text
50
Kode Id Jabatan
3.
nama
Text
50
Nama Setiap Pegawai
3. Tabel Pegawai Tabel ini digunakan untuk menyimpan biodata dosen yang berhubungan dengan presensi. Tabel pegawai ini memiliki primary key yaitu id.
78
Tabel 4.16 Struktur Tabel Pegawai No.
Nama Field
Tipe
Ukuran
AutoNumber
Keterangan
1.
idjabatan*
Id Jabatan
2.
kode
Text
50
Kode Id Jabatan
3.
nama
Text
50
Nama Setiap Pegawai
4.
gender
Text
50
Jenis Kelamin
5.
tmp_lahir
Text
50
Tempat Lahir Pegawai
6.
tgl_lahir
Date/Time
7.
idjabatan**
8.
telpon
Text
50
No. Hp
9.
alamat
Text
50
Alamat Pegawai
10.
golongan
Text
50
Golongan/Pangkat Pegawai
Tgl Lahir Pegawai
Number
Id Jabatan
4. Tabel Kelas Tabel ini digunakan untuk menyimpan semua data kelas, matakuliah, ruang dan segala sesuatu yang berhubungan dengan absensi mengajar dosen. Table kelas ini memiliki primary key yaitu idkelas. Tabel 4.17 Struktur Tabel Kelas No.
Nama Field
1.
idkelas*
2.
ruang
3.
jam_mulai
Tipe
Ukuran
AutoNumber Text Date/Time
Keterangan Id Absen Pegawai
50
Tanggal Mengajar Jam Mulai Mengajar
79
4.
jam_selesai
Date/Time
Jam Selesai Mengajar
5.
idpegawai**
Number
Id Foto Setiap Pegawai
6.
semester
Number
Semester Kuliah
7.
thn_ajaran
8.
idmatakuliah**
9.
hari
Text
50
Number
Tahun Ajaran / Angkatan Id Setiap Matakuliah
Text
50
Hari Mengajar
5. Tabel Absensi Tabel ini digunakan untuk menyimpan transaksi absensi dosen. Tabel absensi ini memiliki primary key yaitu idabsen. Tabel 4.18 Struktur Tabel Absensi No.
Nama Field
1.
idabsen*
2.
Tipe
Ukuran
Keterangan
AutoNumber
Id Absen Pegawai
tanggal
Date/Time
Tanggal Mengajar
3.
jam_masuk
Date/Time
Jam Masuk Absensi Pegawai
4.
idpegawai**
Number
Id Foto Setiap Pegawai
5.
idkelas
Number
Id Kelas
6.
tatapmuka
Text
50
Pertemuan Matakuliah
6. Tabel Matakuliah Tabel ini digunakan untuk menyimpan semua data matakuliah. Tabel absensi ini memiliki primary key yaitu idmatakuliah.
80
Tabel 4.19 Struktur Tabel Matakuliah No.
Nama Field
Tipe
Ukuran
AutoNumber
Keterangan
1.
idmatakuliah*
Id Matakuliah
2.
kode
Text
Kode Matakuliah
3.
nama
Text
Nama Matakuliah
4.
sks
Number
SKS Matakuliah
4.9 Perancangan Aplikasi 4.9.1 Diagram Konteks yang Diusulkan
Data Dosen Dosen Data Absensi
Aplikasi Kehadiran Pengajaran Dosen
Laporan Presensi Dosen FST
Gambar 4.8 Diagram Konteks Aplikasi Kehadiran Pengajaran Dosen
Keterangan Gambar: Dosen
: Seorang pengajar di universitas yang diwajibkan melakukan presensi wajah.
Data Dosen
: Meliputi biodata dosen.
Data Absensi
: Meliputi wajah dosen yang melakukan absensi, data LKM (tatap muka ke 1-15, kelas, matakuliah, dan ruang) .
81
Laporan Absensi
: Laporan absensi dosen per , berisi.
FST
: Pegawai/admin FST yang mengawasi dan merekap semua laporan absensi dosen.
4.9.2 DFD Level 1 Pada level ini proses tunggal dari context diagram dipecah menjadi 3 proses yang lebih terperinci, yaitu proses input data dosen, absensi dan pembuatan laporan absensi.
Gambar 4.9 DFD Level 1 untuk Aplikasi Kehadiran Pengajaran Dosen
82
Keterangan Gambar: Dosen
: Seorang pengajar di universitas yang diwajibkan melakukan presensi wajah.
FST
: Pegawai/admin FST yang mengawasi dan merekap semua laporan absensi dosen.
Data Dosen
: Meliputi biodata dosen.
Data Absensi
: Meliputi wajah dosen yang melakukan absensi.
Data Absensi2
: Meliputi id absensi, citra wajah dosen, tanggal dan waktu presensi dilakukan.
Tb Dosen
: Tabel dosen untuk untuk menyimpan data dosen.
Tb Absensi
: Tabel absensi untuk menyimpan data absensi.
Laporan Absensi
: Laporan presensi per-pertemuan/per-tatapmuka.
4.9.3 DFD Level 2 Pada DFD Level 2, proses input data dosen diperinci menjadi 2, yaitu proses input data yang digunakan untuk menginputkan data dosen dan proses input citra, yaitu proses meng-capture wajah dosen sehingga didapatkan citra wajah. Pada level ini didapatkan juga beberapa penyimpanan data, yaitu Tb Data Dosen untuk menyimpan data-data dosen dan file citra wajah dosen untuk menyimpan citra wajah dosen.
83
Dosen Data Dosen
1.1 Input Data
Data Dosen
Wajah
1.2 Input Citra
Citra Wajah
Gambar 4.10 DFD Level 2 untuk Proses Input Data Dosen
Untuk proses absensi, dapat diperinci menjadi proses input citra yang menerima input wajah dari dosen yang di-capture dengan webcam, image matching yang bertugas mencari citra wajah yang sesuai pada database dan transaksi absensi yang memproses data-data saat transaksi dosen dilakukan.
84
Wajah
2.1 Input Citra
Dosen
Citra Wajah
2.2 Image Matching
2.3 Transaksi Absensi
Gambar 4.11 DFD level 2 untuk Proses Absensi 4.9.4 DFD Level 3 Untuk proses input citra, baik pada proses input data dosen (Proses 1.2) maupun proses absensi (Proses 2.1), terdapat rincian proses yang sama sehingga untuk penyusunan DFD level 3 akan diambil proses 2.1 saja, yaitu sebagai berikut: Ciri Wajah Dosen
2.1.1 Image Capturing
Citra Wajah RGB Format .bmp
2.1.2 Image Conversion
Citra Wajah Grayscale format .jpg 2.1.3 Image Conversion
Gambar 4.12 DFD Level 3 untuk Proses Input Citra
85
4.10 Perancangan User Interface 4.10.1 Perancangan Struktur Menu
Aplikasi Kehadiran Pengajaran Dosen Dengan Menggunakan Metode Eigenface (Pengenalan Wajah)
Login
Menu Utama
Master Data Dosen
Presensi
Laporan Absensi
Absensi
Kelas
Jadwal
Matakuliah
Dosen Matakuliah
Ganti User Keluar
Gambar 4.13 Perancangan Struktur Menu Aplikasi Kehadiran Pengajaran Dosen (Pengenalan Wajah)
86
4.10.2 Perancangan Antar Muka (Interface) 1.
Login Silahkan Login UserName : Password : Login
Gambar 4.14 Login 2.
Form Utama Setelah Login, maka akan muncul tampilan aplikasi secara keseluruhan (Form Utama). Form tersebut yaitu: Master Data, Presensi dan Laporan. Form Utama Master Data | Presensi | Laporan
Gambar 4.15 Form Utama
87
3.
Form Master Data 3.a1 Dosen [ Data Dosen ]
Form Utama Master Data | Presensi | Laporan
Data Dosen | Daftar Dosen | Jadwal Mengajar Pegawai NIP
:
Nama Lengkap
:
Jenis Kelamin
:
Tempat Lahir
:
Tanggal Lahir
:
Telpon
:
Alamat
:
Golongan
:
Jabatan
:
Tambah
Simpan
Foto Pegawai
Rekam
Kamera
Seting Kamera Hapus
Gambar 4.16 Data Dosen
88
3.a2 Dosen [ Daftar Dosen ] Form Utama Master Data | Presensi | Laporan
Data Dosen | Daftar Dosen | Jadwal Mengajar id
nip
nama
gender
tmp_lahir
tgl_lahir
idjabatan
telpon
alamat
gol
>
<
> Edit
Jadwal Dosen
Gambar 4.17 Daftar Dosen 3.a3 Dosen [ Jadwal mengajar ] Form Utama Master Data | Presensi | Laporan
Data Dosen | Daftar Dosen | Jadwal Mengajar NIP Nama Dosen Kode
: :
nama
sks
semester
thn_ajaran
hari
jam_mulai
>
Gambar 4.18 Jadwal Mengajar
jam_selesai
ruang
89
3.b1 Matakuliah Form Utama Master Data | Presensi | Laporan Kode MK
Matakuliah
SKS
Simpan Edit
Daftar Matakuliah idmatakuliah
kode
nama
sks
> <
>
Gambar 4.19 Matakuliah 3.c1 Kelas [ Buat Kelas ] Form Utama Master Data | Presensi | Laporan
Daftar Kelas | Buat Kelas Dosen Matakuliah Ruang Jam Mulai
Jam Selesai
Semester Tahun Ajaran Hari Tambah
Simpan
Gambar 4.20 Buat Kelas
90
3.c2 Kelas [ Daftar Kelas ] Form Utama Master Data | Presensi | Laporan
Daftar Kelas | Buat Kelas nip
dosen
kode
gender
nama
sks
semester
thn_ajaran
hari
jam_mulai
>
<
> Edit
Gambar 4.21 Daftar Kelas 4.
Form Presensi
Form Utama Master Data | Presensi | Laporan Kamera
Nip Nama Jabatan
Foto Karyawan
Kelas
v
Tatap Muka
v
Tgl – Bln – Thn
J:M:D
Capture
Gambar 4.22 Absensi 5.
Form Laporan
Setting Kamera
Tutup
91
4.11 Pengkodean Pada tahap ini dilakukan pengkodean (coding) dari rancanganrancangan 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.
92
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
93
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
94
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.
95
Nilai
Citra RGB
R
Ekstraksi Komponen
Nilai
R, G dan B
G
Kalkulasi Nilai
Nilai
Grayscale
B Citra Grayscale
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:
96
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
97
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.
98
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.
99
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.
100
Gambar 4.31 Buat Kelas
3.c2 Kelas [ Daftar Kelas ] Hasilnya, bisa dilihat di menu Daftar Kelas, yang berada di samping menu Buat Kelas.
101
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
102
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.
103
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 eigenvectornya, 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
104
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 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 face(k), kita tinggal mencari file yang sesuai yang tersimpan dalam
105
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
106
Gambar 4.35 Cetak Laporan [Absensi] bag. 2
4.13 Spesifikasi Pada pengembangan aplikasi ini, agar aplikasi yang dibuat dapat berjalan baik maka dibutuhkan spesifikasi lingkungan implementasi sistem sebagai berikut: 4.13.1 Spesifikasi Hardware Tabel 4.13 Tabel Spesifikasi Hardware No. 1. 2. 3. 4. 5. 6.
Hardware Processor Memory (RAM) Monitor Webcam Keyboard Mouse
Spesifikasi Dual core 1,73 GHz 512 MB Resolusi 1280 x 800 Ya (Acer Crystal Eye webcam) Ya Ya
107
4.13.2 Spesifikasi Software Tabel 4.14 Tabel Spesifikasi Software No.
Software
Client
Server
1. 2.
Bahasa Pemrograman Visual Basic 6.0 Database Microsoft Access 2007
-
3.
Sistem Operasi
-
Xp Sp 2
4.14 Pengujian Setelah selesai melakukan pengembangan, maka aplikasi ini harus diuji coba untuk mengetahui sejauh mana aplikasi ini dapat bekerja dengan baik dan apakah aplikasi ini dapat memenuhi tujuan yang ingin diperoleh sebelum diserahkan kepada end user. Pengujian dilakukan secara mandiri oleh peneliti menggunakan metode Blackbox dan juga dilakukan pengujian di lapangan oleh calon pemakai aplikasi ini yaitu mahasiswa Fakultas Sains dan Teknologi (data mahasiswa terlampir). 4.14.1 Pengujian Mandiri Pada tahap ini, penulis melakukan uji coba terhadap aplikasi yang telah dikembangkan dengan hasil seperti tabel 4.16.
108
Tabel 4.15 Hasil Pengujian Aplikasi secara Mandiri Hasil Uji No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Hal Yang Diuji
Persyaratan
add data menu Master Data (form Dosen) save data menu Master Data (form Dosen) edit data menu Master Data (form Dosen) delete data menu Master Data (form Dosen) add data menu Master Data (form Kelas) save data menu Master Data (form Kelas) edit data menu Master Data (form Kelas) delete data menu Master Data (form Kelas) add data menu Master Data (form Matakuliah) save data menu Master Data (form Matakuliah) edit data menu Master Data (form Matakuliah) delete data menu Master Data (form Matakuliah) add data menu Presensi (form Absensi) save data menu Presensi (form Absensi) edit data menu Presensi (form Absensi) delete data menu Presensi (form Absensi) mencetak laporan pada menu Laporan (form Absensi)
Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen) Login sebagai admin (dosen)
Hasil Yang di Harapkan dapat menambahkan isian data dosen dapat menyimpan data dosen
Coba Ok Ok
dapat merubah data dosen dapat menghapus data dosen dapat menambahkan isian data kelas dapat menyimpan data kelas
Ok
dapat merubah data kelas dapat menghapus data kelas dapat menambahkan isian data matakuliah dapat menyimpan data matakuliah dapat merubah data matakuliah dapat menghapus data matakuliah dapat menambahkan isian data absensi dapat menyimpan data absensi
Ok
dapat merubah data absensi dapat menghapus data absensi dapat mencetak laporan data absensi
Ok
Ok Ok Ok
Ok Ok Ok Ok Ok Ok Ok
Ok Ok
109
18
19
mencetak laporan pada menu Laporan (form Jadwal) mencetak laporan pada menu Laporan (form Dosen Matakuliah)
Login sebagai admin (dosen)
dapat mencetak laporan data jadwal
Ok
Login sebagai admin (dosen)
dapat mencetak laporan data matakuliah
Ok
4.14.2 Pengujian Lapangan Pada tahap ini penulis meminta 5 (lima) Pegawai Fakultas Sains dan Teknologi untuk melakukan uji coba terhadap aplikasi ini. Secara ringkas, hasil pengujian dapat dilihat pada tabel 4.17. Tabel 4.16 Hasil Pengujian Lapangan No
Hal yang di Uji
Penilaian
1
Fitur Aplikasi Secara keseluruhan
Baik
2
Fitur untuk Dosen
Baik
4
Tampilan Aplikasi
Baik
5
Kestabilan Aplikasi
Baik
6
Keamanan Aplikasi
Baik
7
Kesesuaian dengan Kebutuhan
Baik
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan Berdasarkan pembahasan dan evaluasi dari bab-bab sebelumnya dan teori yang ada, dan setelah dilakukannya penelitian dan pengujian terhadap Aplikasi Kehadiran Pengajaran Dosen Menggunakan Algoritma Eigenface (Pengenalan Wajah), maka dapat ditarik kesimpulan sebagai berikut:
Kelebihan: 1.
Algoritma Eigenface adalah basic/dasar bagi seseorang yang ingin mempelajari ilmu biometrik (pengenalan wajah), karena identifikasi dilakukan dengan pattern matching sederhana tanpa menggunakan metode pembelajaran khusus seperti Jaringan Syaraf Tiruan, Fuzzy Logis atau 3D.
2.
Secara umum dapat kami jelaskan bahwa pada aplikasi absensi menggunakan input capture wajah yang awalnya disimpan didalam database dan yang berikutnya dijadikan acuan untuk pencocokan antara capture wajah realtime dengan database yang apabila terjadi kecocokan yang mirip maka sistem absensi dikatakan berhasil.
110
111
Kekurangan: Karena aplikasi ini hanyalah simulasi, maka terdapat beberapa kekurangan diantaranya: 1.
Keterbatasan kapasitas webcame yang dipakai oleh penulis (1,3 MP), sehingga terjadi kesalahan dalam mendeteksi foto yang dimaksud dengan foto yang sebelumnya. Selain itu, jika webcame yang dipakai kurang dari 3 MP, maka akan mempengaruhi yang lainnya, diantaranya:
a.
Perubahan
latar
(background)
dapat
mengurangi
kualitas
pengenalan wajah. Dalam hal ini, wajah akan dikenal jika latar (background) berwarna putih / polos. Background tidak akan mempengaruhi wajah seseorang pada saat mengcapture, jika webcame yang dipakai memiliki kapasitas diatas 3 MP.
b.
Pencahayaan yang terlalu tinggi (cahaya matahari dari depan atau belakang terlalu tinggi) dapat mengurangi keakuratan pengenalan wajah. Pencahayaan yang terlalu tinggi tidak akan mengurangi keakuratan wajah seseorang pada saat mengcapture, jika webcame yang dipakai memiliki kapasitas diatas 3 MP.
2.
Jarak kamera dan wajah yang dicapture dibuat konstan (± 30 cm) lebih dari itu maka wajah tidak akan dikenali / terjadi kesalahan pada foto.
112
3.
Ketergantungan terhadap database harus sama dengan nama file suatu image. Jika tidak sama maka tidak akan mampu melakukan validasi sekiranya terjadi perubahan nama, baik pada database ataupun nama file suatu image.
5.2 Saran Adapun beberapa saran yang layak untuk jadi bahan pertimbangan dalam membangun sistem yang lebih baik di masa yang akan datang, yaitu: 1. Untuk meningkatkan akurasi pengenalan wajah, sebaiknya ditambahkan beberapa fitur seperti fitur morfologi wajah. 2. Sistem dikembangkan lebih ramah pengguna (user friendly).
DAFTAR PUSTAKA
Al Fatta, Hanif. 2007. Konversi Format Citra RGB ke Format Grayscale menggunakan Visual Basic. http://p3m.amikom.ac.id/p3m/51%20%20KONVERSI%20FORMAT%2 0CITRA%20RGB%20KE%20FORMAT%20GRAYSCALE.pdf. Diakses tanggal 11 April 2011, 20:30 PM Al Fatta, Hanif. 2009. Rekayasa Sistem Pengenalan Wajah: Membangun Sistem Presensi Karyawan menggunakan Microsoft Visual Basic 6.0 dan Micrososft Access. Yogyakarta: Andi Darma Putra. 2009. SISTEM BIOMETRIKA (Konsep Dasar, Teknik Analisa Citra, dan Tahapan Membangun Aplikasi Sistem Biometrika). Yogyakarta: Andi Djuharie, O. Setiawan. 2001. Panduan Membuat KARYA TULIS: ResensiLaporan Buku-Skripsi-Tesis-Artikel-Makalah-Berita-Essei-dll. Bandung: YRAMA WIDYA Kusumoputo, Benyamin dan Sripomo, Rina. 2002. Pengembangan Sistem Penentu Sudut Pandang Wajah 3D Dengan Menggunakan Perhitungan Jarak Terpendek Pada Garis Ciri Dalam Ruang Eigen. Ladjamudin, Al Bahra Bin. 2005. Analisis dan Desain Sistem Informasi. Yogyakarta : Graha Ilmu Lembaga Pemerintah DKI, 2008. http://smart absensi.htm. Diakses tanggal 11 April 2011, 21:00 PM
113
114
Pandia, Henry. 2006. Pemrograman dengan Visual Basic. Jakarta: Erlangga Prasetyo, Eri dan Rahmatun, Isna. 2007. Desain Sistem Pengenalan Wajah dengan Variasi Ekspresi dan Posisi Menggunakan Metode-Eigenface. http://pusatstudi.gunadarma.ac.id/pscitra/alldocpn/pub(eigenfacesistem_ eri2_pdf)-83ed7.pdf. Diakses tanggal 11 April 2011, 20:45 PM Pressman, Roger S. 2010. Software Engineering A Practitioner Approach 6th Ed. McGraw-Hill. New York Rusmawan, Uus. 2008. Koleksi Program VB 6.0: Konsep ADO untuk Tugas Akhir dan Skripsi. Jakarta: Gramedia Sadeli, Muhammad. 2008. Kumpulan Proyek Visual Basic 2005. Palembang: Maxikom Sanjaya, Ridwan dan Helmy. 2004. Mempercantik Desain Form Pada Visual Basic 6.0. Jakarta: PT Elex Media Komputindo
Simarmata, Janner. 2007. Perancangan Basis Data. Yogyakarta: Andi Sitorus, Syahriol, dkk. 2006. Pengolahan Citra Digital. Medan: USU Press Tim Divisi Penelitian dan Pengembangan: MADCOMS. 2008. Microsoft Access 2007. Yogyakarta: Andi Tim Penelitian dan Pengembangan Komputer: WAHANA KOMPUTER. 2004. Kamus Lengkap Komputer. Jakarta: Salemba Infotek Turk, Matthew dan Alex P. Pentland. 2003. Face Recognition Using Eigenfaces. http://www.cs.ucsb.edu/~mturk/Papers/mturk-CVPR91.pdf. Diakses tanggal 11 April 2011, 20:56 PM
115
Undang-Undang Republik Indonesia Nomor 14 Tahun 2005 tentang Guru dan Dosen, 2005. http:// Pedoman-Dosen-RI.htm. Diakses tanggal 11 April 2011, 20:59 PM
DEPARTEMEN AGAMA UNIVERSITAS ISLAM NEGERI (UIN) SYARIF HIDAYATULLAH JAKARTA FAKULTAS SAINS DAN TEKNOLOGI Jl. Ir. H. Juanda No. 95 Ciputat 15412 Indonesia 21) 7493315 Telp.:(62-21) 7493606,7493547 Fax.:(62-21)
Nomor : Un..01/F9/TL.00/ 00/ Lamp : 1 (Satu Berkas) Hal : Bimbingan Skripsi
/2010
Email :
[email protected] Website : http:/www.fst.uinjkt.ac.id
Jakarta, 10 Mei 2010
KepadaYth Sdr 1. Yusuf Durachman, MIT 2. Viva Arifm, MMSI Dosen Pembimbing Skripsi
Assalamu'alaikum Wr. Wb. Dengan ini diharapkan kesediaan Saudara untuk menjadi pembimbing I/II/ (Materi/Teknis)* penulisan skripsi mahasiswa : Nama : Fika Tiara Puri NIM : 106091002857 Program Studi : Teknik Informatika Judul Skripsi : "Rancang Sistem Pengenalan Wajah dan Ekspresi Wajah Menggunakan EigenFace" Judul tersebut telah disetujui oleh program studi yang bersangkutan pada tanggal 22 April 2010 dengan outline, abstraksi dan daftar pustaka terlampir. Bimbingan skripsi ini diharapkan selesai dalam waktu 6 (enam) bulan setelah dikenakannya surat penunjukan pembimbing skripsi ini. Apabila terjadi perubahan terkait dengan skripsi tersebut selama proses pembimbingan,, harap segera melaporkan kepada program studi yang bersangkutan Demikian atas kesediaan saudara kami ucapkan terima kasih. Wassalamu'alaikum Wr. Wb.
Tembusan : 1. Dekan (sebagai laporan) 2. Ketua Program Studi 3. Mahasiswa yang bersan'gkutan * coret yang tidak perlu
Lampiran 3: Source Code
A,B,C,E*library (Code) Option Explicit Public Const CaptName = "/capt.bmp" Public Const PictName = "/images/pict" Dim ImagePixels(0 To 2, 0 To 120, 0 To 160) As Integer Dim pixel As Long Dim X, Y As Integer Dim i, j As Integer Dim red, green, blue, gray As Integer Public faces As New ClassFaceRecogniser Public Const image_Width = 80 Public Const image_Height = 80 Public UserName As String Public UserType As String Public Loaded As Boolean Public MinimumEigen As Integer Public Sub Capture(ezVC As ezVidCap) On Error Resume Next ezVC.CapSingleFrame If (ezVC.SaveDIB(App.Path & CaptName)) Then 'MsgBox "Gambar tercapture" Else MsgBox "Gagal" End If ezVC.Preview = True End Sub
C-1
//(A)Source code untuk cropping Public Sub Crop(pict As PictureBox, filename As String) On Error Resume Next pict.Picture = LoadPicture(filename) X = pict.ScaleWidth Y = pict.ScaleHeight For i = 20 To 99 For j = 40 To 119 pixel = pict.Point(j, i) red = pixel& Mod 256 green = ((pixel And &HFF00) / 256&) Mod 256& blue = (pixel And &HFF0000) / 65536 ImagePixels(0, i, j) = red ImagePixels(1, i, j) = green ImagePixels(2, i, j) = blue Next Next pict.height = 1253 pict.width = 1253 pict.ScaleWidth = 80 pict.ScaleHeight = 80 pict.Picture = Nothing For i = 20 To 99 For j = 40 To 119 pict.PSet (j - 40, i - 20), RGB(ImagePixels(0, i, j), ImagePixels(1, i, j), ImagePixels(2, i, j)) Next
C-1
pict.Refresh Next End Sub //(A)Akhir dari cropping
//(B)Mengubah gambar 80 x 80 piksel menjadi RGB format .bmp kemudian dirubah lg menjadi format grayscale Public Sub GrayScale(pict As PictureBox) On Error Resume Next X = pict.ScaleWidth Y = pict.ScaleHeight For i = 0 To Y - 1 For j = 0 To X - 1 pixel = pict.Point(j, i) red = pixel& Mod 256 green = ((pixel And &HFF00) / 256&) Mod 256& blue = (pixel And &HFF0000) / 65536 ' my algorithm to grayscale picture ' is it correct? red = (red * 5) \ 10 green = (green * 8) \ 10 blue = (blue * 3) \ 10 gray = ((red + green + blue) * 10) \ 16 pict.PSet (j, i), RGB(gray, gray, gray) Next pict.Refresh Next End Sub //(B)Akhir dari mengubah gambar 80 x 80 piksel menjadi RGB format .bmp kemudian dirubah lg menjadi format grayscale
C-1
//(C)Menyimpan citra yang kita dapatkan dalam format .jpg Public Sub SavePhoto(pict As PictureBox, index As Integer) ' On Error Resume Next SavePicture pict.image, App.Path & PictName & index & ".bmp" ConvertBMPtoJPG App.Path & PictName & index & ".bmp", 80, False MsgBox "File telah tersimpan", , App.Title End Sub //(C)Akhir untuk menyimpan citra yang kita dapatkan dalam format .jpg
//(E)Lakukan proses matching dengan citra wajah pada database Public Function MatchPict(pict1 As PictureBox, pict2 As PictureBox) As Integer Dim closestImage As Integer pict2.Picture = Nothing closestImage = Val(faces.Identify(pict1)) If ((closestImage <> 0) And (Dir$(App.Path & PictName & closestImage & ".jpg") <> "")) Then pict2.Picture = LoadPicture(App.Path & PictName & closestImage & ".jpg") Else MsgBox "Tidak ditemukan kemiripan", vbExclamation, App.Title End If MatchPict = closestImage End Function//(E)Akhir dari proses matching dengan citra wajah pada database
C-1
D,I*FrmLKM (Code) Option Explicit Dim RsDosen As ADODB.Recordset Dim cmAbsen As ADODB.Command Dim RsAbsen As ADODB.Recordset Private Sub CboPertemuan_DropDown() CboPertemuan.List(0) = "1" CboPertemuan.List(1) = "2" CboPertemuan.List(2) = "3" CboPertemuan.List(3) = "4" CboPertemuan.List(4) = "5" CboPertemuan.List(5) = "6" CboPertemuan.List(6) = "7" CboPertemuan.List(7) = "8" CboPertemuan.List(8) = "9" CboPertemuan.List(9) = "10" CboPertemuan.List(10) = "11" CboPertemuan.List(11) = "12" CboPertemuan.List(12) = "13" CboPertemuan.List(13) = "14" CboPertemuan.List(14) = "UTS" CboPertemuan.List(15) = "UAS" End Sub Private Sub Check1_Click() If Check1.value = vbChecked Then Alpha.Enabled = True TxtCek.Text = 1 ElseIf Check1.value = vbUnchecked Then
C-1
Alpha.Enabled = False TxtCek.Text = 0 End If End Sub Private Sub CmdCari_Click() Daftar.Visible = True End Sub Private Sub CmdLogin_Click() 'On Error GoTo salah Dim index As Integer
//(D)Capture citra wajah dosen 'stage 1 - capture camera Capture ezVC Crop Picture6, App.Path & CaptName Kill App.Path & CaptName GrayScale Picture6 'stage 2 - matching picture index = MatchPict(Picture6, Picture5) 'stage 3 - fill the form //(D)Akhir dari capture citra wajah dosen
//(I)Identifikasi data dosen berdasarkan identifikasi wajah RsDosen.MoveFirst RsDosen.Find "id=" & index TxtId.Text = RsDosen.Fields("Id") TxtNip.Text = RsDosen.Fields(1).value
C-1
TxtNama.Text = RsDosen.Fields(2).value TxtPangkat.Text = RsDosen.Fields(8).value TXtGolongan.Text = RsDosen.Fields(9).value TxtFile = RsDosen.Fields("fotodosen") ImgFoto.Picture = IIf(IsNull(TxtFile.Text), LoadPicture(App.Path & "\Foto\Add Foto.bmp"), LoadPicture(TxtFile.Text)) '
If index > 0 Then
'
CmdLogin.Caption = "Absen"
'
CmdCancel.Visible = True
'
End If TxtTglPresensi = Format(Now, "DD-mmm-yyyy") TxtWaktuPresensi = Format(Now, "HH:MM:SS") Me.width = 11145 Me.height = 8910 CmdLogin.Enabled = False Tengah TxtTipe.Text = 1 End Sub //(I)Akhir dari identifikasi data dosen berdasarkan identifikasi wajah
Private Sub CmdCancel_Click() Picture5.Picture = Nothing CmdLogin.Enabled = True Tengah Me.width = 4560 Me.height = 8910 CmdLogin.Caption = "Capture"
C-1
End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub CmdSave_Click() Dim Strsql As String Set RsKehadiranDosen = New ADODB.Recordset RsKehadiranDosen.Open "Select * from KehadiranDosen", Conn, adOpenKeyset, adLockOptimistic Strsql = "Insert Into KehadiranDosen(Id,TglPresensi,WaktuPresensi,Nip,Pertemuan, Kdmk,Lokal,Kelas,Bahasan,SubBahasan,Tipe,Pengganti,KetDosen) Values ('" Strsql = Strsql & Trim(TxtId) & "','" Strsql = Strsql & Format(Trim(TxtTglPresensi), "YYYY-MM-DD") & "','" Strsql = Strsql & Trim(TxtWaktuPresensi) & "','" Strsql = Strsql & Trim(TxtNip) & "','" Strsql = Strsql & Trim(CboPertemuan) & "','" Strsql = Strsql & Trim(TxtKd) & "','" Strsql = Strsql & Trim(TxtLokal) & "','" Strsql = Strsql & Trim(TxtKelas) & "','" Strsql = Strsql & Trim(TxtBahasan) & "','" Strsql = Strsql & Trim(TxtSubBahasan) & "','" & Trim(TxtTipe) & "','" & Trim(TxtCek) & "','" Strsql = Strsql & Trim(Alpha) & "')" Conn.Execute Strsql End Sub
C-1
Private Sub CmdSetting_Click() If ezVC.HasDlgFormat Then ezVC.ShowDlgVideoFormat Else MsgBox "Kamera ini tidak memiliki setting...", vbOKOnly, App.Title End If End Sub Sub Contoh() '
ElseIf (CmdLogin.Caption = "Absen") Then
'
TxtTglPresensi = Format(Now, "DD-mmm-yyyy")
'
TxtWaktuPresensi = Format(Now, "HH:MM:SS")
'
Set cmAbsen = New ADODB.Command
'
Set cmAbsen.ActiveConnection = Conn
'
cmAbsen.CommandText = "select IdPresensi from
KehadiranDosen where id=" & RsDosen.Fields(0).value & _ '
" and TglPresensi=#" & Format(Now,
"yyyy-mm-dd") & "# " & _ '
" and tipe=1"
' '
Set RsAbsen = cmAbsen.Execute
'
If RsAbsen.EOF Then
'
cmAbsen.CommandText = "insert into KehadiranDosen(id,
TglPresensi, waktuPresensi, tipe) " & _ '
"values(" &
RsDosen.Fields(0).value & ",#" & Format(Now, "yyyy-mm-dd") & "#," & _
C-1
'
"#" & Format(Now, "hh:mm:ss") &
"#,1)" '
cmAbsen.Execute
'
MsgBox "ABSEN MASUK SUKSES", vbInformation, App.Title
''
Else
''
If MsgBox("Anda telah melakukan ABSEN MASUK!!" &
Chr(13) & "Apakah Anda akan melakukan ABSEN KELUAR?", vbYesNo, App.Title) = vbYes Then '
cmAbsen.CommandText = "insert into
KehadiranDosen(id, TglPresensi, waktuPresensi, tipe) " & _ '
"values(" &
RsDosen.Fields(0).value & ",#" & Format(Now, "yyyy-mm-dd") & "#," & _ '
"#" & Format(Now,
"hh:mm:ss") & "#,0)" '
cmAbsen.Execute
'
MsgBox "ABSEN KELUAR SUKSES", vbInformation,
App.Title '
End If
'
End If
'
CmdLogin.Caption = "Capture"
'
End If
'
Exit Sub
'salah: 'MsgBox "ABSEN GAGAL", vbExclamation, App.Title End Sub Private Sub Daftar_Click() TxtKd = Daftar.SelectedItem.SubItems(1)
C-1
Tabel 2.4 Studi Literatur
No .
Nama
Tahun
Judul
1.
Achmad
2006
Penentuan Wilayah Wajah
Tujuan dari penelitian ini
Pertama; Pada metode ini, citra-citra model warna
Manusia pada Citra
adalah untuk mengetahui
kulit yang digunakan dapat diadaptasikan pada
Berwarna berdasarkan
berapa persen tingkat
warna kulit yang berbeda-beda dan dapat
Warna Kulit dengan
keberhasilan pengenalan
memisahkan wilayah kulit dengan wilayah bukan
Metode Template
wilayah wajah dengan Metode
kulit.
Matching
Template Matcing, yang
Kedua; Mempunyai tingkat keberhasilan
didasarkan pada wilayah
pengenalan wilayah wajah sebesar 75%.
Hidayatno
Kontribusi
Hasil
sekitar wajah. Bahasa pemrograman yang dipakai
Kelebihan:
adalah Matlab 6.5.
Dapat menentukan wilayah wajah manusia pada citra berwarna dengan ras yang berbeda-beda (asia, eropa dan afrika).
Kekurangan: Pertama; Banyaknya kesalahan dalam proses segmentasi kulit, karena terdapatnya wilayah-
wilayah yang memiliki keserupaan dengan nilai kemungkinan kulit, seperti warna pakaian yang dikenakan, ataupun warna latar belakang. Selain itu bagian-bagian tubuh lain, seperti tangan atau leher yang terbuka menyebabkan wilayah tersebut dikenali sebagai wilayah kulit wajah. Kedua; Penelitian ini dibatasi hanya pada penentuan wilayah wajah dari tampak depan (frontal) wajah manusia.
2.
Resmana Lim
2007
Pelacakan dan Pengenalan
Tujuan dari penelitian ini
Pertama;
Perangkat
Wajah Menggunakan
adalah untuk membuat suatu
menggunakan gambar bergerak sebagai inputnya,
Webcame dan Metode
perangkat lunak yang
yaitu dari video camera (webcame). Hasil dari
Gabor Filter
menggabungkan pelacakan
penelitian
wajah manusia dengan
berdasarkan
menggunakan Algoritma
CamShift cukup baik.
CamShift dan pengenalan
Kedua; Tingkat keberhasilan mencapai 79, 31%
wajah dengan menggunakan
dengan database wajah sejumlah 341 citra yang
Metode Gabor Filter. Bahasa
terdiri dari 31 citra individu dengan 11 pose dan
pemrograman yang dipakai
dengan citra penguji sebanyak 29 citra wajah.
ini
lunak
menunjukan
warna
kulit
yang
dibuat
bahwa
pelacakan
dengan
Algoritma
adalah C++ 6.0.
Kelebihan: Sistem ini akan tetap akurat terhadap adanya noise hingga 50%.
Kekurangan: Adanya keterbatasan pada pengangkapan obyek oleh kamera yang bergerak terlalu cepat. Obyek yang demikian dapat lepas dari pelacakan.
3.
Fika Tiara Puri
2011
Aplikasi Kehadiran
Tujuan dari penelitian ini
Program yang dibuat dapat menerima masukan
Pengajaran Dosen
adalah peneliti ingin
berupa citra wajah yang di capture dengan alat
Menggunakan Algoritma
melakukan penelitian tentang
bantu
Eigenface (Pengenalan
proses merancangbangun
menunjukan bahwa pelacakan berdasarkan warna
Wajah)
sebuah Aplikasi Kehadiran
kulit dengan Algoritma Eigenface cukup baik.
webcame.
Hasil
dari
penelitian
ini
Pengajaran Dosen dengan menggunakan identifikasi
Kelebihan:
wajah sebagai inputnya dan
Algoritma Eigenface adalah basic bagi seseorang
menganalisa tingkat akurasi
yang
ingin
mempelajari
ilmu
biometrik
pengenalan yang
(pengenalan wajah), karena identifikasi dilakukan
dilakukan oleh apliaksi
dengan
berdasarkan Algoritma
menggunakan metode pembelajaran khusus seperti
Eigenface dan mencari faktor-
Jaringan Syaraf Tiruan, Fuzzy Logic atau 3D.
pattern
matching
sederhana
tanpa
faktor yang mempengaruhi akurasi
Kekurangan:
pengenalan tersebut. Bahasa Karena aplikasi ini hanyalah simulasi, maka pemrograman
yang
dipakai terdapat beberapa kekurangan diantaranya:
adalah Visual Basic 6.0 dan Pertama; Keterbatasan kapasitas webcame yang Microssoft Databasenya.
Access
sebagai dipakai oleh penulis (1,3 MP), sehingga terjadi kesalahan dalam mendeteksi foto yang dimaksud dengan foto yang sebelumnya. Kedua; Banyaknya kesalahan dalam proses segmentasi kulit, karena terdapatnya wilayahwilayah yang memiliki keserupaan dengan nilai kemungkinan kulit, seperti warna pakaian yang dikenakan, ataupun warna latar belakang (background adalah tembok dengan warna putih). Ketiga;
Penelitian
ini
dibatasi
hanya
pada
penentuan wilayah wajah dari tampak depan (frontal) wajah manusia (Pose wajah lurus ke
depan ekspresi standar). Keempat; Tingkat pencahayaan (cahaya matahari dari depan atau belakang terlalu tinggi) maka akan mempengaruhi keakuratan pengenalan wajah. Kelima; Ketergantungan terhadap database harus sama dengan nama file suatu image. Jika tidak sama maka tidak akan mampu melakukan validasi sekiranya terjadi perubahan nama, baik pada database ataupun nama file suatu image. Keenam; Jarak kamera dan wajah yang dicapture dibuat konstan (± 30 cm) lebih dari itu maka wajah tidak akan dikenali / terjadi kesalahan pada foto.
Lampiran 2: Wawancara
Wawancara dilakukan oleh penulis kepada beberapa narasumber di tempat dimana penulis melakukan penelitian, dalam hal ini adalah Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.
Narasumber ke 1: Bu Viva Arifin, MMSI, beliau sebagai sekretaris program studi teknik informatika sekaligus juga sebagai dosen pembimbing II. Wawancara dilakukan penulis pada: Tgl/Bln/Thn : 20/01/2010 Pukul
P:
: 13.20
Ibu menyarankan saya untuk membuat suatu aplikasi yang berhubungan dengan salah satu karakteristik dari ilmu biometrika, apa alasannya?
N:
Alasannya karena Ilmu Biometrik sekarang ini sedang berkembang pesat, seharusnya semua mahasiswa/i teknik informatika sudah sewajarnya untuk mempelajari aplikasi yang berhubungan dengan karakteristik ilmu biometrika tersebut.
P:
Di prodi sendiri yang saya tahu sudah ada sistem absensi pegawai dengan menggunakan sidik jari, apakah saya harus melakukan penelitian yang
sama yaitu dengan sidik jari, dan aplikasi seperti apa yang sebaiknya saya akan implementasikan nantinya?
N:
Sebaiknya jangan sidik jari, cari saja karakteristik yang lain sebab sidik jari sudah sangat banyak aplikasi yang sudah ibu ketahui.
P:
Bu apakah aplikasi ini harus sempurna sesuai harapan ibu, sebab saya banyak kesulitan ketika sedang membuat aplikasi biometrik tersebut, sehingga pada akhirnya saya menemukan banyak sumber yaitu pencarian jurnal yang berhubungan dengan pengenalan wajah (eigenface) di internet juga saya menemukan buku karya hanif al fatta yang saya jadikan sumber utama agar saya paham dan mengerti?
N:
Tidak harus sempurna yang penting aplikasi tersebut sudah bisa di running (Aplikasi Kehadiran Pengajaran Dosen Tersebut, antara wajah dengan biodata tersebut terjadi kecocokan) dan layak di praktekan pada Seminar Skripsi nanti.
Wawancara setelah Seminar Skripsi selesai. Wawancara dilakukan penulis pada: Tgl/Bln/Thn : 14/07/2011 Pukul N:
: 13.20 Setelah ibu lihat aplikasi yang kamu buat ada beberapa kelemahan pada aplikasi ini, diantaranya:
B-1
Karena aplikasi ini hanyalah simulasi, maka terdapat beberapa kekurangan diantaranya: 1.
Keterbatasan kapasitas webcame yang dipakai oleh penulis (1,3 MP), sehingga terjadi kesalahan dalam mendeteksi foto yang dimaksud dengan foto yang sebelumnya. Selain itu, jika webcame yang dipakai kurang dari 3 MP, maka akan mempengaruhi yang lainnya, diantaranya: a.
Perubahan
latar
(background)
dapat
mengurangi
kualitas
pengenalan wajah. Dalam hal ini, wajah akan dikenal jika latar (background) berwarna putih / polos. Background tidak akan mempengaruhi wajah seseorang pada saat mengcapture, jika webcame yang dipakai memiliki kapasitas diatas 3 MP. b.
Pencahayaan yang terlalu tinggi (cahaya matahari dari depan atau belakang terlalu tinggi) dapat mengurangi keakuratan pengenalan wajah. Pencahayaan yang terlalu tinggi tidak akan mengurangi keakuratan wajah seseorang pada saat mengcapture, jika webcame yang dipakai memiliki kapasitas diatas 3 MP.
2.
Jarak kamera dan wajah yang dicapture dibuat konstan (± 30 cm) lebih dari itu maka wajah tidak akan dikenali / terjadi kesalahan pada foto.
3.
Ketergantungan terhadap database harus sama dengan nama file suatu image. Jika tidak sama maka tidak akan mampu melakukan validasi sekiranya terjadi perubahan nama, baik pada database ataupun nama file suatu image.
B-1
Dan jangan lupa kelemahan/kekurangan yang ada pada aplikasi yang sudah kamu buat, kamu tulis di bab v, sebagai kesimpulan dan saran.
Narasumber ke 2: Ibu Sukmayati, beliau adalah Kepala Sub Bag Akademik FST. Wawancara dilakukan penulis pada: Tgl/Bln/Thn : 14/07/2011 Pukul
P:
: 13.20
Apa Kritik dan Saran Ibu setelah ibu melihat “Aplikasi Kehadiran Pengajaran Dosen Menggunakan Algoritma Eigenface (Pengenalan Wajah)” yang saya buat?
N:
Untuk mahasiswi yang sedang melakukan penelitian tentang pengenalan wajah, aplikasi tersebut tidak harus sempurna yang terpenting adalah aplikasi tersebut bisa di running dan ada laporan kehadiran dosen tersebut. Selain itu saya tidak mengharuskan aplikasi tersebut harus sempurna tetapi hanya simulasi saja agar kedepannya kamu semakin mengerti dan paham dan kamu bisa mengembangkannya pada suatu saat nanti. Dan di Fakultas sendiri memang telah ada Sistem Absensi Pegawai (Dosen dan semua Pegawai lainnya yang bekerja di FST dan Prodi TI) yang menggunakan sidik jari. Namun, dalam ilmu biometrik cakupan perkembangannya sangat pesat tidak hanya digunakan pada sidik jari saja
B-1
tapi juga bisa dengan pengenalan wajah, retina dan lain-lain. Menurut beliau, ada baiknya jika Sistem Absensi Pegawai lebih dispesifikasikan lagi dengan dibuatnya Aplikasi Kehadiran Pengajaran Dosen. Sistem yang berjalan sekarang ini, untuk kehadiran dosen masih bersifat manual dimana seorang dosen jika ingin mengajar dalam suatu perkuliahan yang sudah ditentukan jadwalnya, maka dosen tersebut dianjurkan untuk menandatangani daftar kehadiran yang sudah disediakan oleh pihak admin FST, yaitu di ruang pelayanan akademik lantai II FST. Kemudian admin langsung menyiapkan dan memberikan daftar hadir mahasiswa/i dan matakuliah dosen yang bersangkutan (lembaran-lembaran tersebut sudah admin siapkan didalam map berwarna merah). Peraturan yang sudah diterapkan di FST adalah: map merah tidak boleh diwakilkan oleh mahasiswa/i, boleh diwakilkan oleh mahasiswa/i jika dalam keadaan terdesak dan harus dengan memo tertulis dari dosen tersebut. Kemudian dosen akan pergi ke kelas yang akan dituju sambil membawa map merah, map merah digunakan untuk absensi atau presensi mahasiswa dan dosen TI. Setelah perkuliahan selesai seluruh mahasiswa wajib melakukan tanda tangan di map merah yang didalamnya berisi namanama mahasiswa dan jumlah kehadiran mahasiswa min.12x max.15x pertemuan.
Begitupun
setelah
dosen
selesai
mengajar,
dosen
mengembalikan map merah tersebut ke lantai 2 FST ruang pelayanan. Penandatanganan daftar kehadiran dosen masih dilakukan secara manual. Kekurangan dari sistem manual adalah kesalahan bisa saja terjadi
B-1
pada data yang tertulis, atau data bisa hilang sewaktu-waktu, dan ada baiknya jika Sistem Absensi Pegawai lebih dispesifikasikan lagi dengan dibuatnya Aplikasi Kehadiran Pengajaran Dosen. Menurutnya, aplikasi tersebut harus dapat mengetahui berapa kali dosen masuk dan tidak masuk dalam satu semester (pelaporan dihitung per hari), dengan cara setiap dosen yang ingin mengajar sebelum masuk kelas, dosen tersebut harus merekam wajahnya dengan menggunakan webcam yang dipasang di komputer yang tersedia di akademik FST.
Narasumber ke 3: Ibu Yarsi Berlianti, beliau adalah Kepala Bagian Tata Usaha FST. Tgl/Bln/Thn : 14/07/2011 Pukul
P:
: 13.20
Apa Kritik dan Saran Ibu setelah ibu melihat “Aplikasi Kehadiran Pengajaran Dosen Menggunakan Algoritma Eigenface (Pengenalan Wajah)” yang saya buat?
N:
Pentingnya aplikasi kehadiran pengajaran dosen sangat diperlukan sebab, hasil akhir pelaporan tersebut akan dihitung oleh bagian keuangan FST sebagai gaji dosen nantinya. Lembaran kehadiran pengajaran dosen yang masih bersifat manual akan menyulitkan bagian keuangan FST sebab, kesalahan bisa saja terjadi pada data yang tertulis, atau data bisa hilang
B-1
sewaktu-waktu, hal demikianlah yang nantinya merugikan dosen pada akhirnya. Oleh sebab itu, ada baiknya jika Sistem Absensi Pegawai lebih dispesifikasikan lagi dengan dibuatnya Aplikasi Kehadiran Pengajaran Dosen.
Narasumber ke 4: Dra. Mirna Adriani, Ph.D., beliau adalah dosen Teknik Informatika UI dan juga sekaligus Kepala Lab UI, yang telah meluangkan waktunya kepada penulis. pertanyaan
yang
diajukan
penulis
Beberapa
kepada
beliau
diantaranya:
P:
Dari sekian banyak metode yang dipakai pada aplikasi pengenalan wajah, menurut ibu, aplikasi yang akan saya buat nanti metode apakah yang cocok?
N:
Untuk seorang pemula yang ingin mempelajari tentang pengenalan wajah, hendaknya mempelajari metode eigenface karena menurutnya metode eigenface adalah basic / dasar yang kedepannya jika sudah mengetahui metode tersebut boleh dilanjutkan ke metode selanjutnya, karena setelah metode eigenface banyak metode yang memiliki tingkatan kesulitan yang berbeda-beda. Setelah metode yang lain telah dikuasai barulah mahasiswa tersebut menambah morfologi wajah dengan neural network atau 3D atau juga fuzzy logic, tergantung kebutuhan yang ingin dipakai.
B-1