BAB III
METODE PENELITIAN
3.1. Metode Penelitian
Gambar 3. 1 Tahapan Penelitian Metode R&D
Jenis metode penelitian yang digunakan dalam penelitian ini adalah Research and Development (R&D) yang merupakan penggambaran dari aktivitas yang dilakukan untuk menciptakan produk yang lebih baik [24]. Penerapan metode R&D adalah dengan melakukan penelitian berdasarkan 7 tahapan yang ada pada metode R&D, yaitu potensi dan masalah, mengumpulkan informasi, desain produk, validasi desain, uji
coba produk dan perbaikan produk [25]. Dari tahapan-tahapan tersebut akan disesuaikan dengan penelitian yang dikerjakan sehingga tahapan yang dilakukan pada penelitian ini dapat dilihat pada Gambar 3.1.
Berikut adalah penjelasan dari masing-masing tahapan penelitian :
1. Perumusan masalah merupakan tahapan dalam penentuan dasar dari dilakukannya penelitian yang sudah dibahas pada BAB I.
2. Studi literatur merupakan tahapan untuk melakukan studi dari berbagai penelitian terdahulu yang memiliki kemiripan dengan penelitian yang akan dikerjakan. Studi literatur juga merupakan kegiatan untuk melakukan peninjauan kembali terkait fitur, alat dan metode yang akan digunakan pada pengembangan sistem. Tahapan ini sudah dibahas pada BAB II.
3. Perancangan desain sistem dibagi menjadi 2 yaitu perancangan perangkat lunak dan keras. Perancangan perangkat lunak pada penelitian ini meliputi perancangan dari tampilan website yang akan menampilkan informasi kunjungan dari pengunjung yang memasuki lingkungan ITERA dan perancangan basis data yang akan digunakan. Perancangan perangkat keras meliputi perancangan bentuk dari alat yang diinginkan dengan menentukan posisi dari setiap sensor serta aktuator yang dimiliki alat.
4. Sama seperti tahapan sebelumnya, untuk pengembangan perangkat lunak dan keras tetap dilakukan secara terpisah. Pengembangan perangkat lunak dilakukan dengan mengembangkan website yang sudah dapat terintegrasi dengan basis data dan dapat melakukan pertukaran data. Pengembangan perangkat keras dilakukan dengan mengolah model pengenalan wajah yang diinginkan, pengembangan program pengenalan wajah dan mengintegrasikan seluruh sensor dan aktuator yang dimiliki agar dapat berfungsi dengan baik.
5. Setelah masing-masing pengembangan selesai dilakukan, maka selanjutnya adalah pengintegrasian perangkat lunak dan keras agar dapat menghasilkan
sistem yang sempurna. Pengintegrasian ini dilakukan melalui penghubungan alat ke basis data yang digunakan oleh website.
6. Tahapan selanjutnya adalah pengujian dari sistem yang bertujuan untuk melihat apakah sistem berjalan sesuai dengan yang diharapkan. Pengujian dilakukan untuk melihat tingkat akurasi pengenalan, fungsionalitas sistem dan kenyamanan pengguna dalam penggunaan sistem. Pengujian dapat menjadi parameter apakah sistem yang dikembangkan dapat selesai dikembangan atau masih membutuhkan pengembangan yang lebih lanjut.
7. Tahapan terakhir adalah kesimpulan yang akan dimuat kedalam bentuk laporan tugas akhir dan publikasi jurnal.
3.2. Rancangan Sistem
Pada penelitian ini memiliki rancangan sistem yang digambarkan dalam bentuk diagram skematik dan permodelan basis data. Diagram skematik sistem akan mencakup gabungan komponen-komponen penyusun dari sistem serta alur kegiatan atau kerja yang terjadi pada sistem. Berikut penjelasan dari masing-masing diagram.
1. Diagram Skematik
Diagram skematik sistem adalah gambaran umum dari usur sistem dan alur kegiatan yang terjadi pada sistem. Komponen yang digambarkan pada diagram skematik sistem terdiri dari 4 komponen, yaitu perangkat keras, basis data, perangkat lunak dan satpam. Perangkat keras dan lunak saling terhubung oleh basis data yang sama agar data yang ditampilkan pada perangkat lunak adalah data yang terbaru berdasarkan hasil pengenalan yang dilakukan oleh perangkat keras. Peran satpam masih tetap harus bertugas untuk mengoperasikan perangkat lunak dan memberi arahan kepada pengunjung yang tidak terverifikasi oleh sistem, sehingga satpam menjadi salah satu bagian dari sistem.
Diagram skematik dapat dilihat pada Gambar 3.2.
Gambar 3. 2 Diagram Skematik Sistem
2. Permodelan Basis Data
Permodelan basis data yang akan diterapkan pada sistem dapat dilihat pada Gambar 3.3 yang dimana basis data yang akan digunakan adalah basis data nonrelasional dan akan diimplementasikan dengan menggunakan basis data Firebase. Basis data akan dimodelkan dengan membentuk struktur JSON dengan menyimpan data pengunjung berupa nama, NIM/NIP, status kunjungan, waktu masuk, waktu keluar dan jenis pengunjung.
Gambar 3. 3 Permodelan Basis Data 3.2.1. Rancangan Perangkat Keras
Rancangan perangkat keras pada penelitian ini akan digambarkan dalam bentuk diagram blok dan skematik perangkat keras yang diikuti dengan penjelasan dari masing-masing komponen sensor dan aktuator yang dimiliki oleh perangkat.
1. Diagram Blok
Hubungan sensor dan aktuator, yang merupakan komponen utama pada sistem, digambarkan dalam bentuk diagram blok. Setiap komponen digambarkan dalam bentuk kotak-kotak yang saling terhubung oleh garis. Diagram blok sistem dapat dilihat pada Gambar 3.4. Pada sistem kali ini yang berperan sebagai sensor adalah kamera. Kamera bertugas untuk merekam gambar dan hasil perekaman akan diolah oleh microcontroller. Pengolahan dilakukan dengan mengenali wajah yang terekam dan menyesuaikan dengan model pengenalan wajah. Jika pengenalan berhasil, maka microcontroller akan mengirimkan perintah untuk membuka gerbang melalui aktuator servo dan menginformasikan kepada target pengenalan untuk bisa masuk melalui LCD.
Gambar 3. 4 Diagram Blok
Gambar 3. 5 Skematik Perangkat Keras Kamera Pi
Raspberry Pi
LCD
Servo
Potensio
2. Skematik Perangkat Keras
Pada skematik perangkat keras akan digambarkan rancangan komponen penyusun yang diinginkan berdasarkan bentuk asli dari komponen tersebut.
Pada penelitian ini skematik dari sistem dapat dilihat pada Gambar 3.5.
Komponen penyusun sistem sama seperti yang ada pada diagram blok, namun hanya berbeda pada adanya pemetaan penggunaan GPIO untuk masing-masing komponen.
3.2.2. Rancangan Pengenalan Wajah
Pengenalan wajah yang akan diterapkan pada sistem berguna untuk bisa membedakan antara sivitas akademika dan masyarakat umum serta selanjutnya dilakukan identifikasi identitas pengunjung tersebut. Model pengembangan algoritma pengenalan wajah yang digunakan adalah K-Nearest Neighbor (KNN). Bahasa pemrograman yang digunakan dalam program pengenalan wajah adalah bahasa pemrograman python. Dalam pengembangan program pengenalan juga memanfaatkan library OpenCV dan Face Recognition. Dataset yang digunakan haruslah berupa foto atau gambar yang memiliki kualitas yang baik. Dalam mengembangkan pengenalan wajah ini akan dilakukan dalam beberapa tahap, yaitu :
1. Pengumpulan dataset yang berupa foto sivitas akademik ITERA.
Pengumpulan foto sivitas akademika ITERA dibatasi dengan menggunakan foto dari mahasiswa Teknik Informatika ITERA. Foto yang digunakan harus memiliki kualitas gambar yang jelas dan terdiri dari ± 20 foto untuk setiap individu. Foto yang digunakan hanya dengan menampilkan tampilan depan wajah.
2. Pengembangan model pengenalan wajah dengan metode KNN dan bahasa pemrograman python.
Pengembangan dilakukan dengan merancang program pengenalan dengan algoritma KNN. Program akan mengambil wajah yang tertangkap kamera dan melakukan klasifikasi apakah wajah pengunjung ini merupakan wajah dari
sivitas akademika. Jika klasifikasi berhasil, maka akan dilanjutkan dengan mengidentifikasi identitas dari pemilik wajah tersebut.
3. Optimalisasi model pengenalan wajah.
Optimalisasi model dilakukan untuk meningkatkan kemampuan dari program dalam melakukan pengenalan dan dapat berjalan dengan baik.
Setelah pengembangan model pengenalan wajah selesai, maka selanjutnya model ini dapat diimplementasikan pada sistem.
3.2.3. Rancangan Perangkat Lunak
Rancangan perangkat lunak pada penelitian ini akan digambarkan dalam bentuk Use Case Diagram, Activity Diagram dan rancangan antarmuka perangkat lunak. Perangkat lunak yang dikembangkan adalah website informasi kunjungan yang nantinya akan dioperasikan oleh satpam ITERA. Perangkat lunak akan dibangun dengan framework CodeIgniter yang akan terintegrasi dengan basis data Firebase dan dikembangkan dengan software text editor Visual Studio Code.
1. Use Case Diagram
Permodelan diagram dengan menggunakan diagram use case adalah jenis permodelan struktural yang memodelkan fungsionalitas dari sistem. Diagram use case memiliki 3 komponen penting yang diantaranya ada sistem, aktor dan use case. Pada diagram use case kali ini yang berperan sebagai sistem adalah website yang didalamnya terdapat berbagai use case, sedangkan untuk aktor adalah satpam. Permodelan diagram dapat dilihat pada Gambar 3.6. Terdapat 5 gambaran fungsional sistem yang dimana sistem dapat memberikan layanan untuk melihat total pengunjung, log in, melihat data setiap pengunjung, melihat siapa saja yang berkunjung dan menambah data pengunjung.
Gambar 3. 6 Use Case Diagram
2. Activity Diagram
Isi dari diagram aktivitas terfokus pada eksekusi dan alur dari kebiasaan suatu sistem. Pada diagram aktivitas kali ini digambarkan berdasarkan gambaran fungsional yang ada pada diagram use case. Terdapat 5 aktivitas yang digambarkan, yaitu aktivitas melihat total pengunjung, menambah data, melihat pengunjung sekarang, menambah data dan log in. Masing-masing permodelan diagram dapat dilihat pada Gambar 3.6 sampai 3.11.
Pada Gambar 3.7 dapat dilihat alur aktivitas yang terjadi pada saat ingin melihat total pengunjung. Aktivitas diawali dengan satpam membuka halaman website yang selanjutnya website akan meminta untuk mengambil data total pengunjung yang akan ditampilkan. Setelah selesai mendapatkan total pengunjung, basis data akan memberikan data tersebut ke website untuk ditampilkan di halaman utama. Satpam akan melihat data total pengunjung pada halaman utama.
Gambar 3. 7 Activity Diagram Total Pengunjung
Penggambaran aktivitas selanjutnya adalah aktivitas penambahan data.
Penambahan data yang dilakukan hanya untuk data masyarakat umum yang dilakukan oleh satpam pada website. Satpam akan memilih menu pengunjung umum yang selanjutnya akan ditampilkan halaman pengunjung umum. Setelah itu satpam akan mengisi data yang ingin ditambahkan. Jika penambahan ingin disimpan, maka aktivitas penambahan data sudah selesai. Namun, jika satpam tidak jadi untuk menambahkan data maka tampilan website akan kembali tampilan menu pengunjung umum. Diagram aktivitas penambahan data dapat dilihat pada Gambar 3.8.
Gambar 3. 8 Activity Diagram Menambah Data
Gambar 3. 9 Activity Diagram Pengunjung Sekarang
Aktivitas selanjutnya adalah melihat pengunjung terkini di lingkungan ITERA.
Satpam memilih menu pengunjung sekarang pada website dan akan di eksekusi oleh basis data untuk bisa menampilkan data yang harusnya ada pada halaman tersebut. Setelah eksekusi berhasil maka data-data yang didapatkan ditampilkan pada halaman pengunjung sekarang. Alur aktivitas untuk melihat pengunjung sekarang dapat dilihat pada Gambar 3.9.
Diagram aktivitas pencarian data pengunjung dapat dilihat pada Gambar 3.10.
pada aktivitas ini diawali dengan satpam mengunjungi menu pengunjung dan memasukan data pengunjung yang ingin dicari. Jika data yang diinginkan ditemukan, maka website akan menampilkan data pada halaman pengunjung.
Namun, apabila pencarian tidak mendapatkan hasil yang diinginkan maka akan diarahkan kembali pada halaman pengunjung untuk mencari data kembali.
Gambar 3. 10 Activity Diagram Mencari Data Pengunjung
Gambar 3. 11 Activity Diagram Log In
Penggambaran aktivitas log in dapat dilihat pada Gambar 3.11. sama seperti aktivitas-aktivitas sebelumnya pada saat melakukan log in tetap membutuhkan adanya proses pengambilan data dari basis data. Aktivitas log in diawali dengan satpam memasukan username dan password pada website. Website akan merequest masukan dan melakukan validasi kecocokan dari kombinasi username dan password tersebut. Apabila log in berhasil, maka website akan menampilkan halaman utama. Namun apabila gagal, maka website akan kembali ke halaman log in.
3.3. Rancangan Pengujian
Pengujian performa sistem dilakukan supaya bisa didapatkan hasil dari tingkat keberhasilan yang dicapai oleh sistem pada saat dioperasikan serta akurasi yang dimiliki oleh sistem dalam melakukan pengenalan wajah. Metode pengujian yang digunakan pada pengujian fungsionalitas dan perangkat lunak adalah metode Black Box. Black box sendiri merupakan teknik pengujian yang digunakan untuk memastikan bahwa semua masukan yang dibutuhkan oleh sistem diterima dan memberikan keluaran yang benar tanpa harus mengetahui isi dari sistem yang diuji [26].
3.3.1. Skenario Pengujian Fungsionalitas
Sistem akan dilakukan pengujian pada pintu masuk ruangan kelas ITERA dengan merepresentasikan pintu kelas adalah akses masuk ke lingkungan ITERA. Gerbang ITERA akan direpresentasikan dalam bentuk servo. Sistem akan ditempatkan di depan ruangan sehingga pengunjung bisa melakukan pengenalan wajah untuk bisa memasuki ruangan. Responden yang terlibat dalam pengujian ini ada sebanyak 30 orang yang merupakan mahasiswa aktif Teknik Informatika ITERA. Pengujian sistem akan berlangsung pada hari kerja dengan durasi pengujian selama 8 jam. Setiap pengunjung atau responden yang akan memasuki dan keluar dari ruangan diwajibkan untuk melakukan pengenalan wajah pada sistem. Supaya tetap terkontrolnya informasi pengunjung maka disamping sistem akan ditempatkan laptop yang akan menampilkan website dari sistem dan akan dioperasikan oleh operator sebagai representasi dari satpam. Setiap pengunjung yang wajahnya tidak dapat dikenali oleh sistem akan diarahkan untuk melapor pada operator agar data pengunjung tersebut dimasukan melalui website dengan kategori pengunjung jenis masyarakat umum. Sistem akan diuji kemampuannya dalam mendeteksi multi wajah dalam sekali pencuplikan untuk bisa menentukan batasan dari pencuplikan serta pengenalan wajah yang dapat dilakukan oleh sistem dalam satu waktu. Pengujian multi wajah akan dilakukan sebanyak 10 kali uji secara bertahap yang dimana pada pengujian pertama akan
dilakukan untuk mengambil dan mengenali satu wajah, pengujian kedua dengan dua wajah dan begitu seterusnya sampai 10 kali uji.
3.3.2. Rancangan Pengujian Fungsionalitas
Pengujian fungsionalitas merupakan pengujian dari keseluruhan sistem untuk bisa mengetahui apakah sesuai dengan yang diinginkan dan dapat beroperasi dengan baik.
Sebelum dilakukan pengujian fungsionalitas ini sebelumnya harus dinarasikan terlebih dahulu dalam bentuk skenario pengujian untuk bisa memahami tahapan pengujian yang nantinya akan dilakukan pada pengujian fungsionalitas. Rincian dari rancangan pengujian fungsionalitas dapat dilihat pada Tabel 3.1 berikut.
Tabel 3. 1 Rancangan Pengujian Fungsionalitas
No Kasus Pengujian Detail Pengujian Indikator Keberhasilan
1. Mengambil wajah pengunjung
Menguji tingkat
keberhasilan sistem dalam mengambil wajah manusia dengan menggunakan kamera. Dilakukan dengan menguji pengenalan dengan berbagai sisi wajah.
Sistem dapat menangkap wajah pengunjung dengan sisi wajah tampak depan menghadap lurus ke kamera.
2.
Pengenalan wajah pengunjung (identifikasi wajah)
Menguji keberhasilan sistem dalam mengenali wajah yang telah
ditangkap oleh kamera dengan model pengenalan wajah
Sistem dapat mengenali wajah pengunjung
berdasarkan model yang sudah
dikembangkan dengan tingkat
No Kasus Pengujian Detail Pengujian Indikator Keberhasilan akurasi pengenalan adalah sebesar 80%
keberhasilan pengenalan
3. Klasifikasi pengunjung
Menguji ketepatan sistem dalam klasifikasi jenis pengunjung berdasarkan pengenalan wajah
Sistem dapat membedakan jenis pengunjung bedasarkan pengenalan wajah yang telah dilakukan
4. Ketepatan menghitung durasi kunjungan
Menguji ketepatan sistem dalam menghitung durasi lama waktu kunjungan
Sistem dapat menghitung durasi kunjungan yang dilakukan oleh pengunjung dengan parameter berhenti pengitungan waktu adalah apabila sistem dapat mengenali wajah pengunjung sebanyak kelipatan bilangan genap
5. Pengondisian gerbang
Menguji ketepatan respon dari gerbang pada setiap kondisi
Gerbang dapat terbuka apabila pengenalan berhasil dilakukan atau mendapatkan intruksi langsung dari satpam.
No Kasus Pengujian Detail Pengujian Indikator Keberhasilan Gerbang akan tetap tertutup apabila pengenalan tidak berhasil dilakukan dan tidak ada intruksi pembukaan dari satpam
6. Multi wajah
Menguji kemampuan sistem dalam mengambil dan mengenali lebih dari satu wajah pengunjung dalam satu waktu pengambilan
Sistem dapat mengambil dan mengenali wajah pengunjung pada satu waktu pengambilan dengan minimal wajah dalam frame sebanyak 2 wajah pengunjung
3.3.3. Rancangan Pengujian Performa
Pengujian performa merupakan pengujian dari kemampuan sistem dalam memberikan hasil yang tepat berdasarkan keputusan yang dikeluarkan oleh sistem. Pengujian performa pada sistem kali ini akan dilihat nilai lama respon dari sistem dalam mengenali wajah dengan dikondisikannya gerbang. Rincian dari rancangan pengujian performa dapat dilihat pada Tabel 3.2. berikut.
Tabel 3. 2 Rancangan Pengujian Performa
No Kasus Pengujian Detail Pengujian Indikator Keberhasilan 1. Kecepatan waktu
respon sistem
Menguji kecepatan sistem dalam melakukan
pengenalan wajah pengujung sampai dapat dilakukannya pengondisian gerbang terbuka
Sistem dapat melakukan pengenalan wajah pengunjung dan pengondisian gerbang dalam waktu minimal selama 5 detik
3.3.4. Rancangan Pengujian Akurasi Pengambilan dan Pengenalan Wajah
Pengujian akurasi dilakukan untuk mengetahui apakah pengenalan wajah yang dimiliki sistem memiliki kemampuan yang baik dalam mengenali wajah yang terekam pada kamera sistem. Pengujian akurasi dilakukan dengan cara membandingkan nilai data pengenalan yang benar dengan total data tangkapan gambar keseluruhan yang telah dikenali. Pada pengujian kali ini akan dibatasi pada nilai sebesar 70% sebagai parameter keberhasilan dilakukannya pengenalan wajah oleh sistem. Perumusan penghitungan akurasi pengenalan wajah adalah sebagai berikut :
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝐵𝑒𝑟ℎ𝑎𝑠𝑖𝑙 𝐷𝑖𝑘𝑒𝑛𝑎𝑙𝑖 𝑑𝑎𝑛 𝐷𝑖𝑎𝑚𝑏𝑖𝑙
𝐽𝑢𝑚𝑙𝑎ℎ 𝑇𝑜𝑡𝑎𝑙 𝑃𝑒𝑛𝑔𝑒𝑛𝑎𝑙𝑎𝑛 𝑑𝑎𝑛 𝑃𝑒𝑛𝑔𝑎𝑚𝑏𝑖𝑙𝑎𝑛 × 100%