PENERAPAN LVQ DENGAN INISIALISASI K-MEANS UNTUK PENGENALAN NADA GITAR DENGAN EKSTRAKSI CIRI MFCC
ARIF BUDIARTO
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Penerapan LVQ dengan Inisialisasi K-means untuk Pengenalan Nada Gitar dengan Ekstraksi Ciri MFCC adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, 31 Mei 2014 Arif Budiarto G64114036
ABSTRAK ARIF BUDIARTO. Penerapan LVQ dengan Inisialisasi K-means untuk Pengenalan Nada Gitar dengan Ekstraksi Ciri MFCC. Dibimbing oleh AGUS BUONO. Manusia dapat mengenali suara melalui proses yang dilakukan secara berulang-ulang. Namun, tidak banyak orang yang mampu mengenali suara chord gitar. Penelitian ini bertujuan untuk membuat suatu sistem pengenalan chord gitar menggunakan metode LVQ sebagai pengenalan pola dan MFCC sebagai ekstraksi ciri. Bobot awal yang digunakan pada metode LVQ diperoleh dengan menginisialisasi K-means. Data yang digunakan sebanyak 8640 data suara gitar dengan 24 jumlah chord. Masing-masing data terdiri atas 2 chord yang akan diuji secara terpisah. Parameter LVQ yang digunakan adalah learning rate 0.002, epoh 100, dan penurunan learning rate 0.9. Parameter yang digunakan dalam proses MFCC adalah time frame, overlap, jumlah koefisien cepstral dan jumlah cluster. Hasil percobaan menunjukkan bahwa akurasi maksimum yang diperoleh adalah 83.65% pada time frame 30 ms, overlap 0.4, koefisien cepstral 26, dan jumlah cluster 100. Kata kunci: chord gitar, Learning Vector Quantization (LVQ), Mel Frequency Cepstral Coefficients (MFCC)
ABSTRACT ARIF BUDIARTO. Application of LVQ Using K-means Initializations for Guitar Tone Chord Recognition with MFCC Feature Extraction. Supervised by AGUS BUONO. Humans can recognize the sound through a process that is done repeatedly. However, not many people are able to identify the sound of guitar chords. This study used LVQ as pattern recognition and MFCC as feature extraction. Initial weights were initialited by K-means clustering. A collection of 8640 sound data were used with 24 guitar chords. Each data consist of two chords that were tested separately. The parameters used in the process LVQ were 0.002 learning rate, 100 epoch, and 0.9 learning rate decrease. The parameters used in the process of MFCC were the time frame, overlap, the number of cepstral coefficient and the number of clusters. The experimental results showed that the maximum accuracy of 83.65% was obtained with 30 ms time frame, 0.4 overlap, 26 cepstral coefficients, and 100 clusters. Keywords: guitar chord, Learning Vector Quantization (LVQ), Mel Frequency Cepstral Coefficients (MFCC)
PENERAPAN LVQ DENGAN INISIALISASI K-MEANS UNTUK PENGENALAN NADA GITAR DENGAN EKSTRAKSI CIRI MFCC
ARIF BUDIARTO
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
Judul Skripsi : Penerapan LVQ dengan Inisialisasi K-means untuk Pengenalan Nada Gitar dengan Ekstraksi Ciri MFCC Nama : Arif Budiarto NIM : G64114036
Disetujui oleh
Dr Ir Agus Buono, MSi MKom Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wata’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian ini ialah Penerapan LVQ dengan Inisialisasi K-means untuk Pengenalan Nada Gitar dengan Ekstraksi Ciri MFCC. Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dan berperan besar dalam menyusun tugas akhir ini, antara lain : 1 Kedua orang tua tercinta, Bapak Kardimin dan Ibu Rusniyati atas doa, dorongan semangat dan kasih sayang yang selalu diberikan. 2 Dr Ir Agus Buono MSi, MKom selaku pembimbing yang telah memberikan ilmu, waktu, bimbingan dan nasihat selama mengerjakan tugas akhir ini. 3 Bapak Toto Haryanto SKom, MSi dan Ibu Karlisa Priandana ST, MEng selaku dosen penguji yang telah memberikan waktu, arahan dan saran selama penelitian ini berlangsung hingga selesai. 4 Fajar Puji Astuti, Muhammad Satriyanto dan seluruh keluarga atas segala doa dan kasih sayangnya. 5 Toni Haryono yang telah memberikan data suara gitar pada penelitian ini dan memberikan dukungan serta semangat. 6 Rekan-rekan ilkom angkatan 6 yang telah membantu penulis untuk menyelesaikan tugas akhir ini. 7 Departemen Ilmu Komputer, dosen, dan staf yang telah banyak membantu selama masa perkuliahan dan menyelesaikan tugas akhir ini. Penulis menyadari bahwa masih terdapat kekurangan dalam penulisan skripsi ini. Penulis berharap dengan segala kekurangan yang ada semoga tulisan ini bisa memberikan manfaat kelak di kemudian hari. Amin.Semoga karya ilmiah ini bermanfaat.
Bogor, 31 Mei 2014 Arif Budiarto
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
1
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
METODE PENELITIAN
2
Studi Pustaka
2
Pengambilan Data Suara Gitar
3
Praproses
4
Data Latih
5
Data Uji
5
Ekstraksi Ciri dengan MFCC
5
Pengenalan Pola dengan LVQ
8
Evaluasi
9
Lingkungan Pengembangan Sistem HASIL DAN PEMBAHASAN
10 10
Pengumpulan Data
10
Ekstraksi Ciri dengan MFCC
11
Pemodelan Learning Vector Quantization
11
Hasil Pengujian
11
SIMPULAN DAN SARAN
14
Simpulan
14
Saran
15
DAFTAR PUSTAKA
15
LAMPIRAN
17
RIWAYAT HIDUP
21
DAFTAR TABEL 1 2 3 4 5
Daftar chord gitar Komposisi data chord gitar Matriks Konfusion Tiap Kelas Parameter pengujian yang diujicobakan Hasil Percobaan dengan Pemodelan LVQ
4 5 9 12 13
DAFTAR GAMBAR 1 2 3 4 5 6 7
Diagram alur penelitian pengenalan chord gitar Segmentasi chord F dan chord G Alur proses MFCC (Buono 2009) Jaring Learning Vector Quantization Hasil Akurasi Percobaan Koefisien 13 Hasil Akurasi Percobaan Koefisien 26 Grafik Perbandingan Akurasi dengan Koefisien Cepstral 13 dan 26
3 5 6 8 12 13 14
DAFTAR LAMPIRAN 1 2 3 4
Bentuk dan Posisi Chord Yang Digunakan Matriks Konfusion Grafik sensitivity dan specificity Tabel Penghitungan Sensitivity dan Specificity Masing-Masing kelas
17 18 19 20
PENDAHULUAN Latar Belakang Manusia memiliki panca indra yang memiliki kegunaan masing-masing, salah satunya adalah indra pendengaran. Indra pendengaran pada manusia selain berguna untuk mendengar juga berguna untuk mengenali suara. Manusia dapat mengenali suara melalui proses yang dilakukan secara berulang-ulang. Contohnya seseorang dapat mengenali pembicara melalui suara telepon karena seseorang tersebut sudah sering mendengar pembicara tersebut berbicara sebelumnya. Begitu juga halnya dengan chord pada gitar. Chord merupakan rangkaian nada yang membangun keharmonisan pada musik (Wisnudisastra 2009). Bagi para pemula yang baru belajar gitar, tentunya akan kesulitan mengenali suara chord. Hal ini dikarenakan para pemula belum terbiasa mendengar suara-suara chord gitar. Para pemula berbeda dengan seorang pemusik atau musisi yang sudah terbiasa mendengar nada-nada sehingga dapat dengan mudah mengenali chord. Solusi yang dapat dilakukan untuk menanggulangi masalah tersebut adalah dengan cara komputerisasi. Penggunaan komputer sebagai sistem pengenalan chord pada gitar dapat membantu pemula mengenali chord gitar. Secara sederhana cara kerja sistem adalah dengan mencari ciri dari setiap chord dengan Mel Frequency Ceptrum Coefficient (MFCC) dan pengenalan pola menggunakan Learning Vector Quantization (LVQ) sebagai classifier. Penelitian sebelumnya mengenali chord gitar dengan metode codebook mendapatkan akurasi sebesar 95.6% (Haryono 2013). Penelitian lain menyebutkan bahwa metode MFCC lebih baik dibandingkan dengan metode Wavelet sebagai ekstraksi ciri. MFCC memiliki akurasi yang lebih tinggi dibandingkan metode Wavelet yaitu sebesar 92.3% untuk MFCC dan 32.7% untuk Wavelet (Gustiawati 2011). Penelitian lain yang terkait yaitu membandingkan metode Kohonen Neural Network (KNN) dengan metode Learning Vector Quantization pada pengenalan pola tandatangan (Prabowo et al. 2006). LVQ memiliki akurasi lebih baik sebesar 93.80% dibandingkan dengan KNN yaitu sebesar 89.59%. Oleh karena itu metode MFCC digunakan pada penelitian ini sebagai metode ekstraksi ciri dan LVQ digunakan sebagai klasifikasi. . Perumusan Masalah Pada tahap ini mulai dilakukan perumusan masalah mengenai teori-teori yang dibutuhkan untuk penelitian ini. Ada beberapa perumusan masalah, antara lain: 1 Bagaimana cara mengidentifikasi suara 2 chord gitar? 2 Bagaimana tingkat akurasi sistem dalam mengimplementasikan metode LVQ dan teknik MFCC. 3 Bagaimana pengaruh peningkatan jumlah cluster (k) terhadap peningkatan akurasi.
2 Tujuan Penelitian Tujuan penelitian ini adalah: 1 Mengembangkan metode LVQ dan teknik ekstraksi ciri MFCC dalam pengenalan chord gitar. 2 Mengetahui akurasi pengenalan chord gitar dengan menggunakan ekstraksi ciri MFCC dan metode LVQ. Manfaat Penelitian Penelitian ini diharapkan dapat memberikan informasi mengenai akurasi penggunaan metode LVQ dalam pengenalan chord gitar. Ruang Lingkup Penelitian Ruang lingkup dari penelitian ini antara lain: 1 Chord gitar yang dikenali hanya chord mayor dan minor dan hanya dua chord saja yang dikenali dalam satu oktaf. 2 Suara chord yang dikenali hanya chord yang dimainkan menggunakan gitar akustik dengan senar gitar string. 3 Chord gitar dimainkan dengan cara membunyikan senar gitar secara bersamaan untuk masing-masing chord. 4 Stemming nada pada gitar disesuaikan dengan nada E jika senar 1 tanpa ditekan, nada B jika senar 2 tidak ditekan, nada G jika senar 3 tidak ditekan, nada D jika senar 4 tidak ditekan, nada A jika senar 5 tidak ditekan, nada E jika senar 6 tidak ditekan. 5 Chord yang dikenali hanya yang sama bentuk dan posisinya pada saat proses perekaman untuk data latih dan data uji, seperti pada Lampiran 1.
METODE PENELITIAN Penelitian ini dilakukan dengan beberapa tahapan proses, yaitu studi pustaka, pengambilan data, praproses, pemodelan chord dengan LVQ dan evaluasi. Diagram alur penelitian pengenalan chord gitar dapat dilihat pada Gambar 1. Studi Pustaka Tahapan ini melakukan pencarian dan pembelajaran mengenai pustakapustaka apa yang dibutuhkan dalam penelitian ini. Hal-hal yang dibutuhkan antara lain tentang metode LVQ dan MFCC serta penelitian yang terkait dengan pengenalan suara akan dicari dan dipelajari untuk dijadikan referensi dalam penelitian ini.
3
Mulai
Studi Literatur
Pengambilan data
Praproses Data latih
Data uji MFCC
Pemodelan LVQ
Evaluasi
Selesai
Gambar 1 Diagram alur penelitian pengenalan chord gitar Pengambilan Data Suara Gitar Suara yang akan digunakan pada penelitian ini berasal dari suara 24 chord gitar yang direkam dengan cara membunyikan senar secara bersamaan. Kombinasi suara 2 chord dari 24 chord akan diulang sebanyak 15 kali perekaman yang terdiri atas 10 data latih dan 5 data uji. Data kesuluruhan sebanyak 8640 dari hasil perkalian 24 kombinasi chord dengan 24 jumlah chord yang masing-masing direkam sebanyak 15 kali. Dari data ini, sebanyak 5760 data digunakan sebagai data latih dan sebanyak 2880 data digunakan sebagai data uji. Perekaman dilakukan pada ruangan yang hening agar mendapatkan hasil rekaman yang sedikit noise.
4 File suara direkam selama 3 detik dalam bentuk berekstensi WAV. Setiap perekaman suara menggunakan sampling rate 11000 Hz. Chord yang dipakai adalah 24 jenis chord terdiri atas chord mayor dan minor seperti pada Tabel 1. Ke-24 chord dimainkan dalam satu posisi saja. Bentuk dan posisi chord yang digunakan pada pelatihan dan pengujian dapat dilihat pada Lampiran 1. Tabel1 Daftar chord gitar Chord Gitar
Mayor
Minor
C
C
Cm
C#
C#
C#m
D
D
D
D#
D#
D#m
E
E
Em
F
F
Fm
F#
F#
F#m
G
G
Gm
G#
G#
G#m
A
A
Am
A#
A#
A#m
B
B
Bm
Praproses Praproses yang dilakukan ialah normalisasi dan segmentasi. Normalisasi Proses normalisasi dilakukan untuk mendapatkan range nilai amplitudo yang sama pada tiap data suara. Normalisasi dilakukan dengan cara membagi setiap nilai suara dengan nilai maksimum absolut sehingga didapatkan range nilai amplitudo dari 1 sampai -1. Segmentasi Proses segmentasi dilakukan untuk memisahkan chord ke-1 dengan chord ke-2. Caranya dengan mendeteksi silence pada setiap perpindahan dua chord. Pada bagian silence akan dipotong dengan membuat batas kritis sehingga didapat dua suara chord yang terpisah. Setelah melakukan segmentasi, kemudian ekstraksi
5 ciri pada setiap data suara dengan menggunakan metode MFCC. Proses segmentasi chord F ke G dapat dilihat pada Gambar 2.
Silence
Chord F
Chord G
Gambar 2 Segmentasi chord F dan chord G Data Latih Data latih merupakan perkalian dari 24 kombinasi dua chord dengan 24 jumlah chord mayor dan minor yang masing-masing chord direkam 10 suara. 10 data suara dipilih sebagai data latih. Masing-masing kelas pada data latih diinisialisasi dengan k-means untuk mendapatkan titik centroid yang akan digunakan sebagai bobot awal pada saat proses pemodelan LVQ. Selanjutnya, data latih ini akan diproses untuk diekstraksi ciri menggunakan MFCC dan pemodelan LVQ. Data Uji Data uji merupakan 5 suara dari masing-masing kombinasi dua chord pada 15 data suara yang diambil. Data uji ini akan diproses dengan tahap MFCC, bobot yang didapat dari penghitungan data latih dengan LVQ akan digunakan untuk mengklasifikasikan data uji tersebut. Komposisi data chord yang digunakan pada penelitian dapat dilihat pada Tabel 2. Tabel 2 Komposisi data chord gitar Komposisi Chord
Jumlah 24
Kombinasi
576
Data Latih
5760
Data Uji
2880
Ekstraksi Ciri dengan MFCC Suara yang telah direkam dalam file berekstensi WAV diekstraksi ciri menggunakan metode MFCC (Mel Frequency Cepstrum Coefisien). MFCC merupakan cara yang paling sering digunakan untuk ekstraksi ciri pada berbagai bidang area pemrosesan suara, karena dianggap cukup baik dalam
6 merepresentasikan ciri sebuah sinyal. Alur proses MFCC dapat dilihat pada Gambar 3 (Buono 2009).
Frame Blocking Sinyal Suara
Windowing Fast Fourier Transformation
Mel Frequency Wrapping
Cepstrum Coeffecients
Gambar 3 Alur proses MFCC (Buono 2009) Berdasarkan alur proses MFCC, sinyal dibaca dari frame ke frame dengan nilai overlap tertentu lalu dilakukan windowing untuk setiap frame. Kemudian, transformasi Fourier dilakukan untuk mengubah dimensi suara dari domain waktu ke domain frekuensi. Dari hasil transformasi Fourier, spectrum mel dihitung menggunakan sejumlah filter. Proses ini dikenal dengan Mel Frequency Wrapping. Koefisien MFCC merupakan hasil transformasi Cosinus dari spectrum mel tersebut dan dipilih K koefisien. Transformasi Cosinus berfungsi untuk mengembalikan dari domain frekuensi ke domain waktu. Frame Blocking Pada tahapan ini sinyal suara yang sudah didijitalkan dibaca dari frame ke frame dengan lebar tertentu yang saling tumpang tindih. Hal ini ditujukan agar tidak ada informasi yang hilang. Setiap frame memiliki N sampel yang direpresentasikan dalam bentuk vektor (Buono 2009). Windowing Setiap frame sebagai satu unit terkecil yang mengandung satu unit informasi, sehingga barisan frame akan menyimpan suatu informasi yang lengkap dari sebuah sinyal suara. Oleh karena itu, distorsi antar frame harus diperkecil atau diminimalisasi. Teknik untuk meminimalkan distorsi antar frame adalah dengan melakukan proses filtering pada setiap frame, yaitu dengan mengalikan frame dengan filter (Buono 2009). Fungsi windowing yang digunakan adalah Window Hamming. Berikut adalah fungsi Window Hamming.
7 yt (n) = xt (n) * w (n) , 0 ≤ n ≤ N-1 w(n) = 0.54 – 0.46 cos (2πn /(N-1))
(1)
yt (n) = hasil windowing pada frame ke-n xt (n) = nilai data ke-n n = frame ke-n N = jumlah sampel pada setiap frame w(n) = fungsi Window Hamming Fast Fourier Transform (FFT) Pada tahapan ini mengkonversi setiap frame dengan N sampel dari domain waktu ke domain frekuensi (Do 1994). Berikut ini adalah rumus fast fourier transform. (2)
∑ Xk Xn k N
= magnitude frekuensi = nilai sampel yang akan diproses pada domain frekuensi = N/2 + 1 , j = bilangan imajiner = jumlah data pada domain frekuensi
Mel Frequency Wrapping Dalam proses wrapping diperlukan beberapa filter yang saling overlap dalam domain frekuensi. Filter yang digunakan adalah berbentuk segitiga dengan tinggi satu dan rentang filter segitiga tersebut ditentukan berdasarkan hasil studi psikologi mengenai persepsi manusia dalam menerima frekuensi bunyi. Dari studi psikologi, telinga manusia mempunyai persepsi terhadap frekuensi suara secara tidak linier pada frekuensi di atas 1000 Hz. Ukuran persepsi ini dinyatakan dalam skala mel (Melody) (Buono 2009). Mel frequency wrapping umumnya menggunakan filterbank. Berikut ini adalah rumus mel frequency wrapping untuk frekuensi di atas 1000 Hz. ( ) jika Fhz > 1000 [∑|
|
]
(3)
Hi (k) = nilai filter segitiga ke-i X(k) = nilai data ke k hasil proses FFT M = jumlah filter , N = banyaknya data Cepstrum Coefisien Pada tahap ini hasil dari mel frequency wrapping dikonversi ke dalam domain waktu dengan menggunakan discrete cosine transform (DCT). Berikut ini rumus discrete cosine transform (DCT) (Buono 2009).
8 ∑ Cj Xi M
(
)
(4)
= nilai koefisien C ke j , j = koefisien cepstral = hasil mel frequency wrapping pada frekuensi ke-n = jumlah filter , i = jumlah wrapping Pengenalan Pola dengan LVQ
Learning vector quantization (LVQ) adalah suatu metode klasifikasi di mana setiap neuron keluaran mewakili kelas tertentu. Bobot vektor untuk neuron keluaran sering disebut sebagai codebook. Selama pelatihan, bobot neuron keluaran selalu di update. Setelah pelatihan, LVQ mengklasifikasikan vektor masukan dengan mencari kelas keluaran yang sesuai dengan menghitung bobot yang terdekat (Fausett 1994). Jaring learning vector quantization dapat dilihat pada Gambar 4. Y1
Yj
Wj
W1
X1
W24
W1
Y24
Wj W1
W24
Wj
Xi
W24
X13
Gambar 4 Jaring Learning Vector Quantization Metode LVQ dikerjakan dengan algoritme berikut (Fausett 1994): Vektor input (x1, …, xi, …, x24). Kelas untuk vektor input. Bobot vektor untuk neuron output ke-j, (w1j,…..,wij,…..w24) Kategori kelas yang mewakili neuron output ke-j. Jarak euclidean antara vektor input dengan bobot ke j dari neuron output. Inisalisasi bobot vektor wij dengan k-means dan set parameter learning rate α. Selama kondisi berhenti belum terpenuhi, kerjakan tahapan 3-6. Untuk setiap vektor input x dengan kelas T, kerjakan tahapan 4-5. Temukan j hingga ||x-wj|| bernilai minimum. Update bobot wj dengan cara, Jika T = Cj maka
x T wj Cj ||x – wj|| 1. 2. 3. 4. 5.
= = = = =
9 Jika T ≠ Cj maka
wj(new) = wj(old) + α [x – wj(old)]; wj(new) = wj(old) - α [x – wj(old)];
6. Kurangi learning rate α. α = r * α , dalam penelitian ini r adalah 0.9. 7. Cek kondisi berhenti, dalam penelitian ini kondisi berhenti adalah apabila sudah mencapai epoh 100. Evaluasi Pengujian dilakukan pada hasil vektor MFCC dari data uji kemudian diklasifikasikan dengan LVQ menggunakan bobot dari data latih. Sistem pengenalan chord gitar ini akan mengklasifikasikan suara chord gitar yang telah teridentifikasi ke kelas yang sesuai. Output yang akan dihasilkan berupa jenis chord-chord gitar. Tingkat akurasi sistem akan dihitung untuk mengevaluasi hasil penelitian. Untuk setiap data yang diuji, akan dilihat apakah data tersebut teridentifikasi dengan benar atau tidak. Persentase tingkat akurasi dihitung menggunakan fungsi berikut: ∑ Suara yang benar Hasil akurasi =
X 100%
(5)
∑ Suara yang diuji Sensitivity dan Specificity Dari hasil pengujian didapatkan hasil klasifikasi dalam bentuk matriks konfusion yang digunakan untuk mencari nilai sensitivity dan specificity. Sensitivity adalah kemampuan mengukur proporsi positif aktual yang benar diidentifikasi dengan kelasnya. Specificity adalah kemampuan mengukur proporsi negatif yang benar diidentifikasi sesuai dengan kondisi, misalkan orang sehat dengan benar diidentifikasi sebagai orang sehat. Semakin besar nilai sensitivity dan nilai specificity dari suatu kelas maka semakin baik pula sistem tersebut mengidentifikasi pada kelas tersebut (Dillak et al.2012). Tabel Confusion matriks yang digunakan pada sensitivity dan specificity dapat dilihat pada Tabel 3. Tabel 3 Matriks Konfusion Tiap Kelas Kelas X
Bukan Kelas X
Kelas X
∑ TP
∑ FP
Bukan Kelas X
∑ FN
∑ TN
10 Rumus menghitung sensitivity dan specificity adalah sebagai berikut:
Sensitivity = ∑ Specificity = ∑
∑ ∑ ∑ ∑
(6)
(7)
True Positive (TP) adalah data yang berhasil diidentifikasi dengan benar oleh classifier. Contohnya, orang sakit dengan benar diidentifikasi sebagai orang sakit. False Positive (FP) adalah data yang salah diprediksi oleh classifier. Contohnya, orang sehat salah diprediksi sebagai orang sakit. True Negative (TN) adalah kebalikan dari True Positive. Contohnya, orang sehat benar diidentifikasi sebagai orang sehat. False Negatif (FN) contohnya adalah orang sakit salah diidentifikasi sebagai orang sehat. Lingkungan Pengembangan Sistem Penelitian ini diimplementasikan mengunakan spesifikasi perangkat keras dan lunak sebagai berikut: 1. Perangkat Keras
Intel Core i3 CPU 2.40 GHz.
Memori 4 GB.
Harddisk 500 GB.
2. Perangkat Lunak
Sistem operasi windows 7 ultimate 32 bit.
Matlab 7.7.0 (R2008b).
HASIL DAN PEMBAHASAN Pengumpulan Data Pada penelitian ini, data suara dua chord gitar direkam selama 3 detik, dengan sampling rate 11000 Hz. Total data chord yang digunakan sebanyak 8640 yang terdiri dari 5760 data latih dan 2880 data uji. Sinyal suara tersebut terlebih dahulu dinormalisasi dan disegmentasi sebelum diekstraksi ciri menggunakan MFCC. Normalisasi sinyal suara dengan cara masing-masing nilai suara dibagi dengan nilai maksimum dari sinyal suara yang telah diabsolutkan. Setelah dinormalisasi kemudian disegmentasi dengan cara menentukan batas kritis. Sinyal suara yang lebih kecil dari batas kritis akan dihapus sehingga didapat dua chord yang terpisah.
11 Ekstraksi Ciri dengan MFCC Proses MFCC dilakukan dengan membuat fungsi pada auditory toolbox Matlab. Fungsi MFCC tersebut didapat dari Buono (2009). Parameter yang dibutuhkan pada proses MFCC yaitu sampling rate, time frame, overlap dan ceptral coefficient. Pemilihan nilai untuk time frame dan overlap adalah 30 ms dan 40%. Jumlah koefisien cepstral yang digunakan sebanyak 13 dan 26. Proses ekstraksi ciri ini dilakukan tehadap semua data. MFCC mengubah sinyal suara ke dalam suatu matriks yang berukuran jumlah koefisien yang digunakan dikali dengan banyaknya frame suara yang terbentuk. Matriks ini menunjukkan ciri spectral dari sinyal suara tersebut. Pada penelitian ini, masingmasing data suara yang telah diproses dengan MFCC memiliki jumlah frame berbeda-beda. Pemodelan Learning Vector Quantization Tahap pemodelan LVQ diawali dengan menentukan beberapa parameter seperti learning rate, epoh, penurunan learning rate dan bobot awal. Learning rate yang digunakan pada penelitian ini adalah 0.002, penurunan learning rate sebesar 0.9 dan epoh 100. Bobot awal ditentukan dengan menginisialisasikan ciriciri dari masing-masing kelas chord dengan k-means, kemudian hasil k-means tersebut dijadikan vektor dengan menghitung rata-rata dari setiap bobot sehingga ada 24 bobot yang mewakili tiap kelas. Hasil dari inisialisasi k-means pada masing-masing kelas tersebut digunakan sebagai bobot awal untuk melatih dengan pemodelan LVQ. Neuron input yang digunakan terdiri atas 13 dan 26 didapat dari koefisien cepstral pada saat ekstraksi ciri. Vektor masukan akan masuk ke masing-masing node neuron input kemudian dilakukan proses pelatihan. Selama proses pelatihan bobot akan selalu di-update. Setelah pelatihan, LVQ mengklasifikasikan vektor masukan dengan mencari kelas keluaran yang direpresentasikan dengan neuron output sebanyak 24 kelas dengan menghitung bobot yang terdekat. Hasil Pengujian Pada penelitian ini, parameter-parameter pengujian yang diujicobakan dapat dilihat pada Tabel 4.
12 Tabel 4 Parameter pengujian yang diujicobakan Parameter
LVQ
MFCC
Nilai
Neuron Input
13 dan 26
Neuron Output
24
Vektor Masukan
2880
Learning rate
0.002
Epoh
100
Penurunan Learning Rate
0.9
Time frame
0.4
Overlap
30 ms
Jumlah koefisien cepstral
13 dan 26
Jumlah cluster pada k-means
8, 12, 16, 20, 24, 28, 32, 100
Tahap pengujian dilakukan menggunakan kombinasi parameter yang berbeda-beda, agar terlihat perbandingan akurasi dan mendapatkan akurasi terbaik. Pengujian percobaan dengan nilai (k) 8, 12, 16, 20, 24, 28, 32, dan 100 dilakukan dua pengujian menggunakan koefisien cepstral 13 dan 26. Setiap kombinasi parameter dilakukan percobaan sebanyak 10 kali dapat dilihat pada Gambar 5 dan Gambar 6. Dari 10 kali percobaan tersebut diambil akurasi terbaik dari masingmasing kombinasi parameter. 85 80 Percobaan 1
75 Akurasi (%)
Percobaan 2 70
Percobaan 3 Percobaan 4
65
Percobaan 5 Percobaan 6
60
Percobaan 7 55
Percobaan 8 Percobaan 9
50
Percobaan 10 45 K=8 K=12 K=16 K=20 K=24 K=28 K=32 K=100 Jumlah Cluster
Gambar 5 Hasil Akurasi Percobaan Koefisien 13
13 Percobaan yang dilakukan pada koefisien 13 menghasilkan akurasi tertinggi pada jumlah cluster 8 sebesar 54.13%, jumlah cluster 12 sebesar 56.08%, jumlah cluster 16 sebesar 56.63%, jumlah cluster 20 sebesar 57.64%, jumlah cluster 24 sebesar 57.92%, jumlah cluster 28 sebesar 58.09%, jumlah cluster 32 sebesar 59.27% dan jumlah cluster 100 sebesar 61.91%. 90
Akurasi (%)
85
Percobaan 1
80
Percobaan 2
75
Percobaan 3
70
Percobaan 4
65
Percobaan 5
60
Percobaan 6
55
Percobaan 7 Percobaan 8
50
Percobaan 9
45 K=8
Percobaan 10
K=12 K=16 K=20 K=24 K=28 K=32 K=100 Jumlah Cluster
Gambar 6 Hasil Akurasi Percobaan Koefisien 26 Percobaan yang dilakukan pada koefisien 26 menghasilkan akurasi tertinggi pada jumlah cluster 8 sebesar 80.03%, jumlah cluster 12 sebesar 80.14%, jumlah cluster 16 sebesar 80.69%, jumlah cluster 20 sebesar 80.90%, jumlah cluster 24 sebesar 81.46%, jumlah cluster 28 sebesar 81.86%, jumlah cluster 32 sebesar 82.12% dan jumlah cluster 100 sebesar 83.65%. Tabel 5 menunjukkan hasil akurasi terbaik dari masing-masing kombinasi parameter menggunakan pemodelan LVQ. Percobaan tersebut menghasilkan akurasi terbaik sebesar 83.65% dengan jumlah cluster 100 pada koefisien cepstral 26 dan akurasi terendah sebesar 54.13% dengan jumlah cluster 8 dan koefisien cepstral 13. Matriks konfusion hasil akurasi tertinggi pada pemodelan LVQ dengan jumlah cluster 100 dan koefisien cepstral 26 dapat dilihat pada Lampiran 2. Tabel 5 Hasil Percobaan dengan Pemodelan LVQ 8
12
16
Jumlah cluster 20 24
13
54.13%
56.08%
56.53%
57.64%
57.92%
58.09%
59.27%
61.91%
26
80.03%
80.14%
80.69%
80.90%
81.46%
81.88%
82.12%
83.65%
Koefisien Cepstral
28
32
100
Gambar 7 menggambarkan kecenderungan peningkatan jumlah cluster dan koefisien cepstral terhadap tingkat akurasi pada nilai overlap dan time frame
14 tetap, yaitu sebesar 0.4 dan 30 ms. Hasil akurasi terrendah terjadi pada jumlah cluster 8 pada koefisien cepstral 13 sebesar 54.13%. Akurasi tertinggi terjadi pada jumlah cluster 100 dengan koefisien cepstral 26 sebesar 83.65%. Hal ini terjadi karena pada jumlah cluster 8 dan koefisien cepstral 13, cluster yang membentuk vektor ciri lebih sedikit sehingga sering terjadi kesalahan identifikasi sedangkan pada jumlah cluster 100 dan koefisien cepstral 26, cluster yang membentuk vektor ciri jauh lebih banyak sehingga informasi yang dimiliki jauh lebih banyak. 90 80 Akurasi (%)
70 60 50 40
koef = 13
30
koef = 26
20 10 0 k=8
k=12
k=16
k=20 k=24 k=28 Jumlah Cluster
k=32
k=100
Gambar 7 Grafik Perbandingan Akurasi dengan Koefisien Cepstral 13 dan 26 Lampiran 3 menunjukkan grafik sensitivity dan specificity dari matriks konfusion pada jumlah cluster 100 dan koefisien cepstral 26. Kelas Cm, Dis dan Gis menunjukkan sensitivity dan specificity yang paling tinggi yaitu sebesar 1. Hal ini menunjukkan bahwa data true positive yang diidentifikasi masuk ke kelas Cm, Dis dan Gis benar semua. Kelas Cm, Dis dan Gis dapat membedakan data yang bukan dari kelas Cm, Dis dan Gis atau true negativenya tinggi sehingga specificity yang didapatkan tinggi. Sensitivity dan specificity terrendah dari matriks konfusion pada jumlah cluster 100 dan koefisien cepstral 26 adalah kelas Ais sebesar 0.46 dan 0.97. Sensitivity kelas Ais rendah karena kelas Ais salah mengidentifikasi kelas lain sebagai kelasnya atau true positifnya sedikit. Specificity kelas Ais rendah karena kemampuan kelas Ais sangat kecil untuk membedakan data yang bukan dari kelas Ais diantara semua data atau true negativenya sedikit. Tabel perhitungan sensitivity dan specificity dari semua kelas dapat dilihat pada Lampiran 4.
SIMPULAN DAN SARAN Simpulan Penelitian ini menunjukkan bahwa penentuan nilai parameter sangat berpengaruh terhadap hasil akurasi. Berdasarkan penelitian yang telah dilakukan dapat diambil kesimpulan sebagai berikut:
15 1. 2. 3.
4. 5.
Penelitian ini telah berhasil mengimplementasikan metode learning vector quantization dan teknik ekstraksi ciri MFCC dalam pengenalan chord gitar. Akurasi tertinggi sebesar 83.65% dengan jumlah cluster 100, koefisien cepstral 26, time frame 30 ms, dan overlap 40%. Sistem ini mampu mengidentifikasi 2 chord gitar menggunakan metode LVQ dengan 26 koefisien cepstral pada jumlah cluster 100 menghasilkan akurasi tertinggi dibandingkan dengan 13 koefisien cepstral. Jumlah cluster mempengaruhi dalam menentukan hasil akurasi. Dari 24 kelas, kelas Cm, Dis dan Gis memiliki tingkat sensitivity dan specificity paling tinggi yaitu sebesar 1. Kelas Ais memiliki tingkat sensitivity dan specificity paling rendah dari ke-24 kelas yaitu sebesar 0.46 dan 0.97. Saran
Penelitian ini masih memiliki kekurangan sehingga dapat dikembangkan lebih lanjut untuk mendapatkan hasil yang lebih baik pada penelitian selanjutnya. Beberapa saran itu di antaranya: 1. Mencari parameter LVQ yang lebih sesuai agar dapat meningkatkan akurasi yang lebih baik lagi. 2. Menambahkan jumlah chord gitar yang mampu diidentifikasi, yaitu sebanyak 3 chord atau lebih. 3. Menggunakan metode ekstraksi ciri yang lain sehingga dapat dibandingkan metode ekstraksi ciri yang menghasilkan akurasi lebih baik.
DAFTAR PUSTAKA Buono A.2009. Representasi nilai HOS dan model MFCC sebagai ekstraksi ciri pada sistem identifikasi pembicara di lingkungan ber-noise menggunakan HMM.[Disertasi]. Depok: Program Pascasarjana, Universitas Indonesia. Dillak RY, Harjoko A. 2012. Klasifikasi Fase Retinopati Diabetes Menggunakan Backpropagation Neural Network. IJCCS.7(1):23-34. Do MN. 1994. Digital Signal Processing Mini-Project: An Automatic Recognition System.Laussane(CH): Federal Institute of Technology. Fausett L. 1994. Fundamental of Neural Network: Architectures, Algorithm, and Application. USA (US): Prentice-hall Inc. Gustiawati A. 2011. Perbandingan Metode Wavelet Daubechies dan MFCC sebagai Ekstraksi Ciri pada Pengenalan Fonem dengan Probabilistic Neural Network (PNN) sebagai Classifier.[Skripsi]. Bogor (ID): Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor. Haryono T. 2013. Pengembangan Model Codebook untuk Konversi Suara Gitar ke Tangga Nada.[Skripsi]. Bogor (ID): Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
16 Prabowo A, Sarwoko EA, Riyanto DE. 2006. Perbandingan antara metode Kohonen Neural Network dengan metode Learning Vector Quantitation pada pengenalan pola tandatangan. Jurnal Sains & Matematika.14(4):147-153. Wisnudisastra E. 2009. Pengenalan Chord Pada Alat Musik Gitar Menggunakan Codebook dengan Teknik Ekstraksi Ciri MFCC.[Skripsi]. Bogor (ID): Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
17 Lampiran 1 Bentuk dan Posisi Chord Yang Digunakan
Lampiran 2 Matriks Konfusion
18
19 Lampiran 3 Grafik sensitivity dan specificity Gm Gism Gis G Fm Fism Fis F Em
Kelas Chord
E Dm Dism Dis
Specificity
D Sensitivity
Cm Cism Cis C Bm B Am Aism Ais A 0
0.1
0.2
0.3
0.4
0.5 0.6 Nilai
0.7
0.8
0.9
1
20 Lampiran 4 Tabel Penghitungan Sensitivity dan Specificity Masing-Masing kelas Kelas
Sensitivity
Specificity
Kelas
Sensitivity
Specificity
A
0.84
0.98
Dism
0.91
0.99
Ais
0.46
0.97
Dm
0.62
0.99
Aism
0.94
0.98
E
0.99
0.99
Am
0.76
0.98
Em
0.92
0.99
B
0.85
0.99
F
0.87
0.99
Bm
0.88
0.98
Fis
0.97
0.99
C
0.89
0.99
Fism
0.87
0.99
Cis
0.98
0.99
Fm
0.76
0.99
Cism
0.91
0.99
G
0.95
0.98
1
1
1
1
0.71
0.98
Gism
0.97
0.99
1
1
Gm
0.92
0.99
Cm D Dis
Gis
21
RIWAYAT HIDUP Penulis bernama Arif Budiarto, dilahirkan di Jakarta, DKI Jakarta pada tanggal 12 Juli 1990. Penulis merupakan anak kedua dari dua bersaudara dari pasangan Kardimin dan Rusniyati. Penulis memulai pendidikan formal pada tahun 1995 di TK Kurnia Jaya Depok, kemudian pada tahun 1996 melanjutkan pendidikan ke jenjang Sekolah Dasar (SD) di SD Negeri Sukatani 3 dan lulus pada tahun 2002. Kemudian melanjutkan pendidikannya ke Sekolah Lanjutan Tingkat Pertama (SLTP) di SLTP Negeri 11 Depok, selesai pada tahun 2005. Sekolah Menengah Atas (SMA) penulis menyelesaikan sekolahnya pada tahun 2008 di SMA Negeri 4 Depok. Penulis diterima sebagai mahasiswa Direktorat Program Diploma Institut Pertanian Bogor (IPB) pada tahun 2008 melalui jalur Undangan Seleksi Masuk IPB (USMI) pada program keahlian Manajemen Informatika. Pada tahun 2011 penulis lulus dari Diploma Institut Pertanian Bogor dan melanjutkan pendidikan di Program Alih Jenis Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.