pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform
TRANSCRIPT
i
TUGAS AKHIR
PENGENALAN NADA BELIRA
MENGGUNAKAN ANALISIS AMPLITUDO PADA
RANAH DISCRETE COSINE TRANSFORM
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Disusun oleh :
ZEMMY SAPUTRA
NIM : 135114013
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
BELIRA TONE RECOGNITION USING AMPLITUDE
ANALYSIS IN THE DISCRETE COSINE
TRANSFORM DOMAIN
In a partial fulfillment of the requirements
for the degree of Sarjana Teknik
in Electrical Engineering
Created by:
ZEMMY SAPUTRA
Student’s Number : 135114013
ELEKTRICAL ENGINEERING STUDY PROGRAM
DEPARTEMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
Rencana Tuhan S’lalu Indah Pada
Waktunya!
Skripsi ini kupersembahkan kepada....
Yesus kristus yang Menyertaiku slalu hingga Akhir,
Papa dan Mama tersayang,
Serta Keluarga dan sahabat-sahabat,
Teknik Elektro Universitas Sanata Dharma tercinta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Alat musik adalah salah satu media untuk mengekspresikan diri. Alat musik
memiliki berbagai suara atau nada yang berbeda. Namun indera pendengaran manusia
tidak terlalu peka terhadap suara yang dihasilkan oleh alat musik, sehingga kebanyakan
orang tidak bisa mengetahui nada yang dikeluarkan oleh alat musik. Penulis akan membuat
sebuah sistem pengenalan nada alat musik, yaitu alat musik belira. Pada umunya semakin
besar frekuensi dasar gelombang bunyi, semakin tinggi nada yang dihasilkan oleh sebuah
alat musik belira.
Penulis menggunakan microphone dalam sistem pengenalan yang berfungsi untuk
merekam nadanya dan komputer untuk pengolahannya. Sistem ini akan mencari nilai
maksimum di urutan ke berapa pada DCT domain, kemudian penulis akan menganalisis
nilai maksimum tersebut untuk mengetahui nada yang dimainkan. Nilai maksimum ini
digunakan sebagai penentuan teks nadanya dengan hasil yang ditampilkan berupa plot
hasil rekam, indeks nilai maksimum, dan teks nada yang dikenali.
Sistem pengenalan ini berjalan sesuai dengan perancangan, dan dapat menampilkan
plot hasil rekam, indeks nilai maksimum dan teks hasil pengenalan nada. Dalam pengujian
yang telah dilakukan, sistem dapat mengenali semua nada dengan benar saat frame
blocking 128, 256, 512, dan 1024.
Kata kunci : Belira, DCT (Discrete Cosine Transform), Look Up Table, Pengenalan Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Musical instruments are one of the media to express themselves. The instrument
has different sounds or tones. The sense of human hearing is not very sensitive to the
sound produced by musical instruments, so most people can not know the tone Produced
by musical instruments. In this research will be made the recognition of the tone of a
musical instrument, namely belira. In general, the greater the basic frequency of sound
waves, the higher the tone generated by a belira musical instrument.
In this recognition system, use a microphone is used to record it’s tone and a
computer is used for processing. This system a find the maximum index value in order to
calculate on the DCT domain signal, then will be analyzed to be able to recognize the tone
that is played. The value of this maximum is used to determine the text of the tone and the
results is shown in the form of record plot, maximum index value and recognizable tone
tone
This recognition system work according to the design, and can display the
recording plot, maximum index value, and tone recognition text. In the tests that have been
done, the system can recognize all the tones correctly when frame blocking 128, 256, 512,
and 1024.
Keywords: Belira, DCT (Discrete Cosine Transform), Look Up Table, Tone Introduction
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus karena atas berkat dan pernyataan-
Nya penulis dapat menyelesaikan laporan tugas akhir ini dengan baik.
Penelitian yang berupa tugas akhir ini merupakan salah satu syarat bagi mahasiswa
Jurusan Teknik Elektro untuk memperoleh gelar Sarjana Teknik di Universitas Sanata
Dharma Yogyakarta. Penelitian ini dapat diselesaikan dengan baik atas bantuan, gagasan
dan dukungan dari berbagai pihak. Oleh karena itu, penulus ingin mengucapkan
terimakasih kepada :
1. Tuhan Yesus Kristus atas berkat pernyataan-Nya sehingga tugas akhir ini selesai
dengan baik.
2. Drs. Johannes Eka Priyatma, M.Sc., Ph.D. selaku Rektor Universitas Sanata
Dharma yang telah memberikan kesempatan penulis untuk menimba ilmu dan
berkembang.
3. Sudi Mungkasi, S.si, M.Math.Sc., Ph.D., selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma.
4. Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma.
5. Dr. Linggo Sumarno, M.T., selaku dosen pembimbing laporan Tugas Akhir yang
telah memberikan saran, waktu, dan masukan dalam proses pembuatan laporan
Tugas Akhir ini dengan penuh pengertian dan kesabaran.
6. Dr. Ir. Iswanjono, M.T., selaku dosen pembimbing akademik yang telah
memberikan semangat, saran, dan doa bagi kelancaran semua proses pengerjaan
laporan Tugas Akhir Mahasiswa Teknik Elektro 2013.
7. Wiwien Widyastuti M.T. dan Dr. Damar Widjaja, S.T., M.T., selaku dosen penguji
yang telah memberikan masukan, bimbingan, saran untuk merivisi laporan Tugas
Akhir ini.
8. Segenap dosen Fakultas Sains dan Teknologi yang telah membagikan ilmu selama
penulis menempuh Pendidikan di Program Studi Teknik Elektro, Fakultas Sains
dan Teknologi, Universitas Sanata Dharma.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
Halaman
Halaman Sampul (Bahasa Indonesia) .......................................................................... i
Halaman Sampul (Bahasa Inggris) ............................................................................... ii
Halaman Persetujuan ..................................................................................................... iii
Halaman Pengesahan ..................................................................................................... iv
Pernyataan Keaslian Karya ........................................................................................... v
Halaman Persembahan dan Motto Hidup ................................................................... vi
Lembar Pernyataan Persetujuan Publikasi ................................................................. vii
Intisari ............................................................................................................................. viii
Abstract ........................................................................................................................... ix
Kata Pengantar ............................................................................................................... x
Daftar Isi .......................................................................................................................... xii
Daftar Gambar ............................................................................................................... xv
Daftar Tabel .................................................................................................................. xviii
BAB I PENDAHULUAN
1.1. Latar Belakarng ......................................................................................................... 1
1.2. Tujuan dan Manfaat ................................................................................................... 2
1.3. Batasan Masalah ........................................................................................................ 2
1.4. Metodologi Penelitian ............................................................................................... 3
BAB II DASAR TEORI
2.1. Belira ......................................................................................................................... 4
2.2. Microphone ............................................................................................................... 5
2.3. Pengenalan Pola ......................................................................................................... 5
a. Pengenalan Pola Secara Statistik ........................................................................... 6
b. Pengenalan Pola Secara Sintatik ........................................................................... 6
c. Template Matching ................................................................................................ 7
d. Neural Network ..................................................................................................... 7
2.4. Sampling .................................................................................................................... 7
2.5. Preprocessing ............................................................................................................ 8
2.6. Normalisasi ................................................................................................................ 8
2.7. Pemotongan Sinyal .................................................................................................... 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.8. Frame Blocking ......................................................................................................... 11
2.9. Hamming Window ..................................................................................................... 12
2.10. Discrete Cosine Transform (DCT) .......................................................................... 14
BAB III PERANCANGAN
3.1. Sistem Pengenalan Nada Ala Musik Belira ............................................................... 17
a. Belira ..................................................................................................................... 17
b. Microphone ........................................................................................................... 18
c. Proses Perekaman .................................................................................................. 18
d. Proses Pengenalan Nada ........................................................................................ 18
3.2. Look Up Table ........................................................................................................... 19
3.3. Nada Uji ..................................................................................................................... 19
3.4. Perancangan Tampilan Program GUI Matlab ........................................................... 20
3.5. Perancangan Sistem Software .................................................................................... 21
3.5.1. Rekam .............................................................................................................. 22
3.5.2. Normalisasi ...................................................................................................... 23
3.5.3. Pemotongan Sinyal .......................................................................................... 24
3.5.4. Frame Blocking ............................................................................................... 25
3.5.5. Hamming Window ........................................................................................... 26
3.5.6. Discrete Cosine Transform (DCT) .................................................................. 27
3.5.7. Pencarian Nilai Indeks Maksimum ................................................................. 28
3.5.8. Penentuan Teks Nada ...................................................................................... 29
3.5.9. Keluaran (Teks) ............................................................................................... 33
3.6. Analisa Perfoma ........................................................................................................ 34
BAB IV PEMBAHASAN
4.1. Langkah-langkah untuk Menjalankan Program Pengenalan Nada............................ 35
4.2. Penjelasan Sintaks Program Pengenalan Nada .......................................................... 37
a. Popupmenu ............................................................................................................ 37
b. Pushbutton,Axes, dan Static Text .......................................................................... 38
4.3. Nilai Maksimum ........................................................................................................ 47
4.4. Analisa Perfoma ........................................................................................................ 51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
BAB V PENUTUP
5.1. Kesimpulan ............................................................................................................... 56
5.2. Saran .......................................................................................................................... 56
DAFTAR PUSTAKA ..................................................................................................... 57
LAMPIRAN
Lampiran 1 Percobaan Untuk Menentukan Range Indeks Pada Look Up Table Masing-
Masing Nada Belira ..................................................................................... L-1
Lampiran 2 Listing Program Pengambilan Nada Uji ................................................... L-24
Lampiran 3 Proses Menyeluruh Pengenalan Nada Alat Musik Belira Dalam Bentuk
Flowchart .................................................................................................. L-25
Lampiran 4 Listing Program Pengenalan Nada Belira ................................................. L-28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Halaman
Gambar 2.1.Belira............................................................................................................. 4
Gambar 2.2. Microphone .................................................................................................. 5
Gambar 2.3. Contoh Sinyal Suara Belira melalui Proses Sampling ................................. 8
Gambar 2.4. Contoh Sinyal Suara Belira melalui Proses Nomalisasi .............................. 9
Gambar 2.5. Contoh Sinyal Suara Belira melalui Proses Pemotongan Silence ............... 10
Gambar 2.6. Contoh Sinyal suara Belira melalui Proses Pemotongan Transisi ............... 11
Gambar 2.7. Contoh Frame Blocking ............................................................................... 11
Gambar 2.8. Contoh Pengambilan Sinyal untuk Frame Blocking ................................... 12
Gambar 2.9. Contoh Hasil Frame Blocking ..................................................................... 12
Gambar 2.10. Contoh Sinyal Suara Belira melalui Proses Hamming window ................. 14
Gambar 2.11. Contoh Sinyal Nada Pada DCT Domain ................................................... 16
Gambar 3.1. Diagram Blok Sistem Pengenalan Nada ...................................................... 17
Gambar 3.2. Diagram Alur Proses Pengenalan Nada ....................................................... 18
Gambar 3.3. Diagram Blok Pencarian Nilai Indeks Maksimum ..................................... 19
Gambar 3.4. Diagram Blok Proses Pengambilan Nada Uji .............................................. 19
Gambar 3.5. Tampilan Utama Program Pengenalan Nada ............................................... 20
Gambar 3.6. Diagram Alur Program Pengenalan Nada Belira......................................... 21
Gambar 3.7. Diagram Alur Proses Perekaman ................................................................. 22
Gambar 3.8. Diagram Alur Proses Normalisasi ............................................................... 23
Gambar 3.9. Diagram Alur Proses Pemotongan sinyal .................................................... 24
Gambar 3.10. Diagram Alur Proses Frame Blocking ....................................................... 25
Gambar 3.11. Diagram Alur Proses Hamming Window ................................................... 26
Gambar 3.12. Diagram Alur Proses DCT......................................................................... 27
Gambar 3.13. Diagram Alur Pencarian Nilai Indeks Maksimum .................................... 28
Gambar 3.14. Diagram Alur Penentuan Teks Nada ......................................................... 29
Gambar 3.15. Diagram Alur Proses Menampilkan Teks Keluaran ................................. 33
Gambar 4.1. Tampilan Utama Program Pengenalan Nada ............................................... 36
Gambar 4.2. Tampilan Hasil Pengenalan Nada Belira ..................................................... 36
Gambar 4.3. Sintaks Program Memilih Frame Blocking ................................................. 37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 4.4. Sintaks Program Proses Perekaman ............................................................ 38
Gambar 4.5. Sintaks Program Menampilkan Plot Sinyal DCT ........................................ 39
Gambar 4.6. Sintaks Program Menampilkan Teks Nada ................................................. 40
Gambar 4.7. Sintaks Program Pussbutton Clear .............................................................. 46
Gambar 4.8. Sintaks Program Pussbutton Selesai ............................................................ 47
Gambar 4.9. Grafik Pengaruh Perubahan Nilai Frame Blocking ..................................... 52
Gambar 4.10. Contoh Sinyal Nada E terbaca nada E pada DCT Domain Frame
Blocking 16 ....................................................................................................................... 53
Gambar 4.11. Contoh Sinyal Nada F Terbaca Nada E pada DCT Domain Frame
Blocking 16 ....................................................................................................................... 53
Gambar 4.12. Contoh Sinyal Nada E Terbaca Nada E pada DCT Domain Frame
Blocking 32 ....................................................................................................................... 53
Gambar 4.13. Contoh Sinyal Nada F Terbaca Nada E pada DCT Domain Frame
Blocking 32 ...................................................................................................................... 53
Gambar 4.14. Contoh Sinyal Nada E Terbaca Nada E pada DCT Domain Frame
Blocking 64 ....................................................................................................................... 54
Gambar 4.15. Contoh Sinyal Nada F Terbaca Nada E pada DCT Domain Frame
Blocking 64 ....................................................................................................................... 54
Gambar 4.16. Contoh Sinyal Nada E Terbaca Nada E pada DCT Domain Frame
Blocking 128 .................................................................................................................... 55
Gambar 4.17. Contoh Sinyal Nada F Terbaca Nada F pada DCT Domain Frame
Blocking 128 ..................................................................................................................... 55
Lampiran
Halaman
Gambar L1.1. Sintak Program Mencari Nilai Range Untuk Setiap Look Up Table ........ L-1
Gambar L1.2. Sinyal Nada C1 Pada DCT Domain Frame Blocking 16 .......................... L-2
Gambar L1.3. Sinyal Nada C2 Pada DCT Domain Frame Blocking 16 .......................... L-3
Gambar L1.4. Sinyal Nada C3 Pada DCT Domain Frame Blocking 16 .......................... L-3
Gambar L1.5. Sinyal Nada C1 Pada DCT Domain Frame Blocking 32 .......................... L-5
Gambar L1.6. Sinyal Nada C2 Pada DCT Domain Frame Blocking 32 .......................... L-6
Gambar L1.7. Sinyal Nada C3 Pada DCT Domain Frame Blocking 32 .......................... L-6
Gambar L1.8. Sinyal Nada C1 Pada DCT Domain Frame Blocking 64 .......................... L-8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar L1.9. Sinyal Nada C2 Pada DCT Domain Frame Blocking 64 .......................... L-9
Gambar L1.10. Sinyal Nada C3 Pada DCT Domain Frame Blocking 64 ........................ L-9
Gambar L1.11. Sinyal Nada C1 Pada DCT Domain Frame Blocking 128 .................... L-11
Gambar L1.12. Sinyal Nada C2 Pada DCT Domain Frame Blocking 128 .................... L-12
Gambar L1.13. Sinyal Nada C3 Pada DCT Domain Frame Blocking 128 .................... L-12
Gambar L1.14. Sinyal Nada C1 Pada DCT Domain Frame Blocking 256 .................... L-14
Gambar L1.15. Sinyal Nada C2 Pada DCT Domain Frame Blocking 256 .................... L-15
Gambar L1.16. Sinyal Nada C3 Pada DCT Domain Frame Blocking 256 .................... L-15
Gambar L1.17. Sinyal Nada C1 Pada DCT Domain Frame Blocking 512 .................... L-17
Gambar L1.18. Sinyal Nada C2 Pada DCT Domain Frame Blocking 512 .................... L-18
Gambar L1.19. Sinyal Nada C3 Pada DCT Domain Frame Blocking 512 .................... L-18
Gambar L1.20. Sinyal Nada C1 Pada DCT Domain Frame Blocking 1024 .................. L-20
Gambar L1.21. Sinyal Nada C2 Pada DCT Domain Frame Blocking 1024 .................. L-21
Gambar L1.22. Sinyal Nada C3 Pada DCT Domain Frame Blocking 1024 .................. L-21
Gambar L2.1. Sintaks Program Pengambilan Nada Uji ................................................. L-24
Gambar L3.1. Flowcart Pengenalan Nada ..................................................................... L-25
Gambar L3.2. Contoh Sinyal Nada C Belira .................................................................. L-25
Gambar L3.3. Contoh Sinyal Normalisasi Nada C Belira ............................................. L-25
Gambar L3.4. Contoh Pemotongan Sinyal Bagian Silence Nada C Belira .................. L-26
Gambar L3.5. Contoh Pemotongan Sinyal Bagian Transisi Nada C Belira .................. L-26
Gambar L3.6. Contoh Sinyal Nada C Belira saat Proses Frame Blocking ................... L-26
Gambar L3.7. Contoh Hasil Sinyal Nada C Belira Setelah Proses Hamming Window
........................................................................................................................................ L-27
Gambar L3.8. Contoh Sinyal Nada C Belira Pada DCT Domain ................................. L-27
Gambar L4.1. Sintaks Program Pengenalan Nada Pada GUI Matlab ............................ L-28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR TABEL
Halaman
Tabel 2.1. Contoh Pengenalan Pola .................................................................................. 6
Tabel 3.1. Keterangan Tampilan Utama GUI Matlab ...................................................... 20
Tabel 3.2. Look Up Table untuk Frame Blocking 16 ....................................................... 30
Tabel 3.3. Look Up Table untuk Frame Blocking 32 ....................................................... 31
Tabel 3.4. Look Up Table untuk Frame Blocking 64 ....................................................... 31
Tabel 3.5. Look Up Table untuk Frame Blocking 128 ..................................................... 31
Tabel 3.6. Look Up Table untuk Frame Blocking 256 ..................................................... 32
Tabel 3.7. Look Up Table untuk Frame Blocking 512 ..................................................... 32
Tabel 3.8. Look Up Table untuk Frame Blocking 16 ....................................................... 32
Tabel 4.1. Look Up Table untuk Frame Blocking 16 ....................................................... 47
Tabel 4.2. Look Up tabele untuk Frame Blocking 32 ...................................................... 48
Tabel 4.3. Look Up Table untuk Frame Blocking 64 ....................................................... 48
Tabel 4.4. Look Up Table untuk Frame Blocking 128...................................................... 49
Tabel 4.5. Look Up Table untuk Frame Blocking 256 ..................................................... 49
Tabel 4.6. Look Up Table untuk Frame Blocking 512 ..................................................... 50
Tabel 4.7. Look Up TableFrame Blocking 1024 .............................................................. 50
Tabel 4.8. Persentase Hasil Pengujian setiap Frame Blocking......................................... 51
Tabel 4.9. Pengaruh Perubahan Nilai Frame Blocking .................................................... 52
Lampiran
Halaman
Tabel L1.1. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table dengan
Frame Blocking 16 ........................................................................................................... L-4
Tabel L1.2. Proses Penentuan Range untuk Look Up Table dengan Frame Blocking 16
.......................................................................................................................................... L-4
Tabel L1.3. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table dengan
Frame Blocking 32 ........................................................................................................... L-7
Tabel L1.4. Proses Penentuan Range untuk Look Up Table dengan Frame Blocking 32
.......................................................................................................................................... L-7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
Tabel L1.5. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table dengan
Frame Blocking 64 ......................................................................................................... L-10
Tabel L1.6. Proses Penentuan Range untuk Look Up Table dengan Frame Blocking 64
........................................................................................................................................ L-10
Tabel L1.7. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table dengan
Frame Blocking 128 ....................................................................................................... L-13
Tabel L1.8. Proses Penentuan Range untuk Look Up Table dengan Frame Blocking 128
........................................................................................................................................ L-13
Tabel L1.9. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table dengan
Frame Blocking 256 ....................................................................................................... L-16
Tabel L1.10. Proses Penentuan Range untuk Look Up Table dengan Frame Blocking 256
........................................................................................................................................ L-16
Tabel L1.11. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table dengan
Frame Blocking 512 ....................................................................................................... L-19
Tabel L1.12. Proses Penentuan Range untuk Look Up Table dengan Frame Blocking 512
........................................................................................................................................ L-19
Tabel L1.13. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table dengan
Frame Blocking 1024 ..................................................................................................... L-22
Tabel L1.14. Proses Penentuan Range untuk Look Up Table dengan Frame Blocking 1024
........................................................................................................................................ L-22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Musik merupakan adalah ungkapan untuk mengekspresikan diri atau kreatifitas
menggunakan sebuah alat musik yang menghasilkan bunyi ataupun suara. Drum Band
merupakan salah satu jenis musik dengan gabungan beberapa jenis alat musik. Alat musik
yang dimainkan dalam drum band salah satunya adalah belira. Belira merupakan jenis alat
musik yang dimainkan dengan cara dipukul dan terdiri dari potongan – potongan besi
dengan ukuran yang berbeda [1]. Tinggi rendahnya nada belira ditentukan oleh frekuensi
dasar gelombang bunyi. Semakin besar frekuensi dasar gelombang bunyi, maka semakin
tinggi nada yang dihasilkan.
Telinga merupakan indera manusia yang berfungsi untuk menangkap dan
mendengarkan bunyi atau suara yang ada disekitar termasuk suara musik. Dalam
kehidupan nyata indera pendengaran manusia tidak terlalu peka terhadap bunyi atau suara,
termasuk suara yang dihasilkan oleh alat musik dan tidak mengetahui pasti nada apa yang
dimainkan ,terkecuali pemusik profesional.
Sebelumnya sudah ada penelitian yang telah dilakukan untuk pengenalan nada alat
musik belira, yang pertama adalah pengenalan nada belira menggunakan “Analisis
Amplitudo Pada Ranah Frekuensi” [2] dan yang kedua adalah pengenalan nada belira
menggunakan “Ekstraksi Ciri DCT (Discrete Cosine Transform) dan Similaritas Kosinus”
[3]. Penelitian yang telah dilakukan sebelumnya sudah dapat mengenali nada belira dengan
baik, namun masih ada kekurangan untuk proses pengenalannya. Penelitian pertama
memiliki proses yang cukup lama untuk sistem pengenalan nadanya karena diperlukan
pencarian nilai frekuensi (hertz) ke berapa dari sinyal suara untuk menentukan keluaran
dari alat musik belira. Selanjutnya untuk penelitian yang kedua sistem pengenalan nadanya
baru bisa mengenali nada belira pada koefisien 64 ,128, dan 256. Penelitian ini
menggunakan koefisien 16, 32, 64, 128, dan 256.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Berdasarkan penelitian yang telah dilakukan sebelumnya, penulis ingin membuat
sistem pengenalan nada dengan metode yang berbeda yaitu menggunakan metode analisis
amplitudo pada ranah DCT (Discrete Cosine Transform). Penelitian ini menggunakan
DCT untuk mengubah sinyal menjadi frekuensi dasarnya yang kemudian akan di analisis
dengan mencari nilai-nilai maksimumnya. Penulis menggunakan lebih dari satu look up
table untuk penentuan keluarannya, sehingga diharapkan sistem pengenalan dapat
mengenali secara akurat nada dasar dari belira C , D , E , F , G , A , B , C > . Nada – nada
yang dimainkan akan dibandingkan dengan nada-nada yang telah diambil sebelumnya
untuk database dan tersimpan pada sistem tesebut. Pemrograman sistem ini menggunakan
software Matlab dan GUI Matlab sebagai interface user.
1.2. Tujuan Dan Manfaat
Tujuan dari penulisan tugas akhir ini adalah menghasilkan sistem pengenalan nada
alat musik belira menggunakan analisis amplitudo pada ranah DCT secara real time.
Manfaat dari penelitian ini adalah sebagai aplikasi atau alat bantu sehingga
memudahkan untuk masyarakat yang baru belajar tentang alat musik terutama belira,
dengan mengetahui nada dasar, yaitu : C , D , E , F , G , A , B , C > .
1.3. Batasan Masalah
Pada perancangan sistem pengenalan nada alat musik belira ini terdiri dari software
dan hardware. Hardware berfungsi untuk nada masukan yang dimainkan pada alat musik
belira, sedangkan software berfungsi untuk proses pengolahan data nada dari belira.
Penulis menetapkan beberapa batasan masalah dalam proses penulisan penelitian ini, yaitu:
a. Alat musik belira.
b. Nada Belira yang digunakan adalah C , D , E , F , G , A , B , C > .
c. Cara memukul sama seperti memainkan alat musik belira.
d. Jarak Microphone 15 cm dari alat musik belira [2],[3].
e. Hasil pengenalan secara real time.
f. Menggunakan MATLAB untuk pembuatan program pengenalan nada.
g. Menggunakan metode DCT .
h. Menggunakan hamming window dalam proses windowing
i. Menggunakan Look up Table untuk penentuan keluarannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.4. Metodologi Penelitian
Sistem pengenalan alat musik belira ini menggunakan hardware dan software.
Metode yang digunakan dalam penulisan ini adalah :
a. Pengumpulan bahan – bahan referensi yang berupa buku – buku, jurnal, dan artikel.
b. Proses pengambilan nada uji alat musik belira yang digunakan sebagai look up
table.
c. Pembuatan sistem.
i. Membuat rancangan program utama sistem pengenalan nada.
ii. Membuat look up table sebagai penentuan keluaran dari sistem pengenalan
nada belira.
iii. Membuat rancangan tampilan utama pengenalan alat musik belira
menggunakan GUI Matlab.
iv. Program di uji secara real time dan tidak real time menggunakan alat musik
belira supaya dapat diketahui apakah program telah berjalan dengan baik atau
tidak menggunakan look up table dan data uji.
d. Analisa dan penyimpulan hasil percobaan
Analisa data dilakukan dengan melihat perubahan panjang frame blocking 16,
32, 64, 128, 256, 512, dan 1024 untuk nada belira C , D , E , F , G , A , B , C>.
Penyimpulan hasil percobaan dilakukan dengan melihat hasil tingkat pengenalan
dan data uji.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB II
DASAR TEORI
2.1. Belira
Belira adalah alat musik yang dimainkan dengan cara dipukul dan merupakan salah
satu alat musik melodi yang digunakan dalam Drum Band [4]. Belira mempunyai 16 buah
bilah papan yang terbuat dari logam. Setiap bilah mempunyai ukuran panjang yang
berbeda, semakin pendek ukuran logam maka nada yang dihasilkan akan semakin tinggi,
oleh karena itu logam dengan ukuran yang paling panjang akan menghasilkan nada paling
rendah. Nada pada alat musik belira ada 16 nada, yaitu : G < , A< , B< , C , D , E , F , G , A , B
, C > , D> , E> , F> , G> , A>. Cara memainkan belira menggunakan sebuah pemukul berukuran 30
cm dengan ujung pemukul terpasang sebuah karet atau plastik. Gambar 2.1 merupakan
bentuk dari alat musik belira.
Gambar 2.1 Belira
49cm
19
,5cm
9cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
2.2. Microphone
Microphone adalah suatu komponen elektronika yang bisa mengubah serta
mengkonversi sebuah gelombang suara ke dalam bentuk sinyal. Fungsi Microphone adalah
sebagai penangkap sinyal analog yang dihasilkan oleh alat musik belira untuk direkam,
terhubung dengan line in yang ada pada soundcard dan terletak pada komputer.
Microphone pada perancangan ini digunakan sebagai alat bantu proses perekam
suara untuk didapatkan nada belira. Kemudian diproses dalam komputer dengan sebuah
program dan akan ditampilkan keluaran berupa teks, sesuai dengan nada yang dimainkan
oleh user. Gambar 2.2 menunjukkan bentuk dari microphone yang digunakan dalam
penelitian.
Gambar 2.2 Microphone
2.3. Pengenalan Pola
Pengenalan pola (pattern recognition) sesungguhnya telah lama ada dan telah
mengalami perkembangan terus menerus dimulai dari pengenalan pola yang bersifat
tradisonal kemudian menjadi pengenalan pola yang bersifat modern. Pada mulanya
pengenalan pola berbasis pada kemampuan indera manusia, yang mampu mengingat suatu
informasi pola secara menyeluruh hanya berdasarkan setengah atau sebagian informasi
pola yang tersimpan di dalam ingatannya. Misalnya sebuah nada pendek yang dibunyikan
dapat membuat manusia bisa mengingat sebuah lagu yang dimainkan secara keseluruhan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Pola adalah entesitas yang terdifinisi dan dapat diidentifikasi melalui ciri –cirinya
(features) [5]. Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola
lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda yang tinggi, sehingga
pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan
yang tinggi.
Tabel 2.1 Contoh Pengenalan Pola [6].
Approach Representation Recognition
Function Typical Criterion
Template Matching Sample, Pixels,
Curves
Correlation,
Distance measure Classification Error
Statistical Features Discriminant
Function Classification Error
Stactic or
Structural Primiteves Rules, Grammar Acceptance Error
Neural Network Sample, Pixels,
Features Network Function Mean Square Error
Pengenalan pola bertujuan menentukan kelompok atau kategori pola beradasarkan
ciri-ciri yang dimiliki oleh pola tersebut. Dengan kata lain, pengenalan pola membedakan
suatu objek dengan objek lainnya. Berikut adalah beberapa pengertian pengenalan pola :
a. Pengenalan Pola secara Statistik
Pendekatan ini menggunkan teori-teori ilmu peluang dan statistik. Ciri-ciri yang
dimiliki oleh suatu pola ditentukan distribusi statistiknya. Pola yang berbeda memilki
distribusi yang berbeda pula. Dengan menggunakan teori keputusan di dalam statistik,
kita menggunakan distribusi ciri untuk mengklasifikasi pola.
b. Pengenalan Pola secara Sintatik
Pendekatan ini menggunakan teori bahasa formal. Ciri-ciri yang terdapat pada
suatu pola ditentukan primitif dan hubungan struktural antara primitif kemudian
menyusun kata bahasanya. Dari aturan produksi pada tata bahasa tersebut kita dapat
menentukan kelompok pola. Pengenalan pola secara sintatik lebih dekat ke strategi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
pengenalan pola yang dilakukan manusia, namun secara pratek penerapannya relatif
sulit dibandingkan pengenlan pola secara statistik.
c. Template Matching
Salah satu pendekatan yang paling sederhana dan paling awal untuk pengenalan
pola adalah template matching atau pencocokan. template matching adalah operasi
generik di pengenalan pola yang digunakan untuk menentukan kesamaan antara dua
entitas (sample, curve, atau pixels) dari jenis yang sama. Pada template matching pola
yang akan diakui dicocokkan dan disimpan sementara yang kemudian
memperhitungkan semua cirinya dan perubahan skala [6].
d. Neural Network
Neural Network merupakan kategori ilmu soft computing dan mengadopsi dari
kemampuan otak manusia yang mampu memberikan stimulasi atau rangsangan,
melakukan proses, dan memberikan output. Output diperoleh dari variasi stimulasi dan
proses yang terjadi di dalam otak manusia. Kemampuan manusia dalam memproses
informasi merupakan hasil kompleksitas proses di dalam otak. Misalnya, yang terjadi
pada anak-anak, mereka mampu belajar untuk melakukan pengenalan meskipun
mereka tidak mengetahui algoritma apa yang digunakan [6].
2.4. Sampling
Sampling adalah proses pencuplikan gelombang suara yang akan menghasilkan
gelombang diskret. Dalam proses Sampling ada yang disebut dengan laju pencuplikan
(sampling rate). Sampling rate menandakan berapa banyak pencuplikan gelombang analog
dalam selang waktu 1 detik. Sampling rate dinyatakan dalam satuan Hertz (Hz). Pada
proses sampling, sebaiknya sampling rate memenuhi kriteria Nyquist. Kriteria Nyquist
menyatakan bahwa sampling rate harus lebih besar dari dua kali frekuensi tertinggi sinyal
analog [7]. Secara matematis dapat dituliskan :
fs ≥ 2fm (2.1)
dengan adalah frekuensi sampling dan adalah frekuensi tertinggi sinyal suara analog.
Yang dimana dapat dilihat bahwa frekuensi sampling harus lebih besar dua kali dari
frekuensi tertinggi sinyal analog tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Contoh penentuan nilai frekuensi sampling :
Misalnya frekuensi tertinggi dari sinyal suara analog adalah 100 Hz, maka frekuensi
sampling haruslah dua kalinya dari sinyal suara, yaitu 200 Hz. Apabila frekuensi sampling
200 Hz maka sinyal suara harus mempunyai frekuensi maksimum adalah 100 Hz.
Gambar 2.3 Contoh Sinyal Suara Belira yang Melalui Proses Sampling
Gambar 2.3 menunjukkan contoh sinyal suara dari nada belira yang dihasilkan dari
proses perekaman yang nantinya akan ditampilkan pada tampilan GUI Matlab untuk
mengetahui perbedaan sinyal suara dari setiap nada belira.
2.5. Preprocessing
Preprocessing adalah proses-proses awal yang dilakukan sebelum proses penentuan
keluaran. Proses preprocessing memiliki beberapa tahapan yang harus dilewati, yaitu
normalisasi, Pemotongan Sinyal, Frame Blocking, Windowing, DCT, Pencarian Nilai
Maksimum, dan Penentuan Teks Nada.
2.6. Normalisasi
Normalisasi merupakan suatu cara untuk mengatasi jarak antara sumber suara
dengan microphone. Pada proses perekaman atau pengambilan data suara diperlukan
0 5000 10000 15000-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Am
plit
udo
Data Tercuplik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
sebuah normalisasi supaya amplitudo nada saat dimainkan dapat menjadi maksimal. Proses
normalisasi awal ini dilakukan dengan cara membagi tiap nilai data masukan atau nada
terekam dengan nilai absolute maksimal dari data masukan tersebut. Perhitungan nilai
normalisasi dirumuskan dengan persamaan sebagai berikut :
Xnorm =
(2.2)
dengan Xnorm adalah hasil data sinyal normalisasi, Xin adalah data masukan dari sampling
Contoh perhitungan normalisasi sebagai berikut :
Misalnya Xin memiliki nilai sebanyak [0 0.6 0.7 0.8] dengan nilai maksimumnya
adalah 0,8, maka cara untuk menghitungnya sebagai berikut:
1. Xnorm =
2. Xnorm =
3. Xnorm =
4. Xnorm =
Maka setelah nilai Xin [0 0.6 0.7 0.8] mengalami proses normalisasi menjadi Xnorm
[0 0,75 0, 875 1].
Gambar 2.4 Contoh Sinyal Suara Belira dari Gambar 2.3 yang Melalui Proses Normalisasi
0 5000 10000 15000
-1
-0.5
0
0.5
1
Data Tercuplik
Am
plitudo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.7. Pemotongan Sinyal
Proses ini memiliki tujuan untuk memotong beberapa bagian sinyal suara. Proses
pemotongan ini dilakukan setelah proses normalisasi. Dalam proses pemotongan, bagian
yang dipotong adalah bagial awal dari sinyal. Tujuan pemotongan sinyal nada adalah untuk
menghilangkan bagian yang tidak termasuk bagian dari sinyal dan mengurangi cacat sinyal
akibat derau ruangan yang ikut terekam. Pada proses pemotongan sinyal ini melewati 2
(dua) kali tahap pemotongan sinyal. Tahap pemotongan sinyal yang pertama yaitu
memotong pada bagian silence atau bagian awal sinyal yang tidak termasuk sinyal suara
dari belira yang ikut terekam dengan tujuan untuk memperoleh sinyal suara yang
sebenarnya. Tahap pemotongan sinyal yang kedua yaitu adalah memotong pada bagian
transisi sinyal suara dengan menghilangkan ⁄ [2], [3] bagian dari sinyal. Gambar 2.6 dan
Gambar 2.7 Memprlihatkan gambar sinyal setalah melalui proses pemotongan bagian
Silence dan transisi.
Gambar 2.5 Contoh Sinyal Suara dari Gambar 2.4 Setelah Proses Pemotongan Silence
0 5000 10000 15000
-1
-0.5
0
0.5
1
Data Tercuplik
Am
plitudo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Gambar 2.6 Contoh Sinyal Suara dari Gambar 2.5 Setelah Proses Pemotongan Transisi
2.8. Frame Blocking
Frame blocking adalah merupakan pembagian sinyal suara menjadi beberapa
frame dan satu frame terdiri dari beberapa data sample. Dalam proses pengambilan sample
tersebut bergantung dengan waktu tiap detik suara akan di sample dan berapa besar
frekuensi sampling [8]. Fungsi frame blocking yaitu untuk memilih data yang akan
diproses dalam sistem pengenalan sehingga dapat mempercepat proses perhitungan pada
Fast Fourier Transform. Jumlah data pada setiap frame memiliki 2N data sampel.
Gambar. 2.7 Contoh Frame Blocking [8]
Gambar 2.7 merupakan contoh dari potong-potongan frame dengan M adalah
panjang setiap frame dan N adalah overlapping setiap frame.
0 2000 4000 6000 8000 10000 12000-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
Data Tercuplik
Am
plitu
do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Gambar. 2.8 Contoh Pengambilan sinyal dari Gambar 2.7 Untuk Frame Blocking
Pada Gambar 2.8 menggunakan panjang frame blocking 512 yang digunakan
sebagai contoh pemilihan data. Gambar 2.9 memperlihatkan hasil setelah pemilihan data
untuk frame blocking.
Gambar 2.9 Contoh Hasil Frame Blocking dari Gambar 2.8
2.9. Hamming Window
Pengenalan nada pada alat musik belira ini menggunakan Hamming Window.
Windowing berfungsi untuk menghilangkan diskontinuitas. Dimana terjadinya sebuah
diskontinuitas ini diakibatkan oleh proses frame blocking atau Framing [8]. Hamming
Window mempunyai side lobe yang paling kecil dan main lobe yang paling besar, sehingga
0 100 200 300 400 500 600-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
Data Tercuplik
Am
plitu
do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
hasil dari pada windowing akan menjadi lebih halus dalam menghilangkan efek dari
diskontinuitas. Persamaan Hamming Window adalah :
0≤n≤N-1 (2.3)
Dengan N adalah Jumlah data dari sinyal dan n adalah waktu diskrit ke- [0,
1, 2, …,N-1]
Contoh perhitungan Hamming Window:
π = 3,14, n = 0,1, 2,…,N-1 dan N = 500.
a. w(n) = 0,54 – 0,46 cos (2πn/(N-1))
w(1) = 0,54 – 0,46 cos (2 x 3,14 x 0/(500-1))
w(1) = 0,54 – 0,46 cos 0
w(1) = 0,54 – 0,46 x 1
w(1) = 0,08002
b. w(n) = 0,54 – 0,46 cos (2πn/(N-1))
w(2) = 0,54 – 0,46 cos (2 x 3,14 x 1/(500-1))
w(2) = 0,54 – 0,46 cos 0,012
w(2) = 0,54 – 0,46 x 0,999
w(2) = 0,080146
c. w(n) = 0,54 – 0,46 cos (2πn/(N-1))
w(3) = 0,54 – 0,46 cos (2 x 3,14 x 2/(500-1))
w(3) = 0,54 – 0,46 cos 0,025
w(3) = 0,54 – 0,46 x 0,999
w(3) = 0,081
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Gambar 2.10 Contoh Sinyal Suara dari Gambar 2.9 Setelah Proses Hamming Windowing
2.10. Discrete Cosine Transform (DCT)
Discrete Cosine Transform (DCT) digunakan untuk mengubah sebuah sinyal
menjadi komponen frekuensi dasarnya. DCT untuk suatu runtun u(n) yang panjangnya N
titik dirumuskan sebagai berikut [9] :
v(k) = α(k)∑
0≤n≤N-1 (2.4)
Dengan
√
, √
Untuk 1≤k≤N-1
Dengan N adalah Panjang diskret.
Contoh perhitungan DCT sebagai berikut :
Misalkan u(n) = [3 4 4 5]; n = 0,1, 2, 3,....N-1
v(0) =√
∑
= √
(u(0)) + (u(1)) + (u(2)) + (u(3))
= √
(3 + 4 + 4 + 5)
(2.5)
0 100 200 300 400 500 600-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
Data Tercuplik
Am
plit
udo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
= 8
v(1) =√
∑
= √
(3(0,92)) + (4(0,38)) + (4(-0,38)) + (5(-0,92))
= √
(-1,84)
= -1,301
v(2) =√
∑
= √
(3(0,71))+ (4(-0,71)) + (4(-0,71)) + (5(0,71))
= √
(0)
= 0
v(3) =√
∑
= √
(3(0,38)) + (4(-0,92)) + (4(0,92)) + (5(-0,38))
= √
(-,076)
= -0,537
Jadi hasil dari u(n) = [ 3 4 4 5] setelah mengalami transformasi kosinus menjadi
v(k) = [8 -1,301 0 -0,537] Bilangan yang dihasilkan melalui transformasi DCT tidak
mengandung unsur imajiner. Hasil dari proses DCT ini akan dicari nilai indeks
maksimumnya, untuk menentukan sinyal nada dari alat musik belira terdapat pada indeks
maksimum ke berapa pada DCT domain.Gambar 2.11 memperlihatkan sinyal nada pada
DCT domain dengan frame blocking 512 untuk nada C.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
0 100 200 300 400 500 6000
0.5
1
1.5
2
2.5
X = 109
Y = 2.44
Indeks DCT
Am
plit
udo
Gambar 2.11 Contoh Sinyal Nada Pada C DCT Domain dari Gambar 2.10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
BAB III
PERANCANGAN
3.1 Sitem Pengenalan Nada Alat Musik Belira
Blok sistem pengenalan nada alat musik Belira ditunjukan pada Gambar 3.1
Gambar 3.1 Diagram Blok Sistem Pengenalan Nada
Dalam sistem pengenalan nada alat musik belira ini terdiri dari software pada komputer
yang berguna sebagai user interface dalam proses pengenalan. Matlab merupakan pusat
dari pengaturan dalam proses pengenalan dan memiiliki beberapa proses yang dilakukan,
yaitu proses perekaman nada dari alat musik belira secara real time dan mengenali nada
dari alat musik belira yang telah direkam.
a. Belira
Belira merupakan alat musik yang digunakan dalam penelitian sistem pengenalan
nada oleh penulis, dengan nada yang digunakan dalam penelitian ini adalah C , D , E , F ,
G , A , B , C > yang berupa wav.
Proses
Perekaman
Proses
Pengenalan
Nada
Belira Mikrofon
Notebook
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
b. Microphone
Mikrofon yang digunakan oleh penulis dalam penelitian ini adalah Genius MIC-
01A, karena memiliki bentuk yang fleksibel dan ringan untuk dibawa kemana-mana
dengan harga yang terjangkau. Jarak yang digunakan antara alat musik belira dengan
microphone adalah ±15 cm.
c. Proses Perekaman
Proses perekaman adalah proses masuknya data nada yang terekam berupa sinyal
digital. Saat proses perekaman berlangsung sinyal analog dikonversi menjadi sinyal digital
dengan frekuensi sampling. Sinyal digital kemudian disimpan dan digambarkan dalam
plot. Data suara yang telah terekam kemudian dapat diproses untuk dikenali dengan proses
pengenalan disebut nada terekam dan kemudian dapat diproses untuk dikenali lewat proses
pengenalan[10].
d. Proses Pengenalan nada
Proses pengenalan nada ini berfungsi untuk melakukan pengenalan nada terhadap
nada alat musik yang dimainkan dan telah terekam kemudian mendeteksi nada alat musik
apa yang direkam. Pada proses pengenalan nada ini terdapat beberapa subproses yaitu
Normalisasi, Pemotongan Sinyal, Frame Blocking, Hamming Window, DCT, Penentuan
Nilai Maksimum. Diagram alur dapat dilihat seperti pada Gambar 3.2
.
Gambar 3.2. Diagram Alur Proses Pengenalan Alat musik Belira
Masukan
nada
(Belira).wav
Normalisasi Pemotongan
Sinyal
Frame Blocking Hamming
window DCT
Penentuan Nilai
Maksimum
Look Up Table
Hasil Keluaran
Penentuan Alat
musik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
3.2. Look Up Table
Dalam proses perancangan sistem pengenalan alat musik belira ini digunakan
sebuah Look Up Table sebagai penentuan keluaran dalam proses pengenalan nada dari alat
musik belira dengan mencari indeks nilai maksimum pada DCT domain. Penulis
menggunakan 10 sample per nada dengan nada yang dikenali, yaitu C, D, E , F, G, A, B,
dan C >. Kemudian menentukan nilai rata-ratanya. Nilai rata-rata tersebut yang digunakan
sebagai nilai tengah atau penentu range pada look up table. Proses pengambilan nada
dilakukan melalui tahap perekaman. Setelah proses perekaman maka akan melalui
preprocessing yang terdiri dari proses normalisasi, pemotongan sinyal, frame blocking,dan
Hamming windowing. Setelah itu, akan melalui proses DCT dan pencarian nilai indeks
maksimum pada DCT domain. Prosesnya ditunjukkan pada Gambar 3.3.
Gambar 3.3 Diargram Blok Pencarian Nilai Maksimum untuk Look Up Table
3.3. Nada Uji
Dalam nada uji ini penulis mengambil 10 nada sample untuk setiap nada yang akan
digunakan untuk pengujian sistem. Setiap sample nada yang diambil dalam proses
perekaman, akan melalui proses sampling terlebih dahulu sebelum masuk ke tahap
berikutnya. Gambar 3.4 merupakan proses pengambilan sample nada yang di lakukan
dengan proses sampling.
Gambar 3.4 Diargram Blok Proses Pengambilan Nada Uji
Sampling Masukan Suara
belira Keluaran (wav)
(wav)(wav)
Perekaman Preprocessing
DCT Pencarian Nilai
Maksimum
Masukan
(suara Belira)
Keluaran :
Nilai
Maksimum
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
3.4. Perancangan Tampilan Program GUI Matlab
Gambar 3.5 Tampilan Utama Program Pengenalan Nada
Tampilan program ini dibuat supaya user dapat dengan mudah menjalankan
program yang dibuat dan memehami hasil dari pengenalan alat musik belira. Berikut
adalah keterangan tampilan utama program pada Tabel 3.1.
Tabel 3.1. Keterangan Tampilan Utama Program GUI Matlab
Nama Bagian Keterangan
Tombol Rekam Digunakan untuk menjalankan aplikasi.
Tombol Selesai Digunakan untuk mengakhiri aplikasi.
Tombol Reset Digunakan untuk mengubah sistem kedalam kondisi awal
Nilai Frame Untuk memilih nilai frame blocking dan DCT yang digunakan
pada proses pengenalan nada,yaitu 16, 32, 64, 128, 256, 512,
dan 1024 titik.
Nilai Frame
Hasil Tampilan Nada
Rekam
Selesai
Indeks DCT Maksimum Ke-
Plot Spektrum Rekam
Reset
PENGENALAN NADA BELIRA DENGAN ANALISIS
AMPLITUDO PADA RANAH DCT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Tabel 3.1. (lanjutan) Keterangan Tampilan Utama Program GUI Matlab
Nama Bagian Keterangan
Plot Spektrum Rekam Tampilan grafik suara hasil rekam
Indeks DCT Maksimum
Ke-
Indeks nilai maksimum pada DCT Domain.
Pengenalan Nada Untuk menampilkan nada yang didapat setelah proses
pengenalan
3.5. Perancangan Sistem Software
Pada Pengenalan nada alat musik belira ini memiliki beberapa proses yang harus
dilakukan. Dimulai dari proses perekaman hingga hasil akhir yang menghasilkan tampilan
nada yang diharapkan. Gambar 3.6 menunjukkan diagram alur dari ke seluruhan sistem
pengenalan nada alat musik belira.
Masukan
Suara Belira
END
START
Rekam
Normalisasi
Pemotongan
Sinyal
Frame Blocking
Hamming
Window
DCT
Pencarian Nilai
Maksimum
Penentuan Teks
Nada
Keluaran :
Teks Nada
Gambar 3.6 Diagram Alur Program Pengenalan Nada Belira
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
3.5.1. Rekam
Pada proses perekaman ini akan melalui proses pertama yaitu sampling yang
bertujuan untuk merekam nada belira dengan frekuensi sampling yang telah ditentukan
yaitu 10000 Hz (persamaan 2.1). Semua sample nada yang diambil akan melalui proses
sampling lebih dahulu sebelum masuk ke tahap selanjutnya. Proses perekaman ini
memiliki panjang durasi selama 1,5 detik [2],[3]. Hasil keluaran dari proses perekaman ini
adalah dalam format wav.
Berikut ini merupakan cara untuk sampling nada :
1. Menentukan panjang durasi perekaman yaitu 1,5 detik [2], [3].
2. Menentukan frekuensi sampling yaitu 10000 Hz (persamaan 2.1).
3. Menentukan jumlah sample.
4. Merekam suara masukan dengan perintah waverecord.
5. Menyimpan hasil rekaman dengan perintah wavwrite.
6. Menampilkan sinyal hasil rekaman dengan perintah plot.
Gambar 3.7 Diagram Alur Proses Perekaman
Sampling
END
START
Mulai?
A
A
YA
Tidak
Masukan : “Pilih
Nilai Frame Blocking
Tekan Tombol
“MULAI” di GUI
Keluaran : “Hasil
Rekam pada
GUI”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
3.5.2. Normalisasi
Proses normalisasi ini dilakukan setelah keluaran proses rekam berupa wav. Pada
proses normalisasi, sinyal suara atau sinyal nada harus mempunyai nilai maksimum.
Setelah pencarian nilai maksimum maka tahap selanjutnya adalah membagi data dengan
nilai absolut maksimal nada yang terekam (persamaan 2.2). Tujuan adanya normalisasi ini
adalah untuk menyetarakan amplitudo suara yang terekam menjadi maksimum, agar efek
kuat atau lemahnya suara yang terekam tidak mempengaruhi proses pengenalan suara.
Gambar 3.8 menunjukkan proses dari normalisasi .
Gambar 3.8 Diagram Alur Normalisasi
Masukan :
Nada Terekam
Membagi Data dengan
Nilai Absolut Maksimal
Nada Terekam
Keluaran :
Hasil Normalisasi
START
END
Mencari Nilai Maksimal
Dari Data Nada
Terekam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
3.5.3. Pemotongan Sinyal
Proses pemotongan sinyal adalah proses pemotongan sinyal awal yang tidak
digunakan yang terletak pada sisi kiri atau bagian awal dari sinyal, yaitu daerah bagian
silence dan daerah bagian transisi. Tujuan dari pemotongan daerah bagian silence adalah
untuk menghilangkan bagian yang tidak termasuk dari bagian sinyal nada, dan tujuan
pemotongan pada daerah bagian transisi adalah untuk mendapatkan sinyal yang merupakan
sinyal suara dari alat musik belira. Proses pemotongan bagian transisi ini dilakukan dengan
menghilangkan ⁄ [2], [3] bagian dari sinyal yang terdapat di bagian awasl (bagian
transisi) setelah pemotongan bagian silence. Berikut ini merupakan cara pemotongan
sinyal bagian silence dan pemotongan bagian transisi :
1. Menentukan nilai yang digunakan sebagai batas potong yaitu 0,3 [2], [3].
2. Mencari bagian sinyal yang > 0,3 dan < (-0,3). Sinyal yang dicari tersebut di
inisialisasi sebagai b0
3. Sinyal yang tidak termasuk b0 akan dihilangkan dan sinyal tersbut adalah sinyal
silence.
4. Pemotongan sinyal transisi dengan mengalikan jumlah data sinyal dengan 0,25 .
5. Menghilangkan data sinyal mula dari indeks 1 sampai dengan indek bts.
Gambar 3.9 Diagram Alur Pemotongan Sinyal
Pemotongan Bagian Silence
Mencari sinyal >0,3 dan < (-0,3)
Masukan :
Hasil Normalisasi
Pemotongan Bagian Transisi
Mengalikan Jumlah Data
Dengan 0,25
Keluaran :
Hasil Pemotongan
END
START
A
A
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.5.4. Frame Blocking
Frame Blocking adalah proses selanjutnya setelah melalui proses dari pemotongan
sinyal dimana dalam proses frame blocking ini nilai dari frame dipilih oleh user. Nilai
dari frame blocking yang digunakan adalah 16, 32, 64, 128, 256, 512 dan 1024. Nilai –
nilai tersebut ditentukan sendiri secara objektif dan merupakan nilai yang digunakan oleh
penelitian - penelitian sebelumnya [2], [3]. Dalam proses ini, data yang diambil mulai dari
sinyal yang paling kiri dan akan diambil sepanjang nilai dari frame yang telah dipilih
sehingga memudahkan dalam proses perhitungan dan analisa sinyal. Data yang diambil
tersebut adalah keluaran dari proses frame blocking.Gambar 3.10 memperlihatkan proses
dari frame blocking.
Gambar 3.10 Diagram Alur Frame Blocking
fMengambil Data dari
Nilai Frame
Keluaran : Hasil
Frame Blocking
END
START
Masukan : “Pilih Nilai Frame
Blocking pada GUI”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
3.5.5. Hamming Window
Proses selanjutnya setelah proses dari frame blocking adalah windowing.
Windowing ini memiliki fungsi untuk menghilangkan efek diskontinuitas yang diakibat
oleh proses sebelumnya, yaitu Frame Blocking ketika sinyal ditransformasikan ke domain
DCT. Dalam penelitian ini menggunakan hamming window dimana penggunaan
windowing ini membuat hasil akan lebih halus dalam menghilangan efek dari
diskontinuitas. Dalam proses hasil dari frame blocking akan dikalikan dengan hamming
Window sehingga akan didapatkan hasil untuk proses windowing dari persamaan (2.3) dan
menggunakan hamming window yang ada di matlab. Berikut adalah diagram dari proses
hamming window yang ditunjukkan pada Gambar 3.9.
Gambar 3.11 Diagram Alur Hamming Window
Masukan :
Hasil Frame
Blocking
hPerkalian elemen antara masukan
data dengan Hamming Window
Keluaran :
Hasil Hamming
Window
END
START
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3.5.6. Descrete Cosine Transform (DCT)
Proses selanjutnya adalah Descrete Cosine Transform (DCT) dimana proses dari
DCT ini bertujuan untuk mengubah sebuah sinyal menjadi komponen frekuensi dasarnya.
Dalam proses ini DCT akan menyusun sinyal ke frekuensi special yang disebut dengan
koefisien DCT, selanjutnya akan di amati untuk panjang DCT terhadap sinyal suara yang
hasil dari proses ini nantinya akan dicari nilai indeks maksimum pada DCT domain. Proses
dari DCT ini dapat dilihat dalam diagram DCT yang ditunjukkan oleh Gambar 3.10. Proses
ini menggunakan proses DCT yang ada di matlab dan persamaan (2.4).
Gambar 3.12 Diagram Alur Proses DCT
dMasukan : Hasil
Hamming Window
jMenghitung Nilai Absolut DCT
Keluaran :
Sinyal DCT
Domain
Penentuan DCT Domain
END
START
“Hasil DCT pada
GUI”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
3.5.7. Pencarian Nilai Maksimum
Proses pencarian nilai maksimum bertujuan untuk mencari nilai-nilai maksimum
setelah mendapatkan sinyal DCT domain. Proses ini bertujuan untuk menganalisis dari
hasil proses DCT sebelumnya. Nilai-nilai dari maksimum tersebut yang akan dijadikan
sebagai penentuan keluaran dari sistem pengenalan dengan menggunakan look up table.
Selanjutnya akan diperoleh nada yang dimainkan termasuk nada belira atau bukan.
Berikut ini merupakan cara untuk mencari nilai-nilai maksimum pada DCT domain :
1. Mencari panjang data sinyal.
2. Mencari nilai-nilai absolute DCT
3. Mencari nilai-nilai tertinggi pada DCT domain sebagai indeks nilai maksimumnya.
4. Kemudian ditampilkan dengan perintah bar.
Gambar 3.13 Diagram Alur Pencarian Nilai Maksimum
Masukan :
Hasil DCT
Keluaran :
Nilai Maksimum
END
START
Mencari Nilai Tertinggi Pada
DCT Domain
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.5.8. Penentuan Teks Nada
Gambar 3.14 Diagram alur Penentuan Teks Nada
Mas
ukan
:
Nil
ai
Mak
sim
um
CL≤
i≤C
H
C
D
E
F
B
G
A
DL≤
i≤D
H
EL≤
i≤E
H
FL≤
i≤F
H
GL≤
i≤G
H
AL≤
i≤A
H
BL≤
i≤B
H
ST
AR
T
A
B
Ya
Ya
Ya
Ya
Ya Ya
YA
Tid
ak
Tid
ak
Tid
ak
Tid
ak
Tid
ak
Tid
ak
Tid
ak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 3.14 (lanjutan) Diagram Alur Penentuan Teks Nada
Setelah mengetahui nilai maksimumnya, maka hasil keluaran pengenalan berupa
teks dari nada belira yang dimainkan. Penentuan keluaran menggunakan look up table.
Gambar 3.3 memperlihatkan proses perancangan pencarian nilai maksimum pada DCT
domain. Tabel berikut memperlihatkan proses perancangan penentuan range nilai
maksimum setiap frame blocking :
Tabel 3.2 Look Up Table untuk Penentuan Nada Frame 16
No Nada Nilai Maksimum
1 C CL16≤nilaimaks≤CH16
2 D DL16≤nilaimaks≤DH16
3 E EL16≤nilaimaks≤EH16
4 F FL16≤nilaimaks≤FH16
5 G GL16≤nilaimaks≤GH16
6 A AL16≤nilaimaks≤AH16
7 B BL16≤nilaimaks≤BH16
8 C C’L16≤nilaimaks≤C’H16
END
C’L≤i≤C’H
C>
A B
Ya
Tidak “ERROR”
Keluaran : “Teks
Nada pada GUI”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Tabel 3.3 Look Up Table untuk Penentuan Nada Frame 32
No Nada Nilai Maksimum
1 C CL32≤nilaimaks≤CH32
2 D DL32≤nilaimaks≤DH32
3 E EL32≤nilaimaks≤EH32
4 F FL32≤nilaimaks≤FH32
5 G GL32≤nilaimaks≤GH32
6 A AL32≤nilaimaks≤AH32
7 B BL32≤nilaimaks≤BH32
8 C C’L32≤nilaimaks≤C’H32
Tabel 3.4 Look Up Table untuk Penentuan Nada Frame 64
No Nada Nilai Maksimum
1 C CL64≤nilaimaks≤CH64
2 D DL64≤nilaimaks≤DH64
3 E EL64≤nilaimaks≤EH64
4 F FL64≤nilaimaks≤FH64
5 G GL64≤nilaimaks≤GH64
6 A AL64≤nilaimaks≤AH64
7 B BL64≤nilaimaks≤BH64
8 C C’L64≤nilaimaks≤C’H64
Tabel 3.5 Look Up Table untuk Penentuan Nada Frame 128
No Nada Nilai Maksimum
1 C CL128≤nilaimaks≤CH128
2 D DL128≤nilaimaks≤DH128
3 E EL128≤nilaimaks≤EH128
4 F FL128≤nilaimaks≤FH128
5 G GL128≤nilaimaks≤GH128
6 A AL128≤nilaimaks≤AH128
7 B BL128≤nilaimaks≤BH128
8 C > C’L128≤nilaimaks≤C’H128
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Tabel 3.6 Look Up Table untuk Penentuan Nada Frame 256
No Nada Nilai Maksimum
1 C CL256≤nilaimaks≤CH256
2 D DL256≤nilaimaks≤DH256
3 E EL256≤nilaimaks≤EH256
4 F FL256≤nilaimaks≤FH256
5 G GL256≤nilaimaks≤GH256
6 A AL256≤nilaimaks≤AH256
7 B BL256≤nilaimaks≤BH256
8 C > C’L256≤nilaimaks≤C’H256
Tabel 3.7 Look Up Table untuk Penentuan Nada Frame 512
No Nada Nilai Maksimum
1 C CL51≤nilaimaks≤CH512
2 D DL512≤nilaimaks≤DH512
3 E EL512≤nilaimaks≤EH512
4 F FL512≤nilaimaks≤FH512
5 G GL512≤nilaimaks≤GH512
6 A AL512≤nilaimaks≤AH512
7 B BL512≤nilaimaks≤BH512
8 C > C’L512≤nilaimaks≤C’H512
Tabel 3.8 Look Up Table untuk Penentuan Nada Frame 1024
No Nada Nilai Maksimum
1 C CL1024≤nilaimaks≤CH1024
2 D DL1024≤nilaimaks≤DH1024
3 E EL1024≤nilaimaks≤EH1024
4 F FL1024≤nilaimaks≤FH1024
5 G GL1024≤nilaimaks≤GH1024
6 A AL1024≤nilaimaks≤AH1024
7 B BL1024≤nilaimaks≤BH1024
8 C > C’L1024≤nilaimaks≤C’H1024
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Untuk menentukan nilai maksimun dari look up table maka harus menentukan nilai
range dari setiap nada. Misalkan dilakukan percobaan untuk nada C dengan 3 kali
percobaan pada frame 512, percobaan pertama memperoleh nilai maksimum 109 pada
DCT domain, selanjutnya percobaan kedua memperoleh nilai maksimum 108 pada DCT
domain, dan percobaan yang ketiga memperoleh nilai maksimum 110 pada DCT domain.
Maka, range nilai maksimum untuk nada C pada frame 512 adalah108 sebagai CL dan nilai
maksimum 110 sebagai CH.. Apabila nilai yang dihasilkan tidak berada pada range tersebut
, maka keluaran pada GUI berupa “ERROR“ yang akan ditampilkan dalam bentuk teks.
Proses penentuan range nila maksmumi look up table dapat dilihat pada (Lampiran 1).
3.5.9. Keluaran (Teks)
Proses selanjutnya adalah menampilkan keluaran dari proses pengenalan nada
belira dalam bentuk teks nada belira sesuai dengan nada yang dimainkan. Menampilkan
teks keluaran nada belira ini menggunakan perintah callback yang terdapat pada GUI
Matlab, dengan inisialisasi nadaout untuk hasil dari pengenalan nada belira C , D , E , F , G
, A , B , C >. Proses penentuan keluarannya menggunakan look up table. Setelah hasil yang
diperoleh ternyata adalah bukan nada belira maka keluarannya berupa“ ERROR”.
Kemudian jika hasil yang diperoleh merupakan nada belira maka akan ditampilkan dalam
bentuk teks pada GUI Matlab.
START
Masukan :
Nilai Maksimum
Hasilout =
nadaout
Tidak
Ya
Hasilout=Error
A B
Gambar 3.15 Diagram Alur Proses Menampilkan Teks Keluaran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.6. Analisa Perfoma
Analisa perfoma bertujuan untuk mengetahui sistem yang telah dirancang bekerja
secara baik atau tidak akibat dari pengubahan panjang DCT dan nilai frame blocking.
Perancangan analisa perfoma ini menggunakan 10 kali percobaan untuk setiap nada C , D ,
E , F , G , A , B , C > dalam pengujian sistem pengenalan. Kemudian untuk mengetahui
tingkat pengenalan dari sistem menggunakan rumus seperti berikut [2], [3] :
Tingkat pengenalan = ∑
(3.1)
dengan ∑ adalah jumlah nada belira yang dikenali dan benar.
Nadaout = C, D, E, F, G,
A, B, dan C’
END
Gambar 3.15 (lanjutan) Diagram Alur Proses Menampilkan Teks Keluaran
A
B
Keluaran :
“Teks “
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
BAB IV
PEMBAHASAN
Pada bab ini, program pengenalan nada yang telah dibuat akan diuji terlebih dahulu
untuk mengetahui cara kerjanya apakah sudah sesuai dengan perancangan. Data yang
diperoleh dari pengujian ini akan memperlihatkan cara kerja dari program yang telah
dibuat oleh penulis, kemudian akan dianalisis cara kerjanya dari data yang telah diperoleh .
Kemudian hasil dari analisis tersebut dapat ditarik kesimpulan untuk sistem pengenalan
nada.
4.1. Pengujian Program Pengenalan Nada Alat Musik Belira
Program yang telah dibuat, akan diuji terlebih dahulu untuk mengetahui cara kerja
dari sistem pengenalan nada apakah sudah sesuai dengan perancangan. Data yang
diperoleh dari pengujian ini akan memperlihatkan cara kerja dari program yang telah
dibuat oleh penulis, kemudian akan dianalisis cara kerjanya dari data tersebut. Proses
pembuatan program menggunakan software MATLAB 7.10.0.499 (R2010a). Pengujian
program ini menggunakan komputer denga spesifikasi sebagai berikut :
CPU : Intel®Core(TM) i3-2348M (2,30Ghz).
RAM : 2,00 GB.
Berikut ini langkah-langka untuk menjalankan program pengenalan nada belira :
1. Buka software Matlab, kemudian sesuaikan Current Directory ke folder tempat
penyimpanan program pengenalan nada yang telah dibuat.
2. Ketik perintah “PRO” pada command window lalu tekan Enter. Gambar 4.1
memperlihatkan tampilan utama dari GUI pengenalan nada alat musik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 4.1 Tampilan Utama Program Pengenalan Nada.
3. User memilih nilai frame blocking yang akan digunakan dalam proses pengenalan
nada. Setelah memilih nilai frame blocking, Tekan tombol “MULAI” untuk
memulai program pengenalan dan diikuti dengan memainkan salah satu nada dari
alat musik berlira. Gambar 4.2 memperlihatkan hasil pengenalan nada.
Gambar 4.2 Tampilan Hasil Pengenalan Nada Alat Musik Belira
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
4. User dapat melihat plot hasil rekaman nada pada kotak Axes1 dan indeks nilai
maksimum pada kotak Edit Text 2, serta teks hasil pengenalan nada pada kotak Edit
Text 1.
5. User dapat mengulang kembali proses pengenalan nada dengan menekan tombol
“MULAI” dan memilih nilai frame blocking yang berbeda. Untuk membersihkan
jendela plot perekaman , indeks nilai maksimum, dan teks nada dengan menekan
tombol “RESET”.
6. User dapat mengakhiri program pengenalan dengan menekan tombol “SELESAI”
untuk keluar dari tampilan utama program pengenalan nada.
4.2. Penjelasan Sintaks Program Pengenalan nada
Untuk menjalankan program pengenalan nada, user terlebih dahulu memilih nilai
frame blocking. Setelah memilih nilai frame blocking, user dapat menjalankan program
pengenalan nada dengan menekan tombol “MULAI”. Pada saat menekan tombol
“MULAI” maka program secara otomatis merekam suara dari alat musik belira. Proses
perekaman ini akan menghasilkan keluaran berupa plot rekaman dan indeks nilai
maksimum. Kemudian program akan menampilkan keluaran berupa teks sesuai nada belira
yang dikenali. Untuk mengulang program pengenalan nada user dapat menekan tombol
”MULAI” dan untuk membersihkan jendela plot perekaman , indeks nilai maksimum, dan
teks nada, user dapat menekan tombol “RESET”. Tombol “KELUAR”, digunakan untuk
keluar dari tampilan utama program pengenalan nada. Pada tampilan utama GUI
pengenalan nada alat musik belira terdapat, 1 pop up menu, 3 push button, 1 axes, dan 2
Edit text.
a. Pop Up Menu
Pada program pengenalan nada ini, pop up menu digunakan untuk variasi nilai frame
blocking, yaitu 16, 32, 64, 128, 256, 521, dan 1024. Gambar 4.3 memperlihatkan listing
program untuk nilai frame blocking .
indeks=get(handles.popupmenu2, 'Value'); switch indeks case 2 frameb=16; case 3 frameb=32; case 4
Gambar 4.3 Sintaks Program Untuk Memilih Nilai Frame
Blocking
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 4.3 (lanjutan) Sintaks Program Untuk Memilih Nilai Frame Blocking
b. Push Button, Axes dan Edit Text
Dalam program pengenalan nada ini menggunakan 3 buah push button, masing-
masing untuk memulai, mereset, dan mengakhiri program pengenalan nada, yaitu tombol
“MULAI”, “RESET”, dan “SELESAI”. Saat user menekan push button 1 atau tpmbol
“MULAI” maka program akan berjalan otomatis, yaitu mulai dari proses perekaman suara,
kemudian menampilkan plot rekam pada kotak axes1, menampilkan indek nilai maksimum
pada Edit Text 2, dan menampilkan teks hasil pengenalan nada pada Edit text 1. Saat user
menekan push button 2 atau tombol “RESET” maka program secara otomatis akan mereset
atau menghapus semua data dari hasil sebelumnya, dan membuat tampilan GUI MATLAB
menjadi seperti semula sebelum program dijalankan. Kemudian jika user menekan push
button 3 atau tombol “SELESAI” maka program pengenalan nada akan berhenti dan
menutup program. Berikut listing program untuk proses perekaman nada dan untuk
menampilkan plot sinyal nada terekam dari proses flowcart pada Gambar 3.7 :
Gambar 4.4 Sintaks Program untuk Proses Merekam
case 4
frameb=64;
case 5
frameb=128;
case 6
frameb=256;
case 7
frameb=512;
case 8
frameb=1024;
end
handles.frame=frameb;
guidata(hObject,handles);
sample_length=1.5; sample_freq=10000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq,'s.wav'); axes(handles.axes1) plot(x); xlabel('Data Tercuplik') ylabel('Amplitudo')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Pada program perekaman suara alat musik belira, panjang sampel yang digunakan
adalah 1,5 detik [2],[3] dengan frekuensi sampling sebesar 10kHz [2],[3]. Waktu
sampelnya didapatkan dari panjang sampel dikalikan dengan frekuensi sampel. Kemudian
untuk menyimpan nada yang direkam, menggunakan perintah wavrecord dan wavwrite .
Hasil plot perekaman tersebut ditampilkan pada kotak axes1 menggunakan perintah Plot.
Berikut merupakan listing program untuk menampilkan plot sinyal DCT dari proses
flowcart yang terdapat pada Gambar 3.8 sampai dengan Gambar 3.12 :
Gambar 4.5 Sintaks Program untuk Proses Menampilkan Indeks Nilai Maksimum
% Batas Potong b0=0.3;
% Normalisasi y1=x/max(x);
% Pemotongan Sinyal % 1. Potong 1 b1=find(y1>b0|y1<-b0); y1(1:b1(1))=[];
% 2. Potong 2 bts=floor(0.25*length(y1)); y1(1:bts)=[];
% Frame blocking frame=handles.frame y2=y1(1:frame);
% Windowing h=hamming(frame); y3=y2.*h;
% Spektrum frekuensi yx=abs(dct(y3));
% Pencarian nilai maksimum imax=find(yx==max(yx)); set(handles.edit2,'string',imax);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Dalam program untuk menampilkan plot sinyal dct, proses pertama yang dilakukan
adalah proses normalisasi untuk sinyal nada terekam yang ditampilkan pada kotak axes 1.
Normalisasi dilakukan dengan membagi data masukan (data sinyal nada terekam) dengan
nilai maksimum data tersebut. Dalam program pengenalan nada belira proses normalisasi
diinisialisasikan sebagai y1 dan x sebagai data masukan. Proses selanjutnya adalah
pemotongan sinyal yang dilakukan sebanyak dua kali untuk sinyal dari hasil normalisasi.
Pemotongan yang pertama dilakukan pada bagian silence atau bagian sinyal yang tidak
termasuk sinyal nada belira. Pemotongan yang kedua dilakukan pada bagian transisi. Pada
pemotongan sinyal bagian silence, data yang tingginya lebih besar dari 0,3 dan lebih kecil
dari (-0,3) diinisialisasikan sebagai b0. Data yang tidak memenuhi syarat dari b0
merupakan bagian sinyal silence sehingga sinyal tersebut dihilangkan. Selanjutnya
pemotongan bagian transisi dilakukan dengan menghilangkan ⁄ bagian sinyal yang
terdapat pada bagian awal yang diinisialisasikan sebagai bts pada program. Sinyal tersebut
dihilangkan dengan tujuan untuk memperoleh sinyal suara yang benar-benar sinyal suara
nada alat musik belira. Proses selanjutnya adalah frame blocking yang bertujuan untuk
mengambil sebagian data sesuai dari panjang nilai frame blocking yang dipilih oleh user.
Data yang diambil tersebut mewakili seluruh data yang terekam. Kemudian akan melalui
proses windowing untuk menghilangkan efek diskontinuitas yang diakibatkan oleh proses
frame blocking. Proses windowing ini menggunakan hamming window. Dalam prosesnya,
hasil perhitungan dari proses frame blocking akan dikalikan dengan hamming.Setelah
proses windowing, selanjutnya adalah perhitungan DCT, perhitungan ini bertujuan untuk
mencari nilai absolut yang kemudian akan dianalisis untuk mengetahui nada yang
dimainkan oleh user. Listing program untuk menampilkan hasil teks nada keluaran dari
proses flowcart pada Gambar 3.13 sampai dengan Gambar 3.15 :
Gambar 4.6 Sintaks Program untuk Menampilkan Teks Nada
% Pencarian nada yang sesuai menggunakan LUT if frame==16 nada=lut16(imax,handles); elseif frame==32 nada=lut32(imax,handles); elseif frame==64 nada=lut64(imax,handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 4.6 (lanjutan) Sintaks Program untuk Menampilkan Teks Nada
elseif frame==128
nada=lut128(imax,handles);
elseif frame==256
nada=lut256(imax,handles);
elseif frame==512
nada=lut512(imax,handles);
elseif frame==1024
nada=lut1024(imax,handles);
end
function nadaout=lut16(idxnada,handles)
% Penentuan keluaran text untuk LUT dengan
% frame blocking 16 titik
if idxnada>=1 && idxnada<=2
nadaout={'C'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=3 && idxnada<=4
nadaout={'D'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=5 && idxnada<=6
nadaout={'E'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=7 && idxnada<=8
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=9 && idxnada<=10
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=11 && idxnada<=12
nadaout={'A'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=13 && idxnada<=14
nadaout={'B'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=15&& idxnada<=16
nadaout={'C Tinggi'};
set(handles.edit1,'string' ,nadaout)
else
nadaout={'ERROR'};
set(handles.edit1,'string' ,nadaout)
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 4.6 (lanjutan) Sintaks Program untuk Menampilkan Teks Nada
function nadaout=lut32(idxnada,handles)
% Penentuan keluaran text untuk LUT dengan
% frame blocking 32 titik
if idxnada>=7 && idxnada<=8
nadaout={'C'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=9 && idxnada<=10
nadaout={'D'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=11 && idxnada<=12
nadaout={'E'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=13 && idxnada<=14
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=15 && idxnada<=16
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=17 && idxnada<=118
nadaout={'A'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=19 && idxnada<=20
nadaout={'B'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=21 && idxnada<=22
nadaout={'C Tinggi'};
set(handles.edit1,'string' ,nadaout)
else
nadaout={'ERROR'};
set(handles.edit1,'string' ,nadaout)
end
function nadaout=lut64(idxnada,handles) % Penentuan keluaran text untuk LUT dengan % frame blocking 64 titik if idxnada>=13 && idxnada<=14 nadaout={'C'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=15 && idxnada<=16 nadaout={'D'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=17 && idxnada<=18 nadaout={'E'}; set(handles.edit1,'string' ,nadaout)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
elseif idxnada>=19 && idxnada<=20
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=21 && idxnada<=22
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=23 && idxnada<=25
nadaout={'A'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=26 && idxnada<=27
nadaout={'B'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=28&& idxnada<=32
nadaout={'C Tinggi'};
set(handles.edit1,'string' ,nadaout)
else
nadaout={'ERROR'};
set(handles.edit1,'string' ,nadaout)
end
function nadaout=lut128(idxnada,handles)
% Penentuan keluaran text untuk LUT dengan
% frame blocking 128 titik
if idxnada>=26 && idxnada<=28
nadaout={'C'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=30 && idxnada<=32
nadaout={'D'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=34 && idxnada<=35
nadaout={'E'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=36&& idxnada<=37
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=41 && idxnada<=42
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=46 && idxnada<=48
nadaout={'A'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=51 && idxnada<=53
nadaout={'B'};
set(handles.edit1,'string' ,nadaout)
Gambar 4.6 (lanjutan) Sintaks Program untuk Menampilkan Teks Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
elseif idxnada>=54 && idxnada<=56 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) end
function nadaout=lut256(idxnada,handles) % Penentuan keluaran text untuk LUT dengan % frame blocking 256 titik if idxnada>=52 && idxnada<=57 nadaout={'C'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=58 && idxnada<=64 nadaout={'D'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=66 && idxnada<=71 nadaout={'E'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=72 && idxnada<=75 nadaout={'F'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=79 && idxnada<=85 nadaout={'G'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=89 && idxnada<=95 nadaout={'A'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=99 && idxnada<=105 nadaout={'B'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=106 && idxnada<=112 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) end
function nadaout=lut512(idxnada,handles) % Penentuan keluaran text untuk LUT dengan % frame blocking 512 titik if idxnada>=102 && idxnada<=114 nadaout={'C'}; set(handles.edit1,'string' ,nadaout)
Gambar 4.6 (lanjutan) Sintaks Program untuk Menampilkan Teks Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
elseif idxnada>=115 && idxnada<=129
nadaout={'D'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=131 && idxnada<=143
nadaout={'E'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=144 && idxnada<=151
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=156 && idxnada<=170
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=175 && idxnada<=189
nadaout={'A'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=197 && idxnada<=211
nadaout={'B'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=211 && idxnada<=225
nadaout={'C Tinggi'};
set(handles.edit1,'string' ,nadaout)
else
nadaout={'ERROR'};
set(handles.edit1,'string' ,nadaout)
end
function nadaout=lut1024(idxnada,handles)
% Penentuan keluaran text untuk LUT dengan
% frame blocking 1024 titik
if idxnada>=200 && idxnada<=230
nadaout={'C'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=231 && idxnada<=257
nadaout={'D'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=258 && idxnada<=288
nadaout={'E'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=289&& idxnada<=303
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=309 && idxnada<=339
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
Gambar 4.6 (lanjutan) Sintaks Program untuk Menampilkan Teks Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Dari nilai-nilai hasil perhitungan DCT tersebut, kemudian dicari indeks nilai
maksimumnya dengan perintah find(yx==max(yx)). Setelah mendapatkan nilai
maksimumnya maka nilai tersebut akan dicocokkan dengan nilai pada look up table untuk
nilai frame blocking yang dipilih oleh user. Dalam proses pengenalan digunakan
inisialisasi nadaout untuk mengetahui nada yang dimainkan oleh user berada pada range
indeksi nilai maksimum Ke berapa dari nada tersebut, kemudian akan ditampilkan dalam
bentuk teks nada. Apabila indeks nilai maksimum tidak berada pada range dari setiap nada
yang telah ditentukan maka program akan menampilkan teks berupa error. Proses
penentuan range indeks nilai maksimum pada look up table dapat dilihat pada lampiran
[L1] dan hasilnya dapat dilihat pada (Tabel L1).
Berikut merupakan list program untuk pushbutton “Clear” :
Gambar 4.7 Sintaks Program untuk Pushbutton “Clear”
Program pada Gambar 4.7 digunakan untuk membersihkan axes dan edit pada
tampilan GUI menjadi kondisi awal sebelum program pengenalan nada dijalankan.
axes(handles.axes1); plot(0); axes(handles.axes2); plot(0); set (handles.edit1,'string',' '); set (handles.popupmenu2,'Value',1);
elseif idxnada>=348 && idxnada<=378 nadaout={'A'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=392 && idxnada<=422 nadaout={'B'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=423 && idxnada<=449 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) end
Gambar 4.6 (lanjutan) Sintaks Program untuk Menampilkan Teks Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Berikut merupakan list program untuk pushbutton “Selesai”
Gambar 4.8 Sintaks Program untuk Pushbutton “Selesai”
Program pada Gambar 4.8 digunakan untuk mengakhiri program pengenalan nada
alat musik belira dan keluar dari tampilan GUI.
4.3. Nilai Maksimum
Sistem pengenalan nada alat musik belira ini mengggunakan 7 buah look up table
untuk setiap nilai frame blocking sesuai dengan perancangan look up table pada BAB III
yang berfungsi sebagai penentuan keluaran. Nilai yang digunakan untuk look up table
diperoleh dari hasil pengambilan data pengujian sebanyak 10 kali setiap nadanya dengan
mencari nilai maksimum pada DCT domain, proses pengambilan nilai maksimum dapat
dilihat pada (lampiran 1). Berikut merupakan tabel look up table setiap nilai frame
blocking
Tabel 4.1 Look Up Table untuk Frame Blocking 16
No Nada Nilai Maksimum
1 C 4≤nilaimaks≤5
2 D 4≤nilaimaks≤5
3 E 5≤nilaimaks≤6
4 F 5≤nilaimaks≤6
5 G 6≤nilaimaks≤7
6 A 6≤nilaimaks≤7
7 B 7≤nilaimaks≤8
8 C > 7≤nilaimaks≤8
close;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Tabel 4.2 Look Up Table untuk Frame Blocking 32
No Nada Nilai Maksimum
1 C 7≤nilaimaks≤5
2 D 8≤nilaimaks≤9
3 E 9≤nilaimaks≤10
4 F 9≤nilaimaks≤10
5 G 11≤nilaimaks≤12
6 A 12≤nilaimaks≤13
7 B 13≤nilaimaks≤14
8 C > 14≤nilaimaks≤15
Tabel 4.3 Look Up Table untuk Frame Blocking 64
No Nada Nilai Maksimum
1 C 14≤nilaimaks≤15
2 D 16≤nilaimaks≤17
3 E 17≤nilaimaks≤18
4 F 18≤nilaimaks≤19
5 G 21≤nilaimaks≤22
6 A 23≤nilaimaks≤24
7 B 26≤nilaimaks≤27
8 C > 27≤nilaimaks≤29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Tabel 4.4 Look Up Table untuk Frame Blocking 128
No Nada Nilai Maksimum
1 C 27≤nilaimaks≤28
2 D 31≤nilaimaks≤32
3 E 34≤nilaimaks≤35
4 F 36≤nilaimaks≤37
5 G 41≤nilaimaks≤42
6 A 46≤nilaimaks≤47
7 B 51≤nilaimaks≤52
8 C > 55≤nilaimaks≤56
Tabel 4.5 Look Up Table untuk Frame Blocking 256
No Nada Nilai Maksimum
1 C 54≤nilaimaks≤55
2 D 61≤nilaimaks≤62
3 E 68≤nilaimaks≤69
4 F 72≤nilaimaks≤73
5 G 81≤nilaimaks≤82
6 A 91≤nilaimaks≤92
7 B 102≤nilaimaks≤103
8 C > 109nilaimaks≤110
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Tabel 4.6 Look Up Table untuk Frame Blocking 512
No Nada Nilai Maksimum
1 C 108≤nilaimaks≤109
2 D 121≤nilaimaks≤122
3 E 136≤nilaimaks≤137
4 F 144≤nilaimaks≤145
5 G 162≤nilaimaks≤163
6 A 181≤nilaimaks≤182
7 B 204≤nilaimaks≤205
8 C > 217≤nilaimaks≤218
Tabel 4.7 Look Up Table untuk Frame Blocking 1024
No Nada Nilai Maksimum
1 C 215≤nilaimaks≤216
2 D 242≤nilaimaks≤243
3 E 272≤nilaimaks≤273
4 F 288≤nilaimaks≤289
5 G 323≤nilaimaks≤324
6 A 363≤nilaimaks≤364
7 B 407≤nilaimaks≤408
8 C > 433≤nilaimaks≤434
Tabel 4.1 sampai 4.7 memperlihatkan look up table yang digunakan untuk setiap
nilai frame blocking. Pada tabel look up table nilai range low dan range High mengalami
perubahan nilai range, agar tidak terlihat nilai maksimum yang sama dan harus sesuai
dengan penulisan program yang benar. Perubahan nilai range menggunakan nilai selisih
terkecil dari setiap nada, nilai selisih terkecil digunakan untuk menentukan range low dan
range high. Hasil dari perubahan nila range ini dapat dilihat pada sintaks program Gambar
4.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
4.4. Analisis Performa
Pada pengujian ini, program pengenalan nada alat musik belira menggunakan
selurauh nilai dari frame blocking yaitu 16, 32, 64, 128, 256, 512, dan 1024. Dalam
pengujian ini dilakukan pengambilan data sebanyak 10 kali untuk masing-masing nada tiap
nilai frame blocking. Tujuan dari pengujian ini adalah untuk mengetahui apakah program
dapat bekerja dengan baik atau tidak.
Tabel 4.8. Hasil Pengujian Nada untuk Setiap Frame Blocking
Frame
Blocking
Nada
Persentase
Pengenalan
(%) C D E F G A B C>
Error
(%)
16 10 10 3 0 0 0 5 0 0 35
32 10 5 7 0 10 9 4 5 0 62,5
64 10 10 7 7 10 10 10 10 0 87,5
128 10 10 10 10 10 10 10 10 0 100
256 10 10 10 10 10 10 10 10 0 100
512 10 10 10 10 10 10 10 10 0 100
1024 10 10 10 10 10 10 10 10 0 100
Rata-rata Tingkat persentase keberhasilan
pengenalan nada 0 83,5
Tabel 4.8 memperoleh hasil pengujian tingkat persentase pengenalan melalui
perhitungan dari masing-masing nilai frame blocking dan dapat dibuat grafik dari pengaruh
perubahan nilai dari frame blocking terhadap tingkat pengenalan. Perhitungan untuk
memperoleh tingkat persentase pengenalan dapat mengunakan persamaan (3.1).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Contoh Perhitungan tingkat pengenalan :
Frame blocking = 128
Tingkat pengenalan = ∑
=
=
Tabel 4.9. Pengaruh Perubahan Nilai Frame Blocking Terhadap Tingkat Pengenalan
Frame Blocking Tingkat Pengenalan (%)
16 35
32 62,5
64 87,5
128 100
256 100
512 100
1024 100
Berikut merupakan grafik yang memperlihatkan pengaruh perubahan nilai frame
blocking terhadap tingkat pengenalan :
Gambar 4.9. Grafik Pengaruh Perubahan Nilai Frame Blocking
Dapat dilihat dari Tabel 4.1 dan grafik hasil pengujian pada Gambar 4.9, program
pengenalan nada alat musik belira telah bekerja dengan sesuai perancangan dan program
pengenalan dapat mengenali nada dengan benar dimulai dari nilai frame blocking 128.
Penurunan tingkat pengenalan ini dikarenakan nilai maksimum yang sama untuk setiap
Tin
gk
at
Pen
gen
ala
n (
%)
Framae Blocking
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 4.11 Contoh Sinyal Nada F
Terbaca Nada F Pada DCT Domain
Frame Blocking 16
Gambar 4.10 Contoh Sinyal Nada E
Terbaca Nada E Pada DCT Domain
Frame Blocking 16
Gambar 4.12 Contoh Sinyal Nada E
Terbaca Nada E Pada DCT Domain
Frame Blocking 32
Gambar 4.13 Contoh Sinyal Nada F
Terbaca Nada E Pada DCT Domain
Frame Blocking 32
nada alat musik belira pada frame blocking 16, 32, dan 64. Contoh nilai maksimum yang
sama diperlihatkan pada Gambar 4.10 sampai Gambar 4.15.
0 2 4 6 8 10 12 14 16 180
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
X = 5
Y = 0.0831
Indeks DCT
Am
plitu
do
0 2 4 6 8 10 12 14 16 180
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
X = 5
Y = 0.0841
Indeks DCT
Am
plitu
do
0 5 10 15 20 25 30 350
0.02
0.04
0.06
0.08
0.1
0.12
X = 9
Y = 0.116
Indeks DCT
Am
plitu
do
0 5 10 15 20 25 30 350
0.02
0.04
0.06
0.08
0.1
0.12
0.14
X = 9
Y = 0.134
Indeks DCT
Am
plitu
do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Gambar 4.14 Contoh Sinyal Nada E
Terbaca Nada E Pada DCT Domain
Frame Blocking 64
Gambar 4.15 Contoh Sinyal Nada F
Terbaca Nada E Pada DCT Domain
Frame Blocking 64
Gambar 4.10 sampai Gambar 4.15 memperlihatkan contoh hasil dari pengujian
sistem dengan nada masukan adalah nada E dan F. Pengujian memperoleh hasil untuk
nada F terbaca pada nada E, dikarenakan oleh nilai maksimum yang sama yaitu 5 untuk
frame blocking 16, nilai maksimum 9 untuk frame blocking 32, dan nilai maksimum 18
untuk frame blocking 64. Nilai maksimum yang sama ini menyebabkan range untuk setiap
nada menjadi overlaping dan membuat tingkat pengenalan menjadi turun karena nada yang
satu terbaca pada nada lainnya. Gambar 4.10 memperlihatkan sinyal DCT nada E menjadi
lebih besar saat nilai frame blocking 16 dan Gambar 4.14 menunjukkan sinyal DCT
menjadi lebih kecil saat frame blocking 64. Pengaruh perubahan nilai frame blocking yang
semakin kecil membuat sinyal DCT menjadi lebih besar dan range nadanya menjadi lebih
kecil atau berada pada nilai range yang sama. Nilai range setiap nada untuk semua frame
blocking dapat dilihat pada Tabel 4.1 sampai Tabel 4.7 .
0 5 10 15 20 25 30 350
0.02
0.04
0.06
0.08
0.1
0.12
X = 9
Y = 0.116
Indeks
Am
plitu
do
0 10 20 30 40 50 60 700
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
X = 18
Y = 0.147
Indeks DCT
Am
plitu
do
0 10 20 30 40 50 60 700
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
X = 18
Y = 0.149
Indeks DCT
Am
plitu
do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Gambar 4.16 Contoh Sinyal Nada E
Terbaca Nada E Pada DCT Domain
Frame Blocking 128
Gambar 4.17 Contoh Sinyal Nada F
Terbaca Nada F Pada DCT Domain
Frame Blocking 128
Gambar 4.16 dan Gambar 4.17 memperlihatkan nilai maksimum yang diperoleh
telah berbeda yaitu nilai maksimum 35 untuk nada E dan nilai maksimum 37 untuk nada F.
Pada Gambar 4.16 sampai Gambar 4.17 memperlihatkan range nilai maksimum yang
mulai berbeda saat nilai frame blocking mencapai 128 . Nilai frame blocking yang semakin
besar membuat sinyal DCT menjadi lebih kecil dan range untuk setiap nadanya menjadi
lebih besar, sehingga tingkat pengenalan menjadi 100%. Perbandingan penelitian
menggunakan analisis amplitudo pada ranah DCT dengan penelitian sebelumnya[2]
adalah Penelitian pada ranah DCT tidak mencari nilai frekuensi untuk setiap nadanya
seperti penelitian sebelumnya, karena penelitian sebelumnya untuk menentukan nada harus
melalui proses pencarian nilai maksimum, sorting turun, perhitungan harmonis, pencarian
frekuensi dan proses akhir penentuan nada. Kemudian penelitian menggunakan analisis
amplitudo pada ranah DCT dalam menentukan nada hanya melalui proses pencarian nilai
maksimum pada DCT domain, tidak perlu mencari nilai frekuensi nada dari alat musik
belira. Penelitian pada ranah DCT menggunakan proses yang lebih sederhana
dibandingkan dengan penelitian sebelumnya. Hasil pengujian dari penelitian pada ranah
DCT memperoleh hasil , sistem pengenalan dapat mengenali semua nada dengan benar dan
tidak ada error saat nilai frame blocking mencapai 128. Sedangkan pada penelitian
sebelumnya, sistem dapat mengenali semua nada dengan benar dan tidak ada error saat
nilai frame blocking mencapai 64.
0 20 40 60 80 100 120 1400
0.05
0.1
0.15
0.2
0.25
X = 35
Y = 0.201
Indeks DCT
Am
plitu
do
0 20 40 60 80 100 120 1400
0.1
0.2
0.3
0.4
0.5
0.6
0.7
X = 37
Y = 0.611
Indeks DCT
Am
plitu
do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
BAB V
PENUTUP
5.1. Kesimpulan
Kesimpulan yang didapatkan dari hasil percobaan dan pengujian sistem pengenalan
nada alat musik belira adalah sebagai berikut :
1. Sistem pengenalan telah bekerja sesuai dengan perancangan dan dapat
menampilkan plot hasil rekam, plot sinyal DCT, dan teks hasil pengenalan nada.
2. Sistem dapat mengenali semua nada dengan benar sesuai dengan nada yang
dimainkan untuk nilai frame blocking 128, 256, 512, dan 1024.
3. Tingkat pengenalan nada menjadi turun ketika nilai frame blocking di bawah 128,
yaitu 16, 32, dan 64. Penurunan tingkat pengenalan ini dikarenakan nilai range
setiap nadanya berada sama.
5.2. Saran
Saran yang diharapkan dapat membantu pengembangan sistem pengenalan alat
msuik belira adalah sebagai berikut :
1. Untuk pengembangannya, dapat juga dengan membuat hardware pengenalan nada
alat musik belira.
2. Pengembangan sistem dengan menggunakan metode yang berbeda sehingga dapat
dibandingkan tingkat pengenalan nadanya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
DAFTAR PUSTAKA
[1] Daswar, Firdha Rezky Amalia, 2012, Musik.
http://firdharad.blogspot.co.id/2012/08/musik.html diakses tanggal 8 september
2016.
[2] Yovita Hety Indriani, 2015, Pengenalan Nada Belira Menggunakan Analisis
Amplitudo pada Ranah Frekuensi, Tugas Akhir, Fakultas Sains dan Teknologi
Universitas Sanata Dharma, Yogyakarta.
[3] Novariyanto, V. Irwan, 2014, Pengenalan Nada Alat Musik Belira Secara Real
Time dengan Ekstraksi Ciri DCT dan Similaritas Kosinus, Tugas Akhir, Fakultas
Sains dan Teknologi Universitas Sanata Dharma, Yogyakarta.
[4] http://angelinalarasatii.blogspot.com/2012/10/01/archive.html diakses pada tanggal
8 september 2016.
[5] Munir, Rinaldi, 2014, Pengolahan Citra Digital dengan Pendekatan Algoritmik,
Bandung, Penerbit Informatika.
[6] Jain, A. K., Duin, R. P. W., & Mao, J. 2000, Statistical Pattern Recognition : A
Review. Pattern Analysis and Machine Intelligence, IEEE Transactions on,
22(1),hal 4-37.
[7] Sklar, B., 1988, Digital Comunications Fundamental and Application, New Jersey,
PTR Prentice Hall, hal 63.
[8] Naoyuki Kubota, Kazuo Kiguchi,Honghai Liu, Takenori Obo, 2016, Intelligent
Robotic and Application, Tokyo, hal 281
[9] Jain, A. K, 1989, Fundamentals of Digital Image Prepocessing, Prentice-Hall
International Inc., New Jersey, hal 150-151.
[10] Wilson D.R. dan Martinez, T.R., 2007, Improved Heterogeneous Distance
Function, Jurnal of Artifical Intelligence Research, Vol. 6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-1
LAMPIRAN 1
PERCOBAAN UNTUK MENENTUKAN RANGE INDEKS PADA
LOOK UP TABLE UNTUK MASING-MASING NADA BERLIRA
Tujuan :
1. Mencari nilai indeks tengah untuk look up table.
2. Mengetahui nilai indeks maksimum pada nada alat musik belira.
3. Menentukan range dari nilai indeks untuk look up table pada masing-masing nada
belira.
Variabel :
1. Frekuensi sampling yang digunakan sebesar 10000 Hz.
2. Durasi sampling perekaman yang digunakan sebesar 1,5 detik.
3. Masing-masing nada direkam sebanyak 10 kali.
Berikut merupakan list program untuk menentukan range pada look up table :
function gbsinyaldct % Penggambaran sinyal pada dct domain
% Definisi variabel frame=16;
% Batas Potong b0=0.3;
% Sinyal masukan y0=wavread('DO10 TINGGI.wav');
% Pemotongan Sinyal % 1. Potong 1 b1=find(y0>b0|y0<-b0); y0(1:b1(1))=[];
Gambar L1.1 Sintak Program Mencari Nilai Range Untuk Setiap Look Up Table
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-2
0 2 4 6 8 10 12 14 16 180
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
X = 5
Y = 0.441
Indeks DCT
Am
plit
udo
Gambar L1.1 (lanjutan) Sintak Program Mencari Nilai Range Untuk Setiap Look Up Table
Berikut merupakan contoh plot sinyal nada C pada DCT domain untuk menentukan
range pada look up table dengan frame blocking 16 :
% 2. Potong 2 bts=floor(0.25*length(y0)); y0(1:bts)=[];
% Frame blocking
y1=y0(1:frame);
% Windowing h=hamming(frame); y2=y1.*h;
yx=abs(dct(y2)); bar(yx) xlabel('Indeks') ylabel('Amplitudo')
Gambar L1.2. Sinyal Nada C1 Pada DCT Domain Frame Blocking 16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-3
0 2 4 6 8 10 12 14 16 180
0.05
0.1
0.15
0.2
0.25
0.3
0.35
X = 4
Y = 0.298
Indeks DCT
Am
plit
udo
0 2 4 6 8 10 12 14 16 180
0.05
0.1
0.15
0.2
0.25
0.3
0.35
X = 5
Y = 0.336
Indeks DCT
Am
plit
udo
Gambar diatas merupakan contoh dari proses penentuan range untuk look up table
pada frame blocking 16 dilakukan sebanyak 10 kali pengambilan data pada masing-masing
nada alat musik belira. (Tabel L.1) memperlihatkan proses pengambilan nilai indeks
maksimum untuk nilai range pada look up table.
Gambar L1.3. Sinyal Nada C2 Pada DCT Domain Frame Blocking 16
Gambar L1.4 Sinyal Nada C3 Pada DCT Domain Frame Blocking 16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-4
Tabel L1.1. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table
Nada Pengambilan Rata-
Rata 1 2 3 4 5 6 7 8 9 10
C 5 4 5 5 5 4 4 5 5 4 5
D 4 5 4 5 5 4 4 5 4 5 5
E 5 6 5 6 5 5 6 5 6 5 5
F 5 5 6 5 5 5 5 6 5 5 5
G 6 6 6 6 7 6 7 6 7 6 6
A 7 7 6 7 6 7 6 6 7 7 7
B 7 7 7 7 7 7 7 8 8 7 7
C> 8 8 8 7 8 7 8 7 8 8 8
Tabel L1.2. Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
C 5 0
D 5
D 5
0 E 5
E 5
0
F 5
F 5 1
G 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-5
0 5 10 15 20 25 30 350
0.1
0.2
0.3
0.4
0.5
0.6
0.7
X = 8
Y = 0.505
Indeks DCT
Am
plit
udo
Tabel L1.2. (lanjutan) Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
G 6 1
A 7
A 7
0 B 7
B 7
1
C> 8
Dari hasil yang terlihat pada (Tabel L1.2), maka diperoleh range untuk look up
table dengan frame blocking 16 adalah 0. Nilai range ini, diperoleh dari selisih terkecil dari
setiap nada alat musik belira. Kemudian selisih terkecil tersebut digunakan sebagai range
atas dan range bawah.
Berikut merupakan contoh plot sinyal nada C pada DCT domain untuk menentukan
range pada look up table dengan frame blocking 32 :
Gambar L1.5. Sinyal Nada C1 Pada DCT Domain Frame Blocking 32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-6
0 5 10 15 20 25 30 350
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
X = 7
Y = 0.448
Indeks DCT
Am
plit
udo
0 5 10 15 20 25 30 350
0.1
0.2
0.3
0.4
0.5
0.6
0.7
X = 8
Y = 0.519
Indeks DCT
Am
plit
udo
Gambar L1.6. Sinyal Nada C2 Pada DCT Domain Frame Blocking 32
Gambar L1.7. Sinyal Nada C3 Pada DCT Domain Frame Blocking 32
Gambar diatas merupakan contoh dari proses penentuan range untuk look up table
pada frame blocking 32 dilakukan sebanyak 10 kali pengambilan data pada masing-masing
nada alat musik belira. (Tabel L1.3) memperlihatkan proses pengambilain nilai indeks
maksimum untuk nilai range pada look up table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-7
Tabel L1.3. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table
Nada Pengambilan Rata-
Rata 1 2 3 4 5 6 7 8 9 10
C 8 7 8 8 8 7 7 7 7 8 8
D 8 9 8 9 8 8 8 9 9 9 9
E 9 9 10 10 10 9 10 10 10 10 10
F 10 10 9 9 10 9 9 10 9 9 9
G 11 11 11 11 12 11 12 11 12 12 11
A 13 13 13 13 12 13 13 12 12 12 13
B 13 14 13 14 14 13 13 14 14 13 14
C> 15 15 15 14 15 14 15 14 15 15 15
Tabel L1.4. Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
C 8 1
D 9
D 9
1 E 10
E 10
1
F 9
F 9 2
G 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-8
0 10 20 30 40 50 60 700
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
X = 15
Y = 0.906
Indeks DCT
Am
plit
udo
Tabel L1.4. (lanjutan) Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
G 11 2
A 13
A 13
1 B 14
B 14
1
C> 15
Dari hasil yang terlihat pada (Tabel L1.4), maka diperoleh range untuk look up
table dengan frame blocking 32 adalah 1. Nilai range ini, diperoleh dari selisih terkecil dari
setiap nada alat musik belira. Kemudian selisih terkecil tersebut digunakan sebagai range
atas dan range bawah. Dalam program pengenalan nada alat musik belira range yang
digunakan untuk frame blocking 32 adalah 0, karena nilai dari range setiap nada sangat
berdekatan.
Berikut merupakan contoh plot sinyal nada C pada DCT domain untuk menentukan
range pada look up table dengan frame blocking 64 :
Gambar L1.8. Sinyal Nada C1 Pada DCT Domain Frame Blocking 64
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-9
0 10 20 30 40 50 60 700
0.1
0.2
0.3
0.4
0.5
0.6
0.7
X = 14
Y = 0.638
Indeks DCT
Am
plit
udo
0 10 20 30 40 50 60 700
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
X = 15
Y = 0.731
Indeks DCT
Am
plitu
do
Gambar L1.9. Sinyal Nada C2 Pada DCT Domain Frame Blocking 64
Gambar L1.10. Sinyal Nada C3 Pada DCT Domain Frame Blocking 64
Gambar diatas merupakan contoh dari proses penentuan range untuk look up table
pada frame blocking 64 dilakukan sebanyak 10 kali pengambilan data pada masing-masing
nada alat musik belira. (Tabel L1.5) memperlihatkan proses pengambilan nilai indeks
maksimum untuk nilai range pada look up table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-10
Tabel L1.5. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table
Nada Pengambilan Rata-
Rata 1 2 3 4 5 6 7 8 9 10
C 15 14 15 15 15 14 14 15 14 14 15
D 16 16 16 16 16 16 17 17 17 16 16
E 18 17 18 18 18 17 18 18 17 18 18
F 19 19 18 18 19 18 18 19 18 18 18
G 21 21 21 21 22 21 22 21 22 22 21
A 24 24 23 24 23 24 23 23 23 23 23
B 26 26 26 27 26 26 26 27 27 26 26
C> 28 29 28 29 27 28 28 28 29 28 28
Tabel L1.6. Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
C 15 1
D 16
D 16
2 E 18
E 18
0
F 18
F 18 3
G 21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-11
0 20 40 60 80 100 120 1400
0.2
0.4
0.6
0.8
1
1.2
1.4
X = 27
Y = 1.05
Indeks DCT
Am
plit
udo
Tabel L1.6. (lanjutan) Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
G 21 2
A 23
A 23
3 B 26
B 26
2
C> 28
Dari hasil yang terlihat pada (Tabel L1.6), maka diperoleh range untuk look up
table dengan frame blocking 64 adalah 0. Nilai range ini, diperoleh dari selisih terkecil dari
setiap nada alat musik belira. Kemudian selisih terkecil tersebut digunakan sebagai range
atas dan range bawah.
Berikut merupakan contoh plot sinyal nada C pada DCT domain untuk menentukan
range pada look up table dengan frame blocking 128 :
Gambar L1.11. Sinyal Nada C1 Pada DCT Domain Frame Blocking 128
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-12
0 20 40 60 80 100 120 1400
0.2
0.4
0.6
0.8
1
1.2
1.4
X = 28
Y = 1.32
Indeks DCT
Am
plitu
do
0 20 40 60 80 100 120 1400
0.2
0.4
0.6
0.8
1
1.2
1.4
X = 28
Y = 1.32
Indeks DCT
Am
plitu
do
Gambar L1.12. Sinyal Nada C2 Pada DCT Domain Frame Blocking 128
Gambar L1.13. Sinyal Nada C3 Pada DCT Domain Frame Blocking 128
Gambar diatas merupakan contoh dari proses penentuan range untuk look up table
pada frame blocking 128 dilakukan sebanyak 10 kali pengambilan data pada masing-
masing nada alat musik belira. (Tabel L1.7) memperlihatkan proses pengambilan nilai
indeks maksimum untuk nilai range pada look up table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-13
Tabel L1.7. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table
Nada Pengambilan Rata-
Rata 1 2 3 4 5 6 7 8 9 10
C 27 28 28 28 27 27 27 27 27 28 27
D 31 31 31 31 31 31 32 32 32 31 31
E 35 34 35 35 35 36 35 35 34 35 35
F 37 37 36 36 37 36 36 37 36 36 36
G 42 41 41 41 42 41 42 41 42 42 41
A 47 47 47 47 46 47 46 46 46 46 47
B 51 52 51 52 52 51 52 52 52 51 52
C> 55 56 55 56 56 55 55 55 56 55 55
Tabel L1.8. Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
C 27 4
D 31
D 31
4 E 35
E 35
1
F 36
F 36 5
G 41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-14
0 50 100 150 200 250 3000
0.2
0.4
0.6
0.8
1
1.2
1.4
X = 55
Y = 1.38
Indeks DCT
Am
plit
udo
Tabel L1.8. (lanjutan) Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
G 41 6
A 47
A 47
5 B 52
B 52
3
C> 55
Dari hasil yang terlihat pada( Tabel L1.8), maka diperoleh range untuk look up
table dengan frame blocking 128 adalah 1. Nilai range ini, diperoleh dari selisih nilai
terkecil dari setiap nada alat musik belira. Kemudian selisih nilai terkecil tersebut
digunakan sebagai range atas dan range bawah.
Berikut merupakan contoh plot sinyal nada C pada DCT domain untuk menentukan
range pada look up table dengan frame blocking 256 :
Gambar L1.14. Sinyal Nada C1 Pada DCT Domain Frame Blocking 256
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-15
0 50 100 150 200 250 3000
0.2
0.4
0.6
0.8
1
1.2
1.4
X = 54
Y = 1.25
Indeks DCT
Am
plit
udo
0 50 100 150 200 250 3000
0.5
1
1.5
X = 55
Y = 1.46
Indeks DCT
Am
plit
udo
Gambar L1.15. Sinyal Nada C2 Pada DCT Domain Frame Blocking 256
Gambar L1.16. Sinyal Nada C3 Pada DCT Domain Frame Blocking 256
Gambar diatas merupakan contoh dari proses penentuan range untuk look up table
pada frame blocking 256 dilakukan sebanyak 10 kali pengambilan data pada masing-
masing nada alat musik belira. (Tabel L1.9) memperlihatkan proses pengambilan nilai
indeks maksimum untuk nilai range pada look up table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-16
Tabel L1.9. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table
Nada Pengambilan Rata-
Rata 1 2 3 4 5 6 7 8 9 10
C 55 54 55 55 54 55 54 54 54 55 55
D 61 62 61 61 61 61 62 62 62 61 61
E 69 68 69 69 69 68 69 69 68 69 69
F 73 73 72 72 73 72 72 73 72 72 72
G 82 81 81 81 82 82 81 81 82 82 82
A 92 92 92 92 91 92 92 91 91 91 92
B 102 102 102 103 102 102 102 103 103 102 102
C> 109 110 109 110 110 109 109 109 110 109 109
Tabel L1.10. Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
C 55 5
D 61
D 61
8 E 69
E 69
3
F 72
F 72 10
G 82
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-17
0 100 200 300 400 500 6000
0.5
1
1.5
2
2.5
X = 109
Y = 2.44
Indeks DCT
Am
plit
udo
Tabel L1.10. (lanjutan) Proses Penentuan Range untuk Look Up Table
Nada
Rata-
Rata
Selisih
G 82 10
A 92
A 92
10 B 102
B 102
7
C> 109
Dari hasil yang terlihat pada (Tabel L1.10), maka diperoleh range untuk look up
table dengan frame blocking 256 adalah 3. Nilai range ini, diperoleh dari selisih nilai
terkecil dari setiap nada alat musik belira. Kemudian selisih nilai terkecil tersebut
digunakan sebagai range atas dan range bawah.
Berikut merupakan contoh plot sinyal nada C pada DCT domain untuk menentukan
range pada look up table dengan frame blocking 512 :
Gambar L1.17. Sinyal Nada C1 Pada DCT Domain Frame Blocking 512
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-18
0 100 200 300 400 500 6000
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
X = 108
Y = 1.77
Indeks DCT
Am
plit
udo
0 100 200 300 400 500 6000
0.5
1
1.5
2
2.5
X = 109
Y = 2.04
Indeks DCT
Am
plit
udo
Gambar L1.18. Sinyal Nada C2 Pada DCT Domain Frame Blocking 512
Gambar L1.19. Sinyal Nada C3 Pada DCT Domain Frame Blocking 512
Gambar diatas merupakan contoh dari proses penentuan range untuk look up table
pada frame blocking 512 dilakukan sebanyak 10 kali pengambilan data pada masing-
masing nada alat musik belira. (Tabel L1.11) memperlihatkan proses pengambilan nilai
indeks maksimum untuk nilai range pada look up table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-19
Tabel L1.11. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table
Nada Pengambilan Rata-
Rata 1 2 3 4 5 6 7 8 9 10
C 109 108 109 109 109 109 108 109 108 109 109
D 121 122 121 122 121 121 122 122 122 122 122
E 136 136 137 137 137 136 137 137 136 137 137
F 145 145 144 144 145 144 144 145 144 144 144
G 163 162 162 162 163 162 163 162 163 163 163
A 182 182 181 182 181 182 181 182 182 182 182
B 204 204 204 204 204 204 204 205 204 203 204
C> 218 218 217 218 218 217 217 217 218 217 218
Tabel L1.12. Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
C 109 13
D 122
D 122
15 E 137
E 137
7
F 144
F 144 19
G 163
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-20
0 200 400 600 800 1000 12000
0.5
1
1.5
2
2.5
3
X = 215
Y = 2.84
Indeks DCT
Am
plit
udo
Tabel L1.12. (lanjutan) Proses Penentuan Range untuk Look Up Table
Nada
Rata-Rata
Selisih
G 163 19
A 182
A 182
22 B 204
B 204
14
C> 218
Dari hasil yang terlihat pada (Tabel L1.12), maka diperoleh range untuk look up
table dengan frame blocking 512 adalah 7. Nilai range ini, diperoleh dari selisih nilai
terkecil dari setiap nada alat musik belira. Kemudian selisih nilai terkecil tersebut
digunakan sebagai range atas dan range bawah.
Berikut merupakan contoh plot sinyal nada C pada DCT domain untuk menentukan
range dari look up table dengan frame blocking 1024 :
Gambar L1.20. Sinyal Nada C1 Pada DCT Domain Frame Blocking 1024
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-21
0 200 400 600 800 1000 12000
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
X = 217
Y = 1.85
Indeks DCT
Am
plit
udo
0 200 400 600 800 1000 12000
0.5
1
1.5
2
2.5
3
3.5
4
4.5
X = 216
Y = 4.39
Indeks DCT
Am
plit
udo
Gambar L1.21. Sinyal Nada C2 Pada DCT Domain Frame Blocking 1024
Gambar L1.22. Sinyal Nada C3 Pada DCT Domain Frame Blocking 1024
Gambar diatas merupakan contoh dari proses penentuan range untuk look up table
pada frame blocking 1024 dilakukan sebanyak 10 kali pengambilan data pada masing-
masing nada alat musik belira. Tabel L.13 memperlihatkan proses pengambilan nilai
indeks maksimum untuk nilai range pada look up table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-22
Tabel L1.13. Proses Pengambilan Nilai Indeks Maksimum untuk Look Up Table
Nada Pengambilan Rata-
Rata 1 2 3 4 5 6 7 8 9 10
C 215 217 216 215 215 215 215 215 215 216 215
D 242 242 242 243 242 241 243 243 243 242 242
E 272 272 273 273 273 272 273 273 273 272 273
F 288 288 289 288 288 288 288 289 289 288 288
G 324 323 324 323 324 324 323 323 324 324 324
A 363 363 362 363 362 363 362 363 363 363 363
B 407 407 407 407 407 407 407 408 408 406 407
C> 434 434 433 433 434 433 433 433 433 433 433
Tabel L1.14. Proses Penentuan Range untuk Look Up Table
Nada
Rata-
Rata
Selisih
C 215 27
D 242
D 242
31 E 273
E 273
15
F 288
F 288 36
G 324
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-23
Tabel L1.14. (lanjutan) Proses Penentuan Range untuk Look Up Table
Nada
Rata-
Rata
Selisih
G 324 39
A 363
A 363
44 B 407
B 407
26
C > 433
Dari hasil yang terlihat pada Tabel L1.14, maka diperoleh range untuk look up
table dengan frame blocking 1024 adalah 15. Nilai range ini, diperoleh dari selisih nilai
terkecil dari setiap nada alat musik belira. Kemudian selisih nilai terkecil tersebut
digunakan sebagai range atas dan range bawah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-24
LAMPIRAN 2
LISTING PROGRAM PENGAMBILAN NADA UJI
Gambar L2.1 Sintaks Program Pengambilan Nada Uji
sample_length=1.5; sample_freq=10000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq,'DO12.wav'); plot(x); xlabel('Data Tercuplik') ylabel('Amplitudo')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-25
0 5000 10000 15000
-1
-0.5
0
0.5
1
Data Tercuplik
Am
plitu
do
0 5000 10000 15000-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Am
plit
udo
Data Tercuplik
LAMPIRAN 3
Proses Menyeluruh Yang Dicerminkan Balam Bentuk
Flowchart
Contoh menggunakan nada C dari alat musik belira dengan nilai frame blocking
512.
Start
Masukan : “Nada
C Belira”
Normalisasi Gambar L3.2 Contoh Sinyal Nada C Belira
Gambar L3.3 Contoh Sinyal Normalisasi Nada C Belira
A
Gambar L3.1 Flowcart Pengenalan
Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-26
0 2000 4000 6000 8000 10000 12000-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
Data Tercuplik
Am
plit
udo
0 100 200 300 400 500 600-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
Data Tercuplik
Am
plit
udo
Pemotongan Sinyal
Bagian Silence
Frame Blocking
Pemotongan Sinyal
Bagian Transisi
A
0 5000 10000 15000
-1
-0.5
0
0.5
1
Data Tercuplik
Am
plitudo
Gambar L3.4 Contoh Pemotongan Sinyal Bagian Silence
Gambar L3.5 Contoh Pemotongan Sinyal Bagian Transisi
Gambar L3.6 Contoh Sinyal saat Proses Frame Blocking
A
Gambar L3.1 (lanjutan) Flowcart
Pengenalan Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-27
0 100 200 300 400 500 6000
0.5
1
1.5
2
2.5
X = 109
Y = 2.44
Indeks DCT
Am
plit
udo
Hamming Window
Keluaran :
Teks “ C ”
0 100 200 300 400 500 600-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
Data Tercuplik
Am
plit
udo
DCT
END
A
Gambar L3.7 Contoh Sinyal Hasil Proses Hamming Window
Gambar L3.8 Contoh Sinyal Nada C Pada DCT Domain
Gambar L3.1 (lanjutan) Flowcart
Pengenalan Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-28
LAMPIRAN 4
LISTING PROGRAM PENGENALAN NADA BELIRA
Gambar L4.23 Sintaks Program Pengenalan Nada Belira
function varargout = PRO(varargin) % PRO M-file for PRO.fig % PRO, by itself, creates a new PRO or raises the
existing % singleton*. % % H = PRO returns the handle to a new PRO or the handle
to % the existing singleton*. % % PRO('CALLBACK',hObject,eventData,handles,...) calls
the local % function named CALLBACK in PRO.M with the given input
arguments. % % PRO('Property','Value',...) creates a new PRO or
raises the % existing singleton*. Starting from the left,
property value pairs are % applied to the GUI before PRO_OpeningFcn gets called.
An % unrecognized property name or invalid value makes
property application % stop. All inputs are passed to PRO_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 PRO
% Last Modified by GUIDE v2.5 06-Mar-2017 20:09:26
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @PRO_OpeningFcn, ... 'gui_OutputFcn', @PRO_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-29
Gambar L.23 Sintaks Program Pengenalan Nada Belira
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before PRO is made visible.
function PRO_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 PRO (see
VARARGIN)
% Choose default command line output for PRO
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes PRO wait for user response (see
UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the
command line.
function varargout = PRO_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;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-30
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
% --- 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)
sample_length=1.5; sample_freq=10000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq,'s.wav'); axes(handles.axes1) plot(x); xlabel('Data Tercuplik') ylabel('Amplitudo')
% Batas Potong b0=0.3;
% Normalisasi y1=x/max(x);
% Pemotongan Sinyal % 1. Potong 1 b1=find(y1>b0|y1<-b0); y1(1:b1(1))=[];
% 2. Potong 2 bts=floor(0.25*length(y1)); y1(1:bts)=[];
% Frame blocking frame=handles.frame y2=y1(1:frame);
% Windowing h=hamming(frame); y3=y2.*h;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-31
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
% Spektrum frekuensi
yx=abs(dct(y3));
% Pencarian indeks nilai maksimum
imax=find(yx==max(yx));
set(handles.edit2,'string',imax);
% Pencarian nada yang sesuai menggunakan LUT
if frame==16
nada=lut16(imax,handles);
elseif frame==32
nada=lut32(imax,handles);
elseif frame==64
nada=lut64(imax,handles);
elseif frame==128
nada=lut128(imax,handles);
elseif frame==256
nada=lut256(imax,handles);
elseif frame==512
nada=lut512(imax,handles);
elseif frame==1024
nada=lut1024(imax,handles);
end
function nadaout=lut16(idxnada,handles)
% Penentuan keluaran text untuk LUT dengan
% frame blocking 16 titik
if idxnada>=1 && idxnada<=2
nadaout={'C'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=3 && idxnada<=4
nadaout={'D'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=5 && idxnada<=6
nadaout={'E'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=7 && idxnada<=8
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=9 && idxnada<=10
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=11 && idxnada<=12
nadaout={'A'};
set(handles.edit1,'string' ,nadaout)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-32
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
elseif idxnada>=13 && idxnada<=14 nadaout={'B'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=15&& idxnada<=16 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) end
function nadaout=lut32(idxnada,handles) % Penentuan keluaran text untuk LUT dengan % frame blocking 32 titik if idxnada>=7 && idxnada<=8 nadaout={'C'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=9 && idxnada<=10 nadaout={'D'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=11 && idxnada<=12 nadaout={'E'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=13 && idxnada<=14 nadaout={'F'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=15 && idxnada<=16 nadaout={'G'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=17 && idxnada<=18 nadaout={'A'}; set(handles.edit1,'string' ,nadaout)
elseif idxnada>=19 && idxnada<=20 nadaout={'B'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=21 && idxnada<=22 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-33
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
function nadaout=lut64(idxnada,handles) % Penentuan keluaran text untuk LUT dengan % frame blocking 64 titik if idxnada>=13 && idxnada<=14 nadaout={'C'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=15 && idxnada<=16 nadaout={'D'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=17 && idxnada<=18 nadaout={'E'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=19 && idxnada<=20 nadaout={'F'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=21 && idxnada<=22 nadaout={'G'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=23 && idxnada<=25 nadaout={'A'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=26 && idxnada<=27 nadaout={'B'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=28&& idxnada<=32 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) end
function nadaout=lut128(idxnada,handles) % Penentuan keluaran text untuk LUT dengan % frame blocking 128 titik if idxnada>=26 && idxnada<=28 nadaout={'C'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=30 && idxnada<=32 nadaout={'D'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=34 && idxnada<=35 nadaout={'E'}; set(handles.edit1,'string' ,nadaout)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-34
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
elseif idxnada>=36&& idxnada<=37 nadaout={'F'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=41 && idxnada<=42 nadaout={'G'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=46 && idxnada<=48 nadaout={'A'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=51 && idxnada<=53 nadaout={'B'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=54 && idxnada<=56 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) end
function nadaout=lut256(idxnada,handles) % Penentuan keluaran text untuk LUT dengan % frame blocking 256 titik if idxnada>=52 && idxnada<=57 nadaout={'C'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=58 && idxnada<=64 nadaout={'D'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=66 && idxnada<=71 nadaout={'E'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=72 && idxnada<=75 nadaout={'F'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=79 && idxnada<=85 nadaout={'G'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=89 && idxnada<=95 nadaout={'A'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=99 && idxnada<=105 nadaout={'B'}; set(handles.edit1,'string' ,nadaout)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-35
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
elseif idxnada>=106 && idxnada<=112
nadaout={'C Tinggi'};
set(handles.edit1,'string' ,nadaout)
else
nadaout={'ERROR'};
set(handles.edit1,'string' ,nadaout)
end
function nadaout=lut512(idxnada,handles)
% Penentuan keluaran text untuk LUT dengan
% frame blocking 512 titik
if idxnada>=102 && idxnada<=114
nadaout={'C'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=115 && idxnada<=129
nadaout={'D'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=131 && idxnada<=143
nadaout={'E'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=144 && idxnada<=151
nadaout={'F'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=156 && idxnada<=170
nadaout={'G'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=175 && idxnada<=189
nadaout={'A'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=197 && idxnada<=211
nadaout={'B'};
set(handles.edit1,'string' ,nadaout)
elseif idxnada>=212 && idxnada<=225
nadaout={'C Tinggi'};
set(handles.edit1,'string' ,nadaout)
else
nadaout={'ERROR'};
set(handles.edit1,'string' ,nadaout)
end
function nadaout=lut1024(idxnada,handles)
% Penentuan keluaran text untuk LUT dengan
% frame blocking 1024 titik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-36
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
if idxnada>=200 && idxnada<=230 nadaout={'C'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=231 && idxnada<=257 nadaout={'D'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=258 && idxnada<=288 nadaout={'E'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=289&& idxnada<=303 nadaout={'F'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=309 && idxnada<=339 nadaout={'G'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=348 && idxnada<=378 nadaout={'A'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=392 && idxnada<=422 nadaout={'B'}; set(handles.edit1,'string' ,nadaout) elseif idxnada>=423 && idxnada<=449 nadaout={'C Tinggi'}; set(handles.edit1,'string' ,nadaout) else nadaout={'ERROR'}; set(handles.edit1,'string' ,nadaout) 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) axes(handles.axes1); plot(0); axes(handles.axes2); plot(0); set (handles.edit1,'string',' '); set (handles.popupmenu2,'Value',1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-37
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata,
handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version
of MATLAB % handles structure with handles and user data (see
GUIDATA) close;
% --- 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) indeks=get(handles.popupmenu2, 'Value'); switch indeks case 2 frameb=16; case 3 frameb=32; case 4 frameb=64; case 5 frameb=128; case 6 frameb=256; case 7 frameb=512; case 8 frameb=1024; end handles.frame=frameb; guidata(hObject,handles); % Hints: contents = cellstr(get(hObject,'String'))
returns popupmenu2 contents as cell array % contents{get(hObject,'Value')} returns selected
item from popupmenu2
% --- Executes during object creation, after setting all
properties. function popupmenu2_CreateFcn(hObject, eventdata,
handles) % hObject handle to popupmenu2 (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-38
Gambar L4.23 (lanjutan) Sintaks Program Pengenalan Nada Belira
% 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
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version
of MATLAB % handles structure with handles and user data (see
GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1
as text % str2double(get(hObject,'String')) returns
contents of edit1 as a double
% --- Executes during object creation, after setting all
properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version
of MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI