Pengujian Program Pengenalan Ucapan dengan Ekstraksi Ciri

0.3, 0.4, dan 0.5. Listing pro gram “VARIABEL BATAS POTONG” diperlihatkan pada gambar 4.5. Gambar 4.5. Listing program Pop up menu 1 Program di atas berisikan inisialisasi “VARIABEL BATAS POTONG”. Nilai “VARIABEL BATAS POTONG” diinisialisasi dengan nama “bataspotong”. Nama tersebut berfungsi untuk inisialisasi nilai pop up menu 1. Inisialisasi batas potong diubah menjadi “pot” dan diikuti dengan “handles”. Program di atas bertujuan agar setiap nilai batas potong yang sudah dimasukan bisa dikenali atau dipanggil. Pada pop up menu 2 diberi nama “SEGMENT AVERAGING” dengan variabel nilai 8, 16, 32, 64, 128, dan 256. Listing program pada “SEGMENT AVERAGING” hampir sama dengan “VARIABEL BATAS POTONG” karena mempunyai fungsi yang sama yaitu untuk memilih variabel nilai yang telah ditentukan. Listing program “SEGMENT AVERAGING” diperlihatkan pada gambar 4.6. Gambar 4.6. Listing program “SEGMENT AVERAGING” function popupmenu1_CallbackhObject, eventdata, handles indeks=get handles.popupmenu1, value; switch indeks case 1 bataspotong=0.2; case 1 bataspotong=0.3; case 1 bataspotong=0.4; case 1 bataspotong=0.5; end handles.pot=bataspotong; guidatahObject,handles; function popupmenu2_CallbackhObject, eventdata, handles indeks=gethandles.popupmenu2,Value; switch indeks case 1 fram=4; case 2 fram=8; case 3 fram=16; case 4 fram=32; Gambar 4.6. lanjutan Listing program “SEGMENT AVERAGING” Program di atas berisi inisialisasi “SEGMENT AVERAGING”. Nilai “SEGMENT AVERAGING” diinisialisasi dengan nama “fram”. Inisialisasi “fram” sama dengan inisiali sasi “frame” yang diikuti dengan “handles”. Handles adalah sebuah inisialisasi yang digunakan agar dapat dipanggil dalam file.m . Inisialisasi program pada pop up menu 2 bertujuan agar setiap nilai segment averaging dapat dikenali atau dipanggil. Pop up menu 3 diberi nama “KNN” dengan variabel nilai 1, 3, 5, dan 7. Listing program “KNN” diperlihatkan pada gambar 4.7. Gambar 4.7. Listing program “KNN” Program di atas berisi inisialisasi “KNN” untuk penentuan keluaran ucapan. Variabel nilai KNN digunakan untuk memilih nilai KNN yang sudah ditentukan. Inisialisasi program pada pop up menu 3 bertujuan agar setiap nilai KNN dapat dikenali atau dipanggil. Pop up menu 7 beri nama “USER”. Listing program “USER” diperlihatkan pada gambar 4.8. function popupmenu3_CallbackhObject, eventdata, handles indeks=gethandles.popupmenu2,Value; switch indeks case 1 knn=1; case 2 knn=3; case 3 knn=5; case 4 knn=7; end handles.nearest=knn; guidatahObject,handles; case 5 fram=64; case 6 fram=128; case 7 fram=256; end handles.frame=fram; guidatahObject,handles; Gambar 4.8. Listing program “USER” Program di atas berisi inisialisasi “USER” dengan masukan tiga user. Inisialisasi tersebut digunakan untuk memilih masing-masing user yang sudah ditentukan pada perancangan. Inisialisasi “Case” digunakan untuk menentukan user yang akan dikenali ucapannya di database sesuai dengan user yang dipilih.

4.1.2 Pushbutton 1 Tombol “REKAM”

Pushbutton 1 merupakan tombol “REKAM” dan merupakan tombol utama dalam proses perekaman ucapan user untuk mengatur kecepatan putar kipas AC. Tombol “REKAM” berisikan beberapa sub proses program untuk proses perekaman ucapan user. Sub proses tersebut terdiri dari perekaman ucapan user , Normalisasi, pemotongan Sinyal potong kiri, potong kanan,windowing Hamming, zero padding, ekstraksi ciri DCT, pengambilan variabel batas potong, Segment averaging, KNN dan pemilihan user. Listing program perekaman ucapan user diperlihatkan pada gambar 4.9. Gambar 4.9. Listing program “REKAM” Listing program “REKAM” di atas berisi perekaman ucapan user. Program sample_length merupakan durasi perekaman ucapan selama 1,5 detik dan program sample_freq merupakan frekuensi yang digunakan yaitu 6000 Hz. Pada program sample_length=1,5; sample_freq=6000; sample_time=sample_lengthsample_freq; x=wavrecordsample_time, sample_freq; axeshandles.axes1 plotx; function popupmenu7_CallbackhObject, eventdata, handles indeks=gethandles.popupmenu6,Value; switch indeks case 1 user=1; case 2 user=2; case 3 user=3; end handles.xuser=user; guidatahObject,handles; sample_time didapat hasil perkalian antar durasi waktu dan frekuensi yang akan ditampilkan pada gambar hasil rekaman sebesar 2400 Hz. Program wavrecord digunakan untuk merekam ucapan user dan hasil perekaman akan ditampilkan dalam bentuk plot pada “HASIL REKAMAN”. Listing Program axeshandles.axes1 digunakan untuk menampilkan hasil perekaman. Handles digunakan untuk mengatur masukan dan keluaran program. Hasil rekaman ucapan user, diinisialisasi dengan “x”. Inisialisasi “x” ini yang di- plot- kan ke dalam “axes.1”. Setelah perekaman ucapan user dengan variabel batas potong, segment averaging, KNN, dan pemilihan user selesai dilakukan maka tampilan berupa plot pada “HASIL REKAMAN” maka proses selanjutnya yaitu proses ekstraksi ciri DCT dengan hasil keluarannya berupa plot yang akan di tampilkan pada “HASIL EKSTRAKSI DCT”. Pada proses eksraksi ciri DCT akan ada beberapa proses yang dijalankan yaitu preprocessing yang di dalamnya terdapat Normalisasi, pemotongan sinyal potong kiri, potong kanan, windowing Hamming, zero padding, DCT dan segment averaging frame averaging yang di simpan dalam variabel “y” . Listing program ditunjukkan pada gambar 4.10. Gambar 4.10. Listing program ekstraksi ciri DCT b0=handles.bpotong; fram=handles.frame; suser=handles.xuser; knn=handles.nearest; Normalisasi x1=xmaxabsx; potong kiri b1=findx1b0 | x1-b0; x11:b11=[]; potong kanan x2=fliplrx1; b2=findx2b0|x2-b0; x21:b21=[]; x2=fliplrx2; hamming h=hamminglengthx2; x3=x2.h; zero padding usig=2048; x3usig=0;