39
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
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
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.
Gambar 3. 1 Input Suara
3.2.3. Pre-Processing
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
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
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.
(3. 1)
Pada sistem ini menggunakan a=0.95.
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.
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
Transform. Untuk merubah dari domain frekuensi kembali menjadi domain waktu.
MFCC Flow Chart
Gambar 3. 6 Feature Extraction Flow Chart
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
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.
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
Gambar 3. 10 Speaker Verification Flow Chart
3.3.1. Perancangan Database
Dalam perancangan program aplikasi absensi Speaker Verification dengan metode Hidden Markov Model dibutuhkan database dengan 3 tabel sebagai berikut.
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.
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.
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.
File About
No ID
Absen
ID
Nama
Jabatan
<nama>
<Jabatan>
Train
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.
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
Training
Start Recording 00:00.000
verifikasi
Start Recording 00:00.000
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.
Menu About berisi nama penulis dan tujuan dari pembuatan program aplikasi ini.
Gambar 3. 15 Rancangan layar About