26
BAB IV
HASIL DAN PEMBAHASAN
Program yang telah dibuat perlu dilakukan sebuah pengujian. Pengujian bertujuan untuk mengetahui kinerja program dalam melakukan pengenalan nada. Saat dilakukan
pengujian maka akan diperoleh data- data. Data- data hasil pengujian menunjukan program yang telah dirancang dapat berjalan dengan baik atau tidak. Oleh karena itu pada bab ini
akan dilakukan analisa dan pembahasan pada data hasil pengujian yang telah diperoleh.
4.1 Pengujian Program Pengenalan nada Cetik Secara Real-Time
menggunakan Discrete Cosine Transform dan Jarak Hellinger
Perancangan program menggunakan software Matlab 7.0.4. Untuk pengujian
program menggunakan laptop dengan spesifikasi : Prosesor
: intel® Atom™ CPU N2600 1.60GHz RAM
: 2.00 GB Tipe sistem
: sistem operasi 32 bit
4.1.1 Proses pengenalan nada cetik dapat melakukan langkah- langkah
berikut ini:
1. Mengklik dua kali pada ikon Matlab pada layar
desktop seperti pada gambar 4.1.
Gambar 4.1 Ikon Matlab 7.0.4
2. Setelah melakukan langkah 1, akan muncul tampilan utama software Matlab seperti
gambar 4.2. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.2 Tampilan Matlab
3. Setelah sukses pada langkah kedua, maka langkah selanjutnya
user memastikan terlebih dahulu pada
Current Directory lihat gambar 4.2 no.1 sudah sesuai pada tempat penyimpanan program yang telah dirancang.
4. Mengetikan perintah guipengenalan pada
Command Window lihat gambar 4.2 no.2 untuk memunculkan tampilan program pengenalan nada cetik. Setelah itu akan
muncul tampilan program pengenalan nada cetik seperti pada gambar 4.3.
Gambar 4.3 Tampilan Program Pengenalan Nada Cetik PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5. Setelah tampilan program pengelan nada cetik muncul maka dapat di lihat terdapat
tampilan nilai- nilai sebagai variasi frameblocking, variasi windowing koefisien DCT, dan
pilihan menggunakan Threshoblding. Sebelum melakukan langkah selanjutnya, user di
harapkan memilih variasi- variasi tersebut, seperti pada gambar 4.4
a b
c Gambar 4.4 Tampilan Pengaturan Pengenalan Nada Cetik. a pengaturan
frameblocking, b pengeturan variasi windowing koefisien, c pengaturan Thresholding
6. Apabila user telah melakukan langkah kelima, user dapat memulai pengenalan nada
dengan menekan tombol “Pengenalan”. Hasil pengenalan nada cetik dapat di lihat pada gambar 4.5.
Gambar 4.5 Tampilan Hasil Pengenalan Nada Cetik PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7. User
dapat mengulangi pengenalan nada dengan menekan tombol “Reset” dan melakukan langkah 5 dan 6.
8. Jika
user akan mengakhiri pengenalan nada cetik, user dapan menekan tombol “Keluar”.
4.1.2 Pengenalan Nada
Pengenalan nada cetik dapat dilakukan dengan melakukan barbagai langkah- langkah yang telah di jelaskan di pembahasan sebelumnya. Tampilan pengenalan nada
cetik dapat dilihat pada gambar 4.3. Tampilan pengenalan nada cetik terdapat 3 push
button, 2 axes, 1 edit text, dan 3 pop up menu. a.
Pop Up Menu Pada program pengenalan nada cetik ini menggunakan dua
pop up menu variasi frameblocking, variasi windowing koefisien, dan Threshoding. Untuk pop up menu 1 akan
menampilakan variasi frame blocking yang bernilai 16, 32, 64, 128, dan 256. Pop up menu
2 akan menampilkan windowing koefisien yang bernilai 10, 20, 30, 40, 50, 60, 70, 80, 90,
dan 100. Sedangakan pop up menu 3 akan menampilkan pilihan menggunakan
thresholding atau tidak. Berikut merupakan contoh program dalam penggunakan pop up
menu
Pada program di atas, nilai frameblocking diinisialkan menggunakan nama vardct
yang dibagi menjadi lima kondisi. Inisialisasi vardct tersebut diproses dengan perintah handles. Perintah tersebut digunakan sebagai nilai atau data DCT yang telah diinisialisasi
sebagai masukan apabila dilakukan callback. Untuk melihat secara lengkap program pop
up menu, dapat dilihat pada lampiran L9, L10, dan L15.
indeks=gethandles.popupmenu1, Value
; switch
indeks case
1 frame=16;
case 2
frame=32; case
3 frame=64;
case 4
frame=128; case
5 frame=256;
end handles.vardct=frame;
b. Tombol Pengenalan
Tombol “Pengenalan” adalah tombol yang berfungsi untuk memulai program pengenalan nada cetik.
User dapat memulai pengenalan nada cetik dengan menekan tombol “Pengenalan”. Tombol ini untuk memulai pengenalan pengenalan nada cetik
dengan menjalankan beberapa subproses. Dalam subproses dimulai dari perekamana nada cetik, Normalisasi, pemotongan sinyal,
frame blocking, windowing hamming, ekstraksi ciri DCT, penghitungan jarak Hellinger, penentuan menggunakna Threshoding atau tidak dan
penentuan hasil pengenalan nada cetik. Program yang akan digunakan untuk perekaman nada cetik sebagai berikut:
Pada sample_length merupakan perintah yang menunjukan bahwa untuk sekali
perekaman nada hanya diberi waktu sebesar 1,5 detik, dan untuk sample_frekuensi,
menunjukan frekuensi sampling sebesar 2000 Hz. Perekaman nada cetik pada matlab
menggunakan perintah wavrecord untuk menyimpan nada cetik yang telah direkam, Nada
yang telah terekam akan diplot pada tampilan program pengenalan menggunakan perintah plot. Data terekam di plot pada
axes1 yang telah tersedia pada tampilan program pengenalan nada cetik. Program untuk menampilkan gambar sinyal hasil perekaman
sebagai berikut
Fungsi perintah handles adalah untuk mengatur masukan atau keluaran program.
Program pengenalan nada cetik yang telah direkam akan di inisialisasi dengan “x”, inisialisasi “x” ini yang akan diplotkan pada axes1 yang pada tampilan “guipengenalan” di
berinama “Plot Perekaman”.
Setelah proses perekaman, program akan memproses hasil rekaman tersebut sehingga dapat di kenali. Ada pun proses- proses yang harus di lakukan dengan cara, yaitu
pemotongan sinyal. Nada yang sudah direkam tersebut akan dipotong dengan batas potong sebesar |0.2| pada sisi kiri sinyal. Setelah proses pemotongan itu selesai maka langkah
sample_length=1.5; sample_freq=2000;
sample_time=sample_lengthsample_freq; x=wavrecordsample_time, sample_freq;
axeshandles.axes1; plotx;
axeshandles.axes1; plotx;
selanjutnya memilih data yang dinamakan frame blocking, langkah selanjutnya yaitu
windowing, pada pengenalan nada cetik ini menggunkan windowing hamming. Setelah selesai
windowing hamming, dilakukan proses ekstraksi ciri DCT dan windowing koefisien.
Hasil dari windowing
koefisien akan di simpan dengan nama “ya”. berikut ini merupakan proses pengolahan pemotongan sinyal hingga program
windowing koefisien :
Dari hasil windowing koefisien yang di inisialisasikan dengan “ya”, maka akan
diplot pada axes2 yang menggambarkan hasil akhir dari sinyal windowing koefisien.
Program untuk menggambarkan hasil windowing koefisien ke axes2 sebagai berikut:
Normalisasi x1=xmaxx;
pemotongan sinyal kiri b0=0.2;
b1=findx1b0 | x1-b0; x11:b11=[];
frame blocking frame=handles.vardct;
frame; for
p=1:frame; fp=x1p+frame;
end hamming window
w=hammingxframe; for
p=1:frame; wip=fpwp;
wip== windowing hamming p end
DCT y=absdctxwi;
windowing koefisien pk=handles.koef;
d=frame; c=pk100d;
a=floorc; ya=y1:a;
ya=ya:;
axeshandles.axes2 plotya;
Proses selanjutnya setelah penggambaran sinyal nada cetik adalah proses pemanggilan
database yang telah disesuaikan dengan 2 variasi masukan yaitu variasi DCT, dan variasi
windowing koefisien yang telah dipilih oleh user sebelumnya. Program database menggunakan logika if else agar database mempunyai kesamaan dengan nilai
variasi yang telah dipilih sebelumnya oleh user. Program di bawah merupakan sebagian
kecil dari program pemanggilan database, untuk lebih lengkapnya dapat dilihat pada lampiran L11- L14.
Program di atas untuk memanggil database yang akan dibandingkan dengan nada
yang telah terekam dengan menggunakan perinitah jarak. Database yang dipanggil sesuai
dengan masukan variasi frameblocking, variasi windowing koefisien yang telah dipilih oleh
user sebelumnya. Setelah proses pemanggilan
database, proses selanjutnya adalah membandingkan database dengan data masukkan dari user yang telah dimasukkan secara real-time
sebelumnya. Perbandingan data- data tersebut memakai metode jarak Hellinger. Program perhitungan jarak sebagai berikut:
Program selanjutnya merupakan program untuk penentuan keluaran, apakah terdeteksi sebagai nada cetik atau tidak dikenali. Program penentuan keluaran sebagai
berikut:
if frame==16 pk==10
load xciri1610
elseif frame==16 pk==20
load xciri1620
elseif frame==16 pk==30
load xciri1630
jarak Hellinger function
h=jarakhellingerp,q; h=sqrt2sumsqrtp-sqrtq.2;
menghitung jarak for
n=1:7 jarakn=jarakhellingerya,z:,n;
end
Pada penentuan keluaran ini terdapat metode Thresholding yang digunakan untuk syarat penentuan keluaran akhir. Metode Thresholding bertujuan untuk menentukan hasil
akhir yang tidak sesuai dengan database dengan penamaan “tidak dikenali”. Untuk menggunakan metode Thresholding ini,
user dapat memilih Menggunakan Threshoding atau tidak pada tampilan program pengenalan nada cetik
pop up menu3. Terdapat nilai r pada program diatas, yang bertujuan untuk nilai batas pada pengenalan nada cetik. Nilai r
merupakan nilai minimum dari perhitungan jarak hellinger dan subprogram sebelumnya. Pada tiap nada mempunyai nilai- nilai batas yang berbeda, dikarenakan setiap nada
mempunyai pola pengenalan yang berbeda. Untuk batas nilai thresholding, nilai nada yang
[r,nadaout]=sortjarak, ascend
r=r1 nadaout=nadaout1
thx=gethandles.popupmenu3, value
; if
nadaout==1r1,8731 thx==1 hasil=
Tidak Dikenali elseif
nadaout==2r1,9879 thx==1 hasil=
Tidak Dikenali elseif
nadaout==3r1,8721 thx==1 hasil=
Tidak Dikenali elseif
nadaout==4r1,8591 thx==1 hasil=
Tidak Dikenali elseif
nadaout==5r2,6458 thx==1 hasil=
Tidak Dikenali elseif
nadaout==6r1,8569 thx==1 hasil=
Tidak Dikenali elseif
nadaout==7r1,2238 thx==1 hasil=
Tidak Dikenali elseif
thx==0 else
koneksi starting nada={
Do ,
Re ,
Mi ,
Sol ,
La ,
Si ,
DoTinggi };
penentuan keluaran min hasil=nadanadaout
end sethandles.text10,
String ,hasil;
didapat harus lebih kecil dari pada nilai r. Hasil akhir akan di keluarkan dan ditampilakan pada tampilan program pengenalan pada text.text10. Thx digunakan untuk mengaktifkan
apakah menggunakan Thresholding atau tidak mengguankan.
c. Tombol Reset
User dapat menekan tombol ”Reset” jika menginginkan mengulangi pengenalan
dengan kondisi seperti tampilan awal. Program yang terda pat pada tombol “Reset” sebagai
berikut:
program di atar berfungsi menghapus data pada axes, dan text10 yang telah di
tampilakan oleh program pengenalan nada cetik.
d. Tombol Keluar
User dapat menekan tombol “Keluar” jika ingin mengakhri program pengenalan
nada cetik. Adapula program untuk tombol keluar sebagai berikut
kesimpulan dari pengujian program nada cetik adalah tombol- tombol yang terdapat pada tampilan program dapat berjalan dan berfungsi dengan baik. Sistem pengenalan nada
cetik sudah berjalan dengan baik sesuai dengan yang di inginkan.
4.2 Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat