Pengenalan Nada Pengujian Program Pengenalan Nada Barung Pelog Menggunakan

5. Apabila langkah 4 sudah dilakukan, user dapat memulai pengenalan nada dengan menekan tombol “Pengenalan Nada”. Hasil pengenalan nada barung pelog terlihat seperti pada gambar 4.4. Gambar 4.4 Tampilan Hasil Pengenalan 6. User dapat mengulang kembali pengenalan nada yang berbeda dengan mengulang kembali langkah 4. 7. User dapat mengakhiri pengenalan nada dengan menekan tombol “exit”.

4.1.1 Pengenalan Nada

Pengenalan nada dapat dilakukan dengan melakukan berbagai langkah-langkah seperti yang telah dijelaskan di atas. Tampilan program pengenalan nada dapat dilihat pada Gambar 4.3. Pada tampilan pengenalan nada terdapat 2 pop up menu, 2 axes, 3 push button, dan 1 static text. User dapat memulai pengenalan nada dengan melakukan pengaturan terlebih dahulu pada program pengenalan nada. Pengaturan yang perlu dilakukan adalah dengan memilih input nada yang akan di kenali, memilih nilai variasi DFT dan nilai variasi windowing koefisien yang terdapat pada pop up menu. Setelah itu menentukan nilai variasi yang akan digunakan, user dapat memulai pengenalan nada dengan menekan tombol tekan ”pengenalan nada”. Hasil pengenalan yang ditampilkan adalah plot input data perekaman, plot DFT, dan nada yang berhasil dikenali. User dapat mengulang pengenalan nada dengan input nada yang berbeda, nilai variasi DFT yang berbeda dan nilai variasi windowing koefisien yang berbeda. Untuk mengakhiri pengenalan dengan menekan tombol “exit” seperti yang telah dijelaskan di atas. a. Pop Up Menu Pada program pengenalan nada Barung pelog ini menggunakan tiga pop up menu variasi DFT, dan variasi windowing koefisien,. Untuk pop up menu 1 akan menampilakan input nada yaitu siji, loro, telu, papat, limo, enem, dan pitu dengan lima macam setiap nadanya. pop up menu 2 digunakan untuk variasi DFT yang bernilai 16, 32, 64, 128, dan 256. Pop up menu 3 akan menampilkan windowing koefisien yang bernilai 10, 20, 30, 40, dan 50. Berikut merupakan contoh program dalam penggunakan pop up menu mengambil data load nada=handles.nada; if nada==1 [y,fs]=wavread ji_a.wav ; elseif nada==2 [y,fs]=wavread ji_b.wav ; elseif nada==3 [y,fs]=wavread ji_c.wav ; elseif nada==4 [y,fs]=wavread ji_d.wav ; elseif nada==5 [y,fs]=wavread ji_e.wav ; elseif nada==6 [y,fs]=wavread ro_a.wav ; elseif nada==7 [y,fs]=wavread ro_b.wav ; elseif nada==8 [y,fs]=wavread ro_c.wav ; elseif nada==9 [y,fs]=wavread ro_d.wav ; elseif nada==10 [y,fs]=wavread ro_e.wav ; elseif nada==11 [y,fs]=wavread lu_a.wav ; elseif nada==12 [y,fs]=wavread lu_b.wav ; elseif nada==13 [y,fs]=wavread lu_c.wav ; elseif nada==14 [y,fs]=wavread lu_d.wav ; elseif nada==15 [y,fs]=wavread lu_e.wav ; elseif nada==16 [y,fs]=wavread pa_a.wav ; elseif nada==17 [y,fs]=wavread pa_b.wav ; elseif nada==18 [y,fs]=wavread pa_c.wav ; elseif nada==19 [y,fs]=wavread pa_d.wav ; elseif nada==20 [y,fs]=wavread pa_e.wav ; elseif nada==21 [y,fs]=wavread mo_a.wav ; elseif nada==22 [y,fs]=wavread mo_b.wav ; elseif nada==23 [y,fs]=wavread mo_c.wav ; elseif nada==24 [y,fs]=wavread mo_d.wav ; elseif nada==25 [y,fs]=wavread mo_e.wav ; elseif nada==26 [y,fs]=wavread ne_a.wav ; elseif nada==27 [y,fs]=wavread ne_b.wav ; elseif nada==28 [y,fs]=wavread ne_c.wav ; elseif nada==29 [y,fs]=wavread ne_d.wav ; elseif nada==30 [y,fs]=wavread ne_e.wav ; elseif nada==31 [y,fs]=wavread tu_a.wav ; elseif nada==32 [y,fs]=wavread tu_b.wav ; elseif nada==33 [y,fs]=wavread tu_c.wav ; elseif nada==34 [y,fs]=wavread tu_d.wav ; elseif nada==35 [y,fs]=wavread tu_e.wav ; end axeshandles.axes1; plot y sound10y; Pada program diatas merupakan program pengambilan nada atau nada yang sudah di rekam pada barung pelog dengan nada 1 sampai dengan 35 nada yang akan di kenali contoh if nada==33 [y,fs]=wavread„tu_c.wav‟ maka program akan mengambil nada dengan nama tu_c.wav pada directory. indeks=gethandles.popupmenu2, 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.vardft=frame; guidatahObject,handles; Pada program di atas, nilai DFT diinisialisai menggunakan nama ndft yang dibagi dalam 5 kondisi sesuai dengan banyaknya variasi. Inisialisasi ndft tersebut diproses menggunakan perintah handles. Perintah ini digunakan untuk data atau nilai DFT yang telah diinisialisasi sebagai masukan apabila dilakukan callback. Pada pop up menu variasi windowing koefisien menjalankan program sebagai berikut: indeks=gethandles.popupmenu3, Value ; switch indeks case 1 wk=10; case 2 wk=20; case 3 wk=30; case 4 wk=40; case 5 wk=50; end handles.koefisien=wk; guidatahObject,handles; Proses yang dilalui oleh pop up menu pada variasi windowing koefisien sama dengan proses pada pop up menu variasi DFT. Nilai windowing diinisialisasikan dengan wk. b. Tombol “Pengenalan Nada” Tombol “pengenalan nada” adalah tombol yang berfungsi untuk melakukan pengenalan nada Barung pelog. User dapat melakukan pengenalan nada Barung pelog dengan menekan tombol tersebut. Tombol “pengenalan nada” memulai pengenalan nada dengan menjalankan beberapa subproses. Subproses yang dijalankan dimulai dari input nada, normalisasi, frame blocking, windowing hamming, ekstraksi ciri DFT,windowing koefisien, penghitungan jarak Squaredchord, dan penentuan hasil pengenalan nada. Program yang digunakan untuk perekaman nada sebagai berikut: mengambil data load nada=handles.nada; if nada==1 [y,fs]=wavread ji_a.wav ; elseif nada==2 [y,fs]=wavread ji_b.wav ; end axeshandles.axes1; plot y sound10y; Nada yang telah input tersebut diplot pada tampilan program pengenalan menggunakan perintah plot. Nada terekam diplot pada axes yang telah tersedia di dalam tampilan program pengenalan. kemudian ditambah kan program sound10y; untuk membunyikan nada input yang di ambil. 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 selanjutnya memilih data yang dinamakan frame blocking, langkah selanjutnya yaitu windowing, pada pengenalan nada barung pelog ini menggunkan windowing hamming. Setelah selesai windowing hamming, dilakukan proses ekstraksi ciri DFT dan windowing koefisien. berikut ini merupakan proses pengolahan pemotongan sinyal hingga program windowing koefisien : Normalisasi y=ymaxy; pemotongan sinyal b0=0.2; b1=findyb0 | y-b0; y1:b11=[]; frame blocking frame=handles.vardft; frame; for p=1:frame; fp=yp+frame; end windowing hamming w=hammingframe; for p=1:frame; wop=fpwp; wop== windowing hamming p end ekstraksi ciri DFT g=absdftwowo; axeshandles.axes5; plot g; dftwo function g=dftwowo hitung panjang wo n=lengthwo; hitung dft g=zeros1,n for k=1:n for m=1:n w=exp-1i2pik-1m-1n; a=womw; gk=gk+a; end end windowing koefisien wk=handles.koefisien; h=frame; c=wk100h; s=floorc; ya=g1:s; ya=ya:; axeshandles.axes6; plot ya; Dari hasil windowing koefisien yang di inisialisasikan dengan “ya”, maka akan diplot pada axes2 yang menggambarkan hasil akhir dari sinyal windowing koefisien. Proses selanjutnya setelah penggambaran sinyal nada barung pelog adalah proses pemanggilan database yang telah disesuaikan dengan 2 variasi masukan yaitu variasi DFT, 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 contoh dari program pemanggilan database. data base if frame==16wk==10 load xciri1610 elseif frame==16wk==20 load xciri1620 elseif frame==16 wk==30 load xciri1630 elseif frame==16 wk==40 load xciri1640 elseif frame==16 wk==50 load xciri1650 Program di atas untuk memanggil database yang akan dibandingkan dengan nada yang telah terekam dengan menggunakan perintah jarak. Database yang dipanggil sesuai dengan masukan variasi DFT, 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 pada input nada. Perbandingan data - data tersebut memakai metode jarak Squaredchord. Program perhitungan jarak sebagai berikut: function js=jaraksquaredchordp,q; a1=sqrtp; a2=sqrtq; a3=a1-a2; js=suma3.2; perhitungan jarak for n=1:7 jaraklistn=jaraksquaredchordya,z:,n; end cari nilai minimal jmin=findminjaraklist==jaraklist; deskripsi string nadalist={ 1 siji , 2 loro , 3 telu , 4 papat , 5limo , 6 enem , 7 pitu }; penentuan keluaran yy=nadalistjmin sethandles.text10, String ,yy; Program di atas melakukan penghitungan jarak nada input yang sudah direkam dengan database dari ke tujuh nada barung pelog dalam berbagai variasi. Perintah jarak berfungsi untuk menjalankan fungsi jarak squaredchord. Nilai jarak minimal yang diperoleh digunakan untuk menentukan nada barung pelog yang berhasil dikenali. Pada program di atas juga untuk tidak mengenali mengenali secara salah nada yang akan dikenali. Untuk tidak mengenali nada selain nada Barung pelog, dengan cara membandingkan jarak minimal yang telah diperoleh saat pengenalan dengan batasan maksimal dari ketujuh nada barung pelog. Nada yang telah dikenali ditampilkan pada tampilan program pengenalan dalam bentuk teks. c. Tombol “exit” Tombol “exit” atau keluar digunakan apabila user ingin mengakhiri program pengenalan nada. Perintah program tombol “exit” sebagai berikut: deletefiguretobing_progrm_meh_fixe; Kesimpulan dari pengujian program pengenalan barung pelog adalah tombol yang terdapat pada tampilan program dapat berjalan dengan baik dan alur program telah sesuai dengan perancangan. Sistem pengenalan nada juga sudah dapat berjalan dengan baik. sesuai dengan yang di inginkan.

4.2 Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat