i
ABSTRAK
Kemudahan dalam mendapatkan musik digital membuat orang-orang dapat memiliki banyaknya koleksi musik digital. Terkadang orang-orang menikmati musik dengan jenis musik tertentu berdasarkan kondisi atau aktivitas yang sedang mereka kerjakan. Sehingga akan sulit untuk menikmati musik jenis tertentu dengan banyaknya koleksi musik digital. Untuk mengatasi masalah ini diperlukan suatu aplikasi yang dapat melakukan klasifikasi musik digital berdasarkan jenis musiknya. Metode yang digunakan untuk melakukan klasifikasi ini adalah pengenalan pola jenis musik menggunakan support vector machine dengan suatu masukan fitur ekstraksi dari musik digital yang telah diketahui jenis musiknya. Proses klasifikasi ini memberikan keluaran suatu daftar putar musik digital berdasarkan jenis musik, sehingga dapat dimainkan pada media pemutar musik digital. Hasil yang telah dicapai yakni aplikasi mampu menerapkan metode support vector machine dengan suatu masukan fitur ekstraksi musik digital dan memberikan keluaran berupa daftar putar musik digital.
Kata Kunci : klasifikasi, musik digital, jenis musik, support vector machine,
ABSTRACT
Ease of getting digital music makes many people have a lot of digital music collections. Sometimes many people prefer a genre music based on condition or activity they were doing. So it would be difficult to enjoy a certain kind of music with many digital music collection. This problem can be addressed by an application that can do digital music classification by genre music. The method used to perform this classification is a kind of pattern recognition using support vector machine music with an input feature extraction from digital music which genre has been known. This classification process gives output a digital music playlist based on the genre music, so it can be played on digital music player. Results have been achieved are an application that can apply the method of support vector machine with the input of the features extraction from a digital music and gives it’s output as a digital music playlist.
Keywords : classification, digital music, genre music, support vector machine,
iii
DAFTAR ISI
DAFTAR ISI ... iii
DAFTAR GAMBAR ... vi
DAFTAR TABEL ... viii
DAFTAR SIMBOL ... x
BAB IPENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Pembahasan ... 2
1.4 Batasan Masalah ... 3
1.5 Sistematika Pembahasan ... 3
BAB IILANDASAN TEORI ... 5
2.1 Support Vector Machine (SVM) ... 5
2.1.1 SVM pada Linearly Separable Data ... 5
2.1.2 SVM pada Linearly Inseparable Data ... 7
2.1.3 Algoritma Dekomposisi ... 11
2.1.4 Working Set Selection ... 12
2.1.5 Pengolahanα ... 13
2.1.5 Pengolahan Gradien ... 13
2.1.6 Perhitungan b atau ρ ... 14
2.1.7 Klasifikasi SVM ... 14
2.1.8 Multi Class SVM ... 15
2.2 Ekstraksi Fitur (Feature Extraction) ... 17
BAB IIIANALISIS DAN DISAIN ... 23
3.1 Analisis ... 23
3.2 Gambaran Keseluruhan ... 27
3.2.1 Antarmuka Perangkat Keras ... 27
3.2.2 Antarmuka Perangkat Lunak ... 28
3.2.3.1 Fitur input musik digital untuk pelatihan ... 28
3.2.3.1.1 Tujuan ... 28
3.2.3.1.2 Urutan Stimulus / Respon ... 29
3.2.3.1.3 Persyaratan Fungsional yang Berhubungan ... 29
3.2.3.2 Fitur delete musik digital untuk pelatihan ... 30
3.2.3.2.1 Tujuan ... 30
3.2.3.2.2 Urutan Stimulus / Respon ... 30
3.2.3.2.3 Persyaratan Fungsional yang Berhubungan ... 31
3.2.3.3 Fitur pelatihan terhadap musik digital ... 31
3.2.3.3.1 Tujuan ... 31
3.2.3.3.2 Urutan Stimulus / Respon ... 31
3.2.3.3.3 Persyaratan Fungsional yang Berhubungan ... 33
3.2.3.4 Fitur input musik digital untuk klasifikasi ... 34
3.2.3.4.1 Tujuan ... 34
3.2.3.4.2 Urutan Stimulus / Respon ... 34
3.2.3.4.3 Persyaratan Fungsional yang Berhubungan ... 34
3.2.3.5 Fitur delete musik digital untuk klasifikasi ... 35
3.2.3.5.1 Tujuan ... 35
3.2.3.5.2 Urutan Stimulus / Respon ... 35
3.2.3.5.3 Persyaratan Fungsional yang Berhubungan ... 36
3.2.3.6 Fitur klasifikasi terhadap musik digital ... 36
3.2.3.6.1 Tujuan ... 36
3.2.3.6.2 Urutan Stimulus / Respon ... 37
3.2.3.6.3 Persyaratan Fungsional yang Berhubungan ... 38
3.2.3.7 Fitur melihat data pelatihan ... 39
3.2.3.7.1 Tujuan ... 39
3.2.3.7.2 Urutan Stimulus / Respon ... 40
3.2.3.7.3 Persyaratan Fungsional yang Berhubungan ... 40
3.3 Disain Perangkat Lunak ... 41
3.3.1 Pemodelan Perangkat Lunak ... 41
3.3.2 Disain Penyimpan Data ... 48
v
BAB IVPENGEMBANGAN PERANGKAT LUNAK ... 58
4.1 Implementasi Class/Modul ... 58
4.2 Implementasi Penyimpan Data ... 83
4.3 Implementasi Antarmuka ... 84
BAB VTESTING DAN EVALUASI SISTEM ... 86
5.1 Rencana Pengujian ... 86
5.2 Pelaksanaan Pengujian ... 87
BAB VIKESIMPULAN DAN SARAN ... 91
6.1 Kesimpulan ... 91
6.2 Saran ... 92
DAFTAR GAMBAR
Gambar 2.1 Dataset pada koordinat kartesius (kiri), Dataset dengan penanda
support vector (kanan) (Ventura, 2009) ... 6
Gambar 2.2 Dataset kelas positif dan kelas negatif yang dipisahkan dengan hyperplane (1) (Ventura, 2009) ... 7
Gambar 2.3 Dataset yang tidak dapat dipisah secara linier pada koordinat kartesius (Ventura, 2009) ... 8
Gambar 2.4 Dataset yang telah dilakukan pemetaan terhadap feature space (Ventura, 2009) ... 9
Gambar 2.5 Dataset kelas positif dan kelas negatif yang dipisahkan dengan hyperplane (2) (Ventura, 2009) ... 10
Gambar 2.6 Contoh klasifikasi dengan metode one-against-one (Krisantus, 2007) ... 16
Gambar 2.7 Pengambilan samples pada sinyal kontinyu ... 17
Gambar 2.8 Proses fft bit reversal ... 17
Gambar 2.9 Proses fft dekomposisi data (Wu, 1999) ... 18
Gambar 2.10 Proses fft komputasi dekomposisi data (Wu, 1999) ... 18
Gambar 2.11 Proses fft komputasi butterfly (Wu, 1999) ... 19
Gambar 3.1 Flowchart proses feature extraction pada jaudio ... 24
Gambar 3.2 Tampilan aplikasi jaudio ... 25
Gambar 3.3 Tampilan aplikasi dari pustaka libsvm untuk tahap pelatihan ... 26
Gambar 3.4 Tampilan aplikasi dari pustaka libsvm untuk tahap prediksi ... 26
Gambar 3.5 Use Case Diagram ... 41
Gambar 3.6 Contoh simpanan data yang menyimpan fitur-fitur ... 49
Gambar 3.7 Contoh simpanan data yang menyimpan nilai fitur ... 50
Gambar 3.8 Contoh simpanan data yang menyimpan deskripsi fitur ... 51
Gambar 3.9 Contoh simpanan data pelatihan dan pengujian ... 52
Gambar 3.10 Contoh simpanan data hasil pengujian ... 53
Gambar 3.11 Contoh simpanan data format playlist pls (kiri) & m3u (kanan)... 54
Gambar 3.12 Disain antarmuka untuk proses pelatihan... 55
vii
Gambar 3.14 Disain antarmuka untuk melihat data pelatihan ... 57
Gambar 4.1 Class Diagram aplikasi klasifikasi musik digital ... 59
Gambar 4.2 Sequence diagram untuk fitur input musik digital ... 63
Gambar 4.3 Sequence diagram untuk fitur delete musik digital ... 64
Gambar 4.4 Sequence diagram untuk fitur pelatihan tahap feature extraction ... 65
Gambar 4.5 Sequence diagram untuk fitur pelatihan tahap membaca file xml .... 67
Gambar 4.6 Sequence diagram untuk fitur pelatihan tahap pelatihan (svm) ... 69
Gambar 4.7 Sequence diagram untuk fitur klasifikasi tahap feature extraction ... 71
Gambar 4.8 Sequence diagram untuk fitur klasfikasi tahap membaca file xml.... 72
Gambar 4.9 Sequence diagram untuk fitur klasifikasi tahap klasifikasi ... 73
Gambar 4.10 Sequence diagram untuk fitur melihat data pelatihan ... 76
Gambar 4.11 Implementasi antarmuka untuk proses pelatihan ... 84
Gambar 4.12 Implementasi antarmuka untuk proses klasifikasi ... 85
DAFTAR TABEL
Tabel 2.1 Contoh 6 SVM biner dengan metode one-against-one (Krisantus, 2007)
... 16
Tabel 3.1. Use Case input musik digital untuk pelatihan ... 42
Tabel 3.2. Use Case delete musik digital untuk pelatihan ... 42
Tabel 3.3. Use Case pelatihan terhadap musik digital ... 43
Tabel 3.4. Use Case input musik digital untuk klasifikasi ... 44
Tabel 3.5. Use Case delete musik digital untuk klasifikasi... 45
Tabel 3.6. Use Case klasifikasi terhadap musik digital ... 45
Tabel 3.7. Use Case melihat data pelatihan ... 47
Tabel 3.8. Penjelasan tag untuk simpanan data yang menyimpan fitur-fitur... 49
Tabel 3.9. Penjelasan tag untuk simpanan data yang menyimpan nilai fitur ... 50
Tabel 3.10. Penjelasan tag untuk simpanan data yang menyimpan deskripsi fitur ... 51
Tabel 4.1. Deskripsi kelas ... 60
Tabel 4.2. Penjelasan method pada sequence diagram fitur input musik digital .. 63
Tabel 4.3. Penjelasan method pada sequence diagram fitur delete musik digital . 64 Tabel 4.4. Penjelasan method pada sequence diagram fitur pelatihan tahap feature extraction ... 66
Tabel 4.5. Penjelasan method pada sequence diagram fitur pelatihan tahap membaca file xml ... 68
Tabel 4.6. Penjelasan method pada sequence diagram fitur pelatihan tahap pelatihan (svm) ... 70
Tabel 4.7. Penjelasan method pada sequence diagram fitur klasifikasi tahap feature extraction ... 71
Tabel 4.8. Penjelasan method pada sequence diagram fitur klasifikasi tahap klasifikasi ... 73
Tabel 4.9. Penjelasan method pada sequence diagram fitur melihat data pelatihan ... 76
Tabel 5.1. Rencana Pengujian ... 86
ix
Tabel 5.3. Pengujian klasifikasi untuk pelatihan vs pelatihan, menggunakan 20 musik digital untuk pelatihan ... 88
Tabel 5.4. Pengujian klasifikasi untuk pelatihan vs klasifikasi, menggunakan 20 musik digital untuk pelatihan ... 89
Tabel 5.5. Pengujian klasifikasi untuk pelatihan vs pelatihan, menggunakan 48 musik digital untuk pelatihan ... 89
DAFTAR SIMBOL
Simbol Nama Penggunaan Keterangan
Actor
Use case Diagram, Sequence Diagram
xi
Dependency Class
Diagram
Hubungan dimana
perubahan yang terjadi pada suatu elemen mandiri
Objek, antarmuka yang saling berinteraksi.
Message
Sequence diagram
Spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi
Begin / End Flowchart Memulai atau mengakhiri flowchart.
Process Flowchart
Menunjukkan terjadinya proses, seperti
pemanggilan modul
Initialization Flowchart Menunjukkan proses input output
Condition Flowchart
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan dunia informasi berkembang sangat pesat, sehingga
seseorang dapat saling berbagi informasi dengan yang lainnya dengan mudah dan
cepat melalui media informasi yang ada seperti internet, iklan, dll.
Musik merupakan salah satu sarana hiburan yang semakin digemari oleh
banyak kalangan masyarakat. Dewasa ini seiring maraknya musik digital dan
media pemutar musik digital, musik dapat dinikmati secara personal atau individu.
Sehingga tak jarang banyak orang yang berbagi informasi mengenai musik
ataupun berbagi musik yang ia gemari melalui media informasi.
Banyaknya musik digital yang tersedia pada media informasi khususnya
internet, membuat banyak orang memiliki kumpulan-kumpulan musik digital
yang tersimpan pada komputer, handphone, perangkat keras pemutar musik
ataupun media pemutar musik lainnya yang mereka miliki.
Untuk menikmati koleksi-koleksi musik digital pada media pemutar musik
tak jarang orang-orang memilih musik-musik dari koleksi tersebut, dengan tujuan
untuk membuat suatu daftar beberapa musik yang akan dimainkan atau yang akan
diputar. Tetapi orang-orang pun menikmati musik berdasarkan kategori atau jenis
musik tertentu pada suatu koleksi berdasarkan kondisi atau aktivitas yang sedang
mereka kerjakan, contohnya menikmati genre musik klasik ketika sedang
melakukan kegiatan pembelajaran. Sehingga akan sulit untuk menikmati musik
dengan genre musik tertentu dengan banyaknya koleksi musik digital yang
mereka punya. Oleh karena itu pengkategorian musik digital ini menjadi suatu hal
yang penting, dimana salah satu cara pengkategoriannya adalah dengan cara
mengklasifikasikannya berdasarkan genre musik.
Terdapat beberapa metode klasifikasi yang dapat digunakan untuk
pengkategorian genre musik secara otomatis. Dalam tugas akhir ini digunakan
metode Support Vector Machine (SVM) sebagai metode klasifikasi
2
Support vector machine (SVM) telah berhasil menunjukan performanya
untuk melakukan proses klasifikasi pada beberapa bidang, termasuk pengenalan
pola (pattern recognition), data mining dan bioinformatika. Support vector
machine (SVM) merupakan metode supervised learning yang menggunakan
pasangan data input dan data output berupa sasaran yang diinginkan (proses
pemetaan) pada suatu pembelajaran. (Wang, 2005)
Audio feature extraction merupakan langkah awal yang diperlukan untuk
dilakukannya proses klasifikasi, pengambilan data (retrieval) dan
pengidentifikasian. (Burgers, ch jo pl so., 2003)
1.2 Rumusan Masalah
Rumusan Masalah yang dikaji pada penelitian tugas akhir ini adalah sebagai
berikut :
1. Bagaimana membuat aplikasi untuk melakukan pengkategorian genre
musik terhadap suatu kumpulan musik digital.
2. Bagaimana menerapkan metode SVM untuk proses pengkategorian genre
musik.
3. Bagaimana melakukan pembelajaran terhadap sample musik yang
memiliki genre jelas menggunakan metode SVM.
4. Bagaimana melakukan audio feature extraction pada musik digital.
1.3 Tujuan Pembahasan
Tujuan dilakukannya penelitian tugas akhir ini adalah :
1. Dapat membuat aplikasi untuk melakukan pengkategorian genre musik
terhadap suatu kumpulan musik digital.
2. Dapat menerapkan metode SVM untuk proses pengkategorian genre
musik.
3. Dapat melakukan pembelajaran terhadap terhadap sample musik yang
memiliki genre jelas menggunakan metode SVM.
3
1.4 Batasan Masalah
Ruang lingkup untuk penelitian tugas akhir ini adalah :
1. Aplikasi dibangun menggunakan bahasa pemrograman java berbasis
desktop.
2. Musik digital yang dapat dilakukan proses pengkategorian menggunakan
metode SVM ini berformat MP3. Aplikasi akan menggunakan library
terkait penggunaan metode SVM.
3. Musik digital yang digunakan untuk proses pembelajaran menggunakan
metode SVM ini berformat MP3. Sample musik yang digunakan memiliki
genre Classic, Jazz, Pop dan Rock.
4. Aplikasi akan menggunakan library untuk melakukan audio feature
extraction pada musik digital.
1.5 Sistematika Pembahasan
Laporan tugas akhir ini disusun menjadi enam bagian yang dikelompokkan
berdasarkan bab. Penjelasan mengenai masing-masing bagian adalah sebagai
berikut :
1. BAB I Pendahuluan
Bab ini menjelaskan : latar belakang, rumusan masalah, tujuan, batasan
masalah dan sistematika pembahasan.
2. BAB II Landasan Teori
Bab ini menjelaskan teori-teori yang mendukung pengembangan perangkat
lunak.
3. BAB III Analisis dan Disain
Bab ini menjelaskan proses analisa sistem berjalan dan teknologi yang
akan digunakan serta menjelaskan perancangan model dan arsitektur
perangkat lunak yang akan dikembangkan. Bab ini terdiri atas analisis,
4
4. BAB IV Pengembangan Perangkat Lunak
Bab ini terdiri atas implementasi seluruh hasil rancangan pada bab 3,
mulai dari implementasi class atau modul, simpanan data sampai dengan
antarmuka.
5. BAB V Testing dan Evaluasi Sistem
Bab ini menjelaskan mengenai pengujian terhadap hasil implementasi
yang telah dilakukan untuk mengetahui sejauh mana kesesuaian terhadap
hasil yang diharapkan.
6. BAB VI Kesimpulan dan Saran
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Dalam pembuatan perangkat lunak atau aplikasi klasifikasi genre musik
digital ini, dapat disimpulkan bahwa :
Penerapan metode support vector machine (SVM) untuk klasifikasi jenis musik suatu musik digital dengan keluaran berupa daftar putar musik
digital (playlist) telah berhasil diimplementasikan. Dalam penerapannya
metode ini memiliki 2 tahap yaitu tahap pelatihan dan tahap klasifikasi
(atau tahap pengujian).
Penerapan metode support vector machine (SVM) untuk pelatihan (pembelajaran) terhadap suatu musik digital dengan jenis musik yang jelas
telah berhasil diimplementasikan. Dalam melakukan pelatihan metode
support vector machine (SVM), masukan musik digital dengan jenis musik
yang jelas, dipisah berdasarkan jenis musiknya oleh pengguna. Proses
pelatihan ini sangat menentukan atau mempengaruhi proses klasifikasi
jenis musik suatu musik digital.
Banyaknya suatu musik digital pada media informasi ditambah banyaknya campuran aliran musik seperti jazz pop, pop rock, dan sebagainya.
Berdampak pada tidak mudahnya mencari suatu musik digital (sampel
musik digital) yang bagus untuk digunakan sebagai masukan proses
pelatihan. Sehingga hasil klasifikasi yang dihasilkan oleh aplikasi ini
untuk suatu jenis musik tertentu tidak terlalu baik.
Pengambilan fitur-fitur (feature extraction) dari suatu musik digital yang digunakan sebagai masukan untuk proses klasifikasi menggunakan metode
92
6.2 Saran
Dalam proses pelatihan terhadap musik digital, diharapkan kedepannya
terdapat suatu musik digital yang secara khusus digunakan untuk proses pelatihan
saja (sampel musik digital suatu jenis musik tertentu) atau terdapat suatu musik
digital yang bagus digunakan untuk proses pelatihan. Sehingga keluaran dari hasil
klasifikasi jenis musik ini akan jauh lebih baik.
Dalam pengambilan fitur-fitur (feature extraction), untuk mendapatkan
fitur-fitur dari setiap musik digital ini, membutuhkan waktu kurang lebih 30 detik
per musik digitalnya. Sehingga jika pengguna melakukan proses klasifikasi
terhadap jenis musik suatu musik digital dengan jumlah musik digital yang sangat
banyak, maka cukup memakan waktu yang lama. Kedepannya diharapkan
terdapat suatu proses atau metode untuk mengambil fitur-fitur (feature extraction)
suatu musik digital yang jauh lebih cepat, sehingga proses klasifikasi terhadap
jenis musik suatu musik digital ini tidak memakan waktu yang cukup lama.
Diharapkan kedepannya terdapat suatu pembobotan (nilai bobot) terhadap
fitur-fitur (feature extraction). Nilai bobot tertinggi diberikan terhadap fitur yang
dapat membedakan dengan jelas suatu jenis musik. Fitur yang dapat membedakan
dengan jelas suatu jenis musik ini dapat diartikan sebagai, fitur pada suatu jenis
musik yang memiliki rentang nilai yang tinggi terhadap fitur yang sama pada jenis
musik lainnya. Pembobotan atau pemberian nilai bobot dimaksudkan agar
DAFTAR PUSTAKA
Burgers, J.C., Christopher., John C. Platt & Soumya Jana. 2003. Distortion Discriminant Analysis for Audio Fingerprinting. Microsoft Research.
Chang, Chih-Chung., Chih-Jen Lin. 2001. LIBSVM: A Library for Support Vector Machines. Taipei : Department of Computer Science, National Taiwan University.
Christianini, Nello. 2001. Support Vector and Kernel Machines. ICML tutorial.
Christianini, Nello., John S. Taylor. 2000. An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. Cambridge University Press.
E. Boser, I. Guyon, and V. Vapnik. 1992. A training algorithm for optimal margin classiers. InProceedings of the Fifth Annual Workshop on Computational Learning Theory. ACM Press.
Fan, P.-H. Chen, and C.J. Lin. 2005. Working set selection using second order information for training SVM. Journal of Machine Learning Research.
Hsu, Chih-Wei., Chih-Jen Lin. 2002. AComparison of Methods for Multiclass Support Vector Machines. IEEE Transactions on Neural Networks.
Hsu, Chih-Wei., Chih-Chung Chang & Chih-Jen Lin. 2003. A Practical Guide to Support Vector Classification. Taipei : Department of Computer Science, National Taiwan University.
Krisantus Sembiring. 2007. Tutorial SVM Bahasa Indonesia. Bandung : ITB.
Li Tao., Mitsunori Ogihara & Qi Li. 2003. A Comparative Study on Content-Based Music Genre Classification. New York : ACM.
Lin, Chih-Jen. 2005. Optimization, Support Vector Machines, and Mahine Learning. Taipei : Department of Computer Science, National Taiwan University.
McEnnis, Dainel., Cory McKay., Ichiro Fujinaga., Philippe Depalle. 2005. Jaudio: A Feature Extraction Library. McGill University.
McKay, Cory. 2005. jAudio: Towards a standardized extensible audio music feature extraction system. McGill University.
Tzanetakis, George. 2002. Musical Genre Classification of Audio Signals. IEEE Transaction on Speech and Audio Processing.
Ventura, Dan. 2009. SVM Example. Departamento Acadêmico de Informática.
Wang, Lipo. 2005. Support Vector Machines: Theory and Applications. Berlin : Springer-Verlag.