Klasifikasi lagu berdasarkan pencipta lagu menggunakan jaringan syaraf tiruan propagasi balik.
ABSTRAK
Penelitian ini bertujuan menciptakan sistem untuk mengklasifikasikan lagu berdasarkan pencipta lagu. Latar belakang dilakukannya penelitian ini adalah, karena pada metadata tidak semua informasi lagu dipublikasikan, termasuk pencipta lagu. Dari penelitian ini diperoleh manfaat untuk mengetahui pencipta sebuah lagu.
Penelitian ini dilakukan dengan metode Klasifikasi Jaringan Syaraf Tiruan Propagasi Balik dan ekstraksi ciri Music Surface Feature, dengan masukannya adalah sinyal audio. Penelitian mencakup tiga tahap yaitu preprocessing, ektraksi ciri audio digital dan klasifikasi. Pada tahap preprocessing data berupa file audio dengan format mp3 yang berjumlah 40, dikonversi kedalam format wav kemudian dipotong-potong sehingga menjadi 200 data. Pada tahap ekstraksi ciri setiap data akan diambil ciri-cirinya yang berupa nilai-nilai numerik, nilai-nilai tersebut yang akan menjadi masukan pada tahap klasifikasi.
Berdasarkan percobaan semua kombinasi ciri lagu dan percobaan variasi arsitekstur Jaringan Syaraf Tiruan Propagasi Balik, diperoleh hasil penelitian yang optimal yaitu sebuah sistem klasifikasi dengan akurasi mencapai 71%pada empat pencipta lagu, yaitu: Abdee Negara, Dewa Budjana, Ahmad Dhani, Ian Antono. Hasil tersebut diperoleh dari kombinasi 5 ciri lagu (Centroid, Roll Off, Flux, Zero
Crossing Rate dan Low Energy) serta klasifikasi dengan Jaringan Syaraf Tiruan
Propagasi Balik dengan arsitekstur: jumlah lapis tersembunyi 2 lapis, jumlah neuron lapis pertama 99 dan lapis kedua 36, target error 0.01, kecepatan pembelajaran 0.1, batas iterasi 5000. Hasil dari penelitian ini diperoleh kesimpulan bahwa ekstraksi ciri dengan metode Music Surface Feature dan klasifikasi dengan metode Jaringan Syaraf Tiruan Propagasi Balik mendapat akurasi diatas target penelitian ini untuk klasifikasi pencipta lagu.
Kata Kunci: Music Surface Feature, Jaringan Syaraf Tiruan Propagasi Balik, Klasifikasi Lagu Berdasarkan Pencipta Lagu
(2)
ABSTRACT
The objective of this research is to create a system to classify a song based on its writer. The background of this research was, because the metadata is not all song information published, including songwriter. The benefits obtained from this research to determine the creator of a song.
A back-propagation neural network is used to classify the song after the process of music surface feature analysis upon the incoming signals. Research includes three stages: preprocessing, extraction of digital audio features and classification. In stage preprocessing data in the form of audio file with mp3 format which totaled 40 converted into the format wav then cut into pieces so that it becomes 200 data. In the features extraction stage every data will be retrieved features in the numeric values these values will be input at the stage classification.
Based on various combination of song features and different variations of Neural Network Back Propagation architectures, the experiment obtained the optimal classification with accuracy of 71% for four songwriter identification, namely: Abdee State, Dewa Budjana, Ahmad Dhani, Ian Antono. The result obtained from all song features (Centroid, Roll Off, Flux, Zero Crossing Rate dan Low Energy) and classification Neural Network Back Propagation with architecture: 2 layers of hidden layers, the amount of neuron in the first hidden layer is 99 and the second hidden layer is 36, the target of error is 0.01, the learning rate is 0.1, the epoch or iteration is 5000. The methods Music Surface Feature and classification by Neural Network Back Propagation were able to accurately classify song of different writer above target of this research.
Keywords: Music Surface Feature, Neural Network Back Propagation, Song
(3)
i
KLASIFIKASI LAGU BERDASARKAN PENCIPTA LAGU
MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
HALAMAN JUDUL
Oleh:
Andreas Bagus Widodo 115314046
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(4)
ii
SONG CLASSIFICATION BASED ON ITS WRITER USING NEURAL NETWORK BACK PROPAGATION
A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana
Komputer Degree in Informatics Engineering Department
TITLE PAGE
By:
Andreas Bagus Widodo 115314046
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AN TECHNOLOGY SANATA DHARMA UNIVERSITY
YOGYAKARTA 2015
(5)
iii
HALAMAN PERSETUJUAN
KLASIFIKASI LAGU BERDASARKAN PENCIPTA LAGU
MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
Oleh:
Andreas Bagus Widodo 115314046
Telah disetujui oleh:
Pembimbing,
(6)
iv
HALAMAN PENGESAHAN
KLASIFIKASI LAGU BERDASARKAN PENCIPTA LAGU
MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
Dipersiapkan dan ditulis oleh: ANDREAS BAGUS WIDODO
NIM: 115314046
Telah dipertahankan di depan Panitia Penguji Pada tanggal 12 Juni 2015
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : Dr. Anastasia Rita Widiarti, M.Kom …………. Sekretaris : Sri Hartati Wijono, S.Si., M.Kom …………. Anggota : Dr. Cyprianus Kuntoro Adi, S.J., M.A., M.Sc. ………….
Yogyakarta, Juli 2015 Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan,
(7)
v
MOTTO
“Tangan yang lamban membuat miskin, tetapi tangan orang rajin menjadikan kaya”
(8)
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, 11 Juni 2015 Penulis
(9)
vii
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Andreas Bagus Widodo
NIM : 115314046
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul:
KLASIFIKASI LAGU BERDASARKAN PENCIPTA LAGU
MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
Berserta 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 royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 11 juni 2015 Penulis
(10)
viii
ABSTRAK
Penelitian ini bertujuan menciptakan sistem untuk mengklasifikasikan lagu berdasarkan pencipta lagu. Latar belakang dilakukannya penelitian ini adalah, karena pada metadata tidak semua informasi lagu dipublikasikan, termasuk pencipta lagu. Dari penelitian ini diperoleh manfaat untuk mengetahui pencipta sebuah lagu.
Penelitian ini dilakukan dengan metode Klasifikasi Jaringan Syaraf Tiruan Propagasi Balik dan ekstraksi ciri Music Surface Feature, dengan masukannya adalah sinyal audio. Penelitian mencakup tiga tahap yaitu preprocessing, ektraksi ciri audio digital dan klasifikasi. Pada tahap preprocessing data berupa file audio dengan format mp3 yang berjumlah 40, dikonversi kedalam format wav kemudian dipotong-potong sehingga menjadi 200 data. Pada tahap ekstraksi ciri setiap data akan diambil ciri-cirinya yang berupa nilai-nilai numerik, nilai-nilai tersebut yang akan menjadi masukan pada tahap klasifikasi.
Berdasarkan percobaan semua kombinasi ciri lagu dan percobaan variasi arsitekstur Jaringan Syaraf Tiruan Propagasi Balik, diperoleh hasil penelitian yang optimal yaitu sebuah sistem klasifikasi dengan akurasi mencapai 71%pada empat pencipta lagu, yaitu: Abdee Negara, Dewa Budjana, Ahmad Dhani, Ian Antono. Hasil tersebut diperoleh dari kombinasi 5 ciri lagu (Centroid, Roll Off, Flux, Zero
Crossing Rate dan Low Energy) serta klasifikasi dengan Jaringan Syaraf Tiruan
Propagasi Balik dengan arsitekstur: jumlah lapis tersembunyi 2 lapis, jumlah neuron lapis pertama 99 dan lapis kedua 36, target error 0.01, kecepatan pembelajaran 0.1, batas iterasi 5000. Hasil dari penelitian ini diperoleh kesimpulan bahwa ekstraksi ciri dengan metode Music Surface Feature dan klasifikasi dengan metode Jaringan Syaraf Tiruan Propagasi Balik mendapat akurasi diatas target penelitian ini untuk klasifikasi pencipta lagu.
Kata Kunci: Music Surface Feature, Jaringan Syaraf Tiruan Propagasi Balik, Klasifikasi Lagu Berdasarkan Pencipta Lagu
(11)
ix
ABSTRACT
The objective of this research is to create a system to classify a song based on its writer. The background of this research was, because the metadata is not all song information published, including songwriter. The benefits obtained from this research to determine the creator of a song.
A back-propagation neural network is used to classify the song after the process of music surface feature analysis upon the incoming signals. Research includes three stages: preprocessing, extraction of digital audio features and classification. In stage preprocessing data in the form of audio file with mp3 format which totaled 40 converted into the format wav then cut into pieces so that it becomes 200 data. In the features extraction stage every data will be retrieved features in the numeric values these values will be input at the stage classification.
Based on various combination of song features and different variations of Neural Network Back Propagation architectures, the experiment obtained the optimal classification with accuracy of 71% for four songwriter identification, namely: Abdee State, Dewa Budjana, Ahmad Dhani, Ian Antono. The result obtained from all song features (Centroid, Roll Off, Flux, Zero Crossing Rate dan Low Energy) and classification Neural Network Back Propagation with architecture: 2 layers of hidden layers, the amount of neuron in the first hidden layer is 99 and the second hidden layer is 36, the target of error is 0.01, the learning rate is 0.1, the epoch or iteration is 5000. The methods Music Surface Feature and classification by Neural Network Back Propagation were able to accurately classify song of different writer above target of this research.
Keywords: Music Surface Feature, Neural Network Back Propagation, Song
(12)
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, sehingga penulis dapat menyelesaikan tugas akhir dengan judul “Klasifikasi Lagu Berdasarkan Pencipta Lagu Menggunakan Jaringan Syaraf Tiruan Propagasi
Balik”. Tugas akhir ini merupakan salah satu mata kuliah wajib dan sebagai syarat
akademik untuk memperoleh gelar sarjana komputer program studi Teknik Informatika Universitas Sanata Dharma Yogyakarta.
Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah membantu penulis baik selama penelitian maupun saat mengerjakan tugas akhir ini. Ucapan terima kasih sebesar-besarnya penulis sampaikan kepada:
1. Tuhan Yang Maha Esa, yang telah memberikan pertolongan dan kekuatan dalam proses pembuatan tugas akhir.
2. Orang tua, Antonius Heru Priyanto dan Marta Sri Hartatiningsih, serta keluarga yang telah memberikan dukungan spiritual dan material.
3. Dr. C. Kuntoro Adi, S.J., M.A., M.Sc. selaku dosen pembimbing tugas akhir, atas bimbingan, waktu dan saran yang telah diberikan kepada penulis. 4. JB. Budi Darmawan S.T., M.Sc. selaku dosen pembimbing akademik, atas
bimbingan, kritik dan saran yang telah diberikan kepada penulis.
5. Ridowati Gunawan, S.Kom., M.T. selaku ketua program studi Teknik Informatika, atas bimbingan, kritik dan saran yang telah diberikan kepada penulis.
6. Paulina Heruningsih Prima Rosa S.Si., M.Sc., selaku dekan fakultas Sains dan Teknologi, atas bimbingan, kritik dan saran yang telah diberikan kepada penulis.
7. Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan semasa kuliah dan sangat membantu penulis dalam mengerjakan tugas akhir.
8. Sony Setiawan, atas bantuannya mempelajari metode ekstraksi ciri lagu dan klasifikasi jaringan syaraf tiruan propagasi balik.
(13)
xi
9. Mas Yanuar, Mas Susilo dan Mas Danang selaku laboran Teknik Informatika, atas bantuannya menyediakan tempat untuk mengerjakan tugas akhir.
10. Kekasih tercinta, Maria Tika Wijaya, atas dukungan semangat dan doanya. 11. Dio, Rio, Beny, Agung, Be, Priska, Lukas, Tea, Kevin, Dion dan
teman-teman lainnya, atas dukungan semangat dan doanya.
12. Semua pihak yang tidak dapat disebutkan satu per satu yang telah membantu penulis dalam pengerjaan tugas akhir ini.
Penulis menyadari masih banyak kekurangan yang terdapat dalam laporan tugas akhir ini. Saran dan kritik sangat diharapkan untuk hasil yang lebih baik di masa mendatang.
Penulis,
(14)
xii
DAFTAR ISI 1
HALAMAN JUDUL ... i
TITLE PAGE ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
MOTTO ... v
PERNYATAAN KEASLIAN KARYA ... vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR TABEL ... xv
DAFTAR GAMBAR ... xvi
BAB I ... 1
1.1. Latar Belakang... 1
1.2. Perumusan Masalah ... 2
1.3. Maksud dan Tujuan Tugas Akhir ... 2
1.4. Pembatasan dan Ruang Lingkup Permasalahan ... 3
1.5. Sistematika Penulisan ... 3
BAB II ... 5
2.1 Lagu ... 5
(15)
xiii
2.1.2 Irama ... 5
2.1.3 Ekspresi ... 6
2.1.4 Melodi ... 6
2.2 Pencipta Lagu ... 6
2.3.1 Ahmad Dhani ... 6
2.3.2 Dewa Budjana ... 7
2.3.3 Ian Antono ... 7
2.3.4 Abdee Negara ... 7
2.3 Ekstraksi Ciri ... 7
2.3.1 Pemrosesan Sinyal Digital ... 8
2.3.2 Musical Surface Features ... 10
2.4 Jaringan Syaraf Tiruan Propagasi Balik ... 12
2.4.1 Jaringan Syaraf Tiruan ... 12
2.4.2 Jaringan Syaraf Tiruan Propagasi Balik ... 15
2.5 K-Fold Cross Validation ... 22
2.6 Confusion Matrix ... 22
BAB III ... 24
3.1 Analisa Kebutuhan ... 24
3.1.1 Analisa Pencipta Lagu... 24
3.1.2 Analisa Data ... 24
3.1.3 Metode Ekstraksi Ciri Lagu ... 25
3.1.4 Metode Klasifikasi ... 26
3.1.5 Metode Pengujian ... 26
3.1.6 Kebutuhan Sistem ... 27
(16)
xiv
3.2.1 Ekstraksi Ciri ... 29
3.2.2 Klasifikasi dan Pengujian ... 40
3.3 Perancangan Atarmuka Sistem ... 42
BAB IV ... 45
4.1 Hasil penelitian ... 45
4.1.1 Hasil Kombinasi Ciri Lagu ... 47
4.1.2 Hasil Variasi Arsitekstur Jaringan ... 51
4.2 Penggunaan Sistem ... 58
BAB V ... 60
5.1 Kesimpulan ... 60
5.2 Saran ... 61
DAFTAR PUSTAKA ... 62
LAMPIRAN ... 63
A. Biografi Pencipta Lagu ... 63
(17)
xv
DAFTAR TABEL
Tabel 2.1 Confusion Matrix 2 kelas (Tan, Steinbach, & Kumar, 2006). ... 23
Tabel 3.1 Contoh Hasil Ekstraksi Ciri ... 40
Tabel 3.2 Five Fold Cross Validation ... 40
Tabel 4.1 Hasil Kombinasi Ciri ... 48
Tabel 4.2 Hasil Variasi Jumlah Jaringan 1 Lapis Tersembunyi... 51
Tabel 4.3 Hasil Variasi Jumlah Jaringan 2 Lapis Tersembunyi... 52
Tabel 4.4 Confusion Matrix Pengujian Dengan 2 Lapis Tersembunyi Yaitu 99 Dan 36 ... 56
(18)
xvi
DAFTAR GAMBAR
Gambar 2.1 Ilustrasi Jaringan Lapis Tunggal (Siang, 2007) ... 13
Gambar 2.2 Ilustrasi Jaringan Lapis Majemuk (Siang, 2007) ... 14
Gambar 2.3 Ilustrasi Jaringan Syaraf Tiruan Propagasi Balik (Siang, 2007) ... 15
Gambar 3.1 Diagram Blok Proses Pelatihan ... 28
Gambar 3.2 Diagram Blok Proses Pengujian ... 29
Gambar 3.3 Diagram Blok Proses Ekstraksi Ciri... 30
Gambar 3.4 Hamming Window ... 31
Gambar 3.5 Fast Fourier Transform... 32
Gambar 3.6 Inverse Fast Fourier Transform ... 33
Gambar 3.7 Ciri Centroid ... 34
Gambar 3.8 Ciri Roll Off ... 35
Gambar 3.9 Ciri Flux ... 36
Gambar 3.10 Ciri Zero Crossing Rate ... 38
Gambar 3.11 Ciri Low Energy ... 39
Gambar 3.12 Rancangan Tampilan Antarmuka Sistem ... 42
Gambar 4.1 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Abdee Negara ... 45
Gambar 4.2 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Dewa Budjana ... 46
Gambar 4.3 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Ahmad Dhani ... 46
Gambar 4.4 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Ian Antono ... 47
Gambar 4.5 Grafik Kombinasi Ciri ... 50
Gambar 4.6 Grafik Variasi Jumlah Jaringan 1 Lapis Tersembunyi ... 51
Gambar 4.7 Grafik Percobaan 2 Lapis Tersembunyi ... 55
Gambar 4.8 Grafik Percobaan 2 Lapis Tersembunyi Dengan Lapis 1 Berjumlah 99 ... 56
(19)
1
1. BAB I PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi membawa pengaruh baik terhadap perkembangan musik. Dengan perkembangan teknologi tersebut musik tidak hanya bisa dinikmati secara langsung namun dapat disimpan dalam bentuk digital yang biasa disebut dengan audio digital.
Pada lagu yang tersimpan dalam audio digital terdapat metadata, yaitu informasi dari audio digital. Pada metadata tidak semua informasi lagu dipublikasikan, seperti pencipta lagu. Hal itu menyebabkan kurangnya informasi pada file audio digital yaitu pencipta lagu.
Pada tahun 2010 terdapat penelitian dengan judul Klasifikasi Lagu
Berdasarkan Genre Musik dengan Jaringan Saraf Tiruan Propagasi Balik.
Penelitian tersebut bertujuan membuat sistem yang mampu secara otomatis mengenali genre suatu musik. Metode ekstraksi ciri yang digunakan adalah MUGRAT, sedangkan metode klasifikasi yang digunakan adalah Jaringan Syaraf Tiruan Propagasi Balik. Penelitian tersebut mempunyai hasil optimal yaitu, mengenali 4 genre musik dengan akurasi 94,34% (Setiawan, 2010).
Permasalahan yang pertama adalah bagaimana Jaringan Syaraf Tiruan Propagasi Balik dapat mengenali pencipta sebuah lagu dengan akurasi yang baik. Permasalahan yang kedua adalah bagaimana menemukan karakter lagu dari masing-masing pencipta lagu. Dalam penelitian ini akan dirancang
(20)
sistem yang dapat mengenali pencipta sebuah lagu secara otomatis dengan menganalisa sinyal audio digital dan Jaringan Syaraf Tiruan Propagasi Balik sebagai pengklasifikasiannya.
1.2. Perumusan Masalah
Berdasarkan latar belakang diatas, maka rumusan masalah untuk penelitian ini adalah:
1. Bagaimana menemukan karakter dari tiap pencipta lagu.
2. Bagaimana Jaringan Syaraf Tiruan Propagasi Balik mengenali pencipta sebuah lagu.
Jaringan Syaraf Tiruan Propagasi Balik akan mampu mengenali pencipta lagu dengan baik jika karakter dari lagu antar pencipta mempunyai perberbedaan yang cukup tinggi.
Kesulitan dalam penelitian ini terletak pada bagaimana menemukan perbedaan karakter tiap pencipta lagu. Jika dibandingkan dengan menemukan perbedaan genre lagu, membedakan karakter pencipta lagu lebih sulit.
1.3. Maksud dan Tujuan Tugas Akhir
Tujuan dari penelitian ini adalah membuat sistem yang mampu digunakan untuk:
a. Ekstraksi ciri lagu untuk mendapatkan perbedaan karakter dari pencipta lagu menggunakan metode ekstraksi ciri yang dikemukakan oleh George Tzanetakis yaitu Music Surface Feature.
b. Mengenali pencipta lagu menggunakan Jaringan Syaraf Tiruan Propagasi Balik dengan akurasi diatas 50%.
(21)
1.4. Pembatasan dan Ruang Lingkup Permasalahan
Untuk membahas topik yang lebih terarah dan terfokus pada tujuan yang ingin dicapai, maka batasan masalahnya sebagai berikut:
1. Format file masukan adalah “.wav”.
2. Frekuensi audio yang dipakai adalah 44,100 khz.
3. Pengklasifikasian pencipta lagu hanya 4 pencipta lagu, yaitu: Ahmad
Dhani, Dewa Budjana, Ian Antono, Abdee Negara.
1.5. 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, sistematika penulisan.
BAB II: LANDASAN TEORI
Bab ini membahas teori-teori dasar yang mendukung dan menjadi dasar pemecahan masalah, antara lain teori tentang lagu dan pencipta lagu, kemudian juga metode-metode seperti: ekstraksi ciri (Music Surface Feature) dan Jaringan Syaraf Tiruan Propagasi Balik yang akan dipakai untuk perancangan sistem.
BAB III: ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas mengenai analisa komponen-komponen yang akan digunakan untuk melakukan penelitian, serta perancangan sistem secara lengkap.
(22)
BAB VI: IMPLEMENTASI DAN ANALISA HASIL
Bab ini menjelaskan uraian evaluasi dari hasil penelitian dan menjelaskan cara pengoprasian sistem.
BAB V: PENUTUP
Bab ini berisi kesimpulan dari penelitian dan saran-saran untuk pengembangan penelitian lebih lanjut.
(23)
5
2. BAB II
LANDASAN TEORI
Bab ini berisi penjabaran teori-teori yang bersangkutan dengan penulisan Tugas Akhir ini. Teori-teori tersebut adalah Lagu, Pencipta Lagu, Ekstraksi Ciri, Jaringan Saraf Tiruan Propagasi Balik, K-Fold Cross Validation, Confusion Matrix. 2.1 Lagu
Lagu menurut Jamalus (1988) adalah karya seni yang dinyanyikan dengan diiringi alat musik. Sedangkan lagu merupakan bagian dari musik. Menurut kamus besar bahasa Indonesia, “Pengertian musik secara umum adalah suara berirama yang dapat didengarkan oleh telinga manusia. Musik
dapat dinikmati karena alunan dari iramanya yang dapat merubah suasana”
Musik sendiri terdiri dari beberapa unsur, yaitu:
2.1.1 Harmoni
Harmoni adalah keselarasan bunyi yang merupakan gabungan dua nada atau lebih yang berbeda tinggi rendahnya (Jamalus, 1988).
2.1.2 Irama
Irama sebagai rangkaian gerak yang menjadi unsur dasar dalam musik, irama dalam musik terbentuk dari sekelompok bunyi dengan bermacam-macam lama waktu dan panjang. Irama tersusun atas dasar ketukan tersebut terdiri dari ketukan kuat atau ketukan lemah (Jamalus, 1988).
(24)
2.1.3 Ekspresi
Ekspresi adalah ungkapan pikiran dan perasaan mencangkup tempo, dinamik dan warna nada dari unsur-unsur pada musik yang diwujudkan oleh seniman musik. Penyanyi yang disampaikan pada pendengarnya (Jamalus, 1988).
2.1.4 Melodi
Melodi adalah susunan rangkaian nada (bunyi dengan getaran yang teratur) yang terdengar berurutan serta bersama dengan mengungkapkan suatu gagasan (Jamalus, 1988).
2.2 Pencipta Lagu
Pencipta lagu adalah seseorang yang memainkan suatu alat musik dengan kepekaan, pengetahuan atau bakat seseorang terhadap musik, atau bisa juga berarti kualitas atau keadaan dari sesuatu yang bersifat musik. Lagu dapat tercipta dari kematangan konsep dalam komposisi lagu yang dibuat (Jamalus, 1988).
Berikut ini adalah beberapa pencipta lagu ternama di Indonesia yang mempunyai karakter tersendiri pada lagunya:
2.3.1 Ahmad Dhani
Musik rock yang dipunyai Ahmad Dhani mempunyai karakter keras dan kuat selayaknya musik rock lainnya. Alat musik utama musik rock menggunakan gitar listrik. Namun, Dhani banyak mengkombinasikan gitar listrik dengan kibor dalam musiknya. Ahmad Dhani juga banyak menciptakan lagu rock dan elektro (Maulana, 2011).
(25)
2.3.2 Dewa Budjana
Berbeda dengan Ahmad Dhani yang juga mempunyai aliran musik rock, Dewa Budjana mempunyai aliran musik rock yang mempunyai karakter instrumental. Musik rock Dewa Budjana juga merupakan kombinasi dengan musik jazz. Musik rock Dewa Budjana juga jarang menkombinasikan gitar listrik dengan kibor (Budjana, 2007).
2.3.3 Ian Antono
Alat musik yang dipakai Ian Antono adalah gitar listrik. Tak ada efek macam-macam yang dgunakan selain sebuah delay. Dari alat musik yang Ian Antono gunakan, dapat disimpulkan bahwa musik rock yang Ian mainkan merupakan musik rock yang sederhana (Sakrie, 2014).
2.3.4 Abdee Negara
Musik Rock Abdee Negara mengkombinasikan musik rock dengan musik blues classic sehingga karakternya sangat kuat. Musik Abdee Negara mempunyai karakter yang asik dan mudah diresap oleh pecinta musik rock. Bahkan banyak lagu yang menjadi hits (Slank, 2013).
2.3 Ekstraksi Ciri
Ekstraksi ciri musik menggunakan metode yang dikemukakan oleh George Tzanetakis. Metode tersebut menggunakan teori-teori pada pemrosesan sinyal digital. Pada metode tersebut, ciri musik dibagi menjadi 4
(26)
yaitu musical surface features, beat related features, musical surface features
from mel-frequency cepstral coefficients dan pitch related features
(Tzanetakis, 2002).
2.3.1 Pemrosesan Sinyal Digital
Pemrosesan Sinyal Digital digunakan pada metode ekstraksi ciri musik untuk memetakan sinyal ke domain lain (Analisa Fourier), Penjendelaan untuk meminimalkan sinyal yang terdiskontinu (Hamming Window). Kedua proses tersebut sangat penting untuk ekstraksi ciri musik pada metode yang dikemukakan oleh George Tzanetakis (Tzanetakis, 2002).
a. Analisa Fourier
Analisa Fourier digunakan untuk memecah sinyal menjadi komponen-komponen sinusoidal. Analisa Fourier adalah cara untuk menguraikan sinyal menjadi gelombang sinus dan kosinus (Oppenheim & Schafer, 1994). Analisa Fourier dapat dilakukan menggunakan transformasi matematis pada sinyal kontinu, yang dirumuskan dengan
� = ∫∞ − �
−∞ (2.1)
Invers transformasinya:
= ∫ �∞ �
−∞ (2.2)
Pada analisa Fourier terdapat metode matematis yang dapat dengan cepat mentrasformasi sinyal berdomain waktu ke
(27)
domain frekuensi, yaitu Fast Fourier Trasform(FFT). Yang di rumuskan sebagai berikut.
- Mengambil nilai real
= ∑ − [ ]cos[ .�. .]
= (2.3)
- Mengambil nilai imaginer
= ∑ − [ ]sin[ .�. . ]
= (2.4)
- Mengambil nilai magnitude dengan substitusi nilai real dan imaginer.
= √ | (2.5)
FFT jika di inverse akan menjadi
[ ] = ∑ =/ [ .�. . ] + ∑ =/ [ .�. . ] (2.6)
Inverse fast fourier transform (IFFT) berguna untuk
mengembalikan sinyal dari domain frekuensi ke domain waktu.
b. Hamming Window
Hamming Window digunakan untuk menaikan dan
menghimpitkan sinyal sehingga bentuk gelombang turun dan mempunyai nilai puncak (Oppenheim & Schafer, 1994).
Hamming window dirumuskan dengan.
(28)
2.3.2 Musical Surface Features
Ciri ini berhubungan dengan permukaan spectral musik. Permukaan spectral musik berkaitan dengan tekstur dan instrumentasi musik (Tzanetakis, 2002).
Pada ciri ini akan didapat nilai-nilai sebagai berikut: 1. Rata-rata centroid
2. Rata-rata roll off 3. Rata-rata flux
4. Rata-rata zero crossing rate 5. Varian centroid
6. Varian roll off 7. Varian flux 8. Varian zero cross
9. Low Energy
Penjelasan Tiap ciri : 1. Spectral Centroid
Spectral centroid mengukur ketajaman suara. Spectral
centroid dirumuskan sebagai berikut.
= ∑��=1 �[ ].
∑��=1 �[ ] (2.8)
Dimana [ ] adalah magnitude pada frame ke t dan frekuensi
(29)
2. Spectral Roll off
Roll off digunakan untuk mengukur ketajaman spectral pada
presentase= r. Roll off dirumuskan sebagai berikut.
∑�
= [ ] = . ∑�= [ ] (2.9)
3. Spectral Flux
Flux adalah ukuran perubahan spectral local yang
dirumuskan sebagai berikut.
� = ∑ = [ ] − − [ ] (2.10)
4. Spectral Zero Crossing Rate
Zero crossing rate adalah perubahan nilai amplitudo dari positif
ke negatif atau sebaliknya. Zero crossing rate dirumuskan dengan.
= ∑ = | [ ] − [ − ] | (2.11)
Dimana [ ] adalah sinyal domain waktu dan = jika argumen positif, jika argumen negatif = .
5. Low Energy
Low energy merupakan presentase dari window yang
mempunyai energi lebih kecil dari rata-rata energi keseluruhan
(30)
2.4 Jaringan Syaraf Tiruan Propagasi Balik
2.4.1 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan adalah sistem pemrosesan informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologis (Siang, 2007).
Jaringan Syaraf Tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologis dengan asumsi:
1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
2. Sinyal dikirimkan melalui 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 (arsitekstur jaringan). 2. Metode untuk menentukan bobot penghubung. 3. Fungsi aktivasi
Arsitekstur Jaringan Syaraf Tiruan merupakan salah satu penentu Jaringan Syarat tiruan.
(31)
Macam Arsitekstur Jaringan Syaraf Tiruan:
1. Jaringan Lapis Tunggal
Dalam jaringan ini, sekumpulan input dihubungkan dengan sekumpulan outputnya. Dalam jaringan lapis tunggal bobot satu unit keluaran tidak mempengaruhi bobot unit keluaran lainnya.
X1
Xi
Xn
Y1
Yi
Yn W11
Wi1 Wn1
W1j Wij
Wnj W1m Wim
Wnm
Input unit
output unit
Gambar 2.1 Ilustrasi Jaringan Lapis Tunggal (Siang, 2007)
Pada Gambar 2.1 terdapat n unit input (X1, X2,…,Xn) dan m buah unit output (Y1, Y2,…,Ym). Kemudian Wij menyatakan bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam output. Selama proses pelatihan bobot-bobot tersebut akan dimodifikasi untuk memperoleh keakuratan hasil yang maksimal.
(32)
2. Jaringan Lapis Majemuk
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis tunggal. Dalam jaringan lapis majemuk, selain unit input dan output, ada pula unit lain, yang berada diantara unit input dan output (sering disebut lapis tersembunyi). Dalam jaringan ini dimungkinkan ada beberapa lapis tersembunyi. Unit dalam satu layar tidak saling berhubungan.
Xn Input unit output unit W11 X1 Xi Z1 Zj Y1 Yk Ym Wj1 Wp1 W1k Wjk Wjm V11 Vi1 Vn1 Vnj V1p Vip Zp Vnp V1j Vij Wpk W1m Wpm Hidden unit
Gambar 2.2 Ilustrasi Jaringan Lapis Majemuk (Siang, 2007)
Pada Gambar 2.2 terdapat n buah unit input (X1, X2,…,Xn) dan m buah unit output (Y1, Y2,…,Ym), sebuah lapis tersembunyi yang terdiri dari p buah unit (Z1, Z2,…,Zp). Jaringan ini dapat menyelesaikan masalah yang lebih komplek.
(33)
2.4.2 Jaringan Syaraf Tiruan Propagasi Balik
Jaringan Syaraf Tiruan Propagasi Balik membandingkan perhitungan keluaran jaringan syaraf tiruan dengan target keluaran dan menghitung nilai error untuk setiap unit jaringan.
1. Arsitekstur Jaringan Syaraf Tiruan Propagasi Balik
Xn
Input
unit output unit
W11 X1 Xi Z1 Zj Y1 Yk Ym Wj1 Wp1 W1k Wjk Wjm V11 Vi1 Vn1 Vnj V1p Vip Zp Vnp V1j Vij Wpk W1m Wpm Hidden unit 1 1 V01 V0p V0j W01 W0k W0m
Gambar 2.3 Ilustrasi Jaringan Syaraf Tiruan Propagasi Balik
(Siang, 2007)
Gambar 2.3 merupakan arsitekstur jaringan syaraf tiruan propagasi balik dengan n buah masukan ditambah sebuah bias,
(34)
sebuah lapis tersembunyi yang terdiri dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran.
2. Fungsi Aktivasi
Dalam jaringan syaraf tiruan propagasi balik, fungsi aktivasi harus memenuhi syarat: kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi aktivasi yang memenuhi syarat tersebut adalah fungsi sigmoid
biner dengan rentang (0, 1).
= + −� dengan turunannya ′ = ( − ) (2.12) Fungsi lain yang juga memenuhi syarat tersebut adalah fungsi sigmoid bipolar dengan rentang (-1, 1).
= + −�− dengan turunnannya ′ = ( + � )( − � ) (2.13) Fungsi sigmoid memiliki nilai maksimum = 1. Makan untuk pola tergetnya > 1, pola masukan dan keluaran harus terlebih dahulu ditrasformasi sehingga polanya memiliki rentang yang sama seperti fungsi sigmoid yang dipakai. Cara lain adalah menggunakan fungsi aktivasi sigmoid hanya pada layar yang bukan layar keluaran, pada layar keluaran cukup menggunakan fungsi identitas = .
3. Proses Pelatihan Jaringan Syaraf Tiruan Propagasi Balik
Proses Pelatihan Jaringan Syaraf Tiruan Propagasi Balik terdiri dari 3 proses yaitu propagasi maju, propagasi mundur, perubahan bobot. Ketiga proses tersebut diulang-ulang sampai
(35)
kondisi penghentian terpenuhi. Umumnya penghentian yang dipakai adalah iterasi dan error. Iterasi akan dihentikan jika iterasi melebihi iterasi yang ditentukan. Atau jika error sudah lebih kecil dari yang ditentukan.
1. Propagasi maju
Selama propagasi maju, sinyal masukan ( ) dipropagasi ke lapis tersembunyi. Keluaran dari tiap unit tersembunyi tersebut ( ) di propagasi maju lagi ke lapis tersembunyi diatasnya. Demikian seterusnya hingga mendapatkan luaran jaringan ( ).
Berikutnya, luaran jaringan ( ) dibandingkan dengan target yang harus dicapai ( ). Selisih − adalah error yang terjadi. Jika error lebih kecil dari yang telah ditentukan, maka iterasi dihentikan, jika tidak, maka bobot setiap garis dimodifikasi untuk mengurangi nilai
error agar lebih kecil dari ketentuan.
2. Propagasi mundur
Berdasarkan error − , dihitung faktor � =
, , …, yang dipakai untuk mendistribusikan errordi unit ke semua unit tersembunyi yang terhubung langsung dengan . � juga dipakai untuk mengubah bobot garis yang terhubung langsung dengan unit keluaran.
(36)
Dengan cara yang sama, dihitung faktor �, di setiap unit lapis tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari lapis dibawahnya. Demikian seterusnya sampai faktor � di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
3. Perubahan bobot
Setelah semua faktor � dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot satu garis didasarkan atas faktor � neuron di lapis atasnya.
Algoritma pelatihan dengan 1 lapis tersembunyi dan fungsi aktifasi sigmoid biner. Adalah sebagai berikut:
Langkah 1: Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 2: jika kondisi penghentian belum terpenuhi maka lakukan langkah 2-9.
Fase I.
Langkah 3: tiap unit masukan menerima sinyal kemudian meneruskan ke unit tersembunyi di atasnya.
Langkah 4: hitung semua keluaran di unit tersembunyi (j = 1, 2, … , p)
_ = + ∑= (2.14)
(37)
Langkah 5: hitung semua keluaran di unit tersembunyi (k = 1, 2,
… , m).
_ = + ∑ = (2.16)
= _ (2.17)
Fase II.
Langkah 6: hitung faktor � unit keluaran berdasarkan error setiap unit keluaran (k = 1, 2, … , m).
� = − − (2.18)
Hitung suku perubahan bobot dengan laju percepatan
∆ = � ; = , , … , ; = , , … , (2.19)
Langkah 7: hitung faktor � unit tersembunyi berdasarkan error di setiap unit tersembunyi = = , , … ,
�_ = ∑ = � (2.20)
� = �_ ( − ) (2.21)
Hitung suku perubahan bobot
∆ = � ; = , , … , ; = , , … , (2.22)
Fase III
Langkah 8: Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran:
= + ∆ ( = , , … , ; =
(38)
Perubahan bobot garis yang menuju ke unit tersembunyi:
= + ∆ ( = , , … , ; = , , … , ) (2.24) Langkah 9: bandingkan kondisi penghentian
Jaringan Syaraf Tiruan Propagasi Balik memiliki kelemahan tentang berapa epoch yang harus dilalui untuk memperoleh hasil yang diinginkan.
Faktor-faktor penting dari Jaringan Syaraf Tiruan Propagasi Balik agar jaringan bekerja dengan maksimal adalah:
1. Pemilihan Bobot dan Bias Awal
Nguyen dan widrow (1990) mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi yang lebih cepat.
Missal:
n = jumlah unit masukan p = jumlah unit tersembunyi
= factor skala = . √� Algoritma inisialisasi:
Langkah 1: Inisisalisasi semua bobot ( ) dengan bilangan acak dalam interval [-0.5, 0.5].
(39)
Langkah 2: hitung ‖ ‖ = √ + + ⋯ + (2.25)
Langkah 3: bobot yang dipakai sebagai inisialisasi = =
�
‖ ‖ (2.26)
Langkah 4: bias yang dipakai sebagai inisialisasi = = bilangan acak antara – dan .
2. Jumlah Unit Tersembunyi
Jaringan dengan sebuah lapis tersembunyi sudah cukup bagi Jaringan Syaraf Tiruan Propagasi Balik untuk mengenali sembarang kelas antara masukan dan target dengan tingkat ketelitian yang ditentukan.
Jika jaringan memiliki lebih dari 1 lapis tersembunyi maka algoritma pelatihan perlu direvisi. Dalam Fase I, keluaran harus dihitung untuk tiap lapis, dimulai dari lapis tersembunyi paling bawah. Kemudian dalam fase II, faktor � perlu dihitung untuk tiap lapis tersembunyi, dimulai dari lapis keluaran.
3. Jumlah Pola Pelatihan
Jumlah pola pelatihan ditentukan oleh banyaknya bobot dan tingkat akurasi yang diinginkan.
(40)
2.5 K-Fold Cross Validation
K-Fold Cross Validation adalah metode yang digunakan dalam proses
pengujian klasifikasi data. Data dibagi menjadi k bagian kemudian bagian satu dan bagian yang lain ditukar-tukar sebanyak k (Tan, Steinbach, & Kumar, 2006).
Sebagai contoh data dibagi menjadi 2 bagian dengan jumlah yang sama. Pertama data bagian 1 digunakan sebagai data pelatihan dan data bagian 2 digunakan sebagai data pengujian. Kedua data bagian 2 digunakan sebagai data pelatihan dan data bagian 1 digunakan sebagai data pengujian. Contoh ini disebut sebagai 2-Fold Cross Validation.
K-Fold Cross Validation menjadikan data pelatihan dan pengujian tidak
sama. Data pelatihan tidak digunakan sebagai data pengujian. 2.6 Confusion Matrix
Data pelatihan dan pengujian merupakan data yang berbeda sehingga klasifikasi dapat diuji dengan benar. Akurasi dari klasifikasi dihitung dari jumlah data yang dikenali sesuai dengan target kelasnya. Perhitungan akurasi klasifikasi data dihitung menggunakan tabel yang bernama Confusion Matrix (Tan, Steinbach, & Kumar, 2006). Pada tabel 2.1 merupakan Confusion
(41)
Tabel 2.1 Confusion Matrix 2 kelas (Tan, Steinbach, & Kumar, 2006). Hasil pengujian
1 0
Target kelas
1 F11 F10
0 F01 F00
Fij adalah jumlah data yang dikenali sebagai kelas j dengan target kelas i. Dari Tabel 2.1 didapat persamaan-persamaan untuk menghitung akurasi dan tingkat kesalahan suatu klasifikasi:
1. Persamaan untuk menghitung akurasi keseluruhan klasifikasi
= ℎ ℎ = � +� +� +�� +� (2.28) 2. Persamaan untuk menghitung error keseluruhan klasifikasi
= ℎ ℎ = � +� +� +�� +� (2.29) 3. Persamaan untuk menghitung akurasi klasifikasi kelas 1
= ℎ ℎ = � +�� (2.30) 4. Persamaan untuk menghitung error klasifikasi kelas 1
= ℎ ℎ = � +�� (2.31) 5. Persamaan untuk menghitung akurasi klasifikasi kelas 0
= ℎ ℎ = � +�� (2.32) 6. Persamaan untuk menghitung error klasifikasi kelas 0
(42)
24
3. BAB III
ANALISIS DAN DESAIN SISTEM
Bab ini berisi analisa kebutuhan sistem mencakup metode yang digunakan untuk ekstraksi ciri lagu, klasifikasi lagu dan pengujian sistem. Selain kebutuhan sistem Bab ini juga berisi perancangan sistem mencakup ekstraksi ciri, klasifikasi, pengujian dan perancangan antarmuka.
3.1 Analisa Kebutuhan
Sub Bab ini berisi analisa pencipta lagu yang dipilih, sample lagu untuk proses pelatihan dan pengujian sistem, metode ekstraksi ciri, klasifikasi dengan jaringan syaraf tiruan propagasi balik, pengujian sistem dan kebutuhan sistem.
3.1.1 Analisa Pencipta Lagu
Pencipta lagu yang dipilih dalam klasifikasi ini adalah Ahmad
Dhani, Dewa Budjana, Ian Antono, dan Abdee Negara. Ke empat
musisi atau pencipta lagu tersebut telah menciptakan banyak lagu sehingga proses pelatihan menjadi lebih maksimal karena banyaknya data. Ke empat pencipta lagu tersebut juga mempunyai genre musik yang sama yaitu musik rock.
3.1.2 Analisa Data
Data berupa 40 lagu, 10 lagu dari tiap pencipta lagu. 10 lagu tersebut akan melalui proses sebelum diolah dalam proses ekstraksi ciri. Preprosesing tersebut adalah konversi dari file mp3 yang sudah
(43)
banyak melalui pengompresan ke file audio .wav dengan format PCM, frekuensi 44100 hz, 8 bit, audio tipe mono. hal itu diperlukan untuk mendapat informasi yang utuh dari setiap lagu. Proses ini membutuhkan aplikasi Sony Sound Forge Audio Studio 10. Aplikasi tersebut tidak hanya digunakan untuk konversi audio tipe mp3 ke wav, namun juga digunakan untuk memotong-motong lagu menjadi 5 file audio dengan panjang masing-masing 5 detik. 5 file tersebut dipotong dari tiap file lagu secara berurutan setelah menit pertama. Proses tersebut menghasilkan 50 file audio untuk setiap pencipta lagu, sehingga menjadi 200 file wav. 200 file tersebut yang siap diolah dalam proses ekstraksi ciri.
3.1.3 Metode Ekstraksi Ciri Lagu
Metode ekstraksi ciri menggunakan metode dari George Tzanetakis yang bernama Music Surface Feature. Untuk mendapatkan hasil ekstraksi ciri diperlukan metode dalam pemrosesan sinya digital yaitu Fast Fourier Transform, Inverse Fourier Transform dan Hamming Window. Metode ekistraksi ciri tersebut dipilih karena memiliki nilai-nilai yang dapat digunakan untuk ekstraksi ciri lagu. Tidak hanya itu metode tersebut dapat merepresentasikan instrumen lagu dari tiap pencipta lagu.
(44)
3.1.4 Metode Klasifikasi
Metode klasifikasi menggunakan jaringan syaraf tiruan propagasi balik dipilih karena memberikan hasil yang akurat dengan sampel diluar kumpulan sampel yang digunakan untuk pelatihan.
Berikut nilai-nilai parameter yang digunakan pada jaringan syaraf tiruan propagasi balik:
1. Epoch/iterasi = 5000
2. Kecepatan pembelajaran = 0,1 3. Target error = 0,01 atau 1% 4. Lapisan tersembunyi = 1 lapis 5. Fungsi aktifasi = sigmoid bipolar
6. Inisialisasi bobot menggunakan metode Nguyen dan Widrow.
3.1.5 Metode Pengujian
Metode pengujian yang digunakan adalah 5-Fold Cross
Validation. Metode ini dipakai karena memberikan data yang berbeda
untuk klasifikasi dan pengujian. Sehingga akurasi sistem dapat diketahui dengan benar.
Hasil dari tiap percobaan akan dimasukan ke dalam tabel
Confusion Matrix untuk menghitung akurasi klasifikasi data.
Tahap pengujian dilakukan pada proses mencari ciri lagu terbaik dan arsitekstur jaringan syaraf tiruan terbaik.
(45)
3.1.6 Kebutuhan Sistem
Sistem ini mempunyai kebutuhan perangkat keras dan lunak untuk mendapatkan hasil yang maksimal.
1. Kebutuhan Perangkat Keras
Sistem ini membutuhkan perangkat keras dengan spesifikasi minimal sebagai berikut:
1. Processor : AMD FX 6100, six core, 3,3GHz 2. Memory : 4 GB
3. Hard drive : 160 GB
4. Soundcard : Speaker HD audio device
Spesifikasi tersebut dipilih agar sistem berjalan dengan maksimal
2. Kebutuhan Perangkat Lunak
Sistem ini membutuhkan perangkat lunak untuk pembuatan dan menjalankannya, perangkat lunak tersebut adalah sebagai berikut:
1. Microsoft Windows 8.1 2. Matlab 2014
3. Sony Sound Forge Audio Studio 10.0
Microsoft Windows 8.1 digunakan sebagai sistem operasi agar kedua perangkat lunak lainnya dapat berjalan. Matlab 2010 digunakan untuk membuat sistem sekaligus menjalankan sistem.
(46)
Sony Sound Forge Audio Studio 10.0 digunakan untuk mengolah data sebelum diolah oleh sistem.
3.2 Perancangan Sistem
Sub bab ini berisi perancangan sistem dari perancangan proses pelatihan sampai ke proses pengujian. Pada proses pelatihan dan pengujian terdapat proses ekstraksi ciri lagu yang menggunakan metode Music Surface Feature yang dikemukakan oleh George Tzanetakis.
Pada proses pelatihan masukan berupa file audio dengan tipe file .wav dan frekuensi 44100 hz. Kemudian diambil ciri-ciri audionya. Langkah selanjutnya ciri-ciri audio dan target/label keluaran dimasukan ke jaringan syaraf tiruan propagasi balik, yang kemudian menghasilkan model jaringan syaraf tiruan.
DATA EKSTRAKSI CIRI
JARINGAN SYARAF TIRUAN PROPAGASI BALIK MODEL JARINGAN
Gambar 3.1 Diagram Blok Proses Pelatihan
Hasil dari proses pelatihan yang berupa model jaringan dipakai di proses pengujian. Sama dengan proses pelatihan, data mentah diambil cirinya kemudian diproses pada model jaringan. Hasil dari model jaringan tersebut akan dibandingkan dengan target keluaran.
(47)
DATA EKSTRAKSI CIRI MODEL JARINGAN HASIL KLASIFIKASI
Gambar 3.2 Diagram Blok Proses Pengujian
3.2.1 Ekstraksi Ciri
Proses ekstraksi ciri dilakukan pada semua data mentah. Pada proses pelatihan ekstraksi ciri dilakukan pada semua data mentah kemudian disimpan pada variabel untuk setiap ciri. Keluaran dari proses ini berupa nilai numerik sejumlah 9, sesuai dengan jumlah ciri lagu.
Ada 8 tahap ekstraksi ciri, dari membaca data mentah sampai mendapatkan 9 nilai ciri lagu. Tahap tersebut adalah:
1. Hamming window
2. Fast fourier transform (FFT)
3. Inverse Fast fourier transform (IFFT)
4. Pengambilan ciri Centroid 5. Pengambilan ciri Roll Off 6. Pengambilan ciri Flux
7. Pengambilan ciri Zero Cross Rate 8. Pengambilan ciri Low Energy
(48)
Diagram dibawah ini merupakan urutan dari proses ekstraksi ciri:
Lagu *.wav
Hamming window
FFT
IFFT
Spectral Centroid
Spectral Roll off
Spectral Flux Spectral Zero
Cross
Low Enegy
Gambar 3.3 Diagram Blok Proses Ekstraksi Ciri
Pada Gambar 3.3 proses dimulai dari pengambilan data mentah, kemudian masuk ke proses Hamming Window. Pada tahap Hamming
Window, data yang sudah dalam bentuk frame dipadatkan. Sehingga
bentuk gelombang akan naik. Hal ini dapat diartikan menormalisasi sinyal digital. Tahap ini dapat dilihat pada Gambar 3.4.
(49)
START
END i=1, j=1
i<=40
J<=1024
amplitude(i, j) = amplitude(i,j) * (0.54 - (0.46 *
cos (2 * pi * j / 1023)))
YES
NO
NO
YES
Gambar 3.4 Hamming Window
Proses berlanjut ke tahap Fast Fourier Transform (FFT), pada proses ini sinyal audio dikonversi ke dalam domain berbasis frekuensi. Tahap FFT dapat dilihat pada Gambar 3.5.
(50)
START
END i=1, j=1, k=1
i<=40
k<=512
j<=1024
real(i, k) = real(i, k) + (amplitude(i, j) * cos(2 * 3.14 * k
* j / 1024))
imaginer(i, k) = imaginer(i, k) - (amplitude(i, j) * sin(2 * 3.14 * k
* j / 1024))
i<=40
k<=512
magnitude(i, k) = sqrt((real(i, k) * real(i, k)) + (imaginer(i, k) *
imaginer(i, k)))
NO
YES
NO
NO
YES
YES
YES
YES
NO
NO
(51)
Tahap selanjutnya adalah Inverse Fast Fourier Transform
(IFFT), pada tahap ini sinyal domain frekuensi dikembalikan ke proses
domain waktu. Tahap IFFT dapat dilihat pada Gambar 3.6.
START
END i=1, j=1, k=1
i<=40
k<=512
real(i, k) = real(i, k) / (1024 / 2)
imaginer(i, k) = -imaginer(i, k) / (1024 / 2)
i<=40
k<=512
NO
YES
NO
YES
i<=40
real(i, 1) = real(i, 1) / 2
real(i, 512) = real(i, 512) / 2
j<=1024
amplitude1(i, j) = amplitude1(i, j) + real(i, k) *
cos(2 * 3.14 * k * j / 1024)
amplitude1(i, j) = amplitude1(i, j) + imaginer(i,
k) * sin(2 * 3.14 * k * j / 1024)
NO
NO
NO
YES
YES
YES
(52)
Proses selanjutnya adalah mengambil 6 ciri lagu. Yaitu rata-rata dan varian dari Spectral Centroid, Roll Off dan Flux.
7. Spectral Centroid
Input proses tahap ini adalah magnitude yang merupakan hasil dari tahap FFT. Magnitude tersebut akan melalui proses sesuai dengan persamaan 2.8. Hasil dari proses ini adalah
Spectral Centroid. Dari spectral tersebut akan dihitung nilai
rata-rata dan variannya. Tahap Centroid dapat dilihat pada Gambar 3.7
START END i=1, j=1, rat_cen=0, var_cen=0 NO YES i<=40 j<=512
magni(i) = magni(i) + (magnitude(i,j)*j) magni1(i) = magni1(i)
+ magnitude(i,j) magni(i)=magni(i)/
magni1(i)
i = 1 min1 = magni(i) max1 = magni(i)
min1 > magni(i)
min1 > magni(i)
min1 = magni(i) max1 = magni(i) i<=40
magni(i) = (((1 - (-1)) * magni(i)) + ((-1) * max1) - (1 * min1)) / (max1 - min1)
rat_cen = rat_cen/40 i<=40
var_cen = ((magni(i) - rat_cen) * (magni(i) - rat_cen)) + var_cen
var_cen = sqrt(var_cen / 39)
YES
YES YES YES
YES YES YES
NO
NO
NO
NO NO NO
(53)
8. Spectral Roll Off
Input proses tahap ini adalah magnitude yang merupakan hasil dari tahap FFT. Magnitude tersebut akan melalui proses sesuai dengan persamaan 2.9. Hasil dari proses ini adalah
Spectral Roll Off. Dari spectral tersebut akan dihitung nilai
rata-rata dan variannya. Tahap Roll Off dapat dilihat pada Gambar 3.8.
START END YES NO i=1,j=1, var_ro=0, rat_ro=0 i<=40 j<=512
magni(i) = magnitude(i,j)+magni(i)
magni(i)=magni(i)*0.8 i=1 min1=magni(i) max1=magni(i) min1 > magni(i) max1 < magni(i) min1=magni(i) max1=magni(i) i<=40
magni(i) = (((1 - (-1)) * magni(i)) + ((-1) * max1) - (1 * min1)) / (max1 - min1)
rat_ro = rat_ro + magni(i)
rat_ro = rat_ro/40 i<=40
var_ro = ((magni(i) - rat_ro) * (magni(i) - rat_ro)) + var_ro
var_ro = sqrt(var_ro/39)
YES
YES YES YES
YES YES
NO
NO NO NO
NO NO
(54)
9. Spectral Flux
Input proses tahap ini adalah magnitude yang merupakan hasil dari tahap FFT. Magnitude tersebut akan melalui proses sesuai dengan persamaan 2.10. Hasil dari proses ini adalah
Spectral Flux. Dari spectral tersebut akan dihitung nilai rata-rata
dan variannya. Tahap Flux dapat dilihat pada Gambar 3.9.
i=1,j=1, rat_flux = 0 var_flux = 0 START END YES NO i<=40 j<=512 j=1 temp1 = magnitude(i, j) * magnitude(i, j)
temp1 = (magnitude(i, j) - magnitude(i, j - 1)) * (magnitude(i, j) - magnitude(i, j - 1))
temp2(i) = temp2(i) + temp1
i=1
min1 = temp2(i)
max1 = temp2(i)
min1 > temp2(i)
max1 < temp2(i)
min1 = temp2(i) max1 = temp2(i)
i<=40
temp2(i) = (((1 - (-1)) * temp2(i)) + ((-1) * max1) - (1 * min1)) / (max1 - min1)
rat_flux = temp2(i) + rat_flux
rat_flux = rat_flux / 40
i<=40
var_flux = ((temp2(i) - rat_flux) * (temp2(i) - rat_flux)) + var_flux
var_flux = sqrt(var_flux / 39) YES
YES
YES YES YES
YES
YES NO
NO
NO NO NO
NO
NO
(55)
Proses berikutnya setelah mengambil keenam ciri tersebut adalah mengambil 3 ciri berikutnya, yaitu rata-rata dan varian dari Zero
Crossing Rate dan Low Energy.
1. Spectral zero crossing rate
Input proses tahap ini adalah amplitudo yang merupakan hasil dari tahap IFFT. Amplitudo tersebut akan melalui proses sesuai dengan persamaan 2.11. Hasil dari proses ini adalah
Spectral Zero Crossing Rate. Dari spectral tersebut akan dihitung
nilai rata-rata dan variannya. Tahap Zero Crossing Rate dapat dilihat pada Gambar 3.10.
(56)
i=1,j=1, rat_zc=0, var_zc=0 START
YES NO
i<=40
j<=1024
YES NO
j=1 temp2 = 0 amplitude(i, j)
>= 0 temp1 = 1 temp1 = 0
amplitude(i, j) >= 0
temp1 = 1 temp1 = 0
amplitude(i, j-1) >= 0
temp2 = 1 temp2 = 0
temp1=temp1-temp2 temp1 < 0 temp1 = -temp1 zc(i) = temp1 + zc(i)
zc(i) = (((1 - (-1)) * zc(i)) + ((-1) * 1024) - (1 * 0)) / (1024 - 0)
rat_zc = rat_zc + zc(i)
rat_zc = rat_zc / 40 i<=40 var_zc = ((zc(i) - rat_zc) *
(zc(i) - rat_zc)) + var_zc
var_zc = sqrt(var_zc / 39)
END
(57)
2. Low Energy
Input proses tahap ini adalah amplitudo yang merupakan hasil dari tahap IFFT. Amplitudo tersebut akan melalui proses untuk mendapatkan persentase amplitudo yang dibawah rata-rata amplitudo pada setiap window. Hasil dari proses ini adalah 1 nilai numerik. Tahap Low Energy dapat dilihat pada Gambar 3.11.
START END YES NO i=1,j=1, low_en=0, temp2=0 i<=40 j<=1024 k=i-j
k >= 0 dan k <= 1024
temp1 = 0.5 temp1 = 0
temp2 = ((amplitude(i, j) * temp1) * (amplitude(i, j) * temp1)) + temp2
low_en1(i) = low_en1(i) + temp2
low_en1(i) = low_en1(i) / 1024
i<=40
i=1
low_en = low_en1(i)
low_en > low_en1(i)
low_en = low_en1(i)
NO NO NO NO YES YES YES YES YES NO
(58)
Dari hasil ekstraksi ciri. Data yang diperoleh adalah nilai numerik berjumlah 9. Pada ciri 1 sampai 4 masing-masing terdapat 2 nilai dan 1 nilai untuk ciri 5. Tabel 3.1 adalah contoh hasil ekstraksi ciri.
Tabel 3.1 Contoh Hasil Ekstraksi Ciri
data
ciri 1 ciri 2 ciri 3 ciri 4 ciri 5
mean centroid varian centroid mean roll off varian roll off mean flux varian flux mean zero crossing rate varian zero crossing rate low energy
1 -0,21032 0,464161 0,488747 -0,41496 -0,35624 0,61223 -0,90298 0,068425 0,001937
2 -0,29684 0,560839 0,436355 -0,27167 -0,10333 0,64762 -0,89429 0,084715 0,00187
n -0,30629 0,474475 0,48425 -0,08337 -0,41815 0,46766 -0,84224 0,051587 0,001501
3.2.2 Klasifikasi dan Pengujian
Sebelum masuk ke jaringan syaraf tiruan data dibagi menjadi 5 bagian untuk proses pelatihan dan pengujian. Data sejumlah 200 dibagi menjadi 5.
Tabel 3.2 Five Fold Cross Validation percobaan Training Testing 1 1,2,3,4 5 2 1,2,3,5 4 3 1,2,4,5 3 4 1,3,4,5 2 5 2,3,4,5 1
Dari 5 percobaan pada Tabel 3.1, akan didapatkan tabel confusion
matrix sehingga dapat dihitung akurasi sistem menggunakan persamaan
(59)
Proses klasifikasi menggunakan jaringan syaraf tiruan propagasi balik. Dengan proses pengujian membandingkan kombinasi ciri lagu agar didapat ciri terbaik untuk proses klasifikasi. Setelah didapat kombinasi ciri lagu terbaik berikutnya mencari arsitekstur terbaik dari jaringan syaraf tiruan propagasi balik. Pada proses mencari ciri terbaik arsitekstur jaringan yang digunakan adalah:
a. Input jaringan 1,2,3,…, dan/atau 9 , sesuai dengan kombinasi ciri lagu.
b. Lapisan jaringan sebanyak 3 lapis, dengan 2 lapis tersembunyi, dan 1 lapis keluaran.
c. Jumlah jaringan pada lapisan tersembunyi pertama dan kedua masing-masing sebanyak 60.
d. Jumlah jaringan pada lapisan keluaran adalah 4, sesuai dengan jumlah klasifikasi.
e. Batas epoch 5000 f. Target error 0,01
g. Kecepatan pembelajaran 0,1
h. Target luaran jaringan : Abdee Negara = (1,0,0,0), Dewa Budjana = (0,1,0,0), Ahmad Dhani = (0,0,1,0), Ian Antono = (0,0,0,1) Sedangkan pada proses pencarian arsitekstur terbaik input jaringan akan disesuaikan dengan hasil kombinasi ciri terbaik. Pada pencarian arsitekstur jaringan terbaik, akan di uji coba beberapa jumlah lapisan tersembunyi, yaitu 1 lapis tersembunyi dan 2 lapis tersembunyi
(60)
dengan jumlah jaringan bervariasi, sesuai dengan input jaringan. Jumlah jaringan pada lapis tersembunyi adalah kelipatan dari input jaringan, yaitu sebanyak 10 kelipatan, contohnya jika input jaringan 10, maka variasi jumlah jaringan adalah 10, 20, 30,…, 90, 100. Pada jumlah lapis tersembunyi 1, semua jumlah jaringan akan diuji dan dicari akurasi tertinggi dengan syarat target error terpenuhi. Demikian pula pada 2 lapis tersembunyi, namun pada 2 lapis tersembunyi, jumlah jaringan pada lapis 1 dan 2 akan divariasikan.
3.3 Perancangan Atarmuka Sistem
(61)
Pada Gambar 4.12 dapat dilihat antarmuka sistem memiliki 3 panel fungsi dari sistem, yaitu:
1. Ekstraksi ciri
Pada panel ekstraksi ciri terdapat komponen-komponen sebagai berikut:
a. Edit text – berfungsi untuk menampilkan direktori data.
b. Tombol cari data – berfungsi untuk membuka jendela pencarian file direktori.
c. Listbox data – berfungsi untuk menampilkan list semua data. d. Tombol ekstraksi ciri – berfungsi untuk menjalankan proses
ekstraksi ciri. 2. Klasifikasi
Pada panel klasifikasi terdapat komponen-komponen sebagai berikut:
a. Panel ciri lagu – berfungsi untuk menampilkan checkbox ciri lagu. b. Checkbox ciri-ciri lagu – berfungsi untuk memilih ciri yang dipakai. c. Edit text hidden network 1 – berfungsi untuk memasukan jumlah
jaringan lapis tersembunyi 1.
d. Edit text hidden network 2 – berfungsi untuk memasukan jumlah jaringan lapis tersembunyi 2.
e. Edit text goal – berfungsi untuk memasukan target error pada arsitekstur jaringan.
(62)
f. Edit text epoch – berfungsi untuk memasukan batas iterasi pada arsitekstur jaringan.
g. Tombol klasifikasi – berfungsi untuk menjalankan proses klasifikasi.
h. Text box confusion matrix – berfungsi untuk menampilkan confusion matrix.
3. Uji lagu
Pada panel uji lagu terdapat komponen-komponen sebagai berikut: a. Edit text – berfungsi untuk menampilkan direktori data.
b. Tombol cari lagu – berfungsi untuk membuka jendela pencarian file direktori.
c. Text hasil – berfungsi untuk menampilkan hasil pengujian lagu. d. Tombol sinyal dan spektrogram – berfungsi untuk menampilkan
(63)
45
4. BAB IV
IMPLEMENTASI DAN EVALUASI
Bab ini berisi uraian implemantasi sistem berupa hasil penelitian dan analisa ciri lagu serta arsitekstur jaringan terbaik dan antarmuka sistem.
4.1 Hasil penelitian
Hasil peneliatian ini adalah akurasi dari pengenalan lagu berdasarkan pencipta lagu. Ada dua kombinasi yang dilakukan dalam penelitian ini, yaitu kombinasi ciri lagu dan kombinasi jumlah jaringan. Contoh data audio berupa sinyal digital yang digunakan dalam penelitian ini dapat dilihat pada gambar-gambar dibawah ini. Data tersebut ditampilkan dalam bentuk sinyal digital dan spektrogram.
Gambar 4.1 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Abdee Negara
(64)
Gambar 4.2 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Dewa Budjana
Gambar 4.3 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Ahmad Dhani
(65)
Gambar 4.4 Contoh Sinyal dan Spektrogram Audio Lagu Ciptaan Ian Antono
4.1.1 Hasil Kombinasi Ciri Lagu
Pada pencarian ciri lagu terbaik proses dilakukan dengan klasifikasi menggunakan jaringan syaraf tiruan propagasi baik dengan arsitekstur sebagai berikut:
a. Input jaringan 1,2,3,…, dan/atau 9 , sesuai dengan kombinasi ciri lagu.
b. Lapisan jaringan sebanyak 3 lapis, dengan 2 lapis tersembunyi, dan 1 lapis keluaran.
c. Jumlah jaringan pada lapisan tersembunyi pertama dan kedua masing-masing sebanyak 60.
d. Jumlah jaringan pada lapisan keluaran adalah 4, sesuai dengan jumlah klasifikasi.
(66)
f. Target error 0,01
g. Kecepatan pembelajaran 0,1
Hasil dari klasifikasi tersebut dapat dilihat pada tabel di bawah ini: Keterangan :
a = Spectral Centroid b = Spectral Roll Off c = Spectral Flux
d = Spectral Zero Crossing Rate e = Low Energy
Tabel 4.1 Hasil Kombinasi Ciri
no ciri akurasi
1 a 29,63
2 b 34,55
3 c 44,00
4 d 50,50
5 e 33,81
6 a,b 39,15
7 a,c 49,28
8 a,d 64,50
9 a,e 36,57
10 b,c 46,15
11 b,d 63,50
12 b,e 31,51
13 c,d 63,00
14 c,e 40,19
15 d,e 58,50
16 a,b,c 49,30
17 a,b,d 58,37
18 a,b,e 44,55
19 a,c,d 62,86
20 a,d,e 54,00
21 a,c,e 55,34
(67)
23 b,c,e 49,50
24 b,d,e 60,00
25 c,d,e 58,50
26 a,b,c,d 60,00
27 a,b,c,e 54,33
28 a,b,d,e 60,77
29 a,c,d,e 60,00
30 b,c,d,e 57,50
31 a,b,c,d,e 65,00
Dari Tabel 4.1 dapat dilihat akurasi dari kombinasi semua ciri lagu. Pada tabel tersebut ada ciri a,b,c,d dan e, masing-masing adalah ciri Centroid, Roll off, Flux, Zero Crossing Rate dan Low Energy. Sedangkan a,b; a,b,c; a,b,c,d; a,b,c,d,e dan lain-lain merupakan kombinasi dari kelima ciri tersebut.
Baris yang diberi warna kuning merupakan kombinasi ciri terbaik, karena mendapat akurasi klasifikasi tertinggi yaitu 65%. Kombinasi tersebut adalah a,b,c,d,e yaitu semua ciri lagu. Kombinasi tersebut akan menjadi input pada jaringan syaraf tiruan, untuk mencari arsitekstur terbaik.
Untuk lebih mudah dalam membandingkan akurasi ciri satu dengan yang lainnya, dapat dilihat pada grafik di bawah ini.
(68)
Gambar 4.5 Grafik Kombinasi Ciri
Dari Gambar 4.5 dapat dilihat perubahan akurasi jika ciri dikombinasikan. Dapat dilihat pula bahwa kombinasi ciri terbaik adalah semua ciri dengan akurasi 65%.
0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Grafik Percobaan Ciri Lagu
(69)
4.1.2 Hasil Variasi Arsitekstur Jaringan
1. Satu Lapis Tersembunyi
Tabel 4.2 Hasil Variasi Jumlah Jaringan 1 Lapis Tersembunyi
no
Jumlah
neuron akurasi
1 18 68,57
2 27 67,50
3 36 68,50
4 45 65,55
5 54 66,50
6 63 67,00
7 72 59,71
8 81 63,29
9 90 65,50
10 99 58,54
Dapat dilihat dari Tabel 4.2 akurasi dari masing-masing jumlah jaringan. Akurasi tertinggi terdapat pada baris yang diberi warna kuning. Yaitu pada percobaan no 1 dengan jumlah jaringan 18 dan akurasi sebesar 68,57%.
Untuk lebih mudah dalam membandingkan akurasi dari tiap percobaan dapat dilihat pada grafik di bawah ini.
Gambar 4.6 Grafik Variasi Jumlah Jaringan 1 Lapis Tersembunyi
50.00 55.00 60.00 65.00 70.00
1 2 3 4 5 6 7 8 9 10
Grafik Percobaan 1 Lapis Tersembunyi
(70)
2. Dua Lapis Tersembunyi
Tabel 4.3 merupakan hasil dari variasi jumlah neuron pada dua lapis tersembunyi.
Tabel 4.3 Hasil Variasi Jumlah Jaringan 2 Lapis Tersembunyi
no Jumlah neuron lapis 1 Jumlah neuron
lapis 2 akurasi
1
18
18 68,57
2 27 67,50
3 36 68,50
4 45 65,55
5 54 66,50
6 63 67,00
7 72 59,71
8 81 63,29
9 90 65,50
10 99 58,54
11
27
18 67,50
12 27 68,00
13 36 68,50
14 45 57,28
15 54 53,14
16 63 61,06
17 72 46,67
18 81 58,26
19 90 59,91
20 99 59,50
21
36
18 59,52
22 27 64,50
23 36 65,00
24 45 62,50
25 54 57,67
26 63 62,50
27 72 61,00
28 81 60,48
29 90 63,00
30 99 62,50
(71)
32 27 62,50
33 36 64,00
34 45 66,19
35 54 60,00
36 63 61,50
37 72 63,50
38 81 59,90
39 90 56,95
40 99 61,54
41
54
18 62,02
42 27 64,50
43 36 61,50
44 45 65,50
45 54 63,59
46 63 61,54
47 72 64,50
48 81 57,00
49 90 63,77
50 99 62,38
51
63
18 65,50
52 27 62,98
53 36 59,42
54 45 62,68
55 54 61,50
56 63 62,00
57 72 61,35
58 81 61,54
59 90 59,00
60 99 61,06
61
72
18 65,50
62 27 66,50
63 36 61,50
64 45 64,08
65 54 58,25
66 63 56,80
67 72 62,00
68 81 61,00
69 90 63,50
70 99 61,00
71
81 18 66,00
(72)
73 36 57,00
74 45 59,91
75 54 58,85
76 63 56,46
77 72 59,62
78 81 63,50
79 90 60,50
80 99 63,00
81
90
18 59,17
82 27 66,19
83 36 58,94
84 45 61,43
85 54 61,00
86 63 57,77
87 72 65,50
88 81 60,00
89 90 61,00
90 99 57,49
91
99
18 64,50
92 27 60,48
93 36 71,00
94 45 56,52
95 54 65,50
96 63 62,20
97 72 62,50
98 81 59,42
99 90 61,35
100 99 62,00
Dapat dilihat dari Tabel 4.3 hasil dari percobaan masing-masing variasi. Percobaan no 93 yang diberi warna kuning adalah percobaan dengan akurasi tertinggi yaitu 71%. Akurasi tersebut didapat pada jumlah lapis pertama 99 dan lapis kedua 36. Sehingga sistem ini mencapai akurasi sebesar 71%.
Dapat dilihat pada grafik di bawah ini perubahan akurasi pada variasi jumlah jaringan satu dengan yang lainnya.
(73)
Gambar 4.7 Grafik Percobaan 2 Lapis Tersembunyi
Dari Gambar 4.7 dapat dilihat perubahan akurasi jika jumlah jaringan lapis pertama dan kedua divariasikan. Untuk lebih jelas melihat perubahan akurasi dari jumlah jaringan lapisan tersembunyi pertama 99. Dapat dilihat pada gambar 4.8.
0 10 20 30 40 50 60 70 80
18 27 36 45 54 63 72 81 90 99
Grafik Percobaan 2 Lapis Tersembunyi
(74)
Gambar 4.8 Grafik Percobaan 2 Lapis Tersembunyi Dengan Lapis 1 Berjumlah 99
Jika dibandingkan dengan percobaan menggunakan 1 lapis tersembunyi, hasil dari 2 lapis tersembunyi lebih tinggi akurasinya. Yaitu pada variasi jumlah jaringan 99 dan 36. Tabel 4.4 merupakan
confusion matrix dari pengujian dengan 2 lapis tersembunyi yaitu 99
dan 36 serta kombinasi seluruh ciri lagu.
Tabel 4.4 Confusion Matrix Pengujian Dengan 2 Lapis Tersembunyi Yaitu 99 Dan 36
Abdee
Negara Dewa Budjana
Ahmad
Dhani Ian Antono
Abdee
Negara 43 2 3 2
Dewa
Budjana 1 33 10 6
Ahmad
Dhani 0 12 32 6
Ian
Antono 2 8 6 34
0 10 20 30 40 50 60 70 80
1 2 3 4 5 6 7 8 9 10
Grafik Percobaan 2 Lapis Tersembunyi Dengan Lapis 1
berjumlah 99
(75)
Dari confusion matrix pada Tabel 4.4 dapat dihitung akurasi keseluruhan dengan persamaan 2.28. Dari Tabel tersebut juga dapat dihitung akurasi tiap kelas dengan persamaan 2.30, 2.32.
1. Akurasi keseluruhan
= + + + + + + ++ + ++ + + + + + + +
× % = × % = . × % = %
2. Akurasi kelas Abdee Negara
� = + + + × % = %
3. Akurasi kelas Dewa Budjana
�ℎ ℎ = + + + × % = %
4. Akurasi kelas Ahmad Dhani
� = + + + × % = %
5. Akurasi kelas Ian Antono
� = + + + × % = %
Hasil pengenalan terbaik ada pada abdee Negara dengan akurasi 86%. Hasil itu dapat dihubungkan dengan lagu-lagu dari slank, yang sangat mudah dikenali.
(76)
4.2 Penggunaan Sistem
Gambar 4.9 Tampilan Antarmuka Sistem
Pada Gambar 4.9 dapat dilihat antarmuka sistem memiliki 3 panel fungsi dari sistem, yaitu:
a. Ekstraksi ciri
Proses ekstraksi ciri dilakukan dengan menekan tombol “cari data pelatihan”, Berikutnya menekan tombol “ekstrak ciri”.
(77)
b. Klasifikasi
Proses klasifikasi dilakukan dengan memilih 1 atau lebih ciri lagu. Kemudian memasukan nilai variabel jaringan syaraf tiruan, yaitu: hidden
network 1, hidden network 2, goal dan epoch. Setelah itu menekan
tombol “klasifikasi”.
c. Uji lagu
Proses ini dilakukan untuk menguji satu lagu dengan penciptanya.
Cara menguji lagunya adalah menekan tombol “cari lagu”. Kemudian
menekan tombol “uji lagu”. Kemudian akan muncul hasil dari pengenalan lagu tersebut (Abdee Negara, Dewa Budjana, Ahmad Dhani atau Ian Antono).
Tombol sinyal berfungsi untuk melihat gambar sinyal dari data yang telah dipilih. Sedangkan spectrogram digunakan untuk melihat spectrogram data yang dipilih.
(78)
60
5. BAB V PENUTUP
5.1 Kesimpulan
Berdasarkan hasil penelitian ini, klasifikasi lagu berdasarkan pencipta lagu dengan metode ekstraksi ciri Music Surface Feature dan metode klasifikasi Jaringan Syaraf Tiruan Propagasi Balik, dapat disimpulkan dalam beberapa hal, yaitu:
1. Hasil dari percobaan semua kombinasi ciri lagu dengan klasifikasi menggunakan Jaringan Syaraf Tiruan Propagasi Balik yang mempunyai arsitekstur dengan jumlah lapis tersembunyi 2, jumlah neuron pada lapis pertama dan kedua adalah 60, kecepatan pembelajaran 0.1, target error 0.01, epoch 5000, didapatkan akurasi sebesar 65% dengan kombinasi 5 ciri lagu Centroid, Roll off, Flux, Zero Crossing Rate dan Low Energy. 2. Hasil dari percobaan beberapa arsitekstur jaringan untuk klasifikasi,
didapatkan arsitekstur jaringan dengan jumlah lapis tersembunyi 2, jumlah neuron pada lapis pertama 99 dan kedua 36, target error 0.01, kecepatan pembelajaran 0.1, iterasi/epoch 5000 mendapat akurasi tertinggi yaitu 71%.
3. Dari kesimpulan no 1 dan 2, klasifikasi menggunakan metode Jaringan Syaraf Tiruan Propagasi Balik dengan Music Surface Feature sebagai metode ekstraksi ciri, didapatkan hasil pengujian dengan akurasi mencapai 71%.
(79)
5.2 Saran
Dalam penelitian ini metode ekstraksi ciri yang digunakan hanya merepresentasikan instrument lagu. Dari sebab itu, untuk peneliatian lebih lanjut metode ekstraksi ciri dapat diganti dengan metode yang dapat merepresentasikan karakter dari tiap pencipta lagu.
Untuk memudahkan penggunaan sistem, sebaiknya sistem dapat menerima input file audio dengan tipe file yang lebih bervariasi, tidak hanya bertipe wav dengan format PCM, frekuensi 44100 hz, 8 bit, audio tipe mono.
(80)
62
DAFTAR PUSTAKA
Budjana, D. (2007). Dewa Budjana - Gitarku: Hidupku, Kekasihku. Jakarta: Gramedia.
Jamalus, O. (1988). Pengajaran musik melalui pengalaman musik. Jakarta: Proyek Pengembangan Lembaga Pendidikan Tenaga Kependidikan.
Maulana, G. (2011). Perancangan CD Interaktif Profil Ahmad Dhani Sebagai Musisi di Indonesia. Skripsi.Tidak dipublikasikan. Bandung: Universitas Komputer Indonesia.
Oppenheim, A. V., & Schafer, R. W. (1994). Digital signal processing. New Delhi: Prentice-Hall of India.
Sakrie, D. (2014). 45 Tahun Perjalanan Musik Ian Antono.
http://www.stylefmtasik.com/artikel/radio-musik/441-45-tahun-perjalanan-musik-ian-antono.html. 6 Mei 2015.
Setiawan, S. (2010). Klasifikasi Lagu Berdasarkan Genre Musik Dengan Jaringan Saraf Tiruan Propagasi Balik. Skripsi. Tidak dipublikasikan. Yogyakarta: Universitas Sanata Dharma.
Siang, J. J. (2007). Jaringan Syaraf Tiruan & Pemrograman Menggunakan Matlab. Yogyakarta: Andi Publisher.
Slank. (2013). Slank Gak Ada Matinya. Jakarta: Entermedia.
Tan, P.-N., Steinbach, M., & Kumar, V. (2006). Introduction To Data Mining. Boston: Pearson Addison Wesley.
Tzanetakis, G. (2002). Manipulation, Analysis and Retrieval Systems for Audio Signals. Ph.D Thesis. Tidak dipublikasikan. Princeton: Princeton University.
(1)
% Detailed explanation goes here
waitbar(0,wb,'processing inverse fast fourier transform 1');
for i=1:40 for k=1:512
real(i, k) = real(i, k) / (1024 / 2);
imaginer(i, k) = -imaginer(i, k) / (1024 / 2); end
waitbar(i/40);
end
waitbar(0,wb,'processing inverse fast fourier transform 2');
for i=1:40
real(i, 1) = real(i, 1) / 2; real(i, 512) = real(i, 512) / 2; waitbar(i/40);
end
waitbar(0,wb,'processing inverse fast fourier transform 3');
amplitude1=zeros(40,1024);
for i=1:40
for j=1:1024 for k=1:512
amplitude1(i, j) = amplitude1(i, j) + real(i, k) * cos(2 * 3.14 * k * j / 1024);
amplitude1(i, j) = amplitude1(i, j) + imaginer(i, k) * sin(2 * 3.14 * k * j / 1024); end
end
waitbar(i/40);
end
amplitude_ifft = amplitude1;
end
3.
Tahap Hamming Window
function amplitude_hw =
tahap_hamming_window(amplitude,wb)
%TAHAP_HAMMING_WINDOW Summary of this function goes here % Detailed explanation goes here
waitbar(0,wb,'processing hamming window');
for i=1:40
for j=1:1024
amplitude(i, j) = amplitude(i,j) * (0.54 - (0.46 * cos (2 * pi * j / 1023)));
end
waitbar(i/40);
end
amplitude_hw = amplitude;
(2)
4.
Tahap Centroid
function [ rat_cen, var_cen ] = ciri_centroid( magnitude_1,wb)
%CIRI_CENTROID Summary of this function goes here % Detailed explanation goes here
waitbar(0,wb,'processing centroid 1'); magni_a=zeros(40,512);
magni1_a=zeros(40,512); rat_cen=0;
var_cen=0;
for i=1:40 for j=1:512
magni_a(i) = magni_a(i) + (magnitude_1(i,j)*j); magni1_a(i) = magni1_a(i) + magnitude_1(i,j); end
magni_a(i)=magni_a(i)/magni1_a(i); if i == 1
min1_a = magni_a(i); max1_a = magni_a(i); else
if min1_a > magni_a(i) min1_a = magni_a(i); end
if max1_a < magni_a(i) max1_a = magni_a(i); end
end
waitbar(i/40);
end
waitbar(0,wb,'processing centroid 2');
for i=1:40
magni_a(i) = (((1 - (-1)) * magni_a(i)) + ((-1) * max1_a) - (1 * min1_a)) / (max1_a - min1_a);
rat_cen = rat_cen + magni_a(i); waitbar(i/40);
end
waitbar(0,wb,'processing centroid 3'); rat_cen = rat_cen/40;
for i=1:40
var_cen = ((magni_a(i) - rat_cen) * (magni_a(i) - rat_cen)) + var_cen;
waitbar(i/40);
end
var_cen = sqrt(var_cen / 39);
end
5.
Tahap Roll Off
function [var_ro, rat_ro] = ciri_roll_off(magnitude_2,wb) %CIRI_ROLL_OFF Summary of this function goes here
% Detailed explanation goes here
(3)
var_ro=0; rat_ro=0;
magni_b=zeros(40,512);
for i=1:40 for j=1:512
magni_b(i) = magnitude_2(i,j)+magni_b(i); end
magni_b(i)=magni_b(i)*0.8; if i==1
min1_b=magni_b(i); max1_b=magni_b(i); else
if min1_b > magni_b(i) min1_b = magni_b(i); end
if max1_b < magni_b(i) max1_b = magni_b(i); end
end
waitbar(i/40);
end
waitbar(0,wb,'processing roll off 2');
for i=1:40
magni_b(i) = (((1 - (-1)) * magni_b(i)) + ((-1) * max1_b) - (1 * min1_b)) / (max1_b - min1_b);
rat_ro = rat_ro + magni_b(i); waitbar(i/40);
end
waitbar(0,wb,'processing roll off 3'); rat_ro = rat_ro/40;
for i=1:40
var_ro = ((magni_b(i) - rat_ro) * (magni_b(i) - rat_ro)) + var_ro;
waitbar(i/40);
end
var_ro = sqrt(var_ro/39);
end
6.
Tahap Flux
function [rat_flux,var_flux] = ciri_flux(magnitude_3,wb) %CIRI_FLUX Summary of this function goes here
% Detailed explanation goes here waitbar(0,wb,'processing flux 1'); rat_flux = 0;
var_flux = 0;
temp2_a=zeros(40,1);
for i = 1:40 for j = 1:512 if j == 1
temp1_a = magnitude_3(i, j) * magnitude_3(i, j);
(4)
temp1_a = (magnitude_3(i, j) - magnitude_3(i, j - 1)) * (magnitude_3(i, j) - magnitude_3(i, j - 1)); end
temp2_a(i) = temp2_a(i) + temp1_a; end
if i == 1
min1_c = temp2_a(i); max1_c = temp2_a(i); else
if min1_c > temp2_a(i) min1_c = temp2_a(i); end
if max1_c < temp2_a(i) max1_c = temp2_a(i); end
end
waitbar(i/40);
end
waitbar(0,wb,'processing flux 2');
for i = 1:40
temp2_a(i) = (((1 - (-1)) * temp2_a(i)) + ((-1) * max1_c) - (1 * min1_c)) / (max1_c - min1_c);
rat_flux = temp2_a(i) + rat_flux; waitbar(i/40);
end
rat_flux = rat_flux / 40;
waitbar(0,wb,'processing flux 3');
for i = 1:40
var_flux = ((temp2_a(i) - rat_flux) * (temp2_a(i) - rat_flux)) + var_flux;
waitbar(i/40);
end
var_flux = sqrt(var_flux / 39);
end
7.
Tahap Zero Crossing Rate
function [rat_zc,var_zc] = ciri_zero_cross(amplitude,wb) %CIRI_ZERO_CROSS Summary of this function goes here % Detailed explanation goes here
waitbar(0,wb,'processing zero crossing rate 1'); rat_zc=0;
var_zc=0;
zc=zeros(40,1);
for i=1:40
for j=1:1024 if j ==1
(5)
if amplitude(i, j) >= 0 temp1_b = 1;
else
temp1_b = 0; end
else
if amplitude(i, j) >= 0 temp1_b = 1;
else
temp1_b = 0; end
if amplitude(i, j - 1) >= 0 temp2_b = 1;
else
temp2_b = 0; end
end
temp1_b=temp1_b-temp2_b; if temp1_b < 0
temp1_b = -temp1_b; end
zc(i) = temp1_b + zc(i); end
zc(i) = (((1 - (-1)) * zc(i)) + ((-1) * 1024) - (1 * 0)) / (1024 - 0);
rat_zc = rat_zc + zc(i); waitbar(i/40);
end
waitbar(0,wb,'processing zero crossing rate 2'); rat_zc = rat_zc / 40;
for i = 1:40
var_zc = ((zc(i) - rat_zc) * (zc(i) - rat_zc)) + var_zc;
waitbar(i/40);
end
var_zc = sqrt(var_zc / 39);
end
8.
Tahap Low Energy
function low_en = ciri_low_energy(amplitude_5,wb) %CIRI_LOW_ENERGY Summary of this function goes here % Detailed explanation goes here
waitbar(0,wb,'processing low energy 1'); low_en=0;
low_en1=zeros(40,1); temp2_c=0;
for i=1:40
for j=1:1024 k=i-j;
(6)
if k >= 0 && k <= 1024 temp1_c = 0.5; else
temp1_c = 0; end
temp2_c = ((amplitude_5(i, j) * temp1_c) * (amplitude_5(i, j) * temp1_c)) + temp2_c;
low_en1(i) = low_en1(i) + temp2_c; end
low_en1(i) = low_en1(i) / 1024; waitbar(i/40);
end
waitbar(0,wb,'processing low energy 2');
for i=1:40 if i == 1
low_en = low_en1(i); else
if low_en > low_en1(i) low_en = low_en1(i); end
end
waitbar(i/40);
end end
9.
Tahap JST
function [output, net] =
tahap_jst(input_train,target_train,input_test,hid_net1,hi d_net2,goal,epochs)
%JST Summary of this function goes here % Inisialisasi jaringan
if hid_net2 == 0
net=newff(minmax(input_train),[hid_net1,4],{'logsig','pur elin'},'trainrp');
else
net=newff(minmax(input_train),[hid_net1,hid_net2,4],{'log sig','logsig','purelin'},'trainrp');
end
net=init(net);
net.trainParam.epochs = epochs; net.trainParam.lr = 0.1;
net.trainParam.goal = goal; % pelatihan jaringan
[net,tr]=train(net,input_train,target_train); % pengujian jaringan
error=sim(net,input_test); a=compet(error);
output=a.';