ABSTRAK
Perkembangan teknologi yang semakin pesat memberikan kemudahan bagi
masyarakat dalam memenuhi kebutuhan, khususnya menyalurkan hobi terutama
untuk komunitas kicau mania. Burung selain memiliki keindahan fisik juga
memiliki keindahan suara yaitu suara kicaunya, terutama burung passerine atau
burung yang termasuk dalam ordo Passeriformes. Teknologi selain berperan
penting sebagai media untuk bertukar informasi mengenai seputar tips dalam
merawat burung, juga diharapkan untuk dapat memberikan fungsi lain, yaitu
mendeteksi suara kicau burung, sehingga masyarakat yang memiliki hobi serupa
dapat dengan mudah menentukan jenis burung berdasarkan suara kicaunya. Oleh
karena itu diperlukan sebuah sistem yang dapat mengklasifikasikan jenis burung
berdasarkan suara kicaunya.
Penelitian ini menghasilkan sebuah model klasifikasi untuk jenis burung.
Data yang digunakan merupakan data rekaman suara burung Cucak Hijau, Cucak
Rawa, dan Kenari yang didapatkan dari situs omkicau. Sistem menerapkan metode
MFCC (Mel Frequency Cepstral Coefficients) untuk cirinya dan Jaringan Syaraf
Tiruan Propagasi Balik untuk klasifikasinya.
Percobaan proses klasifikasi dengan Jaringan Syaraf Tiruan Propagasi Balik
dengan melakukan optimalisasi arsitektur jaringan dan pemilihan ciri menghasilkan
akurasi 100% untuk 13 koefisien, 99.72% untuk 26 dan 39 koefisien.
Kata Kunci : Klasifikasi, Passeriformes, MFCC, Jaringan Syaraf Tiruan
ABSTRACT
Fast technological development gives people an easiness to occupy their
own needs, especially the hobby for community of chirping mania. Not only having
physical beauty but also bird has its beautiful sound which is its chirping sound,
mainly passerine birds or birds of Passeriformes order. The technology plays an
important role as a medium for exchanging information about tips on caring for
birds, but it is also expected to be able to provide another purpose, that is to detect
birds chirping sound, so that people who have the same hobby can easily determine
the type of bird by its chirping sound. Therefore we need a system that can classify
them.
This study resulted in a classification model for the type of birds. The
selected bird recording are used: Greater Green Leafbird, Straw-headed Bulbul, and
Canary. The recordings were obtained from omkicau sites. The system applies
MFCC (Mel Frequency Cepstral Coefficients) method for its feature and Neural
Network Backpropagation for classification.
Classification process experiment using Neural Network Backpropagation
by optimizing network architecture and selecting the feature give 100% accuracy
for 13 coefficients, 99.72% accuracy for 26 and 39 coefficients.
Keyword : Classification, Passeriformes, MFCC, Neural Network
i
KLASIFIKASI BURUNG BERDASARKAN SUARA KICAU BURUNG MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh :
Lorencius Echo Sujianto Putera 125314085
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
ii
BIRD CLASSIFICATION BASED ON ITS CHIRPING SOUND USING NEURAL NETWORK BACK PROPAGATION
A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana
Komputer Degree in Informatics Engineering Department
By :
Lorencius Echo Sujianto Putera 125314085
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
iii
HALAMAN PERSETUJUAN PEMBIMBING
SKRIPSI
KLASIFIKASI BURUNG BERDASARKAN SUARA KICAU BURUNG MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
Oleh :
Lorencius Echo Sujianto Putera
125314085
Telah disetujui oleh :
Pembimbing,
iv
HALAMAN PENGESAHAN
KLASIFIKASI BURUNG BERDASARKAN SUARA KICAU BURUNG MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
Dipersiapkan dan ditulis oleh :
LORENCIUS ECHO SUJIANTO PUTERA
NIM : 125314085
Telah dipertahankan di depan Panitia Penguji
pada tanggal 26 Agustus 2016
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : Eko Hari Parmadi S.Si, M.Kom ...
Sekretaris : Dr. Anastasia Rita Widiarti ...
Anggota : Dr. C. Kuntoro Adi, S.J., M.A., M.Sc. ...
Yogyakarta ...
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan,
v MOTTO
“Strength does not come from WINNING. Your struggles develop your strengths. When you go through HARDSHIPS and decide not to SURRENDER, that is
strength.” – Arnold Schwarzenegger
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa di dalam skripsi yang saya
tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, ...
Penulis
vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Lorencius Echo Sujianto Putera
NIM : 125314085
Demi pengembangan ilmu pengetahuan, saya memberikan kepada
Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul :
KLASIFIKASI BURUNG BERDASARKAN SUARA KICAU BURUNG MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya
memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk
menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk
pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di
internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari
saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama
saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal ...
Yang menyatakan
viii ABSTRAK
Perkembangan teknologi yang semakin pesat memberikan kemudahan bagi
masyarakat dalam memenuhi kebutuhan, khususnya menyalurkan hobi terutama
untuk komunitas kicau mania. Burung selain memiliki keindahan fisik juga
memiliki keindahan suara yaitu suara kicaunya, terutama burung passerine atau
burung yang termasuk dalam ordo Passeriformes. Teknologi selain berperan
penting sebagai media untuk bertukar informasi mengenai seputar tips dalam
merawat burung, juga diharapkan untuk dapat memberikan fungsi lain, yaitu
mendeteksi suara kicau burung, sehingga masyarakat yang memiliki hobi serupa
dapat dengan mudah menentukan jenis burung berdasarkan suara kicaunya. Oleh
karena itu diperlukan sebuah sistem yang dapat mengklasifikasikan jenis burung
berdasarkan suara kicaunya.
Penelitian ini menghasilkan sebuah model klasifikasi untuk jenis burung.
Data yang digunakan merupakan data rekaman suara burung Cucak Hijau, Cucak
Rawa, dan Kenari yang didapatkan dari situs omkicau. Sistem menerapkan metode
MFCC (Mel Frequency Cepstral Coefficients) untuk cirinya dan Jaringan Syaraf
Tiruan Propagasi Balik untuk klasifikasinya.
Percobaan proses klasifikasi dengan Jaringan Syaraf Tiruan Propagasi Balik
dengan melakukan optimalisasi arsitektur jaringan dan pemilihan ciri menghasilkan
akurasi 100% untuk 13 koefisien, 99.72% untuk 26 dan 39 koefisien.
Kata Kunci : Klasifikasi, Passeriformes, MFCC, Jaringan Syaraf Tiruan
ix ABSTRACT
Fast technological development gives people an easiness to occupy their
own needs, especially the hobby for community of chirping mania. Not only having
physical beauty but also bird has its beautiful sound which is its chirping sound,
mainly passerine birds or birds of Passeriformes order. The technology plays an
important role as a medium for exchanging information about tips on caring for
birds, but it is also expected to be able to provide another purpose, that is to detect
birds chirping sound, so that people who have the same hobby can easily determine
the type of bird by its chirping sound. Therefore we need a system that can classify
them.
This study resulted in a classification model for the type of birds. The
selected bird recording are used: Greater Green Leafbird, Straw-headed Bulbul, and
Canary. The recordings were obtained from omkicau sites. The system applies
MFCC (Mel Frequency Cepstral Coefficients) method for its feature and Neural
Network Backpropagation for classification.
Classification process experiment using Neural Network Backpropagation
by optimizing network architecture and selecting the feature give 100% accuracy
for 13 coefficients, 99.72% accuracy for 26 and 39 coefficients.
Keyword : Classification, Passeriformes, MFCC, Neural Network
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, yang telah
memberikan rahmat dan karunia yang berlimpah sehingga penulis dapat
menyelesaikan tugas akhir dengan baik.
Penulis menyadari bahwa pada saat pengerjaan tugas akhir ini penulis
mendapatkan banyak bantuan dari berbagai pihak, baik berupa dukungan,
perhatian, kritik, dan saran serta doa yang sangat penulis butuhkan demi kelancaran
dan mendapatkan hasil yang baik. Pada kesempatan ini penulis akan menyampaikan
ucapan terima kasih kepada :
1. Tuhan Yesus Kristus yang senantiasa mencurahkan kasih karunia-Nya serta
memberikan bimbingan dan berkat dalam setiap langkah yang telah penulis
lalui.
2. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3. Dr. Cyprianus Kuntoro Adi, SJ., M.A., M.Sc. selaku dosen pembimbing
akademik dan pembimbing tugas akhir yang telah dengan sabar dan penuh
perhatian membimbing saya dalam penyusunan tugas akhir.
4. Dr. Anastasia Rita Widiarti M.Kom selaku Ketua Program Studi Teknik
Informatika yang selalu memberikan dukungan dan perhatian serta saran
kepada mahasiswa tugas akhir dalam pengerjaan tugas akhir.
5. Kedua orang tua tercinta Bapak Paulus Hari Kristanto dan Ibu Anastasia Sujiati
yang selalu mendoakan, memotivasi, dan memberikan dukungan moral maupun
materi kepada penulis, sehingga penulis dapat menyelesaikan tugas akhir ini.
6. Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan selama
perkuliahan dan pengalaman-pengalaman yang sangat berarti bagi penulis.
7. Teman-temanku Kevin, Eva, Agustin, Pius, serta seluruh teman-temanku
sesama peminatan komputasi yang telah berjuang bersama dan saling
xi
8. Teman-teman Teknik Informatika 2012 Sanata Dharma, terima kasih atas
semangat dan perjuangan bersama yang telah kalian berikan kepada satu sama
lain.
9. Teman-temanku selain dari prodi TI, terima kasih atas dukungan yang telah
kalian berikan.
10.Terima kasih kepada semua pihak yang tidak dapat penulis sebutkan satu
persatu yang telah mendukung penyelesaian tugas akhir ini baik secara
langsung maupun tidak langsung.
Penulis menyadari bahwa masih adanya kekurangan dalam penulisan
laporan tugas akhir ini. Kritik dan saran sangat penulis harapkan untuk perbaikan
yang akan datang. Akhir kata, penulis berharap tulisan ini dapat berguna bagi
perkembangan ilmu pengetahuan dan wawasan pembaca.
Yogyakarta, ...
Penulis
xii DAFTAR ISI
HALAMAN JUDUL ... i
TITLE PAGE... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
MOTTO... v
PERNYATAAN KEASLIAN KARYA ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR TABEL ... xiv
DAFTAR GAMBAR ... xv
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang... 1
1.2. Perumusan Masalah ... 2
1.3. Tujuan ... 2
1.4. Batasan Masalah ... 2
1.5. Luaran Tugas Akhir ... 3
1.6. Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 5
2.1. Suara Burung ... 5
2.2. Passeriformes ... 5
2.3. Jenis-jenis Passeriformes ... 6
2.4. Ekstraksi Ciri ... 8
2.4.1. Mel Frequency Cepstral Coefficients ... 8
2.5. Jaringan Syaraf Tiruan ... 12
2.5.1. Arsitektur Jaringan ... 12
2.5.2. Back Propagation ... 14
xiii
2.7. K-Fold Cross Validation ... 23
2.8. Confusion Matrix ... 24
BAB III METODOLOGI ... 25
3.1. Gambaran Penelitian ... 25
3.1.1. Data ... 25
3.1.2. Preprocessing ... 27
3.1.3. Ekstraksi Ciri ... 28
3.1.4. Jaringan Syaraf Tiruan ... 31
3.1.5. Arsitektur Jaringan Syaraf Tiruan ... 32
3.1.6. Metode Pengujian ... 36
3.2. Kebutuhan Sistem ... 36
3.3. Perancangan Antarmuka Sistem ... 37
BAB IV IMPLEMENTASI DAN ANALISA ... 42
4.1. Hasil Penelitian ... 42
4.1.1. Pengujian Kombinasi Feature ... 42
4.1.2. Optimalisasi Jaringan Syaraf Tiruan ... 49
4.1.3. Percobaan Metode Training ... 50
4.1.4. Pengujian Data Tunggal ... 51
4.2. Analisa Hasil ... 53
BAB V PENUTUP ... 55
5.1. Kesimpulan... 55
5.2. Saran ... 55
DAFTAR PUSTAKA ... 56
xiv
DAFTAR TABEL
Tabel 2.1 Confusion Matrix (Diana dan Shidik, 2014) ... 24
Tabel 3.1 Statistic Features Indices ... 30
Tabel 3.2 3 Fold Cross Validation ... 31
Tabel 3.3 5 Fold Cross Validation ... 31
Tabel 3.4 10 Fold Cross Validation ... 31
xv
DAFTAR GAMBAR
Gambar 2.1 Burung Cucak Hijau (Sandi, 2012) ... 6
Gambar 2.2 Burung Cucak Rawa (Bellerby, 2014) ... 7
Gambar 2.3 Burung Kenari (Emilio, 2013)... 7
Gambar 2.4 Ilustrasi Arsitektur Jaringan Lapis Tunggal (Siang, 2005) ... 13
Gambar 2.5 Ilustrasi Arsitektur Jaringan Lapis Majemuk (Siang, 2005) ... 14
Gambar 2.6 Ilustrasi Arsitektur JST Back Propagation (Siang, 2005) ... 14
Gambar 2.7 Efek Penghalusan Momentum (Hagan & Demuth, 1996) ... 19
Gambar 2.8 Lintasan dengan momentum (Hagan & Demuth, 1996) ... 20
Gambar 2.9 Lintasan Variable Learning Rate (Hagan & Demuth, 1996) ... 22
Gambar 3.1 Diagram blok sistem ... 25
Gambar 3.2 Contoh Sinyal dan Spectogram Suara Burung Cucak Hijau ... 26
Gambar 3.3 Contoh Sinyal dan Spectogram Suara Burung Cucak Rawa ... 26
Gambar 3.4 Contoh Sinyal dan Spectogram Suara Burung Kenari... 27
Gambar 3.5 Contoh hasil ekstraksi ciri MFCC ... 28
Gambar 3.6 Arsitektur jaringan pelatihan dan pengujian 1 hiddel layer ... 32
Gambar 3.7 Contoh model jaringan 1 hidden layer dengan MFCC 13 coefficients dan feature mean ... 33
Gambar 3.8 Arsitektur jaringan pelatihan dan pengujian 2 hidden layer ... 34
Gambar 3.9 Contoh model jaringan 2 hidden layer dengan MFCC 13 coefficients dan feature mean ... 35
Gambar 3.10 Rancangan Antarmuka Menu Utama Sistem ... 37
Gambar 3.11 Rancangan Antarmuka Ekstraksi Ciri ... 38
Gambar 3.12 Rancangan Antarmuka Klasifikasi ... 40
Gambar 4.1 Hasil Ekstraksi Ciri Suara ... 42
Gambar 4.2 Grafik akurasi untuk 3 fold cross validation ... 44
Gambar 4.3 Grafik akurasi untuk 5 fold cross validation ... 45
Gambar 4.4 Grafik akurasi untuk 10 fold cross validation ... 47
Gambar 4.5 Grafik hasil optimalisasi ... 49
Gambar 4.6 Grafik akurasi percobaan metode training ... 50
xvi
Gambar 4.8 Tampilan hasil uji coba data tunggal burung cucak rawa ... 52
Gambar 4.9 Tampilan hasil uji coba data tunggal burung kenari ... 52
1 BAB I PENDAHULUAN
1.1. Latar Belakang
Dengan perkembangan teknologi yang semakin pesat ini tentunya dapat
memberikan keuntungan bagi masyarakat, salah satunya adalah memberikan
kemudahan dalam memenuhi kebutuhan khususnya dalam menyalurkan hobinya
terutama untuk komunitas kicau mania. Burung selain memiliki keindahan fisik
juga memiliki keindahan suara, yaitu suara kicaunya. Di Indonesia sendiri ada
beberapa jenis burung yang umum di pelihara oleh masing-masing individu dalam
sebuah komunitas kicau mania, terutama burung passerine atau burung yang
termasuk dalam ordo Passeriformes. Dalam hal ini teknologi selain berperan
penting sebagai media untuk bertukar informasi mengenai seputar tips dalam
merawat burung, juga diharapkan untuk dapat memberikan fungsi lain, yaitu
mendeteksi suara kicau burung, sehingga masyarakat yang memiliki hobi serupa
dapat dengan mudah menentukan jenis burung. Maka, untuk memenuhi hal itu
diperlukan sebuah sistem yang dapat mengklasifikasikan jenis burung berdasarkan
suara kicaunya.
Pada tahun 2012 terdapat penelitian dengan judul “Klasifikasi Jenis Burung Berdasarkan Suara Kicau Burung Menggunakan Wavelet Packet Decomposition
Dan Jaringan Syaraf Tiruan Self Organizing Map” (Annisa, dkk 2012). Penelitian
tersebut bertujuan untuk membuat sebuah sistem yang mampu mengklasifikasikan
jenis burung berdasarkan suara kicaunya dalam sebuah perlombaan kicau burung.
Nilai akurasi yang dihasilkan pada penelitian tersebut adalah 83.13% dengan
menggunakan parameter JST SOM, dan 93.75% dengan parameter Euclidean
Distance.
Pada tugas akhir ini penulis akan mencoba untuk mengklasifikasikan jenis
burung tersebut berdasarkan suara kicaunya dengan menggunakan Jaringan Syaraf
1.2. Perumusan Masalah
Ada beberapa hal yang harus diperhatikan berkaitan dengan proses
klasifikasi jenis burung berdasarkan suara kicaunya, mulai dari proses awal hingga
akhir. Hal tersebut dapat dirumuskan menjadi beberapa rumusan masalah, yaitu
sebagai berikut :
1. Bagaimana metode Jaringan Syaraf Tiruan Back Propagation mampu
mengklasifikasikan jenis burung berdasarkan perbedaan suaranya.
2. Berapakah akurasi yang dihasilkan oleh Jaringan Syaraf Tiruan Back
Propagation dalam mengklasifikasikan jenis burung.
Sebuah alat uji dapat dikatakan baik jika menghasilkan akurasi di atas 50%,
oleh karena itu perlu diketahui berapa nilai akurasi yang akan dihasilkan ketika
dilakukan proses klasifikasi dengan menggunakan Jaringan Syaraf Tiruan metode
Back Propagation.
1.3. Tujuan
Untuk menjawab rumusan-rumusan masalah yang ada, maka tujuan dari
tugas akhir ini dapat dijabarkan menjadi beberapa poin penting, yaitu sebagai
berikut :
1. Ekstraksi ciri suara kicau burung untuk mengetahui perbedaan dari
setiap suara kicau burung menggunakan metode Mel Frequency
Cepstral Coefficient.
2. Mengetahui hasil akurasi dalam mengklasifikasikan jenis burung
menggunakan Jaringan Syaraf Tiruan Back Propagation.
1.4. Batasan Masalah
Agar tahapan-tahapan pengerjaan tugas akhir ini lebih terfokus pada tujuan
yang telah ditetapkan, maka perlu adanya batasan-batasan masalah.
1. Suara burung kicau didapatkan dari sebuah situs berbagi informasi
seputar burung kicau yang bernama omkicau.
2. Format rekaman berekstensi .wav yang didapatkan dari hasil konversi
file .mp3.
3. Jenis burung yang dianalisa adalah burung Cucak Hijau, Cucak Rawa,
dan Kenari.
4. Alat uji yang dibangun bersifat tidak real time.
5. Jumlah sampel yang akan dianalisis sebanyak 120 sampel per jenis
burung.
6. Proses untuk ekstraksi ciri menggunakan toolbox yang telah disediakan
oleh Roger Jang (Jang, 2005).
1.5. Luaran Tugas Akhir
Suatu sistem yang mampu menerima masukkan berupa rekaman suara
burung kemudian menampilkan luaran berupa hasil klasifikasi, yaitu gambar dan
nama burung tersebut.
1.6. Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi menjadi beberapa bab dengan
susunan sebagai berikut :
BAB I : PENDAHULUAN
Bab ini membahas latar belakang, rumusan masalah, tujuan, batasan
masalah, dan sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini membahas teori-teori yang mendukung dan menjadi dasar
pemecahan masalah, antara lain teori mengenai suara burung, dan jenis burung,
serta metode-metode seperti: Mel Frequency Cepstral Coefficient, dan Back
BAB III : METODOLOGI PENELITIAN
Bab ini membahas analisa komponen-komponen yang akan digunakan
untuk pengerjaan tugas akhir, serta perancangan sistem secara lengkap.
BAB IV : IMPLEMENTASI DAN ANALISA HASIL
Bab ini membahas analisa hasil perancangan sistem, dan pengujian rekaman
suara burung.
BAB V : KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari hasil analisa dan saran-saran untuk
5 BAB II
LANDASAN TEORI
Bab ini membahas penjabaran teori-teori yang bersangkutan dengan
penulisan Tugas Akhir ini. Teori-teori tersebut adalah Suara Burung, Pengertian
Passeriformes serta beberapa jenis Passeriformes yang akan dianalisa, Ekstraksi
Ciri, Jaringan Syaraf Tiruan, K-Fold Cross Validation, Confusion Matrix.
2.1. Suara Burung
Bagian utama mekanisme produksi suara pada burung adalah paru-paru,
bronkus, syrinx, trakea, larynx, mulut, dan paruh (Fagerlund, 2004). Syrinx burung
merupakan instrumen ganda yang ada dalam dada, pada bagian trakea yang terbagi
menjadi dua bronkus. Sebagian dari syrinx terletak pada masing-masing bronkus
dan mampu membuat suara. Hal ini berarti bahwa burung dapat bernyanyi dengan
nada yang berbeda secara bersamaan, atau bahkan dapat bernyanyi duet dengan
dirinya sendiri.
Tidak semua burung bernyanyi dan tidak semua suara yang dihasilkan
merupakan nyanyian (songs). Bernyanyi hanya terbatas pada ordo Passeriformes,
atau burung bertengger. Ini berarti bahwa setidaknya setengah dari burung-burung
yang ada di dunia tidak dapat bernyanyi. Kebanyakan burung menggunakan
vokalisasi pendek, suara tersebut memiliki banyak fungsi, dan secara umum
dinamakan panggilan (calls) untuk membedakannya dengan nyanyian (songs).
Nyanyian (songs) digunakan untuk tujuan yang berbeda dari panggilan
(calls). Hal inilah yang menarik hati manusia.
2.2. Passeriformes
Passeriform (ordo Passeriformes) dikenal sebagai burung passerine atau
burung bertengger, merupakan ordo burung terbesar yang ada di bumi. Ordo
Tyranni terdiri dari sekitar 1.250 spesies yang dianggap sederhana dan
dikelompokkan sebagai suboscines. Sedangkan burung pada subordo Passeri
dikelompokkan sebagai oscines atau burung penyanyi, Passeri terdiri dari sekitar
4.500 spesies (Passeriform, 2015).
2.3. Jenis-jenis Passeriformes
Dengan melihat kembali trend yang pernah terjadi pada beberapa tahun ini
(perlombaan-perlombaan yang pernah digelar), ada beberapa jenis burung
passerine yang umum dipelihara oleh kicau mania. Maka dari itu, jenis burung
passerine yang akan di analisa pada tugas akhir ini adalah: Cucak Hijau (Chloropsis
sonnerati), Cucak Rawa (Pycnonotus zeylanicus), dan Kenari (Serinus canaria).
Informasi rinci ketiga jenis burung tersebut adalah sebagai berikut :
1. Cucak Hijau
Gambar 2.1 Burung Cucak Hijau (Sandi, 2012)
Ordo : Passeriformes
Famili : Chloropseidae
Genus : Chloropsis
2. Cucak Rawa
Gambar 2.2 Burung Cucak Rawa (Bellerby, 2014)
Ordo : Passeriformes
Famili : Pycnonotidae
Genus : Pycnonotus
Nama Ilmiah : Pycnonotus zeylanicus
3. Kenari
Gambar 2.3 Burung Kenari (Emilio, 2013)
Ordo : Passeriformes
Genus : Serinus
Nama Ilmiah : Serinus canaria
2.4. Ekstraksi Ciri
Proses ini merupakan tahapan yang paling penting dalam
mengklasifikasikan suara kicau burung passerine. Dalam ekstraksi ciri ini akan
menghasilkan informasi penting yang dapat membedakan suara kicau ketiga jenis
burung tersebut, seperti frekuensi, amplitudo, intensitas, dan sebagainya.
2.4.1. Mel Frequency Cepstral Coefficients
MFCC didasarkan atas variasi bandwith kritis terhadap frekuensi pada
telinga manusia yang merupakan filter yang bekerja secara linier pada frekuensi
rendah dan bekerja secara logaritmik pada frekuensi tinggi. Filter ini digunakan
untuk menangkap karakteristik fonetis penting dari sinyal ucapan. Untuk meniru
kondisi telinga, karakteristik ini digambarkan dalam skala mel-frekuensi, yang
merupakan frekuensi linier di bawah 1000 Hz dan frekuensi logaritmik di atas 1000
Hz (Setiawan, dkk 2011).
1. Pre-emphasis
Menurut Jang (2005), sinyal suara dikirim ke filter high-pass :
= − ∗ − , ( 2.1 )
dimana adalah sinyal output dan nilai � biasanya antara 0.9 dan 1.0.
Z-transform dari filter adalah
� = − ∗ − . ( 2.2 )
Tujuan dari pre-emphasis adalah untuk mengkompensasi bagian frekuensi tinggi
yang ditekan pada saat produksi suara manusia. Selain itu juga dapat memperkuat
2. Frame Blocking
Dalam langkah ini sinyal wicara kontinyu diblok menjadi frame-frame N
sampel, dengan frame-frame berdekatan dengan spasi M (M < N). Frame pertama
terdiri dari N sampel pertama. Frame kedua dengan M sampel setelah frame
pertama, dan overlap dengan N–M sampel. Dengan cara yang sama, frame ketiga
dimulai 2M sampel setelah frame pertama (atau M sampel setelah frame kedua) dan
overlap dengan N–2M sampel. Proses ini berlanjut hingga semua wicara dihitung
dalam satu atau banyak frame. Nilai tipikal untuk N dan M adalah N = 256 dan M
=100 (Mustofa, 2007).
3. Hamming Windowing
Langkah berikutnya adalah pemrosesan dengan window pada
masing-masing frame individual untuk meminimalisasi sinyal tak kontinyu pada awal dan
akhir masing-masing frame. Window dinyatakan sebagai w(n), 0 ≤ n ≤ N−1, dengan
N adalah jumlah sampel dalam masing-masing frame, adalah sinyal input
dan hasil windowing adalah .
= , ≤ ≤ − ( 2.3 )
Jenis window yang digunakan adalah window Hamming.
= . − . � � [ �− ] , ≤ ≤ − ( 2.4 )
Dengan N adalah jumlah sampel.
4. Fast Fourier Transform
Langkah pemrosesan berikutnya adalah transformasi fourier cepat/ fast
fourier transform (FFT), FFT ini mengubah masing-masing frame N sampel dari
domain waktu menjadi domain frekuensi. FFT adalah algoritma cepat untuk
mengimplementasikan discrete fourier transform (DFT) dengan didefinisikan pada
= ∑ − − � ⁄
= , = , , , … , − ( 2.5 )
dengan,
=deretan aperiodik dengan nilai�
� = jumlah sampel
5. Triangular Bandpass Filters
Studi psikofisikal menunjukkan bahwa persepsi manusia dari kandungan
frekuensi suara pada sinyal wicara tidak mengikuti skala linier. Untuk
masingmasing nada dengan frekuensi aktual, f dalam Hz, pitch diukur dengan skala ‘mel’. Skala mel-frequency adalah frekuensi linier berada dibawah 1000 Hz dan bentuk logaritmik berada diatas 1000 Hz. Sebagai titik referensi adalah pitch
dengan tone 1 kHz, 40 dB diatas nilai batas ambang pendengaran, ini dinyatakan
1000 mel. Pendekatan persamaan untuk menghitung mel dalam frekuensi f (Hz)
adalah
= � � � + ⁄ ( 2.6 )
Salah satu pendekatan simulasi spektrum yaitu menggunakan filter bank,
satu filter untuk masing-masing komponen mel-frequency yang diinginkan. Filter
bank mempunyai respon frekuensi bandpass segitiga dan jarak bandwidth
ditentukan oleh konstanta interval mel-frequency.
6. Dicrete Cosine Transform
Langkah selanjutnya yaitu mengubah spektrum log mel menjadi domain
waktu. Hasil ini disebut mel frequency cepstrum coefficient (MFCC). Reprentasi
cepstral dari spectrum wicara memberikan reprentasi baik dari sifat-sifat spektral
lokal sinyal untuk analisis frame yang diketahui. Karena koefisien mel spectrum
adalah bilangan nyata. Dengan mengubahnya menjadi domain waktu menggunakan
discrete cosine transform (DCT). Jika koefisien spektrum daya mel hasilnya adalah
̃ = ∑ = (� � ̃ ) � � [ − �], = , , … , ( 2.7 )
Dimana �̃ adalah koefisien cepstrum mel-frequency dan �̃ adalah
koefisien daya mel.
7. Log Energy
Merupakan salah satu cara untuk menambah nilai koefisien yang dihitung
dari linear prediction atau mel-cepstrum, nilai tersebut merupakan log energy
signal. Ini berarti pada setiap frame terdapat nilai energi yang ditambahkan, berikut
rumus untuk menghitung nilai energi :
� = � � ∑�− _ ;
�= ( 2.8 )
x_windowed = sinyal hasil windowing, k = jumlah frame, dan m = panjang frame
(Sidiq, dkk 2015).
8. Delta Cepstrum
Secara umum metode yang digunakan untuk mandapatkan informasi dari
ciri yang dinamis biasa disebut dengan delta-features. Turunan waktu dari ciri dapat
dihitung dengan beberapa metode, hasil dari perhitungan delta akan ditambahkan
ke vektor ciri, sehingga menghasilkan vektor ciri yang lebih besar. Nilai dari delta
akan diturunkan sekali lagi terhadap waktu menjadi nilai delta-delta pada beberapa
kasus delta-delta disebut dengan koefisien percepatan, karena nilai tersebut turunan
dari kuadrat waktu dari koefisien.
Persamaan untuk menghitung feature ini adalah
∆� = [ = − � + ]/[ = − ], ( 2.9 )
Nilai M biasanya bernilai 2. Jika menambahkan kecepatan, feature berdimensi 26.
Pada umumnya sistem pengenalan suara menggunakan 39 feature ini untuk
mengenali (Jang, 2005).
2.5. Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang
memiliki karakteristik mirip dengan jaringan syaraf biologis (Siang, 2005).
Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari
jaringan syaraf biologis, dengan asumsi bahwa :
1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
2. Sinyal dikirimkan diantara neuron-neuron melalui
penghubung-penghubung.
3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang
diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu
batas ambang.
Jaringan Syaraf Tiruan ditentukan oleh 3 hal :
1. Pola hubungan antar neuron (disebut arsitektur jaringan).
2. Metode untuk menentukan bobot penghubung (disebut metode
training/learning/algoritma).
3. Fungsi aktivasi.
2.5.1. Arsitektur Jaringan
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf
tiruan antara lain :
Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung
dengan sekumpulan output-nya. Dalam beberapa model (misal perceptron), hanya
[image:31.595.87.514.182.577.2]ada sebuah unit neuron output.
Gambar 2.4 Ilustrasi Arsitektur Jaringan Lapis Tunggal (Siang, 2005)
Pada gambar 2.4 terdapat n unit input , , … , dan m buah unit output
( , , … , )kemudian ( , , … , ) yang menyatakan bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam output. Bobot-bobot ini saling
independen. Selama proses pelatihan, bobot-bobot tersebut akan dimodifikasi untuk
meningkatkan keakuratan hasil.
2. Jaringan Lapis Majemuk
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis tunggal.
Dalam jaringan ini, selain unit input dan output, ada unit-unit lain diantara unit input
dan output (sering disebut lapis tersembunyi). Dalam jaringan ini dimungkinkan
Gambar 2.5 Ilustrasi Arsitektur Jaringan Lapis Majemuk (Siang, 2005)
Pada gambar 2.5 terdapat n buah unit input , , … , dan m buah unit
output ( , , … , ), sebuah lapis tersembunyi yang terdiri dari p buah unit
( , … , �). Jaringan ini dapat menyelesaikan masalah yang lebih kompleks.
2.5.2. Back Propagation
Jaringan Syaraf Tiruan Back Propagation membandingkan perhitungan
keluaran dengan target keluaran dan menghitung nilai error untuk setiap unit
jaringan.
1. Arsitektur Back Propagation
Gambar 2.6 merupakan arsitektur jaringan syaraf tiruan back propagation
dengan n buah input ditambah sebuah bias, sebuah lapis tersembunyi yang terdiri
dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran.
2. Fungsi Aktivasi
Dalam jaringan syaraf tiruan back propagation, fungsi aktivasi yang dipakai
harus memenuhi beberapa syarat, yaitu : kontinu, terdeferensial dengan mudah dan
merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat
tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range
(0,1).
= + − dengan turunan ′ = ( − ) ( 2.10 )
Fungsi lain yang sering dipakai adalah sigmoid bipolar dengan range (-1,1).
= + − − dengan turunan ′ = ( + )( − ) ( 2.11 )
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang
targetnya > 1, pola masukkan dan keluaran harus terlebih dahulu ditransformasi
sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang
dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada
lapis yang bukan lapis keluaran. Pada lapis keluaran, fungsi aktivasi yang dipakai
adalah fungsi identitas : � = .
3. Proses Pelatihan Back Propagation
Proses Pelatihan Jaringan Syaraf Tiruan Back Propagation terdiri dari 3
proses, yaitu propagasi maju, propagasi mundur, dan perubahan bobot. Ketiga
proses tersebut dilakukan secara berulang sampai kondisi penghentian terpenuhi.
Umumnya penghentian yang dipakai adalah iterasi dan error.
1. Propagasi Maju
Selama propagasi maju, sinyal masukkan = dipropagasikan ke
lapis tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran
dipropagasikan maju lagi ke lapis tersembunyi di atasnya. Demikian
seterusnya hingga mendapatkan luaran jaringan = .
Berikutnya, luaran jaringan = dibandingkan dengan target
yang harus dicapai = . Selisih − adalah error yang terjadi. Jika
nilai error lebih kecil dari yang telah ditentukan, maka iterasi dihentikan,
jika tidak, maka bobot setiap garis dimodifikasi untuk mengurangi error
yang terjadi.
2. Propagasi Mundur
Berdasarkan error − , dihitung faktor = , , … , yang
dipakai untuk mendistribusikan error di unit ke semua unit tersembunyi
yang terhubung langsung dengan . juga dipakai untuk mengubah bobot
garis yang berhubungan langsung dengan unit luaran.
Dengan cara yang sama, dihitung faktor di setiap unit lapis
tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit
tersembunyi di bawahnya. Demikian seterusnya hingga semua faktor di unit
tersembunyi yang berhubungan langsung dengan unit masukkan dihitung.
3. Perbaikan Bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi
bersamaan. Perubahan bobot suatu garis didasarkan atas faktor neuron di
lapis atasnya.
Secara umum, algoritma pelatihan untuk jaringan back propagation
adalah sebagai berikut :
1. Inisialisasi semua bobot dengan bilangan acak kecil.
2. Jika kondisi penghentian belum terpenuhi, lakukan langkah 3-10.
4. Tiap unit masukkan menerima sinyal dan meneruskannya ke unit
tersembunyi di atasnya.
5. Hitung semua luaran di unit tersembunyi = , , … , �
_ = + ∑= ( 2.12 )
= ( _ ) = + − _ ( 2.13 )
6. Hitung semua luaran jaringan di unit = , , … ,
_ = + ∑= ( 2.14 )
= _ = + − _ ( 2.15 )
7. Hitung faktor unit luaran berdasarkan error di setiap unit luaran
= , , … ,
= − ′( )= − − ( 2.16 )
Hitung suku perubahan bobot dengan laju percepatan α
∆ = ; = , , … , ; = , , … , ( 2.17 )
8. Hitung faktor unit tersembunyi berdasarkan error di setiap unit
tersembunyi = , , … , �
_ = ∑ = ( 2.18 )
Faktor unit tersembunyi :
= _ ′( _ ) = _ ( − ) ( 2.19 )
Hitung suku perubahan bobot
∆ = ; = , , … , ; = , , … , ( 2.20 )
9. Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit luaran :
= + ∆ = , , … , ; = , , … ,
Perubahan bobot garis yang menuju ke unit tersembunyi :
= + ∆ = , , … , ; = , , … , ( 2.22 )
10.Bandingkan kondisi penghentian.
2.6. Mempercepat Pelatihan Backpropagation
Metode standar backpropagation seringkali terlalu lambat untuk keperluan
praktis. Beberapa modifikasi dilakukan terhadap standar backpropagation dengan
cara mengganti fungsi pelatihannya (Siang, 2005).
Secara umum, modifikasi dapat dikelompokkan dalam 2 kategori. Kategori
pertama adalah metode yang menggunakan teknik heuristik yang dikembangkan
dari metode penurunan tercepat yang dipakai dalam standar backpropagation.
Kategori kedua adalah menggunakan metode optimisasi numerik selain penurunan
tercepat. Beberapa metode yang dipakai sebagai modifikasi adalah metode gradien
conjugate, quasi Newton, dll. Dalam subbab berikut ini dibicarakan dahulu tentang
beberapa modifikasi yang masuk dalam kategori pertama (backpropagation dengan
momentum, variabel laju pemahaman, dan backpropagation resilient). Berikutnya
barulah dibahas tentang beberapa metode yang masuk dalam kategori kedua.
Beberapa metode yang dipakai untuk mempercepat pelatihan
backpropagation adalah sebagai berikut :
1. Metode Penurunan Gradien dengan Momentum (traingdm)
Meskipun metodenya paling sederhana, tapi metode penurunan gradien
sangat lambat dalam kecepatan proses iterasinya. Ini terjadi karena kadang-kadang
arah penurunan tercepat bukanlah arah yang tepat untuk mencapai titik minimum
globalnya.
Modifikasi metode penurunan tercepat dilakukan dengan menambahkan
momentum. Dengan momentum, perubahan bobot tidak hanya didasarkan atas
dengan memperhitungkan juga perubahan bobot pada epoch sebelumnya. Dengan
demikian kemungkinan terperangkap ke titik minimum lokal dapat dihindari.
Menurut Hagan dan Demuth (1996), sebelum mengaplikasikan momentum
ke dalam sebuah aplikasi jaringan syaraf, akan dibuktikan dalam sebuah ilustrasi
efek penghalusan dengan mempertimbangkan urutan pertama filter berikut :
= − + − , ( 2.23 )
dimana adalah input ke filter, adalah output dari filter, dan adalah
koefisien momentum yang harus memenuhi
≤ < . ( 2.24 )
Efek dari filter ini ditunjukkan pada gambar 2.7. Pada contoh ini, input ke filter
diambil dari gelombang sinus:
= + �� � , ( 2.25 )
dan koefisien momentum yang ditetapkan pada = . (grafik kiri) dan = .
(grafik kanan). Dari gambar tersebut dapat dilihat bahwa osilasi dari filter output
kurang dari osilasi filter input. Selain itu, dengan meningkatnya , osilasi pada filter
output berkurang. Perhatikan juga bahwa rata filter output sama dengan
rata-rata filter input, meskipun dengan meningkatnya , filter output merespon dengan
[image:37.595.88.516.193.718.2]lebih lambat.
Untuk memperingkas, filter cenderung mengurangi jumlah osilasi, sementara masih
melacak nilai rata-rata. Untuk melihat bagaimana hal ini bekerja pada permasalahan
jaringan syaraf, pertama-tama parameter pada persamaan berikut diperbarui :
∆ = − − , ( 2.26 )
∆ = − . ( 2.27 )
Ketika filter momentum ditambahkan untuk menggantikan parameter, maka
didapatkan persamaan untuk modifikasi momentum backpropagation :
∆ = ∆ − − − − , ( 2.28 )
∆ = �∆ − − − . ( 2.29 )
Ketika mengaplikasikan persamaan modifikasi ini, maka akan memperoleh hasil
[image:38.595.86.514.240.603.2]seperti pada gambar 2.8.
Gambar 2.8 Lintasan dengan momentum (Hagan & Demuth, 1996)
Dari gambar di atas filter cenderung membuat lintasan berjalan terus ke arah yang
sama, semakin besar nilai maka semakin banyak momentum yang terdapat pada
lintasan.
Dalam standar backpropagation, laju pemahaman berupa suatu konstanta
yang nilainya tetap selama iterasi. Akibatnya, unjuk kerja algoritma sangat
dipengaruhi oleh besarnya laju pemahaman yang dipakai. Secara praktis, sulit untuk
menentukan besarnya laju pemahaman yang paling optimal sebelum pelatihan
dilakukan. Laju pemahaman yang terlalu besar maupun terlalu kecil akan
menyebabkan pelatihan menjadi lambat.
Pelatihan akan lebih cepat apabila laju pemahaman dapat diubah ubah
besarnya selama proses pelatihan. Jika error sekarang lebih besar dibandingkan
error sebelumnya, maka laju pemahaman diturunkan. Jika sebaliknya, maka laju
pemahaman diperbesar. Dengan demikian laju pemahaman dapat dibuat sebesar
besarnya dengan tetap mempertahankan kestabilan proses.
Menurut Hagan dan Demuth (1996), ada banyak pendekatan untuk
mengubah learning rate (laju pemahaman). Salah satunya dengan cara yang paling
mudah, dimana learning rate berubah berdasarkan performa sebuah algoritma.
Aturan untuk variable learning rate backpropagation adalah sebagai berikut :
a. Jika error kuadrat (pada semua training set) meningkat lebih dari
persentase yang ditentukan (umumnya satu hingga lima persen)
setelah perubahan bobot, maka perubahan bobot diabaikan, learning
rate dikalikan dengan faktor < � < , dan koefisien momentum
(jika digunakan) diberi nilai nol.
b. Jika error kuadrat berkurang setelah perubahan bobot, maka perubahan
bobot diterima dan learning rate dikalikan dengan faktor > . Jika
sebelumnya diberi nilai nol, maka akan diubah menjadi nilai aslinya.
c. Jika error kuadrat meningkat namun kurang dari , maka perubahan
bobot diterima tetapi learning rate dan koefisien momentum tidak
berubah.
Dengan menggunakan parameter awal yang telah digunakan pada gambar
= . , � = . , dan = %, maka akan didapatkan hasil seperti pada gambar 2.9.
Gambar 2.9 Lintasan Variable Learning Rate (Hagan & Demuth, 1996)
3. Resilient Backpropagation (trainrp)
Jaringan backpropagation umumnya menggunakan fungsi aktivasi sigmoid.
Fungsi sigmoid akan menerima masukan dari range tak berhingga menjadi keluaran
pada range [ , ]. Semakin jauh titik dari = , semakin kecil gradiennya. Pada
titik yang cukup jauh dari = , gradiennya mendekati 0. Hal ini menimbulkan
masalah pada waktu menggunakan metode penurunan tercepat (yang iterasinya
didasarkan atas gradien). Gradien yang kecil menyebabkan perubahan bobot juga
kecil, meskipun masih jauh dari titik optimal.
Masalah ini diatasi dalam resilient backpropagation dengan cara membagi
arah dan perubahan bobot menjadi dua bagian yang berbeda. Ketika menggunakan
penurunan tercepat, yang diambil hanya arahnya saja. Besarnya perubahan bobot
4. Gradien Conjugate (traincgf, traincgp, traincgb)
Dalam standar backpropagation, bobot dimodifikasi pada arah penurunan
tercepat. Meskipun penurunan fungsi berjalan cepat, tapi tidak menjamin akan
konvergen dengan cepat. Dalam algoritma gradien conjugate, pencarian dilakukan
sepanjang arah conjugate. Dalam banyak kasus, pencarian ini lebih cepat. Ada
berbagai metode pencarian yang dilakukan berdasarkan prinsip gradien conjugate,
antara lain Fletcher-Reeves (‘traincgf’), Polak-Ribiere (‘traincgp’), Powel Beale (‘traincgb’).
Menurut Hagan & Demuth (1996), langkah-langkah dalam gradien
conjugate adalah sebagai berikut :
a. Memilih arah pencarian pertama � menjadi gradien negatif
= − , ( 2.30 )
b. Kemudian memilih learning rate untuk meminimalisasi fungsi
bersamaan dengan arah pencarian :
+ = + , ( 2.31 )
c. Lalu memilih arah pencarian selanjutnya berdasarkan persamaan
= − + − , ( 2.32 )
dengan persamaan berikut ini untuk menghitung nilai
= ∆ −
∆ − − atau = − − atau =
∆ −
− −
( 2.33 )
d. Jika algoritma belum konvergen maka lanjut pada langkah ke-2.
2.7. K-Fold Cross Validation
K-Fold Cross Validation merupakan teknik umum untuk menguji kinerja
dari classifier. Data dibagi menjadi k bagian (fold), kemudian selama = , … ,
data fold ke-i tersebut, lalu menghitung jumlah pengujian yang mengalami
kesalahan klasifikasi.
2.8. Confusion Matrix
Confusion Matrix menunjukkan jumlah prediksi yang benar dan salah yang
dibuat oleh model klasifikasi dibandingkan dengan hasil yang sebenarnya (nilai
target) dalam data. Matrix adalah n x n, dimana n adalah jumlah nilai target (kelas).
Kinerja model seperti ini biasanya dievaluasi dengan menggunakan data dalam
matrix. Tabel berikut menampilkan confusion matrix 2 x 2 untuk dua kelas (positif
[image:42.595.94.510.231.626.2]dan negatif) (Diana dan Shidik, 2014).
Tabel 2.1 Confusion Matrix (Diana dan Shidik, 2014)
Confusion Matrix Target
Positif Negatif
Model Positif a b Positive predictive value a/(a+b)
Negatif c d Negative predictive value d/(c+d)
sensitivity specitivity Accuracy = (a+d)/(a+b+c+d)
25 BAB III
METODOLOGI PENELITIAN
Bab ini membahas analisa kebutuhan sistem mencakup metode yang
digunakan untuk ekstraksi ciri suara burung, klasifikasi, dan pengujian sistem.
Selain kebutuhan sistem, bab ini juga berisi perancangan sistem mencakup ekstraksi
ciri, klasifikasi, pengujian, dan perancangan antarmuka sistem.
3.1. Gambaran Penelitian
Data
Ekstraksi Ciri
Jaringan Syaraf Tiruan
Model Jaringan
Hasil Klasifikasi
training feature
testing feature
Preprocessing
Gambar 3.1 Diagram blok sistem 3.1.1. Data
Suara burung yang dipilih dalam klasifikasi ini adalah Cucak Hijau, Cucak
Rawa, dan Kenari. Ketiga suara burung tersebut merupakan jenis burung yang
termasuk populer di kalangan para kicau mania, oleh karena itu pemilihan jenis
suara tersebut dilakukan karena banyaknya data suara yang dapat di akses oleh
publik sebab cukup banyak orang-orang yang berbagi rekaman suara burung
kicaunya pada situs online seperti pada situs omkicau.
Data yang digunakan pada sistem berupa 3 buah rekaman suara burung, 1
rekaman untuk masing-masing jenis burung. Ketiga rekaman tersebut akan melalui
Contoh data audio berupa sinyal digital dan spektogram yang digunakan
[image:44.595.85.506.162.670.2]pada penelitian ini dapat dilihat pada gambar-gambar di bawah ini.
Gambar 3.2 Contoh Sinyal dan Spectogram Suara Burung Cucak Hijau
Gambar 3.4 Contoh Sinyal dan Spectogram Suara Burung Kenari 3.1.2. Preprocessing
Proses preprosesing yang dilakukan adalah konversi file .mp3 dengan
frekuensi 44100 Hz dan stereo channel yang sudah mengalami pengompresan ke
dalam bentuk file .wav dengan format PCM, frekuensi 16000 Hz, 8 bit, tipe mono.
Proses ini membutuhkan aplikasi Audacity 2.1.2. Aplikasi tersebut tidak hanya
digunakan untuk konversi rekaman tipe .mp3 ke .wav, tetapi juga digunakan untuk
memotong-motong rekaman secara acak menjadi beberapa file rekaman berdurasi
5 detik yang digunakan sebagai data pengujian tunggal. Kemudian pemotongan
juga dilakukan dengan menggunakan fungsi yang telah dibuat pada Matlab,
memotong rekaman menjadi 120 rekaman dengan durasi masing-masing 5 detik
dan masing-masing rekaman tersebut dipotong secara berurutan sampai
menghasilkan 120 rekaman, sehingga akan menghasilkan total rekaman sebanyak
360 file .wav yang siap untuk dilakukan proses ekstraksi ciri dan pelatihan model
jaringan syaraf tiruan yang akan digunakan untuk proses klasifikasi data kelompok
3.1.3. Ekstraksi Ciri
Metode ekstraksi ciri menggunakan metode yang bernama MFCC (Mel
Frequency Cepstral Coefficient). Metode tersebut dipilih karena banyak digunakan
dalam bidang speech processing, baik itu speech recognition maupun speaker
recognition.
Proses ekstraksi ciri dalam tahap pelatihan dilakukan pada semua file suara
dengan menentukan terlebih dahulu ukuran frame dan overlap yang akan digunakan
pada saat proses perhitungan nilai MFCC. Kemudian masing-masing nilai MFCC
yang dihasilkan dari setiap rekaman yang ada, dilakukan proses reduksi ciri yaitu
dengan menghitung nilai statistik berupa nilai mean, variance, min, dan max dari
nilai MFCC, yang kemudian akan digunakan sebagai input dari jaringan syaraf
[image:46.595.88.504.266.680.2]tiruan.
Gambar 3.5 Contoh hasil ekstraksi ciri MFCC
Pada gambar 3.5 merupakan contoh hasil ekstraksi ciri MFCC sebelum
merupakan jumlah koefisien MFCC yang dihasilkan, sedangkan 332 merupakan
jumlah frame yang dihasilkan pada saat proses frame blocking. Jumlah frame
sebanyak 332 dihasilkan melalui perhitungan sebagai berikut :
Sample rate = 16000,
Frame size = 25ms = (25/1000)*16000 = 400 sample point,
Overlap = 10 ms = (10/1000)*16000 = 160 sample point,
Step = 400 – 160 = 240,
Duration = 5s,
Sample Total = 5*16000 = 80000,
Jumlah frame = (80000-160)/240 = 332
Proses reduksi ciri dilakukan dengan cara menghitung nilai mean, variance,
minimum, dan maximum setiap baris koefisien MFCC yaitu 1-39. Sebagai contoh
baris pertama / koefisien pertama MFCC dilakukan perhitungan nilai mean dengan
data nilai dari frame 1-332, sehingga akan menghasilkan 1 baris baru. Perhitungan
dilakukan hingga mencapai koefisien ke 39, hal ini juga dilakukan ketika mencari
nilai variance, minimum dan maximum. Pada akhir proses, akan menghasilkan ciri
baru sebanyak 156x1 dengan rincian nilai mean, variance, minimum, dan maximum
masing-masing sebanyak 39 untuk masing-masing file rekaman.
Ada 9 tahap yang dilakukan pada proses ekstraksi ciri, dengan 8 tahap
merupakan proses dari MFCC dan 1 tahap lainnya merupakan perhitungan terhadap
nilai MFCC yang telah dihasilkan. Tahap-tahap tersebut adalah :
1. Pre-emphasis
2. Frame blocking
3. Hamming windowing
4. Fast Fourier Transform (FFT)
6. Discrete Cosine Transform (DCT)
7. Log Energy
8. Delta Cepstrum
9. Menghitung nilai mean, variance, minimum, dan maximum
Sebelum masuk pada jaringan syaraf tiruan, data terlebih dahulu diseleksi
[image:48.595.87.521.165.626.2]sesuai dengan feature yang diinginkan, dengan rincian dalam tabel berikut ini :
Tabel 3.1 Statistic Features Indices
MFCC Statistic Features Indices Total
Coefficients Mean Variance Minimum Maximum
Without Delta or Delta Delta (13
coefficients)
1-13 40-52 79-91 118-130 52
Delta (26 coefficients) 1-26 40-65 79-104 118-143 104 Delta Delta (39
coefficients) 1-39 40-78 79-117 118-156 156
Keterangan :
Untuk MFCC (13 coefficients) masing-masing feature (mean, variance, minimum,
maximum) akan memiliki nilai sebanyak 13, sehingga total keseluruhan ada 52 nilai
jika semua feature tersebut dipilih.
Begitu pula dengan MFCC (26 coefficients) dan MFCC (39 coefficients)
masing-masing feature (mean, variance, minimum, maximum) akan memiliki nilai
sebanyak 26 dan 39, sehingga total keseluruhan ada 104 nilai untuk MFCC (26
coefficients) dan 156 nilai untuk MFCC (39 coefficients).
Angka-angka pada kolom mean, variance, minimum, maximum merupakan nilai
indeks yang menyatakan letak keberadaan feature tersebut pada masing-masing
MFCC-nya dalam sebuah database feature.
Tabel 3.2 3 Fold Cross Validation
Percobaan Train Validation Test
1 3 1 2
2 1 2 3
3 2 3 1
Tabel 3.3 5 Fold Cross Validation
Percobaan Train Validation Test
1 3,4,5 1 2
2 1,4,5 2 3
3 1,2,5 3 4
4 1,2,3 4 5
5 2,3,4 5 1
Tabel 3.4 10 Fold Cross Validation
Percobaan Train Validation Test
1 3,4,5,6,7,8,9,10 1 2
2 1,4,5,6,7,8,9,10 2 3
3 1,2,5,6,7,8,9,10 3 4
4 1,2,3,6,7,8,9,10 4 5
5 1,2,3,4,7,8,9,10 5 6
6 1,2,3,4,5,8,9,10 6 7
7 1,2,3,4,5,6,9,10 7 8
8 1,2,3,4,5,6,7,10 8 9
9 1,2,3,4,5,6,7,8 9 10
10 2,3,4,5,6,7,8,9 10 1
Setelah itu data feature yang telah dipilih akan dijadikan sebagai input pada
jaringan syaraf tiruan, pada subbab selanjutnya akan dijelaskan mengenai arsitektur
jaringan yang akan digunakan pada saat proses pelatihan dan pengujian.
3.1.4. Jaringan Syaraf Tiruan
Metode klasifikasi jaringan syaraf tiruan propagasi balik dipilih karena
kemampuannya untuk menghasilkan decision boundaries yang kompleks pada
fitur-fitur yang ada. Hasil ini dapat dilihat dengan nilai keakuratan yang dihasilkan
Beberapa nilai parameter yang akan diatur pada jaringan syaraf tiruan
propagasi balik :
1. Epoch/iterasi
2. Hidden layer/lapis tersembunyi
3. Fungsi training
3.1.5. Arsitektur Jaringan Syaraf Tiruan
Ada 2 jenis arsitektur jaringan syaraf tiruan yang akan digunakan untuk
proses pelatihan dan pengujian, yaitu arsitektur dengan 1 hidden layer dan 2 hidden
layer. Untuk masing-masing arsitektur akan dilakukan percobaan dengan
mengkombinasikan beberapa parameter seperti jumlah neuron input yang akan
bervariasi sesuai dengan feature yang dipilih, jumlah neuron pada masing-masing
hidden layer serta fungsi training.
Satu hidden layer
x1
x2
x3
x4
xi
z1
z2
z3
zj
y1
y2
y3
Input
Hidden Layer 1
[image:50.595.83.509.148.712.2]Output
Pada gambar 3.6, merupakan gambaran arsitektur jaringan dengan 1 hidden
layer yang akan digunakan untuk pengujian pemilihan feature yang menghasilkan
nilai akurasi yang baik, yaitu dengan memilih feature mean, variance, min atau max
dan atau mengkombinasikan feature-feature tersebut sebagai input pada model
jaringan. Adapun penjelasan mengenai gambar di atas adalah sebagai berikut :
1. Input (x1, x2, x3, ... xi) merupakan lapisan input pada jaringan yang akan
mewakili feature terpilih, sesuai dengan tabel 3.1. Sebagai contoh, jika
feature yang dipilih adalah MFCC (13 coefficients) dengan nilai statistik
mean maka nilai-nilai yang akan mengisi lapisan input jaringan adalah nilai
yang ada pada indeks 1-13 dalam database, sehingga secara otomatis
jumlah neuron pada lapisan input berjumlah sebanyak 13, mengikuti jumlah
nilai feature yang dipilih.
2. Hidden layer 1 (z1, z2, z3, ... zj) merupakan lapisan tersembunyi yang
digunakan untuk mentransformasikan nilai-nilai input menjadi nilai yang
dapat digunakan pada lapisan output. Jumlah neuron pada lapisan ini secara
default sebanyak 10 neuron, karena pada dasarnya arsitektur jaringan
dengan 1 hidden layer digunakan untuk mencari feature yang menghasilkan
nilai akurasi paling baik.
3. Output (y1, y2, y3) merupakan lapisan output dengan neuron berjumlah 3,
yaitu sebagai target luaran dari jaringan, bernilai antara 0 dan 1. Ada tiga
target luaran yaitu 1 0 0, 0 1 0, dan 0 0 1, masing-masing mewakili jenis
[image:51.595.83.514.191.709.2]burung Cucak Hijau, Cucak Rawa dan Kenari secara berturut-turut.
Dua hidden layer
x1
x2
x3
x4
xi
z1
z2
z3
zj
y1
y2
y3 z1
z2
z3
zk
Input
Hidden Layer 1 Hidden Layer 2
[image:52.595.87.512.115.756.2]Output
Gambar 3.8 Arsitektur jaringan pelatihan dan pengujian 2 hidden layer
Pada gambar 3.7, merupakan gambaran arsitektur jaringan dengan 2 hidden
layer yang akan digunakan untuk optimalisasi jaringan yang telah dihasilkan
sebelumnya pada arsitektur jaringan dengan 1 hidden layer. Sama halnya dengan
arsitektur jaringan 1 hidden layer, adapun penjelasan mengenai gambar di atas
adalah sebagai berikut :
1. Input (x1, x2, x3, ... xi) merupakan lapisan input pada jaringan yang akan
mewakili feature terpilih, sesuai dengan tabel 3.1. Sebagai contoh, jika
feature yang dipilih adalah MFCC (13 coefficients) dengan nilai statistik
mean maka nilai-nilai yang akan mengisi lapisan input jaringan adalah nilai
yang ada pada indeks 1-13 dalam database, sehingga secara otomatis
jumlah neuron pada lapisan input berjumlah sebanyak 13, mengikuti jumlah
nilai feature yang dipilih.
2. Hidden layer 1 (z1, z2, z3, ... zj) merupakan lapisan tersembunyi yang
digunakan untuk mentransformasikan nilai-nilai input menjadi nilai yang
lapisan ini secara default sebanyak 10 neuron, sesuai dengan tujuan yang
dicapai pada arsitektur jaringan dengan 1 hidden layer.
3. Hidden layer 2 (z1, z2, z3, ... zk) merupakan lapisan tersembunyi yang
digunakan untuk mentransformasikan nilai-nilai pada lapis tersembunyi
yang pertama menjadi nilai yang dapat digunakan pada lapisan output.
Tujuan penggunaan lapisan tersembunyi kedua ini adalah untuk mengetahui
nilai akurasi yang dihasilkan, apakah akan bertambah atau berkurang dari
nilai akurasi yang dihasilkan pada penggunaan satu lapis tersembunyi.
4. Output (y1, y2, y3) merupakan lapisan output dengan neuron berjumlah 3,
yaitu sebagai target luaran dari jaringan, bernilai antara 0 dan 1. Ada tiga
target luaran yaitu 1 0 0, 0 1 0, dan 0 0 1, masing-masing mewakili jenis
[image:53.595.84.516.123.746.2]burung Cucak Hijau, Cucak Rawa dan Kenari secara berturut-turut.
Gambar 3.9 Contoh model jaringan 2 hidden layer dengan MFCC 13 coefficients dan feature mean
Secara garis besar, kedua gambar di atas merupakan arsitektur jaringan yang
akan digunakan selama proses pelatihan model jaringan, dengan rincian sebagai
berikut :
1. Untuk lapisan input terdiri dari 1 – i neuron, i merupakan jumlah total
coefficients yang dipilih sesuai yang tertera pada tabel ekstraksi ciri.
2. Untuk mendapatkan jaringan yang optimal, lapisan hidden layer yang kedua
akan memiliki jumlah neuron yang bervariasi antara 10 – 40, untuk fungsi
transfer yang digunakan adalah tansig (tan-sigmoid) karena data input telah
dilakukan normalisasi dengan mapminmax sehingga memiliki nilai dengan
3. Mempunyai 3 neuron output dengan fungsi transfer softmax.
3.1.6. Metode Pengujian
Metode pengujian menggunakan K-Fold Cross Validation, dengan k = 3, k
= 5, dan k = 10. Metode ini dipakai karena menghasilkan data yang berbeda untuk
proses pelatihan dan pengujian, sehingga dapat diketahui rata-rata akurasi yang
dihasilkan pada tiap k percobaan berdasarkan confusion matrix yang dihasilkan.
Tahap pengujian dilakukan untuk mencari ciri suara dan arsitektur jaringan
syaraf tiruan terbaik.
3.2. Kebutuhan Sistem
Alat yang akan dipergunakan dalam proses perancangan sistem :
1. Perangkat Keras
Perangkat Keras dengan spesifikasi sebagai berikut :
1) Processor : Intel Core i5 4200M, dual core, 2.5GHz
2) Memory : 4GB
3) Hard Drive : 500GB
4) Soundcard : Conexant SmartAudio HD
2. Perangkat Lunak
Perangkat Lunak yang digunakan adalah sebagai berikut :
1) Microsoft Windows 10
Sistem operasi yang digunakan untuk mengoperasikan kedua
perangkat lunak lainnya.
2) Audacity 1.2.1
Perangkat lunak yang digunakan untuk melakukan proses
3) Matlab 2015a
Perangkat lunak yang digunakan untuk membuat sistem sekaligus
menjalankan sistem.
[image:55.595.83.510.174.644.2]3.3. Perancangan Antarmuka Sistem
Gambar 3.10 Rancangan Antarmuka Menu Utama Sistem
Pada gambar 3.3 merupakan tampilan antarmuka menu utama sistem,
terdapat 3 tombol yaitu feature extraction & database, training & testing, classify.
1. Feature extraction & database
Tombol ini digunakan untuk membuka tampilan proses ekstraksi ciri
dan pembuatan info untuk jenis burung yang dianalisa.
2. Training & testing
Tombol ini digunakan untuk membuka tampilan proses pelatihan
dan pengujian ciri-ciri yang dihasilkan terhadap jaringan syaraf tiruan
3. Classify
Tombol ini digunakan untuk membuka tampilan proses klasifikasi
data suara burung diluar sampel yang telah digunakan pada proses pelatihan
[image:56.595.96.512.208.670.2]terhadap model jaringan syaraf tiruan propagasi balik.
Gambar 3.11 Rancangan Antarmuka Ekstraksi Ciri
Pada gambar 3.4 merupakan tampilan antarmuka untuk melakukan proses
ekstraksi ciri dan pembuatan info jenis burung yang dianalisa. Terdapat 3 panel
pada antarmuka di atas, yaitu :
1. Audio File List
Pada panel ini terdapa komponen-komponen sebagai berikut :
a. Tombol browse – berfungsi untuk membuka jendela pencarian
direktori data suara.
c. Listbox audio – berfungsi untuk menampilkan daftar semua data
suara yang ada pada direktori yang dipilih.
2. MFCC Options
Pada panel ini terdapat komponen-komponen sebagai berikut :
a. Edit text frame size – berfungsi untuk menentukan frame size /
duration yang digunakan pada saat proses frame blocking dalam
MFCC.
b. Edit text frame overlap – berfungsi untuk menentukan frame overlap
yang digunakan pada saat proses frame blocking dalam MFCC.
3. Database Options
Pada panel ini terdapat komponen-komponen sebagai berikut :
a. Radio button bird – berfungsi untuk memilih jenis burung 1,2,3
b. Edit text target/class – berfungsi untuk menentukan jumlah sampel
masing-masing jenis burung, nilai ini kemudian akan digunakan
untuk membuat target berdasarkan jumlah tersebut.
c. Edit text scientific name – berfungsi untuk menentukan nama ilmiah
jenis burung.
d. Edit text family – berfungsi untuk menentukan famili dari jenis
burung.
e. Edit text genus – berfungsi untuk menentukan genus dari jenis
burung.
f. Tombol select picture – berfungsi untuk membuka jendela yang
digunakan untuk memilih file gambar jenis burung.
g. Tombol save info – berfungsi untuk menyimpan info jenis burung
Serta ada komponen extract features button yang digunakan untuk
melakukan proses ekstraksi ciri, kemudia hasil nilai-nilai ciri yang didapatkan
[image:58.595.84.514.171.695.2]ditampilkan pada tabel features.
Gambar 3.12 Rancangan Antarmuka Klasifikasi
Pada gambar 3.5 merupakan tampilan antarmuka proses klasifikasi.
Terdapat 2 panel pada antarmuka di atas, yaitu :
1. Classify
Pada panel ini terdapat komponen-ko