Perancangan GUI Pengujian dan tampilan program pengenalan gambar alat musik

diatur intensitasnya agar tidak terdapat shadow yang dapat mengganggu gambar yang ingin di capture. Proses yang berlangsung meliputi citra alat musik tradisional, preprocessing yang terdiri dari grayscale, cropping dan resizing dan Discrete Cosine Transform Two Dimension DCT 2-D. Hasil proses tersebut kemudian disimpan dan diproses kembali untuk mendapatkan hasil pengenalan gambar alat musik tradisional.

3.4. Perancangan GUI

Grapichal User Interface akan memudahkan user dalam penggunaan software ini sehingga dapat memahami sistem pengenalan gambar beserta cara kerjanya. Tampilan GUI dalam perancangan sistem ini dapat dilihat pada gambar 3.10. Gambar 3.10. Tampilan Utama Jendela Pengenalan Tabel 3.2. Keterangan Tampilan Utama Program Nama Bagian Deskripsi Tombol On Tombol On digunakan untuk mengaktifkan webcam Tombol Capture Tombol Capture digunakan untuk pengambilan citra gambar alat musik tradisional Indonesia Axes 1 pada panel webcam Untuk menampilan gambar yang telah di ambil dengan menggunakan webcam Axes 2 pada panel Preprocessing Untuk menampilkan citra hasil cropping Axes 3 pada panel Preprocessing Untuk menampilkan citra hasil resizing Axes 4 pada Panel Ekstraksi ciri Untuk menampilkan hasil DCT Axes 5 pada Panel Ekstraksi ciri Untuk menampilkan hasil ekstraksi ciri dengan jumlah koefisien zigzag scanning Pop-up Menu pada panel Preprocessing Untuk memilih variasi piksel Pop-up Menu pada panel Ekstraksi ciri Untuk memilih variasi koefisien DCT yaitu zigzag scanning Tombol proses Untuk proses cropping dan resizing Panel Keluaran Untuk menampilkan hasi pengenalan yang berupa teks Panel Penjelasan Untuk menampilkan penjelasan singkat tentang alat musik yang berupa teks Tombol Info Tombol info digunakan untuk melihat info tentang alat musik Tombol Reset Tombol reset digunakan untuk me-reset program untuk melakukan pengenalan yang baru Tombol Selesai Untuk mengakhiri seluruh proses 24 BAB IV HASIL DAN PEMBAHASAN Pada hasil dan pembahasan, akan dibahas tentang rancangan software dan hasil dari pengerjaan software serta sejauh mana program ini dapat berjalan dengan baik. Pengambilan data yang dilakukan dengan menggunakan citra 28 gambar alat musik tradisional di indonesia dengan berbagai variasi yang telah ditetapkan.

4.1. Pengujian dan tampilan program pengenalan gambar alat musik

tradisonal di Indonesia secara Real Time Pengujian dan tampilan program menggunakan perangkat keras dan perangkat lunak sebagai berikut: 1. Processor INTELR coreTMi5 CPU M430 2.27GHZ with Radeon™ HD Graphics 1,75 GHz 2. RAM 2.00 GB 3. Matlab7.10.0 R2020a Program pengenalan dapat dilakukan dengan langkah-langkah sebagai berikut : a. Klik dua kali pada icon matlab seperti pada gambar 4.1. Gambar 4.1. Icon matlab b. Setelah klip icon matlab, maka akan muncul tampilan awal matlab seperti pada gambar 4.2. Gambar 4.2. Tampilan awal matlab c. Kemudian ganti Current Directory sesuai dengan directory dimana program yang akan dipakai disimpan, setelah itu ketik guide Gui pada Command Window maka akan muncul tampilan jendela utama program pengenalan seperti pada gambar 4.3, klik run untuk menjalankan program. Gambar 4.3. Tampilan jendela Gui d. Setelah klik run, maka akan menampilkan tampilan utama program seperti pada gambar 4.4. Gambar 4.4. Tampilan utama jendela program pengenalan gambar alat musik tradisional di Indonesia e. Selanjutnya, memilih dan menekan tombol yang sudah tersedia beserta urutannya seperti gambar 4.4. Berikut merupakan fungsi dan penjelasan tentang tombol tersebut : 1. Tombol On Gambar 4.5. Tampilan saat tombol On ditekan Tombol On berfungsi untuk mengaktifkan webcam dan gambar yang akan dicapture akan tampil pada “axes 1”. Program untuk menjalankan tombol tersebut dapat dilihat pada Gambar 4.6. imaqhwinfo; info = imaqhwinfo winvideo ; dev_info = imaqhwinfo winvideo ,2; vidobj=videoinput winvideo ,2, YUY2_640X480 ; vidobj.FramesPerTrigger = 2; triggerconfigvidobj, manual ; vidRes = getvidobj, VideoResolution ; imWidth = 640; imHeight = 480; nBands = getvidobj, NumberOfBands ; hImage = imagezerosimHeight, imWidth, nBands, parent ,handles.axes1; previewvidobj, hImage Gambar 4.6. Program Tombol On Pada gambar 4.6, perintah program imaqhwinfo adalah merupakan program mengetahui informasi dari webcam tentang nama device dan format warna hasil dari webcam misal RGB, YUY, dll. Perintah program preview untuk menampilkan video pada saat camera on yang akan ditampilkan pada axes1. 2. Tombol Capture Gambar 4.7. Tampilan saat tombol Capture ditekan Tombol Capture berfungsi untuk mengambilmencuplik gambar dari video yang akan digunakan untuk proses selanjutnya dan hasil dari gambar yang telah di cuplik akan ditampilkan pada “axes 1”. Format gambar yang sudah dicuplik yaitu grayscale. Untuk menjalankan tombol tersebut, menggunakan program sebagai berikut : imaqhwinfo; info = imaqhwinfo winvideo ; dev_info = imaqhwinfo winvideo ,2; vidobj=videoinput winvideo ,2, YUY2_640X480 ; vidobj.FramesPerTrigger = 2; vidobj.ReturnedColorspace = grayscale ; triggerconfigvidobj, manual ; vidRes = getvidobj, VideoResolution ; imWidth = 640; imHeight = 480; nBands = getvidobj, NumberOfBands ; hImage = imagezerosimHeight, imWidth, nBands, parent ,handles.axes1; previewvidobj,hImage; startvidobj; pause2; gambar = getsnapshotvidobj; triggervidobj; stopvidobj deletevidobj imwritecapture1; axeshandles.axes1; imshowgambar axis on handles.gambar=gambar; guidatahObject,handles; Gambar 4.8. Program Tombol Capture Gambar 4.8 hampir sama dengan program gambar 4.6 tetapi tetapi pada gambar 4.8 ditambah dengan perintah grayscale yang berfungsi mengubah warna citra menjadi keabu-abuan. Hasil dari capture webcam memiliki format gambar grayscale sehingga diubah terlebih dahulu ke format gambar YUY dengan cara menggunakan fungsi yuy2_640x480. Pada fungsi yuy2 digunakan angka 640x480 agar hasil gambar yang telah dicapture memiliki ukuran 640x480. Perintah program getsnapshot adalah perintah untuk meng-capture gambar saat camera telah on. Agar hasil capture bisa dipanggil dan digunakan diprogram lain maka diinisialisasikan menggunakan “handles”. 3. Pop-up menu variasi resizing Gambar 4.9. Tampilan pop-up menu variasi resizing ketika diklik Pop-up menu berfungsi untuk memilih berbagai ukuran resizing yang akan digunakan untuk mengenali gambar alat musik tradisional Indonesia. Perintah program yang digunakan adalah sebagai berikut : indeks=gethandles.popupmenu2, Value ; switch indeks case 2 ukuran=8; case 3 ukuran=16; case 4 ukuran=32; case 5 ukuran=64; case 6 ukuran=128; case 7 ukuran=256; end handles.ukuran=ukuran; guidatahObject,handles; Gambar 4.10. Program untuk variasi resizing Pada gambar 4.10 tertulis ukuran=8 maksudnya yaitu ukuran resizing bernilai 8x8 piksel, untuk penjelasan resizing dapat dilihat pada bab III. Resizing di inisialisasikan dengan nama “ukuran”, agar nilai variasi resizing ini dapat dipanggil diprogram lain maka diubah menjadi “handles.ukuran”. 4. Pop-up menu variasi zigzag scanning Gambar 4.11. Tampilan pop-up menu variasi zigzag scanning ketika diklik Pop-up menu selanjutnya berfungsi untuk memilih berbagai ukuran zigzag scanning yang akan digunakan untuk mengenali gambar alat musik tradisional Indonesia. Perintah program yang digunakan adalah sebagai berikut : indeks=gethandles.popupmenu3, Value ; switch indeks case 2 jkoef=3; case 3 jkoef=10; case 4 jkoef=21; case 5 jkoef=36; case 6 jkoef=55; case 7 jkoef=78; case 8 jkoef=105; case 9 jkoef=136; end handles.jkoef=jkoef; guidatahObject,handles; Gambar 4.12. Program untuk variasi zigzag scanning Pada gambar 4.12 tertulis jkoef=3 maksudnya yaitu jumlah koefisien dct dengan menggunakan zigzag scanning bernilai 3, untuk penjelasan ekstraksi ciri dengan zigzag scanning dapat dilihat pada bab III. Jumlah ukuran zigzag scannig di inisialisasikan dengan nama “jkoef”, agar nilai variasi resizing ini dapat dipanggil diprogram lain maka diubah menjadi “handles.jkoef”. 5. Tombol Proses Tombol proses berfungsi untuk mengolah dan menjalankan proses pengenalan dari gambar yang telah di capture, preprocessing cropping dan resizing , ekstraksi ciri dan fungsi jarak hingga nantinya menghasilkan jarak minimum dari gambar tersebut dan hasil keluaran yang berupa teks. Tombol proses dapat berjalan setelah memilih variasi resizing dan variasi zigzag scanning . Berikut merupakan program dari tombol proses : Automatic cropping x1=handles.gambar; x1=doublex1255; x10=1-x1; x11=bboxgx10; axeshandles.axes2; imshowx11 axis on Gambar 4.13. Program Tombol Proses untuk menampilkan hasil cropping Pada penelitian ini, cropping dilakukan secara otomatis tanpa menentukan nilai koordinat. Pada gambar 4.13, perintah double berfungsi untuk mengubah nilai pada gambar grayscale karena nilainya masih unsigninteger , sedangkan nilai hasil akhir dibagi 255 sebagai normalisasi agar nilai maksimalnya 1. Kemudian dilakukan pembalikan warna yaitu yang berwarna gelap bernilai 0 diubah menjadi berwarna terang bernilai 0 dengan cara seperti list program “x10”, hal ini dilakukan untuk mempermudah dalam tahap automatic cropping. Tahap selanjutnya adalah tahap automatic cropping dengan meng gunakan perintah “bbox” atau bounding box seperti yang telah dijelaskan pada bab III. Proses Resizing axeshandles.axes3; if ukuran==8 ukuran=[8,8]; elseif ukuran==16 ukuran=[16,16]; elseif ukuran==32 ukuran=[32,32]; elseif ukuran==64 ukuran=[64,64]; elseif ukuran==128 ukuran=[128,128]; elseif ukuran==256 ukuran=[256,256]; end x3=imresizex11,ukuran; imshowx3 axis on Gambar 4.14. Program Tombol Proses untuk menampilkan hasil resizing Gambar 4.14 merupakan proses untuk melakukan resizing setelah hasil cropping. Resizing dapat mengubah ukuran piksel gambar menjadi besar maupun kecil tanpa merubah ukuran gambar. Perintah diatas tertulis ukuran=[8,8] maksudnya adalah mengubah gambar hasil cropping menjadi ukuran 8x8 piksel. List program x3 menggunakan perintah imresize maksudnya adalah untuk mengubah ukuran citra setelah hasil cropping sesuai dengan keinginan user yaitu dengan memilih pop-up menu variasi resizing. Gambar 4.15. Program Tombol Proses untuk menampilkan hasil DCT dan hasil ekstraksi ciri Tampilan DCT axeshandles.axes4; if jkoef==3 jkoef=[3]; elseif jkoef==10 jkoef=[10]; elseif jkoef==21 jkoef=[21]; elseif jkoef==36 jkoef=[36]; elseif jkoef==55 jkoef=[55]; elseif jkoef==78 jkoef=[78]; elseif jkoef==105 jkoef=[105]; elseif jkoef==136 jkoef=[136]; end jkoef y=absdct2x3; L= Hasil DCT ; sethandles.text6, string ,L; axeshandles.axes4; imshowy; axis on Ambil yang perlu secara zigzag if ukuran1==8 x4=zigzag8y; elseif ukuran1==16 x4=zigzag16y; else x4=zigzag32y; end x4=x41:jkoef; M= Hasil Ekstraksi Ciri ; sethandles.text7, string ,M; axeshandles.axes5; imshowx4; axis on x4=x4:; barx4; sx4=sizex4 sz=sizez Gambar 4.15. Lanjutan Program Tombol Proses untuk menampilkan hasil DCT dan hasil ekstraksi ciri Gambar 4.15 merupakan proses untuk hasil DCT dan ekstraksi ciri. Ekstraksi ciri yang digunakan yaitu DCT dan penentuan nilai koefisien dilakukan dengan zigzag scanning. Hasil dari resizing harus menyesuaikan aturan nilai zigzag scanning yang digunakan sehingga tidak melebihi batas matriknya. Fungsi program “dct2” adalah untuk memanggil fungsi ekstraksi ciri DCT 2-D. Input dari program ekstraksi ciri berasal dari hasil proses hasil resizing. List program “x4” berfungsi untuk membuat data yang terdiri dari beberapa kolom menjadi hanya satu kolom. Gambar 4.16. Program Tombol proses untuk mengeluarkan database ukuran=handles.ukuran; jkoef=handles.jkoef; if ukuran==8 jkoef==3 load x8ciri3 ; elseif ukuran==8 jkoef==10 load x8ciri10 ; elseif ukuran==8 jkoef==21 load x8ciri21 ; elseif ukuran==8 jkoef==36 load x8ciri36 ; elseif ukuran==8 jkoef==55 load x8ciri55 ; elseif ukuran==16 jkoef==3 load x16ciri3 ; elseif ukuran==16 jkoef==10 load x16ciri10 ; elseif ukuran==16 jkoef==21 load x16ciri21 ; elseif ukuran==16 jkoef==36 load x16ciri36 ; elseif ukuran==16 jkoef==55 load x16ciri55 ; elseif ukuran==16 jkoef==78 load x16ciri78 ; elseif ukuran==16 jkoef==105 load x16ciri105 ; elseif ukuran==16 jkoef==136 load x16ciri136 ; elseif ukuran==32 jkoef==3 load x32ciri3 ; elseif ukuran==32 jkoef==10 load x32ciri10 ; elseif ukuran==32 jkoef==21 load x32ciri21 ; elseif ukuran==32 jkoef==36 load x32ciri36 ; elseif ukuran==32 jkoef==55 load x32ciri55 ; elseif ukuran==32 jkoef==78 load x32ciri78 ; elseif ukuran==32 jkoef==105 load x32ciri105 ; elseif ukuran==32 jkoef==136 load x32ciri136 ; elseif ukuran==64 jkoef==3 load x64ciri3 ; elseif ukuran==64 jkoef==10 load x64ciri10 ; elseif ukuran==64 jkoef==21 load x64ciri21 ; elseif ukuran==64 jkoef==36 load x64ciri36 ; elseif ukuran==64 jkoef==55 load x64ciri55 ; elseif ukuran==64 jkoef==78 load x64ciri78 ; elseif ukuran==64 jkoef==105 load x64ciri105 ; elseif ukuran==64 jkoef==136 load x64ciri136 ; elseif ukuran==128 jkoef==3 load x128ciri3 ; elseif ukuran==128 jkoef==10 load x128ciri10 ; elseif ukuran==128 jkoef==21 load x128ciri21 ; elseif ukuran==128 jkoef==36 load x128ciri36 ; elseif ukuran==128 jkoef==55 load x128ciri55 ; elseif ukuran==128 jkoef==78 load x128ciri78 ; elseif ukuran==128 jkoef==105 load x128ciri105 ; elseif ukuran==128 jkoef==136 load x128ciri136 ; elseif ukuran==256 jkoef==3 load x256ciri3 ; elseif ukuran==256 jkoef==10 load x256ciri10 ; elseif ukuran==128 jkoef==21 load x256ciri21 ; elseif ukuran==256 jkoef==36 load x256ciri36 ; elseif ukuran==256 jkoef==55 load x256ciri55 ; elseif ukuran==256 jkoef==78 load x256ciri78 ; elseif ukuran==256 jkoef==105 load x256ciri105 ; elseif ukuran==256 jkoef==136 load x256ciri136 ; end Gambar 4.16. Lanjutan Program Tombol proses untuk mengeluarkan database Gambar 4.16 merupakan program untuk mengeluarkan database yang akan dibandingkan dalam perhitungan jarak. Fungsi load adalah untuk memuat database dari mat-file dari simpanan database. Perintah program untuk menghitung jarak antara citra masukan dengan citra database dapat dilihat pada Gambar 4.17. for n=1:28 x41=0; z1,n=0; rn=jarakx4,z:,n; end Gambar 4.17 Perintah program Tombol Proses untuk perhitungan jarak Perintah program pada Gambar 4.17 adalah untuk memanggil fungsi jarak jaccard yang akan membandingkan antara hasil dari output ekstraksi ciri yaitu x4 dengan hasil dari database yaitu z. Perintah program untuk mencari nilai minimum dengan perhitungan fungsi jarak jaccard dapat dilihat pada gambar 4.18. r; a=findminr==r; minr=minr Gambar 4.18 Perintah program mencari nilai minimum a merupakan hasil pencarian nilai terkecil dari hasil perhitungan jarak. Deskripsi string s={ Accordion Sumatera Selatan , Angklung Jawa Barat , Bende Lampung , ... Bonang Jawa Timur , Cengceng Bali , Doli Bengkulu , Fu Maluku Utara , ... Gambus Jambi , Gendang Jawa , Gendang Dayak Kalimantan , Gendang Melayu Bangka Belitung , ... Gong Jawa , Kecapi Jawa Barat , Kecapi Sulawesi Selatan , Kenong Jawa , ... Kolintang Sulawesi Utara , Lado-lado Sulawesi Tenggara , Marwad Kepulauan Riau , ... Panting Kalimantan Selatan , Rebab Jawa , Rifai NAD , Sasando Timor , ... Serunai Nusa Tenggara Barat , Siter Jawa , Suling Saluang Sumatera Barat , ... Tifa Irian Jaya , Tifa Maluku , Tuma Kalimantan Barat }; Hasil keluaran minimum hasil=s{a}; sethandles.edit1, string ,hasil; handles.a=a; guidatahObject,handles; Gambar 4.19. Program untuk menampilkan hasil pengenalan Pada Gambar 4.19, variabel s adalah inisialisasi dari 28 gambar. Nilai yang paling minimum akan dipanggil sesuai nama inisialisasi dan ditampilkan edit_text 1 dengan menggunakan perintah set. Gambar 4.20 menampilkan hasil pengenalan dari suatu gambar alat musik tradisional di Indonesia setelah menekan tombol proses. Dari Gambar 4.20 dapat dilihat bahwa semua program dapat berjalan dengan baik dan selanjutnya dilakukan percobaan untuk menentukan nilai parameter terbaik untuk pengenalan gambar alat musik tradisional di Indonesia. Gambar 4.20. Tampilan ketika program telah diproses 6. Tombol info Tombol info berfungsi untuk menampilkan keterangan singkat dari gambar alat musik tradisional yang berhasil dikenali secara benar ataupun salah. Perintah program pada tombol info dapat dilihat pada Gambar 4.21. Gambar 4.21. Perintah program Tombol Proses untuk menampilkan info gambar alat musik function pushbutton8_CallbackhObject, eventdata, handles u=handles.a; if u==1 sethandles.edit2, string , Accordion adalah alat musik sejenis organ dan dimainkan dengan cara ditekan. ; elseif u==2 sethandles.edit2, string , Angklung adalah alat musik bernada ganda. Alat musik ini dibuat dari bambu, dibunyikan dengan cara digoyangkan. ; elseif u==3 Gambar 4.21. Lanjutan Perintah program Tombol Proses untuk menampilkan info gambar alat musik sethandles.edit2, string , Bende adalah sejenis gong kecil dan merupakan alat musik pukul. ; elseif u==4 sethandles.edit2, string , Bonang adalah salah satu alat musik dalam instrumen gamelan Jawa dan cara memainkannya dengan dipukul. ; elseif u==5 sethandles.edit2, string , Cengceng adalah bagian dari seperangkat gamelan Bali dan cara memainkannya dengan cara dipukul. ; elseif u==6 sethandles.edit2, string , Doli adalah alat musik yang dimainkan dengan cara dipukul. ; elseif u==7 sethandles.edit2, string , Fu terbuat dari kerang, cara memainkannya dengan ditiup. ; elseif u==8 sethandles.edit2, string , Gambus adalah alat musik berdawai yang dimainkan dengan cara dipetik. ; elseif u==9 sethandles.edit2, string , Gendang dayak merupakan alat musik pukul. ; elseif u==10 sethandles.edit2, string , Gendang jawa merupakan suatu alat musik pukul dan sering digunakan untuk instrumen gamelan jawa. ; elseif u==11 sethandles.edit2, string , Gendang Melayu memiliki sumber bunyi melalui membraofon dan dimainkan dengan dua telapak tangan. ; elseif u==12 sethandles.edit2, string , Gong merupakan suatu alat musik pukul yang sering digunakan dalam gamelan jawa. ; elseif u==13 sethandles.edit2, string , Kecapi merupakan alat musik yang dimainkan dengan cara dipetik. ; elseif u==14 sethandles.edit2, string , Kecapi Sulawesi merupakan merupakan alat musik petik dan sering digunakan sebagai pengiring tarian. ; elseif u==15 sethandles.edit2, string , Kenong merupakan alat musik pukul dan salah satu alat musik yang menyusun gamelan Jawa. ; elseif u==16 sethandles.edit2, string , Kolintang merupakan suatu alat musik pukul dan terdiri dari barisan gong kecil. ; elseif u==17 sethandles.edit2, string , Lado-lado merupakan alat musik pukul dan digunakan pada saat acara-acara tertentu. ; elseif u==18 Gambar 4.21. Lanjutan Perintah program Tombol Proses untuk menampilkan info gambar alat musik Gambar 4.21 adalah untuk menampilkan info singkat tentang alat musik tradisional. Selanjutnya info alat musik tradisional akan ditampilkan pada edit_text 2. 7. Tombol reset Tombol reset berfungsi untuk me-reset ulang jika user ingin melakukan pengenalan baru. Perintah program untuk tombol reset dapat dilihat pada gambar 4.22. sethandles.edit2, string , Marwad merupakan sejenis gendang panjang dan merupakan alat musik pukul. ; elseif u==19 sethandles.edit2, string , Panting merupakan alat musik petik dan cara memainkannya yaitu dipetik pada senarnya. ; elseif u==20 sethandles.edit2, string , Rebab adalah alat musik gesek menyerupai alat musik biola yang memiliki dua sampai tiga senar. ; elseif u==21 sethandles.edit2, string , Rifai merupakan instrumen musik pukul percussi yang berfungsi pengiring kesenian tradisional. ; elseif u==22 sethandles.edit2, string , Sasando merupakan alat musik berdawai dimainkancara memetik dengan jari-jemari tangan. ; elseif u==23 sethandles.edit2, string , Serunai adalah sejenis alat musik suling bambu dan merupakan alat musik tiup. ; elseif u==24 sethandles.edit2, string , Siter merupakan bagian ricikan gamelan yang teknik menabuhnya dengan cara di petik. ; elseif u==25 sethandles.edit2, string , Suling Saluang adalah alat musik tiup dan terbuat dari bambu tipis. ; elseif u==26 sethandles.edit2, string , Tifa Irian mirip dengan alat musik gendang yang dimainkan dengan cara dipukul. ; elseif u==27 sethandles.edit2, string , Tifa maluku mirip dengan alat musik gendang yang dimainkan dengan cara dipukul. ; elseif u==28 sethandles.edit2, string , Tuma dimainkan dengan ditepuk menggunakan telapak tangan. ; end Gambar 4.22. Perintah Program Tombol Proses untuk me-reset 8. Tombol selesai Tombol selesai berfungsi untuk keluar dari proses pengenalan gambar alat musik tradisional di Indonesia. Perintah program untuk tombol selesai dapat dilihat pada Gambar 4.23. deletefigureGui; Gambar 4.23. Perintah Program Tombol Proses untuk selesai

4.2. Penentuan Nilai Parameter