2 Pemrosesan sisi kiri halfwin=roundkoefwin100frame2; separuh lebar window koef 3 Pemrosesan sisi kanan y7=y5; 4 Penggabungan kiri dan kanan y8=[y6 y7];

Perkaman suara alat musik pada Matlab menggunakan perintah wavrecord dan untuk menyimpan suara alat musik yang telah terekam menggunakan perintah wavwrite. Suara yang telah terekam tersebut kemudian dilakukan plot dan ditamplkan pada axes yang memiliki label plot perekaman, dengan menggunakan perintah plot. Gambar 4.6 Program Ekstraksi Ciri b0=0.3; batas potong frame=handles.frame; koefwin=handles.koefwin; Normalisasi 1 y0=x0maxabsx0; Potong kiri bagian silence b1=findy0b0 | y0-b0; y01:b11=[]; Potong kiri bagian transisi bts=floor0.25lengthy0; y01:bts=[]; Frame blocking y1=y01:frame; Normalisasi 2 y2=y1maxabsy1; Windowing Hamming h=hammingframe; y3=y2.h; DST y4=absdsty3; pakai nilai absolut y41=0; frek DC di nolkan Pemrosesan akhir a Normalisasi 3 y5=y4maxy4; b Centering b.1 Cari indeks dari nilai terbesar [srty,idxy]=sorty5,descend; imax=idxy1;

b.2 Pemrosesan sisi kiri halfwin=roundkoefwin100frame2; separuh lebar window koef

y6=y5; y6imax:frame=[]; potong kanan y6=fliplry6; if lengthy6=halfwin y6=y61:halfwin; potong jika terlalu panjang else Gambar 4.6 Lanjutan Program Ekstraksi ciri Gambar 4.6 merupakan list program untuk melakukan proses ekstraksi ciri pada sistem pengenalan ini, yang berfungsi sebagai pembanding antara input suara dengan database untuk mengetahui output alat musik yang sedang dimainkan. Ekstraksi ciri melalui beberapa tahap yang memiliki 3 masukan yaitu, 1 masukan tetap adalah nilai batas potong yang inisialisasi sebagai b0 dan 2 varian masukan yaitu Frame Blocking dan Windowing Koefisien. Peneliti melakukan penginisialan nilai Frame Blocking dan Windowing Koefisien mempermudah ketika menjalankan proses ekstraksi ciri. Nilai Frame Blocking dan Windowing Koefisien merupakan nilai yang dipilih oleh user, kemudian GUI menjalankan proses Normalisasi, Pemotongan Sinyal, Windowing Hamming, DST, Centering, dan Penyekalaan Logaritmis. Proses ekstraksi ciri berjalan sesuai dengan diagram alur pada Gambar 3.4. Gambar 4.7 Database keseluruhan Load Database if frame==32koefwin==40 load db1dst32; elseif frame==32 koefwin==50 load db2dst32; elseif frame==32 koefwin==60 load db3dst32; elseif frame==32 koefwin==70 load db4dst32; elseif frame==32 koefwin==80 load db5dst32; elseif frame==64 koefwin==40 load db1dst64; elseif frame==64 koefwin==50 load db2dst64; elseif frame==64 koefwin==60 load db3dst64; elseif frame==64 koefwin==70 load db4dst64; elseif frame==64 koefwin==80 load db5dst64; y6halfwin=0; zero padding jika terlalu pendek end y6=fliplry6;

b.3 Pemrosesan sisi kanan y7=y5;

y71:imax-1=[]; potong kiri if lengthy7=halfwin y7=y71:halfwin; potong jika terlalu panjang else y7halfwin=0; zero padding jika terlalu pendek end b.4 Penggabungan kiri dan kanan y8=[y6 y7]; Penyekalaan logaritmis y9=log105000y8+1; 5000 : penyekala logaritmis y9=y9:; 1 : menghindari logaritma 0 dari zero padding Normalisasi z=y9maxy9; Gambar 4.7 Lanjutan Database keseluruhan Gambar 4.7 adalah Database untuk sistem pengenalan alat musik ini, yang merupakan variasi dari Frame Blocking dan Windowing Koefisien. Isi dari tiap database tersebut adalah list program seperti pada lampiran L-11 – l-17 yang berisi rekaman suara alat musik dan program ekstraksi ciri untuk tiap rekaman yang nantinya akan dibandingkan dengan input suara alat musik yang baru. Dengan menggunakan program tersebut maka akan memperoleh ekstraksi ciri Database. Proses ekstraksi ciri databse berjalan sesuai dengan diagram alur pada Gambar 3.4 yang berada di dalam kotak dengan garis hitam putus-putus. List program pada lampiran L-11 – L-17 merupakan proses untuk memanggil Database kemudian dibandingkan dengan suara yang baru dengan menggunakan Fungsi Korelasi. Database yang akan dipanggil sesuai dengan pilihan nilai varian Frame Blocking dan Windowing Koefisien yang telah dipilih oleh user. Setelah menentukan nilai titik Frame Blocking dan Windowing Koefisien, kemudian suara alat musik yang baru terekam dibandingkan dengan Database menggunakan Fungsi Korelasi dalam bentuk m-file. List program untuk memanggil Fungsi Korelasi dalam bentuk m-file tercantum pada Gambar 4.8 yang sudah sesuai dengan diagram alur pada Gambar 3.19. Gambar 4.8 Program Fungsi Korelasi Perhitungan korelasi [x,jumdb]=sizedb; z=zeros1,jumdb; for n=1:jumdb zn=korelasiuji,db:,n; end elseif frame==128 koefwin==40 load db1dst128; elseif frame==128 koefwin==50 load db2dst128; elseif frame==128 koefwin==60 load db3dst128; elseif frame==128 koefwin==70 load db4dst128; elseif frame==128 koefwin==80 load db5dst128; elseif frame==256 koefwin==40 load db1dst256; elseif frame==256 koefwin==50 load db2dst256; elseif frame==256 koefwin==60 load db3dst256; elseif frame==256 koefwin==70 load db4dst256; elseif frame==256 koefwin==80 load db5dst256; elseif frame==512 koefwin==40 load db1dst512; elseif frame==512 koefwin==50 load db2dst512; elseif frame==512 koefwin==60 load db3dst512; elseif frame==512 koefwin==70 load db4dst512; elseif frame==512 koefwin==80 load db5dst512; end Setelah menemukan nilai hasil perbandingan menggunakan Fungsi Korelasi, kemudian nilai tersebut akan diurutkan dari paling besar hingga paling kecil. Kemudian hasil tersebut akan ditampilkan dalam bentuk teks pada GUI yang berupa nama dari ketiga alat musik. Dengan menggunakan program pada Gambar 4.9 berfungsi untuk menentukan keluaran teks yang telah sesuai dengan Gambar 3.20 dan 3.21. Gambar 4.9 Program penentuan keluaran c. Tombol “RESET” Tombol “RESET” digunakan untuk membersihkan jendela plot perekaman, plot ekstraksi ciri, dan hasil keluran alat musik atau mengatur ulang menjadi seperti awal ketika baru membuka GUI. Program yang digunakan pada tombol “RESET” dapat dilihat seperti pada Gambar 4.10. Gambar 4.10 Program Reset Fungsi dari program adalah untuk mengatur ulang pop up menu dan membersihkan axes plot dan hasil output alat musik pada kolom edit text. axeshandles.axes1; plot0; sethandles.edit1,string, ; sethandles.edit2,string, ; sethandles.popupmenu1,value,1; sethandles.popupmenu2,value,1; Penentuan keluaran [sortz,idxz]=sortz,descend rata=meansortz; sethndls.edit2,string,rata; kelasout=idxz1 kelasout=ceilkelasout8 jumlah anggotakelas dalam database = 8 if kelasout==1 mout={Belira}; sethndls.edit1,string,mout elseif kelasout==2 mout={Rekorder}; sethndls.edit1,string,mout elseif kelasout==3 mout={Pianika}; sethndls.edit1,string,mout end d. Tombol “SELESAI” Fungsi dari tombol “SELESAI” adalah untuk mengakhiri proses pengenalan dan untuk menutup GUI. Untuk program yang digunakan pada tombol ini seperti pada Gambar 4.11. Gambar 4.11 Program untuk menutup GUI

4.2. Hasil Pengujian Program Pengenalan Suara Alat Musik