BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1
Analisis Permasalahan Tahapan analisis terhadap suatu sistem dilakukan sebelum masuk ke tahapan
perancangan. Tujuan dilakukannya analisis terhadap suatu sistem adalah untuk mengetahui alasan mengapa sistem tersebut diperlukan, merumuskan kebutuhan-kebutuhan dari sistem tersebut untuk mereduksi sumber daya yang berlebih serta membantu
merencanakan
penjadwalan pembentukan sistem, meminimalisir distorsi-distorsi yang mungkin terdapat di dalam suatu sistem sehingga fungsi yang terdapat di dalam sistem dapat berjalan dengan optimal. Aplikasi pencatatan kehadiran siswa ini dirancang dengan
menggunakan metode
pendekatan atas-bawah (Top-Down Approach) sehingga perancangan dimulai dari bentuk yang paling global yaitu konteks, kemudian diturunkan secara bertahap menjadi bentuk yang lebih detail. Salah satu unsur pokok yang harus dipertimbangkan dalam tahapan analisis sistem ini yaitu masalah perangkat lunak, karena perangkat lunak yang digunakan haruslah sesuai dengan masalah yang akan diselesaikan.
3.2
Gambaran Umum Sistem Sistem ini pada dasarnya akan melakukan proses-proses sebagai berikut: 1. Pengenalan citra wajah / face recognition, yaitu pendeteksian dan pengenalan individu yang tertangkap dalam camera (webcam). Dimana sebelumnya sudah dilakukan training citra wajah.
2. Pesan notifikasi SMS dan atau Email, yaitu pengiriman pesan bahwa siswa tersebut sudah terdeteksi dan dikenali di sistem, disini user dapat memilih untuk mengirimkan pesan dalam bentuk SMS dan atau Email terhadap orang tua / wali murid bersangkutan. 3. Pencatatan kehadiran siswa, yaitu pembuatan file yang mencatat siswa-siswa yang terdeteksi dan dikenali. Berikut skema hubungan ketiga proses utama diatas bisa dilihat dari gambar 3.1:
Pengenalan citra wajah
Citra wajah terdeteksi dan dikenali
Pengiriman notifikasi (SMS &/Email)
Pencatatan kehadiran
Gambar 3.1 Skema hubungan Sistem Berdasarkan proses-proses tersebut maka dirancang flowchart detail dari sistem ini:
Gambar 3.2 Flow Chart sistem
Algoritma sistem: 1. Langkah 1: Jalankan program, jika program belum mempunyai data training, maka akan muncul warning untuk melakukan training citra wajah terlebih dahulu. 2. Langkah 2: Setelah program mempunyai data training, user harus memilih apakah ingin mengirimkan pesan notifikasi atau tidak, jika ya, maka harus memilih SMS dan atau Email. Jika SMS dipilih maka user harus melakukan tes modem GSM terlebih dahulu. Sedangkan setting Email sudah disetting default.
3. Langkah 3: Aktifkan webcam yang akan melakukan pengenalan citra wajah terhadap individu yang terdeteksi. 4. Langkah 4 : Jika individu dikenali maka akan dibuat dokumen kehadiran siswa. Bila user memilih untuk mengirimkan pesan notifikasi maka pesan akan dikirim saat dilangkah ini juga.
3.3
Pemilihan Bahasa dan Library Dalam pengembangan aplikasi pada perancangan ini, penulis memilih menggunakan
bahasa C# dengan framework .NET. Hal ini didasari oleh mudahnya pembangunan sebuah aplikasi berbasiskan framework .NET dan kelebihan serta kemudahan bahasa C# untuk membangun aplikasi berorientasi pada objek. Selain itu, bahasa ini sudah banyak digunakan sehingga sudah memiliki banyak support untuk berbagai masalah error yang mungkin terjadi. Untuk perancangan aplikasi ini penulis juga menggunakan bantuan library EmguCV karena mudah dipelajari, memiliki fitur yang cukup lengkap dalam kebutuhan perancangan ini, dan menyediakan metode yang akan digunakan dalam perancangan pengenalan citra wajah, yaitu metode Principal Component Analysis.
3.4
Simulasi Sistem ini disimulasikan dengan beberapa variabel masukan untuk mendapatkan hasil
yang optimal. Simulasi dilakukan dengan mengambil citra digital dari webcam kemudia diuji berapa kali individu yang sama dikenali di sistem dengan nilai threshold yang berbeda-beda. Setelah sejumlah data tertentu didapat maka fungsi pengiriman dan pencatatan baru dijalankan. Sampel yang digunakan sebagai bahan percobaan berupa citra digital webcam.
Proses simulasi dilakukan segera setelah proses pengambilan data training dari sampel dilakukan. Jadi, dapat dikatakan kondisi sampel dalam tahapan pengambilan data training dan simulasi adalah sama.
3.5
Analisis Hasil dan Penarikan Kesimpulan Hasil simulasi akan menunjukkan seberapa baik sistem dalam melakukan pengiriman dan
pencatatan terhadap individu yang dikenal dalam bentuk persentase dalam lingkup simulasi.
3.6
Perancangan Sistem Perancangan sistem dilakukan setelah analisis selesai dilakukan agar perancangan dapat
dilakukan dengan target pencapaian yang jelas. Tahap perancangan diawali dengan pembuatan use case diagram, sequence diagram, dan perancangan tampilan layar aplikasi. Aplikasi ini dibagi menjadi tiga modul besar, yaitu modul penambahan data training, modul pengenalan citra wajah dan model pengiriman pesan dan pencatatan. 3.6.1
Modul Penambahan Data Training Wajah Flowchart bagaimana sistem yang digunakan dalam perancangan ini dalam melakukan
proses pengenalan citra wajah ditunjukkan pada Gambar 3.3
Gambar 3.3 Flowchart penambahan data training wajah Penambahan data training dapat dilakukan dengan cara menangkap citra wajah secara langsung menggunakan webcam melalui proses deteksi. Setiap citra yang akan disimpan sebagai data training dikonversi menjadi citra grayscale dan dilakukan proses histogram equalization. Kemudian file data, nama, nomor kontak dan email disimpan.
3.6.2
Modul Pengenalan Citra Wajah
Flowchart bagaimana sistem yang digunakan dalam perancangan ini dalam melakukan proses pengenalan citra wajah ditunjukkan pada
Gambar 3.4
Gambar 3.4 Flowchart pengenalan citra wajah Masukan citra yang harus dideteksi dan dikenali dari tangkapan secara realtime menggunakan webcam. Setelah masukan citra diterima, dilakukan proses deteksi pencarian lokasi wajah. Jika ditemukan adanya citra wajah, maka akan dilakukan proses ekstraksi data citra wajah dengan menggunakan algoritma PCA. Hasil ekstraksi tersebut akan dihitung bobot dengan citra-citra wajah yang ada di dalam data training. Jika nilai bobot yang didapat berada di bawah nilaiambang (threshold) maka citra wajah dikenali.
3.6.3
Modul Pengiriman Pesan dan Pencatatan Flowchart bagaimana sistem yang digunakan dalam perancangan ini dalam
melakukan proses Pengiriman Pesan dan Pencatatan ditunjukkan pada Gambar 3.5
Gambar 3.5 Flowchart pengiriman dan pencatatan
Aplikasi dijalankan, jika data training belum ada maka harus di masukkan terlebih dahulu, Jika sudah ada pilih pilihan pengiriman pesan (jika tidak ingin mengirim tidak usah
dipilih), setelah itu aktifkan webcam dan mulai lakukan capturing. Jika objek terdeteksi dan dikenali data akan disimpan dan pesan dikirim (jika ingin dikirim).
3.7 Perancangan UML (Unified Modeling Language) 3.7.1
Use Case
Gambar 3.6 Use case diagram Training Citra Wajah
Use case ini menggambarkan bagaimana admin menambahkan data citra wajah dari tangkapan webcam sebagai data training.
Setting Notifikasi
Use case ini menggambarkan bagaimana admin memilih notifikasi yang diinginkan. Dan
bagaimana
settingan
untuk
menjalankan notifikasi tersebut Capturing objek dengan Webcam
Use case ini menggambarkan bagaimana adminmenjalankan capturing objek (siswa) dengan webcam
Deteksi dan Pengenalan Citra Wajah
Use case ini menggambarkan bagaimana admin
menggunakan
aplikasi
untuk
melakukan deteksi dan pengenalan citra wajah dari webcam secara realtime. Pengiriman notifikasi
Use case ini menggambarkan bagaimana aplikasi mengirimkan pesan notifikasi jika sebelumnya
admin
sudah
mensetting
fungsi notifikasi. Pencatatan data
Use case ini menggambarkan bagaimana aplikasi otomatis melakukan pencatatan data objek (data) yang terdeteksi dan dikenali.
Tabel 3.1 Penjelasan use case diagram 3.7.2
Sequence Diagram
Berikut adalah Sequence diagram dari proses yang terdapat dalam aplikasi.
1. Sequence Diagram Input Data Citra Wajah dari Webcam
Gambar 3.7 Sequence diagram inputdatacitra wajah dari webcam
2. Sequence Diagram Pengaturan Deteksi dan Identifikasi
Gambar 3.8 Sequence diagram pengaturan deteksi dan identifikasi 3. Sequence Diagram Pengenalan Citra Wajah dari Webcam
Gambar 3.9 Sequence diagrampengenalan citra wajah dari webcam 4. Sequence Diagram setting notifikasi
Gambar 3.10 Sequence diagram setting notifikasi 5. Sequence Diagram pengiriman notifikasi dan pencatatan data
Gambar 3.11 Sequence diagram pengiriman notifikasi dan pencatatan data
3.8 Perancangan Layar Aplikasi 3.8.1
Perancangan Layar Form Input Data Citra Wajah
1. Input Data Citra Wajah dari Webcam
Gamba r 3.12 Ranca ngan layar form input data citra wajah dari webcam
Pada tampilan form input data citra wajah dari webcam, secara otomatis aplikasi akan menampilkan hasil tangkapan dari webcam yang aktif di panel di sebelah kiri. Ketika tombol “Capture Face” ditekan, wajah-wajah yang sedang terdeteksi oleh aplikasi dipotong berukuran 100 x 100 pixel dan ditambahkan ke dalam list “Captured Face(s)”.Tombol “Clear” digunakan untuk menghapus semua data citra wajah yang telah ditangkap di dalam list “Captured Face(s)”. Sebelum menyimpan data citra wajah ke dalam data training, citra wajah yang ingin disimpan akan disimpan ke dalam list “Added Face(s)” di sebelah kanan. Penambahan data dilakukan dengan cara memilih citra wajah yang ingin ditambahkan dari list “Captured Face(s)”, kemudian memasukkan nama, nomor kontak dan alamat email dari data tersebut dan menekan
tombol “Add Face”. Tombol “Clear” pada kolom “Added Face(s)” digunakan untuk menghapus semua data citra wajah yang telah ditambahkan ke dalam list “Added Face(s)”. Penyimpanan citra wajah sebagai data training dilakukan dengan menekan tombol “Save and Exit”, kemudian form akan tertutup dan kembali ke form utama. 3.8.2
Perancangan Layar Form Utama
Gambar 3.13 Rancangan layar form utama Pada form utama, tersedia menubar yang terdiri dari menu “File”, “Face Recognition”, “Notification”, dan “Help”. Melalui menu “File”, pengguna dapat melakukan tugas seperti membuka local video dengan mengakses webcam yang terhubung dengan sistem secara langsung untuk kemudian dilakukan proses deteksi dan pengenalan citra wajah. Melalui menu “Face Recognition”, pengguna dapat membuka form input data training citra wajah dan membuka form setting. Di menu“Notification” pengguna dapat memilih cara pengiriman notifikasi yang
diinginkan, serta melakukan setting koneksi modem GSM yang dipakai.Menu “Help” menyediakan keterangan singkat mengenai pembuat aplikasi. Pada form utama ini hanya ditampilkan streaming webcam yang digunakan dan status bar yang akan memberikan respon jika terjadi pengiriman notifikasi.
3.8.3
Perancangan Layar Form Setting pada Menu Face Recognition Setting Threshold Value
2500 Save
Gambar 3.14 Rancangan layar form setting pengenalan citra wajah Pada form mengatur Nilai Threshold (Threshold Value). Pengaturan nilai threshold dilakukan untuk mendapatkan keakuratan pengenalan citra wajah yang semakin baik, bergantung pada kasus yang tersedia.Nilai threshold dapat dipilih dari 0 hingga 5000, semakin besar nilai ambang (threshold) yang digunakan semakin besar sebuah citra wajah dikenali sebagai salah satu dari citra wajah di dalam data training, tetapi semakin kecil juga tingkat akurasi yang didapat pada hasil pengenalan. 3.8.4
Perancangan Layar Form Setting Modem
Gambar 3.15 Rancangan layar form setting modem GSM Pada layar ini pengguna harus memilih konneksi port yang digunakan modem GSM. Untuk melakukan koneksi terhadap modem GSM tekan tombol “Connect” dan untuk melakukan memutuskan koneksi tekan tombol “Disconnect”. Status bar akan memberitahukan apakah koneksi berhasil atau tidak.