BAB III ANALISIS DAN PERANCANGAN PROGRAM APLIKASI
3.1
Analisis Program Aplikasi
3.1.1
Analisis Database Program Database yang digunakan adalah SQL server 2000, dengan metode
client-server yang terintegrasi dengan component ADO pada Delphi. Pada program aplikasi ini dibutuhkan 3 tabel pada database, yaitu: Tabel Karyawan Dengan atribut ‘id’ sebagai field nomor induk dari karyawan, ‘nama’ sebagai field nama lengkap karyawan, ‘Alamat, dan ‘Tgl_lahir’. Tabel 1. Database karyawan Attribut ID Nama Alamat Tgl_Lahir
Tipe Nchar Varchar Varchar datetime
Ukuran 6 16 50 8
Tabel Sound Dengan atribut ‘id’ sebagai field nomor induk dari karyawan, ‘rec1’,’rec2’,dan ‘rec’3’ sebagai field boelan rekaman 0=belum 1=sudah. Tabel 2. Database sound Attribut ID Rec1 Rec2 Rec3
Tipe Nchar Bit Bit bit
28
Ukuran 1 1 1 1
Tabel Absen Dengan atribut ‘tgl’ sebagai field tanggal absensi, ‘id’ sebagai field nomor induk karyawan, ‘masuk’ field text data jam absensi masuk, dan ‘keluar’ field text data jam absensi keluar. Tabel 3. Database absen Attribut Tgl ID Masuk keluar
Tipe datetime Nchar Smalldatetime Smalldatetime
Ukuran 8 6 4 4
Gambar 3.1. Database Relation Diagram 3.1.2
Analisis Proses I/O File Wave Proses perekaman dan penyimpanan file wave dilakukan dengan bahasa
pemograman Borland Delphi 6 yang memanfaatkan component Twave dan buffer string windows untuk mendeklarasikan syntax-syntax windows.
29
3.1.1
Analisis File Wave Proses pengklarifikasian dan pengimplementasian metode gaussian mixture
model dan MABC dilakukan dengan program Matlab V.7 R.13. Memanfaatkan toolbox wavelet yang tersedia dan toolbox set dari project Pekka Paalanen ‘bayesian classification using gaussian mixture model and EM estimation’ dengan pengubahan dan penambahan beberapa m file untuk mendapatkan dan memroses data yang diperlukan dari file wave.
3.2
Perancangan Program Aplikasi
3.2.1
Perancangan Struktur Menu Struktur Menu pada rancangan ini yang dapat dilihat pada gambar 3.2
memperlihatkan susunan dari menu-menu rancangan yang ada, dimana pengguna dapat memilih menu yang ingin digunakannya.
Gambar 3.2 Struktur Menu Utama
30
Exit Start End Menu Utama Exit
Exit Exit
Database
Sound
Absen
record
View Absen
Add
Del
Play
Delete
Add Sound
Record
Play .wav
Delete .wav
Add Sound
Temp.wav
Add Database
Delete Record Database Karyawan
Record
Analisa Wave matlab absensi.m
Add Database
Status Pengenalan Suara
Tabel Absen
Exit
Add Database
Cancel (return 0)
save Update Database Karyawan
Cancel (return 0)
save
Save .wav
Update Database Absen
Update Database Sound
Memo Status
Gambar 3.3 Flowchart Algoritma Staddling
3.2.2
Perancangan Modul Modul yang digunakan di program ini ada tiga modul, modul menu utama,
modul open wave, dan modul record.
31
3.2.2.1 Modul Menu Utama Modul utama ini berisikan tiga menu pilihan yaitu menu database, menu sound dan menu absen. Pengguna dapat memilih menu yang sesuai dengan kebutuhannya. Bila pengguna ingin melihat dan mengatur record data karyawan beserta status file wave nya, maka pengguna dapat memilih menu database untuk memilih file wave yang akan diedit. Untuk memasukkan data file wave karyawan ataupun untuk training pengenalan suara nya, maka pengguna dapat memilih menu sound. Bila pengguna ingin melakukan absensi dengan pengenalan suara maka pengguna dapat memilih menu absen. 3.2.2.2 Modul Database Modul database adalah modul yang digunakan untuk melihat data dari karyawan yang sudah mempunyai data suaranya. Modul ini berisikan fungsi view dari tabel record data karyawan beserta status file wave nya (view), fungsi untuk menambah data karyawan (add), fungsi untuk mengedit data karyawan (edit), dan fungsi menghapus record data (delete). 3.2.2.3 Modul Sound Modul sound adalah modul yang digunakan untuk memasukkan data file wave suara karyawan dan untuk melatih pengenalan suara. Modul ini berisikan fungsi play untuk memutar file wave (play) dan fungsi untuk menambah data file wave karyawan maksimum 3 (add), dan fungsi untuk menghapus data suara (delete).
32
3.2.2.4 Modul Absen Modul Absen adalah modul yang digunakan untuk merekam suara dari microphone yang digunakan untuk pengenalan suara. modul ini berisikan fungsi untuk merekam suara (start), dan kolom status dari proses. Suara yang direkam akan langsung diproses dibandingkan dengan data file wave yang ada, dan pada kolom status akan memberikan hasil dari pengenalan suara.
3.3.
Perancangan Proses Wave 3.3.1. Modul M-file Pada Program Matlab, akan dibuat 3 m-file utama sebagai . Yang Pertama adalah MABC.m sebagai pemanggil proses penghitungan file wave dengan metode MABC, yang kedua gmmb.m sebagai pemanggil proses penghitungan Gaussian Mixture Model, dan yang terakhir adalah Absensi.m sebagai pengaktif model pengenalan suara yang akan memberikan nilai kalkulasi probabilitas. Setiap m-file proses seperti gmmcreate, gmmclass, dan lain-lain, akan dibuat permodul m sehingga memudahkan untuk mengatur setiap fungsi proses. Proses train menggunakan ‘gmm_create.m’ memanggil m file lainnya untuk mendapatkan
komponen
bayes
fungsi
GMM
dari
data
wave,
dan
MABC_create.n untuk mendapatkan komponen metode MABC. Pada proses Absensi digunakan absensi.m untuk memulai perhitungan probabilitas dan pengenalan suara.
33
3.3.2. Algoritma Proses Wave
Gambar 3.4 Algoritma proses train
Pada show_result pada gambar 3.5 bila hasil pengenalan MABC telah mencapai 80% keatas, suara dapat diterima. Bila suara setelah dilakukan proses GMM masih tidak mencukupi 30% maka suara ditolak artinya tidak dikenali.
34
Gambar 3.5 Algoritma proses pengenalan suara
3.4.
Perancangan Tampilan 3.4.1. Rancangan Tampilan Utama Pada rancangan tampilan utama, terdapat 4 button yang dapat diklik, “Database” untuk membuka dan mengedit record data karyawan, “Sound” untuk merekam data file wave karyawan yang secara automatis menghilangkan noise serta untuk memutar dan melatih pengenalan suara, “Absen” untuk proses absensi dengan pengenalan suara, dan “Exit” untuk keluar dari program. Button exit akan tersedia pada setiap form sebagai button penutup form dan kembali ke menu utama atau juga untuk keluar dari program.
35
Gambar 3.6 rancangan tampilan utama 3.4.2. Rancangan Tampilan Database Pada form “Database” terdapat empat button utama; view, add, edit, delete, dan terdapat sebuah tabel record data. “view” untuk membuka form baru berisi data karyawan yang sebelumnya telah disorot pada tabel record data secara detail. Button “add” untuk menambah data karyawan, setelah diklik akan muncul dialog box dengan field-field yang tersedia untuk diisi sebagai data karyawan. “Edit” digunakan untuk mengedit record data karyawan yang disorot, sama seperti add akan muncul dialog box berisi field-field yang sudah berisi data sebelumnya yang dapat diubah. “Delete” digunakan untuk menghapus record data yang disorot, akan ada dialog box untuk meminta confirmasi penghapusan data. Pada tabel record data akan menampilkan kolom ”ID”(Nomor Induk), “Nama”,”Alamat”,”Rec1”,”Rec2”,“Rec3”. Kolom Wave# mengenai informasi apakah file wave ke-# telah tersedia atau belum.
36
Gambar 3.7 rancangan tampilan database
3.4.3. Rancangan Tampilan Sound Pada rancangan tampilan Sound, terdapat 1 editbox yang berisi nama karyawan pada database, 3 kolom wave yaitu “rec1”, “rec2”, dan “rec3” sebagai indikator tersedianya file wave. Terdapat 4 button yang dapat diklik, “play” untuk memutar file wave pada database, “add” untuk menambah data file wave karyawan dengan merekam suara karyawan ke dalam file wave yang secara automatis dihilangkan noise, file akan otomatis masuk pada kolom wave dengan urutan otomatis, bila data file wave sudah ada tiga maka tombol “add” akan tidak aktif. “Delete” untuk menghapus data file wave pada nama karyawan di editbox dan file pada
37
kolom wave, dan “Exit” untuk keluar dari program. Button exit akan tersedia pada setiap form sebagai button penutup form dan kembali ke menu utama atau juga untuk keluar dari program.
Gambar 3.8 rancangan tampilan sound
3.4.4. Rancangan Tampilan Absen Pada tampilan rancangan “Record”, tersedia button “Start” untuk mulai merekam suara yang masuk ke microphone pada komputer. Kolom info status akan memberikan informasi status proses seperti perekaman, hasil proses, proses gagal, dan sebagainya. Button exit di sini berfungsi sama pada menu open wave, untuk kembali ke menu utama.
38
Gambar 3.9 rancangan tampilan absen
39