BAB 3 ANALISIS DAN PERANCANGAN PROGRAM APLIKASI 3.1. Analisa Sistem 3.1.1. Sejarah Umum Perusahaan Binus Learning Community adalah komunitas belajar binus yang berada dibawah sub unit mentoring Student Advisory Center. Resmi dibentuk pada tahun 2009. Komunitas ini bertujuan untuk mengembangkan budaya belajar bagi mahasiswa Binus University secara umum. Dan mampu membantu meningkatkan prestasi akademik bagi para mahasiswa Binus University. 3.1.2. Struktur Organisasi 39
40 3.2. Analisa Program Aplikasi 3.2.1. Gambaran Umum Perancangan Perancangan program aplikasi absensi verifikasi suara secara umum dibagi dalam beberapa tahap, yaitu: 1. Input Data 2. Pre-Processing 3. Feature extraction 4. Training 5. Verification 3.2.2. Input Data Pada perancangan program aplikasi verifikasi suara menggunakan Hidden Markov model diperlukan input data berupa suara yang diambil oleh microphone. Langkah pertama user akan memasukkan input suara dengan menekan tombol pada program dan berbicara di depan microphone untuk pengambilan suara. Program divalidasi dengan adanya suara yang terdeteksi pada microphone tersebut. Dalam sistem ini digunakan sampling rate sebesar 8000 Hz dan bit rate sebesar 8 bit. Lokasi pengambilan suara dilakukan pada tempat yang tenang dan tidak terlalu berisik untuk meningkatkan kevalidan dari suara user. Sinyal suara yang diambil dari microphone akan disimpan dan diproses lebih lanjut oleh
41 program. Dalam sistem ini digunakan sampling rate sebesar 8000 Hz dan bit rate sebesar 8 bit. Lokasi pengambilan suara dilakukan pada tempat yang tenang dan tidak terlalu berisik untuk meningkatkan kevalidan dari suara user. 3.2.3. Pre-Processing Gambar 3. 1 Input Suara Langkah kedua input suara diproses terlebih dahulu agar siap diproses lebih lanjut. Input suara yang baru didapat umumnya memiliki silence-frame atau frame di mana tidak terdapat suara. Untuk meningkatkan kevalidan dari input suara pembuangan silence-frame harus dilakukan terlebih dahulu agar suara yang akan diproses adalah suara yang memiliki nilai. Proses lain yang akan dilakukan adalah normalisasi suara dan penguatan suara. Normalisasi suara dilakukan agar semua input suara memiliki rentang nilai yang sama. Penguatan suara dilakukan untuk meningkatkan nilai suara yang rendah. Gambar 3. 2 Sinyal suara setelah pre processing
42 Pre-Processing Flow Chart Start Input suara Pembuangan silence frame Normalisasi Suara Penguatan Suara End Gambar 3. 3 Pre-Processing Flow Chart 3.2.4. Feature Extraction Langkah ketiga input suara yang telah diproses pada Pre-Pocessing akan dilakukan ekstraksi fitur (Feature Extraction). ekstraksi fitur suara bertujuan untuk mengurangi jumlah data pada sinyal suara agar mempermudah
43 pemprosesan pada Hidden markov model dengan tetap mempertahankan nilai atau fitur tertentu yang membedakan pola suara input. Nilai atau fitur khusus inilah yang nantinya akan menjadi input bagi jaringan saraf tiruan. Mel Frequency Cepstral Cepstrum (MFCC) digunakan sebagai metode ekstraksi fitur pada sistem ini. Tujuan penggunaan MFCC sebagai ekstraksi fitur pada sistem ini karena efektif dan efisien dalam berbagai kondisi. MFCC memiliki performa yang baik, akurasi yang baik dan kompleksitas perhitungan yang lebih sedikit. Proses untuk Mel Frequency Cepstral Cepstrum terdiri dari beberapa tahap. a. Pre-emphasis Tahap ini menekanan pada sinyal dengan frekuensi lebih tinggi dari sinyal. Pada sistem ini menggunakan a=0.95. (3. 1) Gambar 3. 4 Suara setelah Pre-emphasis b. Framing Pada tahap ini, sinyal yang telah di-preemphasis diblok menjadi beberapa bagian dengan jumlah sampel yang digunakan pada sistem 256, dan tiap bagian dipisahkan dengan sebanyak 128 sampel.
44 c. Windowing Pada tahap ini dilakukan proses window pada frame-frame yang telah dihasilkan pada tahap sebelumnnya. Hal ini bertujuan untuk meminimalkan diskontinuitas pada bagian awal dan akhir sinyal model window yang digunakan pada sistem ini adalah hamming window. (3. 2) d. Fast Fourier Transform Pada tahap ini dilakukan transformasi fast fourier pada masing-masing frame yang telah dilakukan proses windowing. Untuk merubah domain waktu menjadi domain frekuensi. (3. 3) e. Mel filter bank processing Pada tahap ini masing masing frame akan melewati filter mel. Di mana masing-masing frame akan diaplikasikan melewati filter mel. Gambar 3. 5 Mel Filter f. Discrete Cosine Transform Seletelah masing- masing frame melalui filter mel dilakukan tahap selanjutnya ditransformasikan dengan mengunakan Discrete Cosine
45 Transform. Untuk merubah dari domain frekuensi kembali menjadi domain waktu. MFCC Flow Chart
Gambar 3. 6 Feature Extraction Flow Chart 46
47 3.2.5. Training Pada tahap Training ini, metode yang digunakan adalah hidden markov model. Tujuan dari tahap training ini adalah agar sistem dapat mengenali informasi karakteristik suara dari user. Karakteristik ini berupa 32 koeffisien yang berasal dari proses feature extraction, diolah sehingga didapatkan suatu nilai yang mewakili karakteristik suara dari masing masing orang. Tahap training ini terdiri dari 2 proses, yaitu proses learning, dan proses evaluation. Tahap learning bertujuan untuk membentuk model HMM agar probabilitas maksimal. Hasil dari tahap feature extraction yang berupa 32 koefesien yang merupakan nilai dari Mel Frequency Cepstrum Coeficent dari sinyal suara masing user akan dimasukkan sebagai input pada proses learning ini dengan menggunakan algoritma kmeans. Setelah didapatkan model HMM maka model HMM tersebut akan diteruskan sebagai input pada proses evaluation yang menggunakan algoritma forward untuk mendapatkan nilai probabilitas yang akan disimpan sebagai referensi dari suara masing-masing orang.
Gambar 3. 7 Learning Flow Chart 48
49 Gambar 3. 8 Evaluation Flow Chart 3.2.6. Verification Dalam perancangan verifikasi ini dibutuhkan input berupa suara yang diklaim sebagai identitas pengguna. Tahapan dalam perancangan ini adalah input data, Pre-processing, Feature Extraction, Training dan verifikasi suara itu sendiri. Pada proses verification akan dilakukan training untuk data yang akan diverifikasikan dan nilai probabilitas yang dhitung akan dibandingkan dengan nilai probabilitas yang telah disimpan sebelumnya.
50 3.3. Perancangan Program Aplikasi Pada bagian rancangan program ini, akan digunakan flowchart untuk menunjukkan alur kontrol dan jalannya program. Untuk merancang program aplikasi absensi verifikasi suara dengan metode Hidden Markov Model, digunakan Microsoft Visual Studio 2010 Ultimate dengan bahasa pemrograman C#.Net 4.0 dan SQL Server 2008 yang akan di operasikan pada sistem operasi Windows XP. Training Flow Chart Gambar 3. 9 Training Flow Chart
Speaker Verification Flow Chart 51
52 3.3.1. Perancangan Database Gambar 3. 10 Speaker Verification Flow Chart Dalam perancangan program aplikasi absensi Speaker Verification dengan metode Hidden Markov Model dibutuhkan database dengan 3 tabel sebagai berikut.
53 Tabel 3. 1 Tabel MsSatff Nama Field Tipe data Ukuran Field ID Char 5 Nama Varchar 50 Jabatan Varchar 50 Tabel 3. 2 Tabel SystemLog Nama Field Tipe data Ukuran Field ID Char 5 Time Time Tabel 3. 3 Tabel Data Nama Field Tipe data Ukuran Field ID Char 5 Data Float 3.3.2. Perancangan Tampilan Layar Dalam pengunaan aplikasi ini maka akan dibuat layar utama di mana dalam layar utama berfungsi untuk absensi.
54 File About No ID Absen Gambar 3. 11 Rancangan Layar Utama Dalam rancangan ini terdapat 2 pilihan yaitu absen atau training data. Jika user menekan tombol File maka akan muncul pilihan Training yang bila dipilih akan memunculkan form training. ID Nama <nama> Jabatan <Jabatan> Train Gambar 3. 12 Rancangan layar training pilih id Dalam form training ini awalnya akan memilih id dari combobox yang isinya diambil dari database. Setelah id dipilih maka label <nama> dan label <jabatan> akan berubah sesuai dengan id yang dipilih. Ketika tombol train ditekan maka akan muncul layar Training data.
55 Training Start Recording 00:00.000 Gambar 3. 13 Rancangan layar Training data Dalam form training data ini akan memulai pengambilan data suara dengan menekan tombol start recording kemudian menekan tombol stop recording untuk menyelesaikan pengambilan data. Data yang telah diambil diproses ke dalam database. Pada layar utama terdapat text field No.ID dan tombol absen. Apabila tombol absen ditekan maka program akan memeriksa apakah id yang telah diisi pada NoID ada dalam database. Bila tidak ada maka akan muncul peringatan. Bila ada dalam database maka akan muncul layar verifikasi, untuk memverifikasikan absen. verifikasi Start Recording 00:00.000 Gambar 3. 14 Rancangan layar Verifikasi Pada layar verifikasi ini akan diambil data berupa suara yang akan dimulai perekaman suaranya ketika user menekan tombol start recording. User kemudian menekan tombol stop recording untuk menyelesaikan pengambilan data, dan memproses data yang telah diambil ke dalam proses verifikasi. Kemudian apabila
56 verifikasi sukses maka akan muncul konfirmasi verifikasi sukses dan aplikasi akan menyimpan waktu absensi ke dalam database. Apabila verfikasi gagal maka akan muncul konfirmasi verifikasi telah gagal dan layar verifikasi akan tutup dan kembali ke layar utama. Pada layar utama juga ada pilihan menu exit dan about. Menu exit akan menutup aplikasi apabila dipilih. ini. Menu About berisi nama penulis dan tujuan dari pembuatan program aplikasi Gambar 3. 15 Rancangan layar About