29
BAB 3 PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem Pada dasarnya untuk pembuatan aplikasi ini, yakni aplikasi pengenalan suara untuk pengguna interface, membutuhkan perangkat keras dan perangkat lunak. Perangkat kerasnya seperti komputer yang nantinya akan dibahas di sub bab berikutnya, perangkat lunak yang digunakan menggunakan program untuk membuat tampilan yang ditujukan kepada pengguna yang disebut juga pengguna interface dan yang terpenting menggunakan suara sebagai alat untuk menjalankan program tersebut sebagai input yang kemudian menjadi perintah-perintah bagi program tersebut. Input diberikan oleh pengguna melalui mikrofon seperti “File” maka komputer akan menampilkan menu File yang tersedia pada program. Input Suara
Proses Pendaftaran Suara
Proses Pengenalan Pola Suara Gambar 3.1 Tahapan Sistem Pengenalan Suara.
Pada umumnya sistem pengenalan suara ini dibagi ke dalam dua tahap, yaitu proses pendaftaran suara dan proses pengenalan pola suara. Tahapan proses pendaftaran suara diawali dari pengenalan suara terhadap komputer, suara sebagai input yang didapat melalui microphone, suara tersebut digunakan untuk menyalakan aplikasi dan juga
30
perintah-perintah untuk menjalankan aplikasi. Namun suara tersebut masih dalam berupa sinyal analog, sinyal analog adalah sinyal yang belum melalui proses apapun. Maka dibutuhkan proses sampling, quantization, dan encoding untuk mengubah sinyal analog menjadi sinyal diskrit atau sinyal digital. Sampling adalah proses mengambil nilai-nilai sinyal pada titik-titik diskrit sepanjang variabel waktu dari sinyal waktu kontinu, hasil yang didapat berupa sinyal waktu diskrit. Quantization adalah proses memetakan nilai-nilai dari sinyal nilai kontinu menjadi nilai-nilai yang diskrit, sehingga didapatkan sinyal nilai diskrit. Encoding adalah proses mengubah nilai-nilai sinyal menjadi bilangan biner. Sebelum dilakukan proses encoding dilakukan modul transformasi. Modul transformasi digunakan untuk mentransformasikan sinyal domain waktu menjadi sinyal domain frekuensi. Didomain frekuensi, sinyal direpresentasikan sebagai serangkaian nilai yang menunjukkan banyaknya satuan sinyal yang berada di frekuensi tertentu, metode yang dipakai adalah metode Transformasi Linear. Setelah proses encoding dilakukan didapat hasil berupa biner, yang dipakai didalam Jaringan Saraf Tiruan (JST) digunakan oleh komputer untuk melakukan proses belajar. Proses belajar oleh JST dengan menggunakan metode backpropagation dilakukan berulangulang sampai sesuai dengan target output atau hasil yang diinginkan. Hasil disimpan kemudian dibandingkan dengan hasil yang dilakukan selanjutnya, jika benar / true maka hasil tersebut didaftarkan sebagai output, jika false maka dilakukan pengulangan dari awal. Flowchart pendaftaran suara dapat dilihat melalui gambar dibawah.
31
Mulai
Suara (sebagai input) Inisialisasi Hasil = 0; i=0 Sampling Quantization Transformasi fourier Encoding Jaringan Saraf Tiruan (Back Propagation) Hasil[i] = Hasil; i++;
Hasil = Hasil[i-1] ?
False
True Pendaftaran Suara Selesai Gambar 3.2 Flowchart Proses Pendaftaran Suara.
32
Mulai
Suara (sebagai input) Inisialisasi Hasil = 0; i=0 Sampling Quantization Transformasi fourier Encoding Jaringan Saraf Tiruan (Back Propagation) Hasil False Hasil = Target ? True Selesai Gambar 3.3 Flowchart Proses Pengenalan Pola Suara.
Tahapan proses pengenalan pola suara diawali dari suara sebagai input dilakukan inisialisasi hasil, sampling, quantization, transformasi fourier, encoding, JST seperti yang dilakukan proses pendaftaran suara, kemudian didapat output berupa hasil,
33
kemudian hasil tersebut dibandingkan dengan target output yang diinginkan. Jika true maka perintah untuk dapat dijalankan, jika false ulangi dari awal.
3.2 Cara Kerja Sistem Cara kerja sistem pengenal suara akan ditunjukan dalam bentuk DFD (Data Flow Diagram). DFD digunakan untuk menggambarkan proses dan aliran data yang terjadi dalam sistem. Perancangan DFD dilakukan mulai dari konteks sistem sampai dengan proses sistem merespon kepada pengguna.
Gambar 3.4 DFD Sistem Pengenal Suara.
3.3 Perancangan Jaringan Syaraf Tiruan Jaringan Syaraf yang digunakan untuk pengenalan suara ini menggunakan tiga lapisan layer dengan 60-47-7 (60 neuron pada lapisan input, 47 neuron pada lapisan hidden, 7 neuron pada lapisan output) dengan metode Back Propagation. Berdasarkan target output yang diinginkan, maka ditentukan 7 neuron untuk lapisan output, 60
34
neuron lapisan input merupakan inisialisasi, 47 hidden layer didapat dari perhitungan dibawah ini. Hidden Layer = ( 2 * Input Layer ) / 3 + Output Layer............................ 1 Hidden Layer = (2 * 60) / 3 + 7 = 120 / 3 + 7 = 40 + 7 = 47
Tabel 3.1 Tabel Target Output. Output dalam biner
Perintah yang dijalankan
0000000
NULL
1101000
Image
1111000
About
0111000
Exit
0010100
Yes
1110101
No
Untuk proses pengenalan suara dengan jaringan syaraf tiruan perlu disiapkan data sebagai bahan untuk perbandingan dengan input suara dan dilakukan proses pelatihan jaringan syaraf tiruan untuk mencari bobot input dan output. Proses pengujian jaringan syaraf tiruan akan dilihat pada hasil perbandingan jaringan syaraf tiruan dari input suara dengan data dari hasil proses pendaftaran suara. Dari perbandingan tersebut akan dapat dilihat jika data dari input suara mendekati atau sama dengan data hasil proses pendaftaran suara. maka input suara tersebut akan dikenali (identified) dan pintu akan terbuka.
35
Gambar 3.5 Tampilan Layar Back Propagation Untuk Sistem Pengenalan Suara.
3.3.1
Algoritma Back Propagation
Langkah 0
: Inisialisasi bobot (set bobot pada nilai random yang kecil).
Langkah 1
: Selama kondisi berhenti adalah salah, lakukan langkah 2-9.
Langkah 2
: Untuk setiap pasangan pelatihan, lakukan langkah 3-8.
(Feedforward) Langkah 3
: Setiap unit masukan (Xi, i = 1,...,n) menerima sinyal masukan Xi
dan
mengirim sinyal ini keseluruh unit pada lapisan berikutnya(lapisan tersembunyi). Langkah 4 terbobot
: Untuk setiap unit tersembunyi (Zj, j = 1,...,p) jumlahkan sinyal masukan
36
.........................................................................................(9) terapkan fungsi aktivasi untuk menghitung keluarannya
.............................................................................................(10) dan mengirim sinyal ini keseluruh unit pada lapisan berikutnya(lapisan keluaran). Langkah 5
: Untuk setiap unit keluaran(Yk, k = 1,...,m), jumlahkan sinyal masukan
terbobotnya,
..........................................................................(11) dan terapkan fungsi aktivasi untuk menghitung sinyal keluarannya,
.........................................................................................(12) Backpropagation dari galat. Langkah 6
: Untuk setiap unit keluaran (Yk, k = 1,...,m) menerima sebuah pola target
yang bersesuaian dengan pola masukan , hitung galatnya,
..................................................................(13) hitung koreksi bobotnya,
............................................................................................(14) hitung koreksi biasnya,
..................................................................................................(15)
37
dan kirim
ke unit pada lapisan sebelumnya.
Langkah 7
: Untuk setiap unit tersembunyi (Zj, j = 1,...,p) jumlahkan masukan delta-
nya,
........................................................................................(16) kemudian dikalikan dengan turunan fungsi aktivasinya untuk menghitung galatnya
.................................................................................(17) hitung koreksi bobotnya,
................................................................................................(18) hitung koreksi biasnya,
....................................................................................................(19) Untuk bobot dan bias: Langkah 8
: Untuk setia unit keluaran (Yk, k = 1,...,m) ubah bias dan bobotnya (j =
1,...,p):
...............................................................(20) untuk setiap unit tersembunyi (Zj, j = 1,...,p) ubah bobot dan biasnya (i = 1,...,n):
.......................................................................(21) Langkah 9
: Tes kondisi berhenti.
38
3.4 Perangkat Keras Khusus yang Digunakan Untuk menunjang perancangan sistem pengenalan suara, maka digunakan perangkat keras (Hardware) khusus yang digunakan untuk menjalankan aplikasi ini. Perangkat keras yang digunakan adalah komputer dengan spesifikasi standart yang dilengkapi dengan : -
Multimedia Audio Adapter
Hardware ini merupakan salah satu komponen dalam sebuah komputer yang di letakkan di motherboard yang berfungsi sebagai perantara antara microphone dengan komputer. -
Microphone standart Alat ini digunakan sebagai alat komunikasi untuk merekam suara.
3.5 Perancangan Modul 3.5.1
Tampilan layar ketika program pertama kali di jalankan Image TRUE
About
Exit FALSE
Enable voice command Disable voice command
Click “Enable voice command” to activate the voice command. Gambar 3.6 Tampilan Awal Aplikasi.
39
Indikator lingkaran hitam di sebelah kanan atas menyatakan bahwa voice command belum aktif, pada saat ini, tab “Image”, “About” dan “Exit” masih dalam keadaan disable. Di bawah tab “Image”, “About” dan “Exit” terdapat indikator pengenalan suara, bila suara tidak cocok dengan sampel maka radio button pada tulisan “False” akan menyala sedangkan bila suara cocok maka radio button pada tulisan “True” akan menyala. Kemudian di pojok kanan atas terdapat tombol minimize dan close yang dapat di klik.
3.5.2
Tampilan layar setelah pengguna mengklik “Enable voice”
Image
About
TRUE
Exit FALSE
Enable voice command Disable voice command
Please say “Image” or “About” or “Exit” for next command. Gambar 3.7 Tampilan Saat Voice Command Aktif.
Radio button pada “Enable voice command” akan menyala, pada saat ini, tab “Image”, “About” dan “Exit” sudah dalam keadaan aktif.
40
3.5.3
Tampilan layar setelah pengguna mengatakan “Image” Image
About
TRUE
Exit FALSE
Enable voice command Disable voice command
IMAGE
Gambar 3.8 Tampilan Saat Pengguna Mengatakan “Image”.
Pada saat ini page yang tadinya berisi tulisan “Please say “Image” or ”About” or “Exit” for next command” akan berubah menjadi gambar.
3.5.4
Tampilan layar setelah pengguna mengatakan “About”. Image TRUE
About
Exit FALSE
Enable voice command Disable voice command
ABOUT US
Gambar 3.9 Tampilan Saat Pengguna Mengatakan “About”.
41
3.5.5
Tampilan layar setelah pengguna mengatakan “Exit”. Image TRUE
About
Exit FALSE
Enable voice command Disable voice command
Are you sure? Yes
No
Gambar 3.10 Tampilan Saat Pengguna Mengatakan “Exit”.
Pada saat ini akan tampil dua button yaitu “Yes” atau “No”.
3.5.6
Tampilan Layar setelah pengguna mengatakan “No”.
Lihat gambar 3.7 Tampilan Saat Voice Command Aktif.
42
3.5.7
Tampilan layar apabila suara tidak dikenali. Image
About
TRUE
Exit FALSE
Enable voice command Disable voice command
Voice did’t match. Repeat again!
Gambar 3.11 Tampilan Saat Suara Tidak Dikenali.