s = serial COM5
; sets,
BaudRate ,9600;
fopens; fprintfs,
3 ;
fcloses; deletes;
clear s
; sethandles.edit1,
String ,
3 ;
end tf=strcmp
lambat ,hasil;
if tf == 1
s = serial COM5
; sets,
BaudRate ,9600;
fopens; fprintfs,
4 ;
fcloses; deletes;
clear s
; sethandles.edit1,
String ,
4 ;
end Pada proses pengiriman data secara serial ini terdapat ptogram strcmp yang
berfungsi untuk mencari logika yang benar. Pada saat fungsi logika strcmp bernilai benar maka progam melakukan pengaturan baudrate dan COM port. Pengaturan
baudrate adalah 9600 sesuai dengan pengaturan baudrate laptop dan mikrokontroler.
Pengaturan COM port adalah COM 5, pengaturan COM port ini sesuai dengan pengaturan COM port yang digunakan untuk komunikasi serial. Setelah melakukan
pengaturan, program akan mengirim data berupa sting untuk mikrokontroler sesuai dengan ucapan yang dikenali pada proses pengenalan sebelumnya. Berdasarkan hasil
pengujian setelah push button “Rekam” ditekan, program dapat menjalankan proses
merekam, menampilkan plot gambar sinyal hasil perekaman ucapan oleh pengguna, menjalankan proses pre-processing, menampilkan plot gambar sinyal hasil pre-
processing , menjalankan proses ekstraksi ciri, melakukan pembandingan dengan
menggunakan fungsi jarak Euclidean, menentukan hasil keluaran, melakukan komunikasi serial untuk mikrokontroler, menampilkan plot gambar sinya hasil
ekstraksi ciri DCT, menampilkan hasil penentuan keluaran dan data yang dikirim secara serial dalam edit text dalam tampilan antarmuka.
Tabel 4.1 Hasil Pengenalan Ucapan Yang Dikenali
No Ucapan Masukan Ucapan Yang Dikenali Data Yang Dikirim
1 Hidup
Hidup 1
2 Mati
Mati 2
3 Cepat
Cepat 3
4 Lambat
Lambat 4
Pada tabel 4.1 menampilkan hasil pengenalan ucapan yang telah dilakukan pada saat push button
“Rekam” ditekan. Dengan hasil tersebut terlihat bahwa program pengenalan ucapan sudah berjalan dengan baik ketika dilakukan pengujian
program antarmuka pengenalan ucapan. Gambar 4.4 menampilkan contoh hasil pengujian setelah push button
“Rekam” ditekan dengan penguna memberikan masukan ucapan “hidup”, batas potong 0,2 dan downsampling 2.
Gambar 4.4 Tampilan Antarmuka Setelah Push Button “Rekam” Ditekan
4.1.3 Push button “Ulang”
Pada push button “Ulang” digunakan sebagai memberishkan tampilan
antarmuka program “PENGENALAN UCAPAN UNTUK PENGATURAN KIPAS
DC” seperti pada saat pertama memulai antarmuka progam. Berikut merupakan program yang terdapat pada push button
“Ulang” adalah :
function pushbutton2_CallbackhObject,eventdata,
handles sethandles.edit1,
String ,
; sethandles.edit2,
String ,
; axeshandles.axes1
plot0; axeshandles.axes2
plot0; axeshandles.axes3
plot0; Pada program push button
“Ulang” menghapus data – data yang telah ditampilkan pada edit text 1 sebagai penampil teks data yang dikirim untuk
mikrokontroler sebagai pengaturan kipas DC, edit text 2 sebagai penampil teks hasil keluaran pengenalan ucapan, axes 1 sebagai penampil
“Plot Hasil Rekaman”, axes
2 sebagai penampil “Plot Hasil Pre-processing” dan axes 3 sebagai penampil
“Plot Hasil Ekstraksi Ciri”.
4.1.4 Push button “Selesai”
Push button “Selesai” digunakan untuk menutup dan keluar dari antarmuka
program “PENGENALAN UCAPAN UNTUK PENGENALAN KIPAS DC”. Berikut merupakan program yang terdapat pada push button
“Selesai” adalah sebagai berikut :
function pushbutton3_CallbackhObject,
eventdata, handles
tutup =
questdlg KELUAR
PROGRAM SEKARANG?
, KELUAR
, ...
YA ,
Tidak ,
Tidak ;
switch tutup
case YA
close; clear
all ;
return ;
case TIDAK
quit cancel
; end
Pada program push button “Selesai” terdapat perintah program “questdlg”
yang bertujuan untuk mempertegas push button “Selesai” sehingga setelah
pengguna mengklik push button “Selesai” akan muncul window “KELUAR” yang
berisi pertanyaan “KELUAR PROGRAM SEKARANG?” dan pengguna harus
memilih tombol “YA” atau tombol “Tidak”. Tombol “YA” bertujuan untuk
menutup dan keluar dari antarmuka program “PENGENALAN UCAPAN UNTUK
PENGENALAN KIPAS DC”. Tombol “Tidak” bertujuan untuk membatalkan menutup d
an keluar dari antarmuka program “PENGENALAN UCAPAN UNTUK PENGENALAN KIPAS DC”.
Gambar 4.5 Tampilan Antarmuka Setelah Push Button “Selesai” Ditekan
4.2 Software Program Pada Mikrokontroler Untuk Mengatur Kecepatan
Kipas DC Secara Real Time
Software program pada mikrokontroler ini untuk mengatur kecepatan putar kipas
DC yang telah ditentukan dengan menerima data yang dikirim oleh laptop setelah pengguna melakukan proses pengenalan ucapan. Pada program mikrokontroler
menerima data secara serial ditunjukan pada program sebagai berikut : terima=getchar;
Pada program, getchar digunakan dalam untuk menerima data karakter yang dikirim secara serial oleh laptop. Data karakter yang telah terkirim akan disimpan
dalam variabel terima. Data karakter yang tersimpan ini selanjutnya digunakan untuk mengatur kecepatan putar kipas DC. Pada program untuk mengatur kecepatan putar
kipas DC ditunjukan pada program sebagai berikut :
if terima == 0x31 {
b=4; OCR1B=1019;
} if terima == 0x32
{ b=0;
OCR1B=0; }
if terima == 0x33 {
switchb{ case 0 :
OCR1B=236; b=b+1;
break; case 1 :
OCR1B=417; b=b+1;
break; case 2 :
OCR1B=731; b=b+1;
break; case 3 :
OCR1B=1019; b=b+1;
break; }
} if terima == 0x34
{ switchb{
case 4 : OCR1B=731;
b=b-1; break;
case 3 : OCR1B=417;
b=b-1; break;
case 2 : OCR1B=236;
b=b-1; break;
case 1 : OCR1B=0;
b=b-1; break;
} Pada program untuk mengatur kecepatan putar kipas DC ini menggunakan fungsi
logika if else dan switch case. Fungsi logika if else ini digunakan untuk mencari nilai logika yang benar dalam variabel terima. Pada saat nilai logika if else bernilai benar,
program akan mengatur kecepatan putar kipas sesuai dengan data yang telah dikirim secara serial oleh laptop. Fungsi logika switch case ini digunakan pada saat hasil
program pengenalan ucapan mengenali ucapan “cepat” atau “lambat”. Ketika hasil pengenalan ucapa
n ini mengenali ucapan “cepat” atau “lambat” program akan menaikkan atau menurunkan kecepatan putar kipas DC. Pada fungsi logika switch
case ini membatasi 5 tingkat kecepatan putar kipas DC dengan menggunakan variabel
b . Batas tingkat keceptan putar kipas DC ini telah ditunjukan dalam tabel 4.6.
Tabel 4.2 Data Yang Diterima Mikrokontroler
No Data Yang
Dikirim Data Yang
Diterima
1 1
31h 2
2 32h
3 3
33h 4
4 34h
Pada tabel 4.2 menampilkan data yang diterima mikrokontroler hasil pengiriman data secara serial yang telah dilakukan pada proses pengenalan ucapan hingga
mengatur kecepatan putar kipas DC. Hasil tersebut terlihat bahwa data yang dikirim oleh laptop berupa desimal dan data yang diterima oleh mikrokontroler berupa
heksadesimal. Dapat dilihat dari hasil data yang diterima merupakan kode ASCII dari
data yang dikirim oleh mikrokontroler secara serial. Program penerimaan data secara serial dan mengatur kecepatan putar kipas DC sudah berjalan dengan baik ketika
dilakukan pengujian pengiriman data pengenalan ucapan secara serial.
4.3 Hasil Pengujian Program Pengenalan Ucapan Untuk Mengatur
Kecepatan Kipas DC Untuk Tingkat Pengenalan Ucapan
Pengujian pengenalan ucapan untuk mengatur kecepatan kipas DC dengan dua tahap pengujian yaitu pengujian secara tidak real time dan real time. Pengujian secara
tidak real time dengan mengatur parameter uji. Parameter uji ini meliputi variasi nilai batas potong dan downsampling. Pengujian secara tidak real time ini membandingkan
data rekaman ucapan pengenalan sebagai suara uji dengan rekaman ucapan pengenalan yang telah disimpan sebagai database. Pengujian secara tidak real time ini
bertujuan untuk mencari nilai variasi nilai batas potong dan downsampling yang memiliki tingkat pengenalan terbaik.
Pengujian secara real time dengan menggunakan masukan secara langsung oleh pengguna. Parameter uji dalam pengujian secara real time menggunakan parameter
terbaik dari hasil pengenalan secara tidak real time. Tetapi pengujian secara real time pengguna dapat melakukan variasi parameter yang diinginkan untuk melakukan
pengujian.
4.3.1 Pengujian Parameter Pengenalan Ucapan Untuk Mengatur Kecapatan Kipas DC Secara Tidak Real Time
A. Pengujian Tanpa Menggunakan Pengurangan Jumlah Elemen Koefisien
Ekstraksi Ciri
Pengujian secara tidak real time menggunakan rekaman ucapan yang telah disimpan yang menjadi refrensi sebagai database dan rekaman ucapan
pengenalan sebagai suara uji. Pengujian secara tidak real time memiliki dua parameter uji, yaitu variasi nilai batas potong dan downsampling. Tujuan
mencari variasi nilai batas potong dan downsampling yang memiliki tingkat pengenalan terbaik. Pengujian secara tidak real time menggunakan suara uji 120
ucapan yang terdiri dari 1 0 kali perekaman pada tiap ucapan “hidup”, “mati”,
“cepat” dan “lambat” dengan tiga pengguna yang berbeda. Data yang diperoleh
dalam pengujian secara tidak real time dalam bentuk presentase ditampilkan dalam bentuk grafik sehingga mudah dalam mengambil kesimpulan. Terdapat
dua gambar dengan gambar 4.6 yang menampilkan pengaruh perubahan nilai batas potong terhadap pengaruh pengenalan ucapan dan gambar 4.7
menampilkan pengaruh perubahan nilai downsampling terhadap pengenalan ucapan.
Pada gambar 4.6 diperoleh kesimpulan nilai variasi batas potong terbaik terletak pada nilai 0,2 dan 0,3. Pada gambar 4.7 diperoleh kesimpulan nilai
variasi downsampling terbaik terletak pada nilai 2.
Tabel 4.3 Tingkat Pengenalan Untuk Hasil Pengujian Secara Tidak Real Time
Nilai Downsampling
Nilai batas potong 0,1
0,2 0,3
0,4
1 80,00 80,83 80,83 80,00
2 80,83 81,67 81,67 80,83
4 73,33 72,50 74,17 74,17
Gambar 4.6 Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan
66 68
70 72
74 76
78 80
82 84
0,1 0,2
0,3 0,4
P re
se nt
a se
P e
ng e
na la
n
Nilai Batas Potong
Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan
Downsampling 1 Downsampling 2
Downsampling 4