PENGENALAN NADA BARUNG PELOG MENGGUNAKAN … · PENGENALAN NADA BARUNG PELOG ... (limo), 6 (enem),...
Transcript of PENGENALAN NADA BARUNG PELOG MENGGUNAKAN … · PENGENALAN NADA BARUNG PELOG ... (limo), 6 (enem),...
i
TUGAS AKHIR
PENGENALAN NADA BARUNG PELOG
MENGGUNAKAN WINDOWING KOEFISIEN DFT
DAN JARAK SQUARED CHORD
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh :
MAULANA AKBAR TOBING
NIM : 105114022
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
BARUNG PELOG VOICE RECORDNITION
USING WINDOWING KOEFISIEN DFT
AND SQUARED CHORD DISTANCE
Presented As Partial Fulfillment Of The Requirement
To Obtain The Sarjana Teknik Degree
In Electrical Engineering Study Program
MAULANA AKBAR TOBING
NIM : 105114022
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO
Berimajinatif Berkreatif
Persembahan
Karya ini ku persembahakan untuk
Allah SWT yang selalu setia bersamaku,
Keluargaku bapak ibu adek dan nenek yang selalu ada
untuk selalu member ikan doa dan motivasi yang terbaik,
Keluarga baruku pacar dan mantan yang tak bosan memberikan motivasi
Teman- teman seperjuangan Teknik Elektro 2010 yang selalu membantu saat mendapatkan kesulitan,
Dan semua yang mendoakan dan mendukung karya ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Seni musik merupakan suatu seni hiburan yang sudah melekat di masyarakat. Salah
satu seni musik yang masih tetap lestari sampai sekarang adalah seni musik tradisional
jawa. Seni musik tradisional jawa berupa kerawitan atau gamelan. Alat gamelan yang
paling khas dan menonjol bunyinya adalah saron barung. Tidak banyak orang yang bisa
memainkan alat tersebut atau tidak hafal dengan nada nadanya. Oleh karena itu diperlukan
sistem untuk mengenali nada alat musik gamelan tersebut. Alat gamelan yang digunakan
untuk sistem pengenalan nada ini yaitu saron jenis Barung pelog.
Sistem pengenalan ini membutuhkan Barung Pelog sebagai masukan nada,
microphone, untuk merekam nada dari Barung Pelog dan laptop untuk memproses. Sistem
pengenalan nada ini melalui beberapa proses meliputi merekam, memanggilnya kembali
pada input nada, normalisasi, pemotongan sinyal, frame blocking, windowing, ekstraksi
ciri, fungsi jarak, dan penentuan nada.
Sistem pengenalan nada menggunakan ekstraksi ciri DFT, windowing hamming,
fungsi jarak Squared Chord. Tampilan program meliputi hasil nada yang di input,
ekstraksi ciri DFT, Windowing Koefisien serta tampilan hasil pengenalan (teks). Parameter
optimal untuk tingkat pengenalan nada secara 100% dengan menggunakan nilai semua
DFT, dan windowing koefisien 50%. Sistem pengenalan nada hanya mengenali nada 1(siji),
2(loro), 3(telu), 4 (papat), 5 (limo), 6 (enem), dan 7 (pitu).
Kata kunci : Barung Pelog, DFT, Windowing Hamming, fungsi jarak Squared Chord,
Windowing koefisien, dan pengenalan nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Musical arts is a entertainment already fused in the community. One of the music
are still used until now is the traditional music java. Musical arts javanese traditional is
kerawitan or gamelan. Instrument gamelan have a characteristic sound is plain of saron
barung. Not many people who can play this instrument or not has with the tone of voice.
Because of that is required system to recognize tone a musical instrument the gamelan.
Instrument gamelan applied to a system the introduction of tone is plain of sharon kind of
barung pelog
Knowing system need Barung Pelog to input tune, microphone to record tunes from
Barung pelog and laptop to processing. This knowing tune system through some process
there are recording, normalization, signal cutting, frame blocking, windowing, feature
ectraction DFT, range function , tune fixed.
Knowing system use extract feature DFT, windowing Hamming, range function
and Squaredchord. Feature program include product of input tune, spektrum extraction
feature DFT, and feature output knowing (text). Parameter optimum to increase tune
knowing on 100% with use of all DFT and windowing coefficient 50%. Knowing tune
ststem just recognize 1(siji), 2(loro), 3(telu), 4(papat), 5(limo), 6(enam) and 7(pitu)’.
Key word : Barung pelog, Discrete Fourier Transform (DFT), Windowing Hamming ,
range function Squaredchord, Windowing Coefficient, and tune recognized.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan Syukur kepada Allah SWT karena telah memberikan Berkah-Nya
sehingga penulis dapat menyelesaikan laporan tugas akhir dengan baik, dan dapat
memperoleh gelar sarjana.
Dalam penulisan tugas akhir ini, penulis menyadari bahwa tidak lepas dari seluruh
bantuan dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis
mengucapkan banyak terimakasih kepada:
1. Allah SWT atas berkah dan anugerah-Nya kepada penulis
2. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
3. Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elekro
Universitas Sanata Dharma
4. Dr. Linggo Sumarno, selaku dosen pembimbing yang dengan tenang dan penuh
kesabaran untuk membimbing dalam menyelesaikan penulisan Tugas Akhir ini.
5. Dr. Iswanjono, Wiwien Widyastuti, S.T., M.T., selaku dosen penguji yang telah
memberikan bimbingan, saran, dan merevisi Tugas Akhir ini.
6. Orang tua bapak dan ibu, H.Sugiyanto dan H.Wahyu Hidayah, atas semua
perhatian, dukungan dan doanya kepada penulis.
7. Adik dan nenek, Saqina Eva Maulina dan H.Marsinatun yang selalu memberikan
doa dan mendoakan.
8. Roisyah Sofaningrum dan Farida Afif yang memberi motivasi semangat dan doa.
9. Blasius Air Dahsyat Pamungkas, Rendi Pradhana, Yohanes Robby Setiawan, Rake
Selferian, Widi Eko Wardoyo, Ignasius Agung Nugroho, Vitrali Demastok yang
memberi masukan, dan membantu dalam penulisan Tugas Akhir ini.
10. Segenap staff secretariat, dan laboran Teknik Elektro yang telah memberikan
dukungan secara tidak langung dalam kelancaran tulisan tugas Akhir ini.
11. Teman- teman Teknik Elektro 2010 yang telah memberikan semangat pada saat
menempuh pendidikan di Universitas Sanata Dharma.
12. Semua Pihak yang tidak bisa disebutkan satu persatu yang telah banyak
mendukung, dan memberikan banyak bantuan dalam menyelesaikan Tugas Akhir
ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN JUDUL ......................................................................................................... i
HALAMAN PERSETUJUAN ........................................................................................iii
HALAMAN PENGESAHAN ......................................................................................... iv
PERNYATAAN KEASLIAN KARYA ........................................................................... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ................................................ vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS ....................................................... vii
INTISARI ...................................................................................................................... viii
ABSTRACT .................................................................................................................... ix
KATA PENGANTAR ...................................................................................................... x
DAFTAR ISI .................................................................................................................. xii
DAFTAR GAMBAR ..................................................................................................... xvi
DAFTAR TABEL ........................................................................................................ xvii
BAB I PENDAHULUAN ................................................................................................. 1
1.1 Latar Belakang ....................................................................................................... 1
1.2 Tujuan dan Manfaat Penelitian ............................................................................... 2
1.3 Batasan Masalah ..................................................................................................... 2
1.4 Metodologi Penelitian ............................................................................................ 3
BAB II DASAR TEORI ................................................................................................... 4
2.1 Alat Musik Barung Pelog ....................................................................................... 4
2.2 Frekuensi Dasar ...................................................................................................... 5
2.3 Sampling ................................................................................................................ 5
2.4 Frame Blocking ...................................................................................................... 6
2.5 Hamming Windowing ............................................................................................ 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.6 Discrate Fourier Transform (DFT) ......................................................................... 7
2.7 Fungsi Jarak Squared Chord .................................................................................. 8
2.8 Metode Template Matching .................................................................................... 8
2.9. Sound Card ............................................................................................................ 9
2.10. Mikrofon ................................................................................................................ 9
2.11. Matlab .................................................................................................................. 10
BAB III PERANCANGAN ............................................................................................ 12
3.1. Sistem Pengenalan Nada Alat Musik Barung Pelog .............................................. 12
3.1.1 Input Nada ................................................................................................ 12
3.1.2 Normalisasi ............................................................................................... 13
3.1.3 Frame Blocking ........................................................................................ 13
3.1.4 Windowing ................................................................................................ 13
3.1.5 Discrete Fourier Transform (DFT) ........................................................... 13
3.1.6 Windowing Koefisien ................................................................................ 13
3.1.7 Fungsi Jarak .............................................................................................. 14
3.1.8 Penentuan Nada ........................................................................................ 14
3.1.9 Hasil Tampilan Pengenalan ....................................................................... 14
3.2 Perancangan Nada Referensi ................................................................................ 14
3.3 Perancangan Program Pada GUI Matlab ............................................................... 15
3.4 Perancangan Diagram Blok .................................................................................. 17
3.4.1 Proses Perekaman ..................................................................................... 17
3.4.2 Proses Pengenalan Nada Barung Pelog ..................................................... 17
3.4.3 Proses Normalisasi .................................................................................... 19
3.4.4 Pemotongan Sinyal ................................................................................... 20
3.4.5 Proses Frame Blocking ............................................................................ 21
3.4.6 Proses Hamming Windowing ..................................................................... 22
3.4.7 Proses Discrete Fourier Transform (DFT) ................................................ 23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
3.4.8 Proses Windowing Koefisien DFT ............................................................. 24
3.4.9 Proses Fungsi Jarak Squared Chord .......................................................... 25
3.5 Perancangan Subsistem Program .......................................................................... 26
3.5.1 Subsistem Sampling .................................................................................. 27
3.5.2 Subsistem Pengenalan Nada ...................................................................... 27
BAB IV HASIL DAN PEMBAHASAN ...................................................................................... 28
4.1. Pengujian Program Pengenalan Nada Barung Pelog menggunakan Windowing
Koefisien DFT dan Jarak Squared Chord .............................................................. 28
4.1.1 Pengenalan Nada ..................................................................................... 30
4.2. Hasil Pengujian Program Pengenalan Nada Terhadap Terhadap Tingkat
Pengenalan Nada Barung Pelog ............................................................................ 37
4.2.1 Pengujian untuk Menentukan Batasan Nilai Jarak yang Optimal ............... 37
4.2.2 Pengujian Pengaturan Pengenalan Nada .................................................... 38
4.2.2 Pengujian dengan Masukan Nada Gamelan Peking ................................... 40
BAB V KESIMPULAN DAN SARAN ........................................................................................ 42
5.1 Kesimpulan .......................................................................................................... 42
5.2 Saran .................................................................................................................... 42
DAFTAR PUSTAKA........................................................................................................................ 43
LAMPIRAN
LAMPIRAN Percobaan Mencari Spektrum Frekuensi ...................................................L 1
LAMPIRAN Percobaan Mencari Durasi Perekaman ......................................................L 4
LAMPIRAN Program Utama .........................................................................................L 7
LAMPIRAN Program Windowing Hamming ............................................................... L 16
LAMPIRAN Program DFT .......................................................................................... L 16
LAMPIRAN Program Fungsi Squared Chord .............................................................. L 17
LAMPIRAN Program Pembuatan DATA BASE ......................................................... L 17
LAMPIRAN Tabel Nilai Jarak Optimal ....................................................................... L 19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
LAMPIRAN Tabel Tingkat Pengenalan ....................................................................... L 19
DAFTAR GAMBAR
Gambar 2.1 Barung Pelog dan Alat Tabuh ......................................................................
Gambar 2.2 Frame Blocking ...........................................................................................
Gambar 2.4 Sound Card ..................................................................................................
Gambar 2.5 Tampilan awal Matlab ..................................................................................
Gambar 3.1 Diagram blok Pengenalan Nada Barung Pelog ..............................................
Gambar 3.2 Diagram Blok Proses Pengenalan Nada Referensi .........................................
Gambar 3.3 Tampilan Utama Program .............................................................................
Gambar 3.4 Diagram Alir Proses rekam ...........................................................................
Gambar 3.5 Diagram Blok Keseluruhan ...........................................................................
Gambar 3.6 Diagram Alir Proses Normalisasi ..................................................................
Gambar 3.7 Diagram Alir Proses Pemotongan Sinyal .......................................................
Gambar 3.8 Diagram Alir Proses Frame Blocking ............................................................
Gambar 3.9 Diagram Alir Proses Windowing Hamming ...................................................
Gambar 3.10 Diagram Alir Proses DFT .............................................................................
Gambar 3.11 Diagram Alir Proses Windowing Koefisien ....................................................
Gambar 3.12 Diagram Alir Proses Fungsi Jarak Squared Chord.........................................
Gambar 3.13 Diagram Alir Proses Penentuan Nada............................................................
Gambar 4.1 Ikon Matlab 7.0.4 ..........................................................................................
Gambar 4.2 Tampilan Matlab ...........................................................................................
Gambar 4.3 Tampilan Program Pengenalan Nada Barung Pelog.......................................
Gambar 4.4 Tampilan Hasil Pengenalan ..........................................................................
Gambar 4.5 Grafik Tingkat Pengenalan ............................................................................
Gambar 4.6 Gamelan peking ............................................................................................
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Tabel 2.1 Frekuensi Dasar Gamelan Jenis Pelog ...........................................................
Tabel 3.1 Keterangan Tampilan Progrm .......................................................................
Tabel 4.1 Jarak Minimum pada Percobaan....................................................................
Tabel 4.2 Hasil Pengenalan DFT ..................................................................................
Tabel 4.3 Hasil Pengujian nada gamelan peking ...........................................................
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Seni musik merupakan suatu seni hiburan yang sudah melekat di masyarakat dari
jaman kerajaan dahulu sampai jaman sekarang. Salah satu seni musik yang masih tetap
lestari sampai sekarang adalah seni musik tradisional jawa. Seni musik tradisional jawa
berupa kerawitan atau gamelan.
Dari sekian banyak alat kerawitan atau gamelan terdapat jenis alat yaitu saron.
Saron tersebut terbagi menjadi tiga bagian yaitu saron demung, saron barung, saron
panerus. Dalam penulisan ini penulis mengambil alat saron barung. Barung sendiri
dibedakan menjadi dua lagi yaitu barung slendro dan barung pelog. Slendro memiliki lima
nada per oktaf, yaitu 6-1-2-3-5-6-1 dengan rentang nada yang sangat kecil. Sedangkan
pelog memiliki tujuh nada per oktaf, yaitu 1-2-3-4-5-6-7 dengan rentang nada yang besar.
Tidak banyak orang yang bisa memainkan alat-alat gamelan tersebut. Terkadang
mereka tidak mengetahui nada yang sedang mereka mainkan atau tidak hafal dengan nada
gamelan. Diperlukan sebuah sistem yang dapat membantu untuk mengenali nada-nada dari
alat musik yang dimainkan. Sistem ini dapat juga membantu seorang pelaras saat
melakukan penyetelan nada alat musik gamelan. Sistem ini juga dapat berfungsi sebagai
pengenalan nada kepada anak kecil. Anak kecil perlu untuk mengenal tentang musik sejak
dini karena merangsang perkembangan otak. Pengenalan musik tradisional dari dini dapat
pula menjaga kelestarian budaya yang dimiliki Indonesia.
Untuk itu penulis merancang dan membuat program komputer yang dapat
melakukan pengenalan nada alat musik dengan membandingkan frekuensi dasar
gelombang bunyi alat musik menggunakan metode squared chord. Kemudian
mencocokkan frekuensi dasar tersebut dengan frekuensi dasar nada dari nada referensi atau
yang di sebut database . Dengan demikian jenis nada alat musik dapat diketahui secara
pasti untuk melakukan pengenalan nada musik tersebut. Penulis membuat rancangan
program yang berfungsi untuk mengenali nada pada gamelan khususnya barung pelog.
Pemrograman sistem ini menggunakan software Matlab dan program interface user
menggunakan GUI Matlab.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Sebelumnya sudah ada yang melakukan penelitian pengenalan nada. Penelitian
yang sudah pernah dilakukan adalah “Pengenalan Nada gamelan kenong secara real time
Menggunakan Fungsi Jarak Chebyshev” yang dilakukan oleh Yogi isworo walasakti[1].
Peneliti memilih metode ini untuk mengembangkan tentang pengenalan nada alat musik
gamelan dan metode ekstraksi ciri yang berbeda.
1.2. Tujuan dan Manfaat Penelitian
Tujuan dari penulisan tugas akhir ini adalah menghasilkan sistem pengenalan nada
suara pada alat musik barung pelog. Manfaat dari penelitian ini sebagai alat bantu bagi
masyarakat yang membuat alat musik barung pelog supaya mengetahui nada 1(siji),
2(loro), 3(telu), 4(papat), 5(limo), 6(enem) dan7(pitu).
1.3. Batasan Masalah
Sistem pengenalan nada suara pada barung terdiri dari hardware dan software
(komputer). Hardware berfungsi untuk memasukkan nada suara yang dimainkan pada
barung, sedangkan software pada komputer berfungsi untuk mengatur semua proses
pengenalan nada suara yang dimainkan pada barung.
Pada perancangan sistem ini, penulis fokus pada pembuatan software komputer
untuk memproses pengenalan nada suara, sedangkan untuk hardware berupa microphone
yang sudah tersedia di pasaran. Penulis menetapkan beberapa batasan masalah yang
dianggap perlu pada perancangan ini, yaitu sebagai berikut:
a. Menggunakan alat musik gamelan jawa jenis barung pelog.
b. Nada gamelan yang dikenali 1(sij) ,2( loro), 3(telu), 4(papat), 5(limo), 6(enem), dan
7(pitu)
c. Menggunakan perangkat lunak komputasi (Matlab) dalam pembuatan program.
d. Menggunakan ekstraksi ciri Discreate fourrier Transform (DFT) fungsi jarak
squared chord.
e. Hasil pengenalan tidak real time.
f. Selain nada barung pelog akan dikenali secara salah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.4. Metodologi Penelitian
Penulisan skripsi ini menggunakan metode :
a. Pengumpulan bahan–bahan referensi berupa buku–buku dan jurnal–jurnal.
b. Perancangan subsistem software. Tahap ini bertujuan untuk mencari bentuk model
yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari
berbagai faktor–faktor permasalahan dan kebutuhan yang telah ditentukan.
c. Pembuatan subsistem software. sistem akan bekerja apabila user memberikan
interupsi melalui PC dengan media push button yang sudah disediakan dalam
software. Kemudian sistem akan mengolah interupsi ini dan setelah selesai maka
komputer akan mengolah data dan menyajikannya berupa sebuah informasi/teks.
d. Analisa data dilakukan dengan memeriksa keakuratan data terhadap hasil proses
pengenalan nada, dengan cara membandingkan antara data di komputer dengan
lapangan dan perancangan. Penyimpulan hasil percobaan dapat dilakukan dengan
menghitung jarak yang terjadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB II
DASAR TEORI
2.1. Alat Musik Barung pelog
Barung pelog merupakan satu set instrumen jenis saron yang ada pada gamelan
jawa. Saron barung merupakan bagian ricikan gamelan berbentuk bilah dengan ukuran
yang lebih kecil dari pada saron demung dan lebih besar dari pada saron peking. [2] Saron
berukuran sedang dan oktaf tinggi. Seperti demung, Saron barung memainkan balungan
dalam wilayah yang terbatas. Pada teknik tabuhan imbal imbalan, dua saron barung
memainkan lagu jalin menjalin yang bertempo cepat.
Dalam satu set gamelan biasanya punya 4 saron barung, dan semuanya memiliki
dua pelaras yaitu pelog dan slendro. Dalam pelog memiliki 7 nada peroktafnya yaitu 1-2-
3-4-5-6-7 ,sedangkan untuk nada slendro meliliki 5 nada peroktafnya yaitu 6-1-2-3-5-6-1.
Tabuh saron biasanya terbuat dari kayu, dengan bentuk seperti palu
Gambar 2.1 Barung pelog dan alat tabuh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
Saron barung pelog merupakan instrumen penting pada gamelan. Menabuh Saron
biasa sesuai nada, nada yang imbal, atau menabuh bergantian antara saron 1 dan saron 2
barung. Penabuhan tergantung pada komando dari kendang dan jenis gendhingnya
2.2. Frekuensi Dasar Barung Pelog
Kebanyakan nada merupakan nada yang kompleks yaitu terdiri atas satu atau lebih
frekuensi didalamnya. Frekuensi paling dasar dalam sebuah nada disebut sebagai
Fundamental frequency atau frekuensi dasar. Frekuensi dasar ini merupakan komponen
paling penting di karenakan frekuensi inilah yang menentukan pitch dari keseluruhan nada.
Picth merupakan tinggi atau rendahnya sebuah suara atau nada yang berhubungan
langsung dengan frekuensi dari gelombang suara[3]. Nada khususnya memiliki frekuensi –
frekuensi tambahan didalamnya yang merupakan kelipatan dari frekuensi dasarnya.
Frekuensi – frekuensi tersebut dinamakan dengan harmonics, keberadaanya dapat
menentukan kualitas dari nada tersebut.
Dari peneliti sebelumnya sudah ada peneliti yang melakukan penelitian tentang
frekuensi dasar gamelan balungan jenis barung, demung dan peking jenis pelog. Pada tabel
2.1 menunjukkan data frekuensi dasar yang di hasilkan oleh peneliti sebelumnya[4].
Table 2.1 Frekuensi Dasar Gamelan Jenis pelog
Nada 1 2 3 4 5 6 7
Demung 309 331 353 419 441 485 529
Barung 617 661 705 837 903 969 1079
Peking 1233 1321 1453 1695 1871 2003 2201
2.3. Sampling
Sampling merupakan proses pencuplikan gelombang suara yang akan
menghasilkan gelombang diskret. Dalam proses pencuplikan, ada yang disebut dengan laju
pencuplikan (samplingrate). Sampling rate menandakan berapa banyak pencuplikan
gelombang analog dalam satu detik.Satuan dari sampling rate ialah Hertz (Hz).Secara teori
Nyquist-Shamon yang menyebutkan bahwa untuk mencegah hilangnya informasi dalam
sebuah konversi sinyal kontinu ke diskrit, pencuplikan minimal harus dua kali lebih besar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
dari sinyal asli [5].Kriteria Nyquist perlu diperhatikan dalam melakukan pencuplikan.Lebih
jelasnya kriteria Nyquist menyatakan sebuah sinyal harus memiliki pencuplikan rate yang
lebih besar dari 2𝑓𝑚 dengan 𝑓𝑚 adalah frekuensi paling tinggi yang muncul di sebuah
sinyal.
2.4. Frame Blocking
Frame blocking merupakan pembagian sinyal suara menjadi beberapa frame dan
satu frame terdiri dari beberapa data sampel[6]. Pengambilan sampel tersebut tergantung
dari tiap detik suara akan disampel dan berapa besar frekuensi sampling-nya. Gambar 2.2
menunjukkan contoh dari frame blocking dimana keseluruhan frame dibagi menjadi 5 M
frame. Setiap M memiliki jumlah data yaitu 2𝑁 data, dengan N adalah Bilangan bulat
Gambar 2.2. Frame Blocking
Fungsi frame blocking yaitu untuk memilih data yang akan diproses dalam sistem
pengenalan. Frame Blocking juga dapat mempercepat proses perhitungan pada DFT
(Descrete Fourier Transform) dengan jumlah data pada setiap frame memiliki 2𝑁 data
sampel yang diambil dari keseluruhan data sampel.
2.5. Hamming Window
Windowing digunakan untuk menghilangkan efek diskontinuitas yang diakibatkan
oleh proses Frame Blocking [7]. Dari beberapa macam jenis windowing, proses pengenalan
ini menggunakan jenis Hamming window. Menggunakan Hamming window karena
2N data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Hamming window mempunyai sidelobe yang paling kecil dan mainlobe yang paling besar
sehingga Hamming window akan lebih halus dalam menghilangkan efek diskontunitas.
Persamaan Hamming window adalah :
w [k+1] = 0.54 – 0.46 cos (2𝜋𝑘
𝑛−1), k = 0, …, n – 1
(2.1)
dengan w[k+1] adalah windowing, dan n merupakan jumlah data dari sinyal. Hamming
window adalah sebuah vektor yang mempunyai jumlah elemen sebanyak N. Besarnya N
akan disesuaikan dengan banyaknya elemen pada frame sehingga banyaknya elemen pada
Hamming window akan sama dengan banyaknya elemen pada frame. Variabel N ini
mengacu pada sub bab 2.3 tentang data sampel yang ada pada proses frame blocking yang
berupa bilangan bulat (1,2,3,…).
2.6. Discrete Fourier Transform (DFT)
Discrete Fourier Transform (DFT) adalah Algoritma yang digunakan untuk
mengubah sampel data dari domain waktu ke domain frekuensi . DFT menstabilkan
hubungan antara sampel – sample signal domain waktu dan merepresentasikannya ke
domain frekuensi [8] . Untuk melakukan analisis frekuensi dari sinyal waktu diskrit X(k)
maka perlu mendapatkan representasi domain frekuensi dari sinyal yang biasanya
dinyatakan dalam domain waktu. DFT digunakan untuk melakukan analisa frekuensi dari
sinyal waktu diskrit.
DFT dihitung menggunakan persamaan :
X(k) = x(j)𝜔𝑁 𝑗−1 (𝑘−1)
𝑁
𝑗=1
Dengan:
𝜔𝑁 = 𝑒(−2𝜋𝑖 )/𝑁
Keterangan : (2.2)
j= indeks dalam domain waktu
k = indeks dalam domain frekuensi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.7. Fungsi Jarak Squared Chord
Fungsi jarak squared chord adalah untuk membandingkan antara database
dengan data hasil masukkan. Pembandingan data ini yang akan digunakan untuk
mengidentifikasi masukkan yang nantinya akan menghasilkan keluaran akhir dari sistem
program. Fungsi jarak squared chord merupakan proses yang digunakan untuk penentuan
keluaran sebelum keluaran akhir benar-benar dihasilkan.
Rumus untuk Fungsi jarak squared chord adalah sebagai berikut [9]
𝑑𝑠𝑞𝑐 = 𝑃𝑖 − 𝑄𝑖 ²𝑛
𝑖=1
(2.3)
𝑃𝑖 dan 𝑄𝑖 merupakan nilai perbandingan dan nilai kemiripan antara data masukan
dengan data yang sudah ada (database) dan 𝑛 adalah banyak data.
2.8. Metode Template Matching
Metode Template Matcing merupakan metode yang sederhana untuk
mencocokkan masing-masing data suara dari sebuah matriks dengan matriks lainnya.
Semakin besar simpangan dari matriks pembandingnya, maka tingkat kemiripan semakin
rendah. Metode ini metode yang mudah diimplementasikan dan mempunyai persentasi
keberhasilan pencocokan karakter yang sangat tinggi[10].
Cara kerja metode template matching adalah melakukan pengenalan pada karakter
yang ingin dikenali dan membandingkan antara input suara dengan nada referensi yang
disimpan.
Pada Sistem pengenalan nada barung pelog ini termasuk menggunakan metode
template matching karena di subsistem pengenalan nada tersebut terdapat pembandingan
data. Subsistem tersebut diantaranya subsistem sampling dan subsistem pengenalan nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2.9. Sound Card
Sond card merupakan sebuah periperal pada komputer sebagai I/O suara yang
memberikan kemampuan pada komputer untuk menghasilkan suara yang dapat didengar
oleh pengguna baik melalui speaker atau headphone. Pada dasarnya setiap kartu suara
memiliki:
a. Digital Signal Processor (DSP) yang akan menangani semua jenis komputasi.
b. Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.
c. Analog to Digital Converter (ADC) sebagai masukan suara.
d. Read Only Memory (ROM) atau Flash sebagai penyimpanan data.
e. Musical Instrument Digital Interface (MIDI) untuk menyambungkan beberapa
peralatan musik eksternal.
f. Jack untuk menyambungkan kartu suara dengan speaker pada jalur line out atau
microphone pada jalur line in.
Beberapa kartu suara sudah terpasang secara pabrikan (on board) pada
motherboard komputer, tetapi bisa juga ditambahkan untuk keperluan yang lebih lanjut
pada slot PCI motherboard[11].
Gambar 2.4 Sound Card
2.10. Mikrofon (Microphone)
Mikrofon digunakan pada beberapa alat seperti telepon, alat perekam, alat bantu
dengar, pengudaraan radio, televisi, dan sebagainya [12]. Fungsi mikrofon pada dasarnya
ialah untuk input suara manusia lalu mengubahnya menjadi getaran listrik sinyal analog
untuk selanjutnya diperkuat dan diolah sesuai dengan kebutuhan. Tahap selanjutnya setelah
menjadi sinyal analog ialah dengan menggunakan power amplifier dari suara yang
berintensitas rendah menjadi lebih keras lalu terakhir diumpan ke-speaker.
Dalam memilih mikrofon harus diperhatikan dengan seksama. Ketelitian dalam
memilih mikrofon diperlukan agar dapat memaksimalkan performa dari mikrofon yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
nantinya akan dipakai.Karakteristik yang harus diperhatikan ketika akan memilih sebuah
mikrofon adalah:
1. Prinsip cara kerja mikrofon dari jenis mikrofon itu sendiri.
2. Daerah respon frekuensi suara yang mampu dicuplik oleh mikrofon.
3. Sudut atau arah pencuplikan mikrofon.
4. Output sinyal listrik yang dihasilkan mikrofon.
5. Bentuk fisik mikrofon.
Untuk mendapatkan hasil yang maksimal dalam penggunaan mikrofon, maka pemilihan
mikrofon harus disesuaikan dengan kebutuhan dalam hal ini yaitu sumber suara yang ingin
dicuplik, misalnya suara manusia, alat musik, suara kendaraan, atau yang lainnya dengan
sistem tata suara yang digunakan seperti sistem suara untuk pertunjukkan musik, alat
perekaman, dan sebagainya. Hal itu dikarenakan tiap kebutuhan memerlukan hasil output
yang berbeda-beda meskipun tetap memakai satu jenis masukkan yaitu mikrofon.
2.11. Matlab
Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik
yang berbeda dengan bahasa pemrograman lain. Matlab merupakan bahasa pemrograman
level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan
pemrogaman. Matlab dikembangkan oleh Mathworks, yang pada awalnya dibuat untuk
mengakses data matrik pada proyek LINPACK dan EISPACK. Software ini memiliki
ratusan fungsi yang dapat digunakan sebagai problem solver mulai dari simple masalah-
masalah yang kompleks dai berbagai disiplin ilmu [13]. Pada Lingkungan kerja Matlab,
ada beberapa bagian Window yang dipakai, yaitu :
1. Current Directory
Current Directory menampilkan isi dari direktori kerja saat menggunakan
Matlab. Direktori ini dapat diganti sesusai dengan tempat direktori kerja yang
diinginkan.
2. Command History
Window ini berfungsi untuk menyimpan perintah apa saja yang sebelumnya
dilakukan oleh pengguna Matlab.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
3. Command Window
Command Window adalah window utama dari Matlab. Di sini adalah tempat
untuk, menjalankan fungsi, mendeklarasikan variabel, menjalankan proses,
serta melihat isi variabel.
4. Workspace
Workspace berfungsi untuk menampilkan seluruh variabel yang sedang aktif
pada saat pemakaian Matlab. Apabila variabel berupa data matriks berukuran
besar, maka user dapat melihat isi dari seluruh data dengan melakukan double
click pada variabel tersebut. Matlab secara otomatis akan menampilakn window
“array editor” yang berisikan data pada setiap variabel yang dipilih user.
Gambar 2.4 menunjukan tampilan dari software Matlab yang digunakan dalam
perancangan program pengenalan nada.
Gambar 2.5 Tampilan window Matlab
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
BAB III
PERANCANGAN
3.1. Sistem Pengenalan Nada Alat Musik Barung Pelog
. Blok sistem pengenalan nada alat musik Barung pelog di tunjukkan pada gambar
3.1.
Gambar 3.1 Diagram Blok Pengenalan Nada Barung Pelog
Sistem pengenalan nada alat musik barung pelog menggunakan sebuah software
yang berfungsi untuk user interface. Software yang dibuat menggunakan program Matlab.
Software bertujuan untuk memudahkan user saat melakuan pengenalan nada. Software ini
berperan sebagai pusat proses pengenalan nada, seperti merekam suara nada barung pelog
dan mengenali suara nada yang terekam. Perekaman suara dilakukan komputer melalui
mikrofon dan jalur line in pada sondcard.
Pada proses pengenalan nada barung pelog, data berupa input nada yang berupa
wave di normalisasi, kemudian di olah melalui proses windowing untuk analisa sinyal
menggunakan DFT (Discrete Fourier transform) kemudian di windowing koefisien dan
yang terahir penyelesaian dengan fungsi jarak squared chord dalam sistem pengenalan
nada barung pelog.
3.1.1 Input Nada
Input nada merupakan Hasil dari sampling nada barung yang direkam berupa wav.
Normalisasi
Fungsi Jarak Keluaran Text
Windowing Hamming
DFT
Frame Blocking
Windowing Koefisien
Input Nada
DataBase
Penentuan Nada
Pemotongan sinyal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
3.1.2 Normalisasi
Proses ini bertujuan untuk menyetarakan amplitudo maksimum baik nada terekam
dengan nada referensi, sehingga efek dari kuat lemahnya suara yang dikeluarkan nada
barung tidak terlalu mempengaruhi proses pengenalan.
Untuk menyetarakan skala amplitudo puncak maka proses normalisasi
menggunakan rumus :
𝑋𝑛𝑜𝑟𝑚 𝑛 = 𝑋𝑖𝑛 (𝑛)
max 𝑋𝑖𝑛
(3.1)
3.1.3 Frame Blocking
Proses ini memilih data dari data nada terekam, sehingga data yang dipilih dapat
mewakili semua data pada nada terekam. Frame bloking bertujuan untuk mengurangi
jumlah data sinyal yang akan di proses. Besarnya data nada terekam yang dipilih sesuai
dengan nilai frame blocking yang sudah ditentukan pada program.
3.1.4 Windowing
Windowing merupakan perkalian antar elemen yang berfungsi untuk mengurangi
efek diskontinuitas dari sinyal digital hasil rekaman. Dalam perancangan ini penulis
menggunakan window Hamming.
3.1.5 Discrete Fourier Transform (DFT)
Discrete Fourier Transform berfungsi untuk mengkonversi domain waktu ke
domain frekuensi. Domain frekuensi digunakan untuk melihat ciri dari suatu nada.
3.1.6 Windowing Koefisien
Untuk sistem pengenalan nada barung pelog ini menggunakan windowing koefisien
DFT. Sebagian sinyal diambil dari koefisien DFT yang dapat digunakan sebagai ekstraksi
ciri. Untuk pengambilan sebagian sinyal dapat diambil dari koefisien DFT ke-1 hingga
nilai ke-n (nilai maksimal), dengan n adalah panjang DFT. Dalam proses pengenalan nada
barung pelog ini dievaluasi sejumlah n dari panjang DFT, yaitu 16, 32, 64, 128 titik. Dari
panjang setiap n DFT akan dipilih sejumlah c koefisien dengan rumus :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
c = p x n
(3.2)
Dengan :
p = 10%, 20%, 30%, 40%, dan 50%,
n = panjang DFT
3.1.7 Fungsi Jarak
Proses ini membandingkan nada yang di input. Hasil dari perbandingan adalah
jarak yang kemudian akan digunakan dalam proses selanjutnya. Pada proses pengenalan,
yang diambil adalah jarak yang terdekat dengan nada terekam. Dalam proses ini penulis
menggunakan fungsi jarak Squared Chord.
3.1.8 Penentuan Nada
Proses ini bertujuan mengenali nada yang di input dari jarak minimum di peroleh
setelah proses fungsi jarak.
3.1.9 Hasil Tampilan Pengenalan
Hasil pengenalan adalah subproses terakhir dari proses pengenalan nada. Pada
proses ini, hasil pengenalan nada diperoleh setelah proses kemudian ditampilkan dalam
komputer dalam GUI Matlab bentuk text.
3.2. Perancangan Nada Referensi
Untuk merancang suatu pengenaan nada maka dibutuhkan nada acuan atau sering
juga disebut nada refrensi. Nada refrensi harus memiliki ciri yang sudah diketahui oleh
sistem terlebih dahulu. Nada refrensi diperlukan untuk menjadi data base. Fungsi database
untuk perbandingan nada yang akan dikenali. Pada sistem pengenalan nada barung pelog
ini menggambil 10 nada sebagai nada uji dan 10 sebagai database. Pengambilan nada
untuk nada refrensi melalui proses sampling, frame blocking, normalisasi, windowing ,DFT
dan windowing koefisien. Untuk mendapatkan nada refrensi maka dilakukan perhitungan :
𝑁𝑎𝑑𝑎 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑠𝑖 =𝑛𝑎𝑑𝑎 𝑠𝑎𝑚𝑝𝑒𝑙1 + 𝑛𝑎𝑑𝑎 𝑠𝑎𝑚𝑝𝑒𝑙2 + ⋯ + 𝑛𝑎𝑑𝑎 𝑠𝑎𝑚𝑝𝑒𝑙10
10 (3.2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Nada referensi yang telah di dapat akan disimpan dalam fungsi yang ada dalam
sistem pegenalan nada barung pelog. Nada refrensi yang disimpan dalam sistem
pengenalan nada barung pelog ini berfungsi jika sewaktu - waktu dibutuhkan dapat
langsung dipanggil dalam proses fungsi jarak yang ada dalam sistem. Alur proses
pengenalan nada referensi terlihat pada gambar 3.2.
Gambar 3.2 Diagram Proses Pengambilan Nada Referensi
3.3. Tampilan Program Pada GUI Matlab
Tampilan program sebagai interface dengan user.Program tersebut berfungsi
mempermudah user dalam mengoperasikan pengenalan nada barung pelog. Program
tersebut menampilkan plotting hasil perekaman hasil dari DFT dan plot windowing
koefisien. Pada program ini juga memberikan pilihan nilai DFT dan nilai pada windowing
yang akan digunakan untuk pengenalan nada. Tampilan program dibuat menggunakan
software Matlab. Penjelasan lebih lanjut tentang tampilan program terdapat pada tabel 3.5.
Gambar 3.3.
Gambar 3.3 Tampilan Utama Program
DFT Windowing Normalisasi Frame Blocking Sampling Windowing koefisien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Tabel 3.1 Keterangan Tampilan Program
Nama Bagian Keterangan
Tombol Pengenalan
Nada
Digunakan untuk memulai proses pengenalan
Tombol Input Data
Digunakan untuk mengambil nada barung
pelog yang berupa wav
Variasi Windowing
koefisien
Untuk variasi windowing Koefisien DFT
menggunakan 10%, 20%, 30%, 40%,dan 50%
Variasi DFT
Untuk memilih nilai DFT yang akan
digunakan pada proses pengenalan nada,
pilihan nilainya adalah 16, 32, 64,128,256
Plot Windowing
koefisien
Tampilan grafik windowing koefisien setelah
DFT
Tombol Exit
Digunakan untuk mengakhiri dan keluar
aplikasi.
Plot Hasil Rekaman
Tampilan grafik suara hasil perekaman yang
di input
Plot Hasil DFT
Tampilan data berupa grafik data hasil DFT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
3.4. Perancangan Diagram Blok
3.4.1 Proses Perekaman
Gambar 3.4 Diagram Alir Proses program rekam
Gambar 3.4 memperlihatkan alir program saat melakukan proses rekam.
Pada proses perekaman ada proses delay. Proses delay digunakan untuk
memberikan jeda waktu sebelum melakukan perekaman. Pada proses perekaman
ini menggunakan frekuensi sampling yang telah ditentukan yang sesuai dengan
karakteristik nada barung pelog . Hasil yang didapat dari proses rekam yaitu
sampling nada yang berupa wave. Perekaman nada barung dari nada 1,2,3,4,5,6
dan 7 dilakukan sebanyak 20 kali pada setiap nada, 10 data rekaman berupa wav
untuk data base dan 10 data rekaman untuk pengujian. Hasil proses rekam
tersebut kemudian ditampilkan dalam bentuk plot grafik sesuai dengan alir
program.
3.4.2 Proses Pengenalan Nada Barung Pelog
Ketika pengguna akan memulai program pengenalan nada barung pelog,
pengguna dihadapkan tampilan yang sederhana dari interface Matlab. Masukkan
nada uji yang berupa data wav ke input data, variasi nilai DFT dan variasi
windowing koefisien pada list box, setelah user selesai memilih nilai variasi yang
diinginkan kemudian pada plot hasil perekaman tertampil. proses selanjutnya
Delay
Sampling Nada
Mulai
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
adalah penekanan tombol pengenalan nada yang tersedia pada tampilan awal.
Sistem akan mengenali nada secara tidak real time pada nada barung pelog.
Setelah dilakukan pengenalan maka kemudian tergambar grafik pada hasil
pengenalan DFT dan plot windowing koefisien kemudian berbentuk keluaran text
pada hasil pengenalan nada Dalam gambar 3.5 akan menjabarkan mengenai alur
proses utama dalam program.
Gambar 3.5. Diagram Alir Proses Block Keseluruhan
Input nada
n
DFT
Fungsi
Jarak
Keluaran
Text
Frame
Blocking
Pemotongan Sinyal
Windowing
Hamming
Penentuan
Nada
Windowing
Koefisien
Mulai
Selesai
Normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
3.4.3 Proses Normalisasi
Gambar 3.6 Diagram Alir Proses Normalisasi
Pada proses normalisasi seperti gambar 3.6 di atas proses tersebut harus
mempunyai nilai maksimum. Normalisasi tersebut berfungsi untuk mengkonversi data
maksimum dalam deretan hasil frame blocking menjadi bernilai 1. Dalam pengkonversian
menjadi data maksimum menggunakan perintah xmax=max(abs(xframe)). Setelah mencari
nilai maksimum, kemudian dilakukan proses normalisasi dengan cara membagi data
dengan nilai maksimum yang berisikan perintah xnorm=xframe/xmax. Diperoleh keluaran
hasil normalisasi berupa matriks yang digunakan untuk proses selanjutnya sebagai
masukan.
Hasil input nada
Hasil Normalisasi
Normalisasi
y=y/max(y);
Selesai
Mulai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
3.4.4 Pemotongan Sinyal
Gambar 3.7 Diagram Alir Proses Pemotongan sinyal
Proses setelah normalisasi yaitu proses pemotongan sinyal. Pemotongan sinyal
berguna untuk memotong kekosongan pada sinyal nada atau data nada yang terdapat pada
awal dan akhir sinyal.Proses pemotongan sinyal ditentukan oleh variabel batas potong.
Dengan cara visual (pada lampiran 2) maka penulis dapat menggunakan |0,2| sebagai batas
potong, untuk menghilangkan kekosongan pada sinyal nada Barung pelog.
Pemotongan sinyal yang dilakukan adalah masukan yang berupa sinyal nada Barung
pelog akan dipotong pada sisi kiri, dan akan menghasilkan sinyal nada Barung pelog dan
akan menghasilkan keluaran data nada Barung pelog dan akhir data nada Barung pelog
Proses pemotongan sinyal ini bergantung nilai batas potong yang terdapat pada m-
file. Proses pemotongan sinyal bagian awal akan dipotong bagian awalnya, sehingga
memperoleh data nada Barung pelog dan data akhir.
Masukan hasil
normalisasi
Hasil pemotongan
Menentuka variabel batas potong [0,2] ( dilihat pada hasil dan lampiran secara visual )
Selesai
Mulai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
3.4.5 Proses Frame Blocking
Gambar 3.8 Diagram Alir Proses Frame Blocking
Dari gambar ditampilkan pada Gambar 3.8. Proses frame Frame blocking bertujuan
untuk mengurangi jumlah data sinyal yang akan di proses.
Jumlah data yang diambil dalam proses ini sesuai dengan variasi DFT yang
dipilih user sehingga data yang dipilih dapat mewakili semua data yang di ambil pada nada
input. Pada proses ini, sample diambil dari data nada terekam. Nada terekam diperoleh dari
data sampling. Langkah pertama yaitu dengan pemotongan sinyal untuk bagian kiri . yang
didapat di tentukan besar data yang akan di ambil untuk proses pengenalan nada
selanjutnya.
Masukan Nada
pemotongan sinyal
Fr=16 Fr=32 Fr=64 Fr=128
Ambil data sesuai Frame
Keluaran hasil
frame blocking
ya
ya
ya
ya
Tidak Tidak Tidak Tidak
Selesai
Mulai
Fr=256
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
3.4.6 Proses Hamming Windowing
Gambar 3.9 Diagram Alir Proses Hamming windowing
Untuk gambar proses windowing hamming tertera diatas pada gambar 3.9. Pada
proses Hamming window ini melakukan perhitungan dengan persamaan (2.1). w[k+1]
merupakan hasil dari perhitungan persamaan yang berupa matrik
𝑤1𝑤2⋮
𝑤𝑛
kemudian hasilnya
dikalikan dengan nilai matrik masukan
𝑤1.𝑚1𝑤2.𝑚2
⋮𝑤𝑛.𝑚𝑛
. Hasil dari proses windowing ini berupa
matriks
ℎ1ℎ2⋮ℎ𝑛
yang selanjutnya menjadi masukan proses DFT.
Hasil Frame blocking
w [k+1] = 0,54 – 0,46 cos(2𝜋𝑘
𝑛−1)
Hasil Windowing
Perkalian antara data masukkan
dengan hasil windowing hamming
Selesai
Mulai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
3.4.7 Proses Discrete Fourier Transform (DFT)
Gambar 3.10 Diagram Alir Proses DFT
Dari hasil windowing hamming kemudian ditransformasikan menggunakan
Discrete Fourier Transform (DFT) .Proses ini mengkonversi data nada suara dalam
domain waktu menjadi domain frekuensi pada persamaan pada 2.2 di atas dengan fungsi
𝑓 𝑘 adalah masukan dari hasil windowing. Nilai dari DFT yang diperoleh kemudian
dicari nilai absolutnya. Pada proses ini diperoleh keluaran hasil ekstraksi ciri berupa
matriks
𝑑1𝑑2⋮
𝑑𝑛
. Diagram alir dari proses DFT diperlihatkan pada Gambar 3.9.
Hasil windowing
X(k) = x(j)𝜔𝑁 𝑗−1 (𝑘−1)
𝑁
𝑗=1
Hasil DFT
Mencari Nilai Absolut
Selesai
Mulai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
3.4.8 Proses Windowing Koefisien DFT
Gambar 3.11 Diagram Alir Proses Windowing koefisien DFT
Setelah Proses Discrete Fourier Transform (DFT) diproses menghasilkan panjang
nilai koefisien, Dari panjang nilai nilai koefisien DFT kemudian akan dipilih dengan
windowing koefisien dengan rumus 3.2 diatas, dengan c sebagai hasil windowing koefisien,
p adalah nilai persen koefisien dan n adalah panjang DFT.Pilihan variasi windowing
koefisien tergantung user memberi masukan. Variasi windowing koefisien berupa pilihan
dari 10%,20%,30%,40% dan 50%. kemudian komputer menjalankan proses plotting hasil
konversi tersebut. Proses windowing koefisien diperlihatkan pada Gambar 3.9.
Hasil DFT
c = p x n
Hasil DFT
Mulai
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.4.9 Proses Fungsi Jarak Squared Chord
Gambar 3.12 Diagram Alir Proses fungsi jarak Squared chord
Setelah didapat hasil dari windowing koefisien kemudian proses selanjutnya yaitu
perhitungan jarak menggunakan fungsi jarak Squared Chord. Gambar 3.12
memperlihatkan diagram alir proses fungsi jarak Squared Chord. Pada proses ini
menghitung jarak antara rerata hasil (data base) dengan data hasil
ekstraksi ciri. Penghitungan proses ini menggunakan persamaan 2.3 diatas dengan 𝑃𝑖 dan
𝑄𝑖 merupakan nilai perbandingan dan nilai kemiripan antara data masukan dengan data
yang sudah ada (database) dan 𝑛 adalah banyak data. Hasil penghitungan jarak ini adalah
nilai angka hasil perbandingan yang bukan matrix dan sebagai penentu hasil pengenalan
nada. Perbandingan menghasilkan nilai jarak dan data – data tersebut dicari nilai
terkecilnya. Pencarian nilai terkecil di hasilkan dengan jarak minimal pada data base.
Hasil penghitungan jarak ini adalah sebagai penentu hasil pengenalan nada. Gambar 3.13
memperlihatkan diagram alir penentuan nada hasil pengenalan. Nada hasil pengenalan
ditampilkan dalam tampilan program dalam bentuk teks. Jika sudah mencapai pada proses
tersebut maka proses pengenalan nada barung pelog sudah selesai. User dapat keluar dari
𝑑𝑠𝑞𝑐 = 𝑃𝑖 − 𝑄𝑖 ²
𝑛
𝑖=1
Hasil perhitungan jarak
Hasil windowing koefisien DFT
Selesai
Mulai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
program pengenalan nada tersebut dengan menekan tombol “Exit”. User juga dapat
mengulang kembali pengenalan nada barung pelog yang lain dengan pilihan input nada
sesuai pilihan user . Jika user hendak mengulang maka user memulai nada lain yang ingin
dikenali kemudian menekan tombol “Pengenalan Nada”.
Gambar 3.13 Diagram Alir Proses Penentuan Nada
3.5. Perancangan Subsistem Program
Sistem pengenalan nada barung pelog mempunyai dua subsistem penting
dalamnya. yaitu subsistem sampling dan subsistem pengenalan nada. Perancangan
subsistem tersebut terdapat variabel dari nilai variasi-variasi yang telah di tentukan yaitu
variasi DFT dan windowing koefisien, sehingga pengenalan dapat berhasil dan dengan
waktu proses yang optimal. Pengujian awal untuk mencari variabel tersebut sangat
diperlukan karena dalam program tersebut memiliki fungsi–fungsi menunjang subsistem
dari sistem program pengenalan nada.
Hasil jarak
Keluaran = jarak minimal
( perbandingan jarak nilai yang terkecil )
Text
Dikenali
Mulai
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3.5.1 Subsistem Sampling
Dalam subsistem ini terdapat dua variabel terikat berupa frekuensi sampling dan
durasi perekaman. Setelah melakukan pengujian awal, dapat disimpulkan:
a. Secara teori nada dasar frekuensi samplingnya 2158Hz secara praktek di dapat
1110Hz. Sehingga Penggunaan frekuensi 2200Hz sudah memenuhi kriteria
nyquist.(lihat lampiran L3)
b. Durasi perekaman yang digunakan adalah 1.5 detik.(lihat lampiran L4)
3.5.2 Subsistem Pengenalan Nada
Subsistem ini terdiri dari tiga proses, menggunakan variabel tetap yaitu proses
fungsi jarak dan menggunakan variabel bebas yaitu variasi DFT dan variasi windowing
koefisien. Variabel yang akan di evaluasi untuk membangun sistem nada yang optimal
adalah kedua variabel bebas tersebut.
a. Windowing yang digunakan adalah Hamming window. .
b. Frame blocking mengambil sampel data dari data suara terekam (data yang diperoleh
dalam proses sampling). Nilai variasi frame blocking sama dengan nilai variasi dari
DFT yaitu 16, 32, 64, 128, 256.
c. Windowing Koefisien DFT mengevaluasi proses variasi nilai jumlah koefisien DFT.
Nilai variasi koefisien adalah 10%, 20%, 30%, 40%, dan 50%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
BAB IV
HASIL DAN PEMBAHASAN
Pengujian program perlu dilakukan untuk mengetahui kinerja program bekerja
dengan baik dan sesuai dengan perancangan. hasil pengujian berupa data-data yang dapat
memperlihatkan bahwa program yang telah dirancang dapat berjalan dengan baik. Analisa
terhadap proses proses kerja dapat digunakan untuk menarik kesimpulan dari apa yang
disajikan dalam tugas akhir ini.
4.1 Pengujian Program Pengenalan Nada Barung Pelog Menggunakan
Windowing Koefisien DFT dan Jarak Squared Chord
Perancangan program menggunakan software Matlab 7.0.4. Pada pengujian
program menggunakan laptop dengan spesifikasi:
Prosesor : Intel® Core™ 2 Duo processor CPU @ 2.1 GHz
RAM : 2.00 GB
Tipe sistem : Sistem operasi 32 bit
Proses pengenalan nada Barung Pelog dapat dilakukan dengan menjalankan langkah-
langkah di bawah ini:
1. Mengklik dua kali ikon Matlab pada layar desktop dengan gambar ikon seperti
Gambar 4.1.
Gambar 4.1 Ikon Matlab 7.0.4
2. Setelah melakukan langkah 1, akan tampil tampilan utama software Matlab seperti
Gambar 4.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 4.2 Tampilan Matlab
3. Mengetikan perintah gui2 pada Comand window untuk memunculkan tampilan
program pengenalan nada. Setelah itu akan muncul tampilan program pengenalan
nada seperti pada Gambar 4.3.
Gambar 4.3 Tampilan Program Pengenalan Nada Barung Pelog
4. User memilih input data yang akan di kenali kemudian nilai variasi DFT dan
variasi windowing koefisien yang akan digunakan terlebih dahulu sebelum
melakukan pengenalan nada. Nilai variasi DFT yang disediakan adalah 16, 32, 64,
128, dan 256. Nilai variasi windowing koefisien yang disediakan adalah
10%,20%,30%,40% dan 50%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
[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 axes(handles.axes1); plot (y) sound(10*y);
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=get(handles.popupmenu2,'Value'); switch indeks
case 1 frame=16; case 2 frame=32; case 3 frame=64; case 4
frame=128; case 5 frame=256;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
end handles.vardft=frame; guidata(hObject,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=get(handles.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; guidata(hObject,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:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
%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 axes(handles.axes1); plot (y) sound(10*y);
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 sound(10*y); 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=y/max(y); %pemotongan sinyal b0=0.2; b1=find(y>b0 | y<-b0); y(1:b1(1))=[]; %frame blocking frame=handles.vardft; frame; for p=1:frame; f(p)=y(p+frame); end
%windowing hamming w=hamming(frame); for p=1:frame; wo(p)=f(p)*w(p); %wo(p)==> windowing hamming (p) end %ekstraksi ciri DFT g=abs(dftwo(wo)); axes(handles.axes5);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
plot (g); %dftwo function g=dftwo(wo) %hitung panjang wo n=length(wo); %hitung dft g=zeros(1,n) for k=1:n for m=1:n w=exp(-1i*2*pi*(k-1)*(m-1)/n); a=wo(m)*w; g(k)=g(k)+a; end end
%windowing koefisien wk=handles.koefisien; h=frame; c=(wk/100)*h; s=floor(c); ya=g(1:s); ya=ya(:); axes(handles.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==16)&(wk==10) load xciri1610 elseif (frame==16)&(wk==20) load xciri1620 elseif (frame==16) & (wk==30) load xciri1630 elseif (frame==16) & (wk==40) load xciri1640 elseif (frame==16) & (wk==50) load xciri1650
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
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=jaraksquaredchord(p,q); a1=(sqrt(p)); a2=(sqrt(q)); a3=(a1-a2); js=sum(a3.^2); %perhitungan jarak for n=1:7 jaraklist(n)=jaraksquaredchord(ya,z(:,n)); end
%cari nilai minimal jmin=find(min(jaraklist)==jaraklist); %deskripsi string nadalist={'1 (siji)','2 (loro)','3 (telu)','4 (papat)','5(limo)','6 (enem)','7 (pitu)'}; %penentuan keluaran yy=nadalist(jmin) set(handles.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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
c. Tombol “exit”
Tombol “exit” atau keluar digunakan apabila user ingin mengakhiri program
pengenalan nada. Perintah program tombol “exit” sebagai berikut:
delete(figure(tobing_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
Pengenalan Nada Barung Pelog
4.2.1 Pengujian untuk Menentukan batasan Nilai Jarak yang Optimal
Pada pengujian ini dilakukan untuk menentukan batasan nilai jarak yang optimal.
Parameter yang digunakan untuk menentukan batas nilai ini menggunakan windowing
koefisien 50%, dan panjang DFT 256 yang mempunyai tingkat pengenalan yang baik.
Pengujian ini menggunakan 5 kali percobaan setiap nadanya dan dari 5 percobaaan setiap
nada tersebut akan mendapatkan nilai minimal. Setelah mendapatkan nilai minimal dari 5
kali percobaan setiap nada tersebut, nilai yang paling minimal dari ke tujuh nada tersebut
yang akan di kenali.
Tabel 4.1 Jarak Minimum pada percobaan
Percobaan Ke-
Nada
1 (siji) 2 (loro) 3 (telu) 4 (papat) 5 (limo) 6 (enem) 7 (pitu)
1 3.3283 194.9283 192.4405 205.9538 199.4625 212.5251 204.679
2 171.1315 6.6167 155.5431 191.4181 186.5284 193.9752 192.0757
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tabel 4.1 memperlihatkan dua percobaan, untuk selengkapnya dari 35 percobaan
dapat di lihat pada lampiran (L18). Dari tabel tersebut menunjukkan nilai minimum pada
percobaan 1 terdapat pada nada 1 (siji) jadi yang di kenali adalah nada 1(siji), pada
percobaan 2 nilai minimum terdapat pada nada 2 (loro) jadi yang dikenali adalah nada 2
(loro).
4.2.2 Pengujian Pengaturan Pengenalan Nada
pengujian untuk melihat seberapa besar tingkat pengenalan yang terjadi setiap
penentuan nada pada DFT dan windowing koefisien. Langkah – langkah pengujian yang
akan digunakan sebagai berikut:
1. Proses pengambilan nada input yang sudah direkam 5 kali setiap nada
2. Mengenali setiap nada yang di input menggunakan kombinasi nilai variasi yang
berbeda-beda dengan nilai:
a. DFT : 16,32,64,128,256
b. Windowing koefisien : 10%,20%,30%,40%,50%
3. Menentukan kombinasi nilai variasi pengenalan yang menghasilkan tingkat
pengenalan terbaik.
Pengujian dilakukan pada variasi yang maksimal yaitu DFT 256 dan windowing
koefisien 50%, di harapkan memperoleh hasil yang baik dan sesuai yang di
inginkan. Tabel 4.2 menunjukkan hasil pengujian :
Tabel 4.2 Hasil Pengenalan DFT:256 dan Windowing Koefisien:50%
Percobaan Ke-
Nada
1 (siji) 2 (loro) 3 (telu) 4 (papat) 5 (limo) 6 (enem) 7 (pitu)
1 O O O O O O O
2 O O O O O O O
3 O O O O O O O
4 O O O O O O O
5 O O O O O O O
6 O O O O O O O
7 O O O O O O O
8 O O O O O O O
9 O O O O O O O
10 O O O O O O O
11 O O O O O O O
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
12 O O O O O O O
13 O O O O O O O
14 O O O O O O O
15 O O O O O O O
16 O O O O O O O
17 O O O O O O O
18 O O O O O O O
19 O O O O O O O
20 O O O O O O O
21 O O O O O O O
22 O O O O O O O
23 O O O O O O O
24 O O O O O O O
25 O O O O O O O
26 O O O O O O O
27 O O O O O O O
28 O O O O O O O
29 O O O O O O O
30 O O O O O O O
31 O O O O O O O
32 O O O O O O O
33 O O O O O O O
34 O O O O O O O
35 O O O O O O O
Keterangan : O = dikenali benar
X = dikenali salah
Pada tabel 4.2 dapat di lihat dari 35 kali percobaan dengan 5 kali percobaan
pada setiap nada tidak terdapat nada yang di kenali secara salah.
Proses pengenalan nada barung pelog pada setiap pengujian memiliki
tingkat presentase proses pengenalan, perhitungan persamaan (4.1) dilakukan
untuk mendapatkan persentase pengenalan keseluruhan nada yang di ujikan setiap
sample nada.
Jumlah Pengenalan(%) = 𝑗𝑢𝑚𝑙𝑎 ℎ 𝑛𝑎𝑑𝑎 𝑦𝑎𝑛𝑔 𝑑𝑖 𝑘𝑒𝑛𝑎𝑙𝑖
𝑗𝑢𝑚𝑙𝑎 ℎ 𝑠𝑎𝑚𝑝𝑙 𝑒 𝑛𝑎𝑑𝑎x100% (4.1)
Dari perhitungan persamaan di atas dapat di ketahui tingkat pengenalan nada pada
pengaruh variasi DFT dan windowing koefisien. Hasil presentase tingkat
pengenalan nada secara keseluruhan terlihat pada gambar grafik 4.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar grafik 4.5
Dari gambar grafik 4.1 diatas bisa di lihat bahwa pengaruh variasi
windowing koefisien terhadap tingkat pengenalan nada sangat berarti dengan
semakin besar windowing koefisien maka hasil pengenalan semakin baik.
4.2.3 Pengujian Dengan Nada Masukan Gamelan Peking
Pada pengujian ini bertujuan untuk mengetahui tingkat pengenalan sistem dalam
mengetahui nada. Sistem diharapkan tidak dapat mengenali nada alat musik lain selain
nada Barung Pelog. Untuk pengujian program pengenalan ini digunakan gamelan peking
sebagai masukan nadanya. Ada pula langkah- langkah untuk melakukan percobaaan
sebagai berikut:
1. Menyiapkan gamelan Peking yang akan digunakan
2. Nada yang akan digunakan satu nada yaitu nada 1(siji) karena satu nada sudah
cukup untuk mengetahui tingkat pengenalan nada tersebut.
3. Menggunakan semua variasi DFT 16,32,64,128,256, dan semua variasi windowing
koefisien 10%,20%,30%,40% dan 50% untuk mengetahui tingkat semua variasi
pengenalan
4. Melihat hasil keluaran nada, apakah pengujian tersebut dapat mengenali benar atau
mengenali nada yang salah.
0
20
40
60
80
100
120
10% 20% 30% 40% 50%
Tin
gkat
pen
gen
alan
(%)
Windowing koefisien
Grafik Tingkat Pengenalan
DFT 16
DFT 32
DFT 64
DFT 128
DFT 256
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Setelah melakukan langkah- langkah diatas, hasil yang diperoleh sebagai berikut:
Tabel 4.3 Hasil pengujian dengan gamelan Peking
DFT
Windowing koefisien
10% 20% 30% 40% 50%
16 5 5 5 7 7
32 5 5 5 7 7
64 5 5 5 7 7
128 5 5 5 7 7
256 5 5 5 7 7
Dari keterangan table diatas Pada pengujian program penegenalan nada barung
pelog dengan masukan nada gamelan peking yaitu nada 1(siji) menghasilkan hasil nada
5(limo) dan 7(pitu) atau dikenali dengan salah. Dikarenakan nada. karakter suara dari
gamelan peking sudah berbeda.
Gambar 4.6 Gamelan Peking
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari percobaan dan pengujian sistem pengenalan nada barung pelog disimpulkan
sebagai berikut :
1. Implementasi dari sistem pengenalan nada barung pelog sudah bisa bekerja
dengan baik dan sesuai dengan perancangan. Program pengenalan nada barung
pelog sudah mampu untuk mengenali nada-nada dasar dari barung pelog yaitu
1(siji), 2(loro), 3(telu), (papat), 5(limo), 6(enem), 7(pitu).
2. Parameter pengenalan nada nilai windowing koefisien mempengaruhi tingkat
pengenalan nada. Semakin besar nilai DFT tingkat pengenalan nada secara
umum semakin baik. Semakin besar nilai windowing koefisien maka tingkat
pengenalan nada semakin tinggi atau baik.
3. Parameter optimal untuk tingkat pengenalan mencapai 100% pada nilai semua
DFT, dan windowing koefisien 50% yang dipilih.
5.2 Saran
Saran untuk pengembangan sistem pengenalan nada barung pelog adalah sebagai
berikut :
Pengembangan sistem yang mampu untuk mengenali segala jenis alat musik
tradisional, atau alat musik modern tidak hanya satu alat musik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
DAFTAR PUSTAKA
[1] Isworo Yogi W., 2014,“Pengenalan Nada gamelan kenong secara real time
Menggunakan Fungsi Jarak Chebyshev” , Universitas Sanata Dharma, Yogyakarta.
[2] -------, 2006, ki-demang.com: Situs Sutresna Jawa,
http://www.ki-demang.com/index.php/gambar-gamelan/602-11-saron diakses pada
tanggal 17 Januari 2015.
[3] Kim Jinho, 2013, “automatic pitch detection and shifting of musical tones in real
time”, boston,
[4] Ghea Ardy Prayogo W, 2010 “Pergeseran Frekuensi Dasar Sinyal Gamelan
Menggunakan Phase vocoder” ITS, Surabaya.
[5] Suwandi, 2011, Perancangan Program Aplikasi Absensi Pada Binus Learning
Communtiy SAC dengan menggunakan Hidden Markov Model, Program Ganda Teknik
Informatikadan Matematika, Bina Nusantara Jakarta,
[6] Eka Kartikasari, Y., 2006, Pembuatan Software Pembuka Program aplikasi Komputer
Berbasis Pengenalan Sinyal Suara, PENS-ITS, Surabaya.
[7] http://www.realkarachi.com/downloads/books/how-stuff-works/how-sound-cards-
work%28www.realkarachi.com%29.pdf diakses pada tanggal 20 Januari 2015.
[8] Putra Prabowo Hadi S., “Penggolongan Suara Berdasarkan Usia Dengan
Menggunakan Metode K-Means” Politeknik Elektronika Negeri Surabaya Institut
Teknologi Sepuluh Nopember Kampus ITS, Surabaya
[9] Cha, Sung-Hyuk, 2007, Comprehensive Survey on Distance/Similarity Measures
between Probability Density Function, Internasional Journal of Mathematical Models
and Methods in Applied Sciences,
[10] http://yudistira.lecture.ub.ac.id/files/2014/04/KLASIFIKASI-HURUF-KATAKANA-
DENGAN-METODE-TEMPLATE-MATCHING-CORRELATION.pdf diakses pada
tanggal 11 Februari 2015.
[11] http://www.realkarachi.com/downloads/books/how-stuff-works/how-sound-cards-
work%28www.realkarachi.com%29.pdf diakses pada tanggal 20 Januari 2015.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
[12] http://www.geniusnet.com/wSite/ct?xItem=16664&ctNode=145 diakses pada tanggal
20 Januari 2015.
[13] Niamaulidia, 2009 Pembuatan Pengenalan Sinyal Wicara Menggunakan Matlab.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1
PERCOBAAN
MENCARI SPEKTRUM FREKUENSI DARI
NADA ALAT MUSIK BARUNG PELOG
DENGAN MATLAB V.7
Tujuan:
1. Mengetahui frekuensi tertinggi pada nada barung pelog.
2. Mengetahui frekuensi sampling.
Variabel:
1. Frekuensi sampling yang digunakan 40000Hz,
2. Durasi perekaman yang digunakan sebesar 2 detik.
Listing Program
fs = 40000;%%fsampling 40000Hz
y = wavrecord (2*fs,fs,'double');%% 2 detik
wavwrite(y,fs,'sample2s2250Hz1.wav');
[y,fs]=wavread('sample2s2250Hz1.wav');
Y=fft(y,fs);
Spek= Y.* conj(Y);
f = fs*(0:(1/2*fs))/fs;
plot(f,Spek(1:(1/2*fs+1)));grid;%output
Hasil Plotting
Fs 40000
Nada 1 ( Ji ) Nada 2 ( Ro )
Frekuensi Frekuensi Frekuensi
Am
plitu
do
Am
plitu
do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
Nada 3 ( Lu ) Nada 4 ( Pat )
Nada 5 ( Mo ) Nada 6 ( Nem )
Nada7 ( Pi )
Frekuensi
Frekuensi
Frekuensi Frekuensi
Frekuensi
Am
plitu
do
Am
plitu
do
Am
plitu
do
Am
plitu
do
A
mp
litud
o
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Kesimpulan
1. Tidak terdapat harmonisa karena menggunakan frekuensi tinggi yaitu 40000Hz.
2. Frekuensi ( f ) pada nada 7 ( pi ) tinggi sebesar 1055Hz, dengan demikian berdasarkan
kriteria nyquist bila di gunakan frekuensi pencuplikan maka 2200Hz. Dengan demikian
maka frekuensi 2200Hz digunakan untuk mencari durasi perekaman.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
PERCOBAAN
MENCARI DURASI PEREKAMAN
UNTUK SISTEM PENGENALAN NADA BARUNG
PELOG DENGAN MATLAB V.7
Tujuan:
1. Mendapatkan durasi perekaman yang tepat untuk perekaman.
2. Mengetahui pengaruh durasi perekaman pada data sinyal yang terekam.
Variabel:
1. Frekuensi sampling yang digunakan 2200Hz.
2. Durasi perekaman yang digunakan sebesar 1 detik, 1,5 detik, 2 detik, 2,5 detik dan 3
detik.
Listing Program
clc
fs = 2200;%%fsampling 2200Hz
%y = wavrecord (fs,fs,'double');%% 1 detik
%wavwrite(y,fs,'sample1s2200Hzji.wav');
%[y,fs]=wavread('sample1s2200Hzji.wav');
%y = wavrecord (1.5*fs,fs,'double');%% 1,5 detik
%wavwrite(y,fs,'sample1s2200Hzji.wav');
%[y,fs]=wavread('sample1s2200Hzji.wav');
%y = wavrecord (2*fs,fs,'double');%% 2 detik
%wavwrite(y,fs,'sample2s2200Hzji.wav');
%[y,fs]=wavread('sample2s2200Hzji.wav');
%y = wavrecord (2.5*fs,fs,'double');%% 2,5 detik
%wavwrite(y,fs,'sample2s2200Hzji.wav');
%[y,fs]=wavread('sample2s2200Hzji.wav');
y = wavrecord (3*fs,fs,'double');%% 3 detik
wavwrite(y,fs,' sample3s2200Hzji.wav');
[y,fs]=wavread('sample3s2200Hzji.wav');
plot(y);grid;%output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
Hasil Ploting
1 Detik 1,5 Detik
2 Detik 2,5 Detik
0 500 1000 1500 2000 2500-8
-6
-4
-2
0
2
4
6x 10
-3
0 500 1000 1500 2000 2500 3000 3500-4
-3
-2
-1
0
1
2
3
4
5x 10
-3
0 500 1000 1500 2000 2500 3000 3500 4000 4500-4
-3
-2
-1
0
1
2
3
4x 10
-3
0 1000 2000 3000 4000 5000 6000-8
-6
-4
-2
0
2
4
6x 10
-3
Am
plitu
do
Am
plitu
do
A
mp
litud
o
Am
plitu
do
Sampel ke Sampel ke Sampel ke
Sampel ke Sampel ke
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
3 Detik
Kesimpulan
Untuk durasi perekaman dilihat dari 5 percobaan diatas dengan maksimal waktu 3 detik maka
untuk durasi perekaman menggunakan 2 detik sudah memenuhi untuk durasi perekaman,
dikarenakan untuk durasi waktu yang lebih dari 2 detik hasil plot sinyal tidak baik.
0 1000 2000 3000 4000 5000 6000 7000-3
-2
-1
0
1
2
3x 10
-3
Am
plitu
do
Sampel ke
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
LISTING PROGRAM
Program Utama
function varargout = tobing_progrm_meh_fixe(varargin) % TOBING_PROGRM_MEH_FIXE M-file for tobing_progrm_meh_fixe.fig % TOBING_PROGRM_MEH_FIXE, by itself, creates a new TOBING_PROGRM_MEH_FIXE or raises the existing % singleton*. % % H = TOBING_PROGRM_MEH_FIXE returns the handle to a new TOBING_PROGRM_MEH_FIXE or the handle to % the existing singleton*. % % TOBING_PROGRM_MEH_FIXE('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in TOBING_PROGRM_MEH_FIXE.M with the given input arguments. % % TOBING_PROGRM_MEH_FIXE('Property','Value',...) creates a new TOBING_PROGRM_MEH_FIXE or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before tobing_progrm_meh_fixe_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to tobing_progrm_meh_fixe_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help tobing_progrm_meh_fixe % Last Modified by GUIDE v2.5 15-Sep-2015 17:14:47 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @tobing_progrm_meh_fixe_OpeningFcn, ... 'gui_OutputFcn', @tobing_progrm_meh_fixe_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
% --- Executes just before tobing_progrm_meh_fixe is made visible. function tobing_progrm_meh_fixe_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to tobing_progrm_meh_fixe (see VARARGIN) % Choose default command line output for tobing_progrm_meh_fixe handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes tobing_progrm_meh_fixe wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = tobing_progrm_meh_fixe_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on selection change in popupmenu1. function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1 indeks=get(handles.popupmenu1,'Value'); %manggil nada switch indeks case 1 nada=1; case 2 nada=2; case 3 nada=3; case 4 nada=4; case 5 nada=5; case 6 nada=6; case 7 nada=7; case 8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
nada=8; case 9 nada=9; case 10 nada=10; case 11 nada=11; case 12 nada=12; case 13 nada=13; case 14 nada=14; case 15 nada=15; case 16 nada=16; case 17 nada=17; case 18 nada=18; case 19 nada=19; case 20 nada=20; case 21 nada=21; case 22 nada=22; case 23 nada=23; case 24 nada=24; case 25 nada=25; case 26 nada=26; case 27 nada=27; case 28 nada=28; case 29 nada=29; case 30 nada=30; case 31 nada=31; case 32 nada=32; case 33 nada=33; case 34 nada=34; case 35 nada=35; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
handles.nada=nada; guidata(hObject,handles); % --- Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
[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 axes(handles.axes1); plot (y) sound(10*y); % Normalisasi % y=y/max(y); %pemotongan sinyal b0=0.2; b1=find(y>b0 | y<-b0); y(1:b1(1))=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
%axes(handles.axes2); %plot (y) %frame blocking frame=handles.vardft; frame; for p=1:frame; f(p)=y(p); end %axes(handles.axes3); %plot (f); %windowing hamming w=hamming(frame); for p=1:frame; wo(p)=f(p)*w(p); %wo(p)==> windowing hamming (p) end %axes(handles.axes4); %plot (wo); %ekstraksi ciri DFT g=abs(dftwo(wo)); axes(handles.axes5); bar(g); %windowing koefisien wk=handles.koefisien; h=frame; c=(wk/100)*h; s=floor(c); ya=g(1:s); ya=ya(:); axes(handles.axes6); bar (ya); %data base if (frame==16)&(wk==10) load xciri1610 elseif (frame==16)&(wk==20) load xciri1620 elseif (frame==16) & (wk==30) load xciri1630 elseif (frame==16) & (wk==40) load xciri1640 elseif (frame==16) & (wk==50) load xciri1650 elseif (frame==32) & (wk==10) load xciri3210
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
elseif (frame==32) & (wk==20) load xciri3220 elseif (frame==32) & (wk==30) load xciri3230 elseif (frame==32) & (wk==40) load xciri3240 elseif (frame==32) & (wk==50) load xciri3250 elseif (frame==64) & (wk==10) load xciri6410 elseif (frame==64) & (wk==20) load xciri6420 elseif (frame==64) & (wk==30) load xciri6430 elseif (frame==64) & (wk==40) load xciri6440 elseif (frame==64) & (wk==50) load xciri6450 elseif (frame==128) & (wk==10) load xciri12810 elseif (frame==128) & (wk==20) load xciri12820 elseif (frame==128) & (wk==30) load xciri12830 elseif (frame==128) & (wk==40) load xciri12840 elseif (frame==128) & (wk==50) load xciri12850 elseif (frame==256) & (wk==10) load xciri25610 elseif (frame==256) & (wk==20) load xciri25620 elseif (frame==256) & (wk==30)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
load xciri25630 elseif (frame==256) & (wk==40) load xciri25640 elseif (frame==256) & (wk==50) load xciri25650 end %perhitungan jarak for n=1:7 jaraklist(n)=jaraksquaredchord(ya,z(:,n)); end jaraklist %cari nilai minimal jmin=find(min(jaraklist)==jaraklist); %deskripsi string nadalist={'1 (siji)','2 (loro)','3 (telu)','4 (papat)','5(limo)','6 (enem)','7 (pitu)'}; %penentuan keluaran yy=nadalist(jmin) %end set(handles.text10,'String',yy); % --- Executes on selection change in popupmenu2. function popupmenu2_Callback(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu2 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu2 indeks=get(handles.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; guidata(hObject,handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
% --- Executes during object creation, after setting all properties. function popupmenu2_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on selection change in popupmenu3. function popupmenu3_Callback(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu3 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu3 indeks=get(handles.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; guidata(hObject,handles); % --- Executes during object creation, after setting all properties. function popupmenu3_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L16
set(hObject,'BackgroundColor','white'); end % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(figure(tobing_progrm_meh_fixe)); % --- Executes on key press over popupmenu1 with no controls selected. function popupmenu1_KeyPressFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- If Enable == 'on', executes on mouse press in 5 pixel border. % --- Otherwise, executes on mouse press in 5 pixel border or over popupmenu1. function popupmenu1_ButtonDownFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
Program Windowing Hamming
function w=hammingx(N) n=[0:N-1]'; w=0.54-0.46*cos((2*pi*n)/(N-1));
Program DFT
function g=dftwo(wo) %hitung panjang wo n=length(wo); %hitung dft g=zeros(1,n); for k=1:n for m=1:n w=exp(-1i*2*pi*(k-1)*(m-1)/n); a=wo(m)*w; g(k)=g(k)+a; end end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L17
Program Fungsi Jarak Squared Chord
function js=jaraksquaredchord(p,q); a1=(sqrt(p)); a2=(sqrt(q)); a3=(a1-a2); js=sum(a3.^2);
Program Membuat Data Base
function dbxciriok frame=256 %panjang frame blocking wk=50 z1=zciri('ji_',frame,wk); z2=zciri('ro_',frame,wk); z3=zciri('lu_',frame,wk); z4=zciri('pa_',frame,wk); z5=zciri('mo_',frame,wk); z6=zciri('ne_',frame,wk); z7=zciri('tu_',frame,wk); z=[z1 z2 z3 z4 z5 z6 z7] save xciri25650 z %============================================= % INTERNAL FUNCTION %============================================= function z=zciri (nada,frame,wk) x1=wavread ([nada '1.wav']);y1=xcirixy (x1,frame,wk); x2=wavread ([nada '2.wav']);y2=xcirixy (x2,frame,wk); x3=wavread ([nada '3.wav']);y3=xcirixy (x3,frame,wk); x4=wavread ([nada '4.wav']);y4=xcirixy (x4,frame,wk); x5=wavread ([nada '5.wav']);y5=xcirixy (x5,frame,wk); x6=wavread ([nada '6.wav']);y6=xcirixy (x6,frame,wk); x7=wavread ([nada '7.wav']);y7=xcirixy (x7,frame,wk); x8=wavread ([nada '8.wav']);y8=xcirixy (x8,frame,wk); x9=wavread ([nada '9.wav']);y9=xcirixy (x9,frame,wk); x10=wavread ([nada '10.wav']);y10=xcirixy (x10,frame,wk); z=[(y1+y2+y3+y4+y5+y6+y7+y8+y9+y10)/10]; %=============================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L18
Tabel Nilai Jarak Optimal
Tabel di bawah ini digunakan untuk menentukan jarak minimum dari setiap nada.
pengujian dilakukan dengan menggunakan panjang DFT 256, dan windowing koefisien
50%. Pengujian dilakukan sebanyak 5 kali di setiap nadanya.
Percobaan Ke-
Nada
1 (siji) 2 (loro) 3 (telu) 4 (papat) 5 (limo) 6 (enem) 7 (pitu)
1 3,3283 194,9283 192,4405 205,9538 199,4625 212,5251 204,679
2 3,0336 198,4893 197,5899 213,3069 206,166 219,0017 211,6375
3 2,3545 201,29 205,5751 219,5278 209,4328 224,9389 218,7589
4 3,5131 194,8326 195,8741 210,1173 206,1402 216,8315 210,1845
5 3,7424 200,4524 204,1529 217,7186 212,156 223,2687 219,9862
6 171,1315 6,6167 155,5431 191,4181 186,5284 193,9752 192,0757
7 189,6227 3,4663 180,6133 209,8031 203,1482 213,2425 210,2371
8 187,4177 1,9954 178,7692 211,1685 205,0126 214,6891 213,3094
9 180,044 5,097 176,607 201,9387 199,2252 207,0282 204,1901
10 174,175 7,9904 142,7103 193,6378 190,5675 198,9445 198,0968
11 203,6358 190,8636 10,6374 219,2555 206,145 228,5357 225,7863
12 202,3926 188,0466 10,0177 206,0076 200,8182 216,7753 216,3338
13 201,4283 195,0422 9,0272 208,3772 198,3645 215,6439 214,8518
14 193,6922 186,1806 6,8899 201,562 196,8057 212,0542 211,6781
15 191,7292 190,1831 7,3175 195,745 191,9772 205,4144 205,5779
16 209,805 215,5147 200,8403 3,6873 191,1733 211,9649 204,2262
17 201,8863 207,2575 190,9411 4,3153 180,0938 196,0103 188,761
18 213,7956 218,4685 202,7494 2,738 190,9829 206,3473 199,3675
19 207,3468 213,2783 197,8525 2,5976 189,7997 209,5347 202,5428
20 207,2718 212,2116 197,7741 2,2755 190,0018 207,1222 201,7566
21 192,2712 199,1486 185,4459 174,2214 8,7194 177,3043 190,2218
22 179,0979 181,0648 166,3668 164,1145 8,8959 162,7119 168,4751
23 190,4382 192,1241 181,1704 177,4229 11,3221 177,9125 187,1188
24 174,7752 177,4582 162,3222 164,8834 10,5684 162,3333 169,4423
25 180,6751 180,2736 171,6554 167,9855 10,1665 169,148 173,6785
26 206,8789 209,4439 197,4618 199,6907 184,6833 5,298 204,0632
27 212,8341 213,6419 200,1792 204,1804 191,8487 5,1067 198,3408
28 209,5598 208,2344 191,2848 201,7025 185,9957 4,7766 194,5556
29 202,516 210,3563 194,2061 195,0684 178,457 6,0588 194,9987
30 192,7203 198,5197 181,5679 188,0609 177,3114 7,0481 192,8215
31 178,8283 183,4742 167,6196 172,9519 156,3626 167,5302 10,6113
32 163,0537 174,6528 155,3227 163,3058 151,0154 157,614 11,1111
33 157,9808 167,9098 152,4818 159,6471 147,9928 157,3198 14,2752
34 157,4362 168,5261 152,2891 156,5916 148,7238 150,408 19,4478
35 160,9331 163,8309 149,73 153,0953 147,6617 154,1232 13,5405
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L19
Nilai minimum pada setiap nada yang telah didapatkan digunakan sebagai nilai
untuk pengenalan nada tersebut dengan perintah pencarian nilai terkecil pada program.
Nilai jarak ini bias berubah menurut variasi yang digunakan. Pada penentuan nilai ini
digunakan nilai maksimal pada variasi DFT dan windowing koefisien dikarenakan pada
nilai tersebut dapat mendeteksi secara baik dan maksimal.
Tabel Tingkat Pengenalan
Tabel dibawah ini menunjukkan tabel pengujian nada secara keseluruhan. Data
tabel tersebut di peroleh dengan menjalankan program yang telah dibuat. Hasil pengujian
pengenalan nada pada berbagai variasi panjang DFT dan variasi windowing koefisien.
Hasil yang di tampilkan : tingkat pengenalan dalam (%)
Windowing DFT
koefisien 16 32 64 128 256
10% 14,28571 17,14286 17,14286 20 25,71429
20% 17,14286 20 22,85714 25,71429 28,57143
30% 45,71429 45,71429 48,57143 54,28571 54,28571
40% 77,14286 74,28571 80 85,71429 85,71429
50% 100 100 100 100 100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI