pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

115
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

Upload: others

Post on 11-Sep-2021

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 2: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 3: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 7: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 9: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 10: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 11: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

xi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 13: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 14: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 15: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 16: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 17: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 18: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 19: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 20: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 21: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 22: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 23: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 24: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 25: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 26: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 27: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 28: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 29: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 30: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 31: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 32: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 33: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 34: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 35: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 36: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 37: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 38: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 39: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 40: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 41: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 42: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 43: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 44: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 45: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 46: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 47: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 48: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 49: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 50: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 51: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 52: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 53: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 54: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 55: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 56: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 57: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 58: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 59: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 60: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 61: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 62: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 63: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 64: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 65: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 66: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 67: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 68: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 69: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 70: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 71: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 72: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 73: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 74: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 75: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 76: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 77: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 79: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 80: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 81: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 82: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 83: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 84: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 85: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 86: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 87: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 88: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 89: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 90: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 91: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 92: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 93: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 94: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 95: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 96: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 97: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 98: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 99: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 100: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 101: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 102: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 103: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 104: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 105: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 106: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 107: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 108: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 109: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 110: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 111: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 112: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 113: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 114: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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

Page 115: pengenalan nada belira menggunakan analisis amplitudo pada ranah discrete cosine transform

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