Klasifikasi lagu berdasarkan pencipta lagu menggunakan jaringan syaraf tiruan propagasi balik.

(1)

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.';