14
BAB III
ANALISA DAN PERANCANGAN SISTEM
1.1. Analisa Masalah 3.1.1. Analisa Algoritma
Midi (Musical Instrument Digital Interface) merupakan sebuah teknologi yang memungkinkan alat musik elektronik, komputer, dan alat-alat lainnya terhubung secara teratur, dapat saling mengirim pesan, terkontrol dan bersinkronisasi dalam waktu yang bersamaan. Secara format, midi berisikan susunan Notasi. Dengan kata lain, dapat diubah seperti halnya tulisan yang ada di Microsoft Word. Setiap satu file midi berisikan satu buah lagu. Dalam file midi terdapat 16 jalur/channel. Setiap satu channel mewakili satu bagian instrumen musik. Akan tetapi biasanya dalam satu lagu hanya menggunakan 5 – 10 channel. Satu dari keseluruhan channel tersebut terdapat satu melodi sebagai pemimpin dalam sebuah lagu dan sisa channel berisikan musik iringan.
Melodi adalah susunan nada yang diatur tinggi rendahnya, pola, dan harga nada sehingga menjadi kalimat lagu. Cara dalam mendapatkan melodi dalam file midi masih manual. Salah satu caranya yaitu memilih nada yang dikategorikan sebagai melodi dari salah satu keseluruhan channel menggunakan aplikasi yang bisa membuat dan mengubah sebuah file audio. Ditambah lagi dengan ditemukannya beberapa channel yang dikategorikan sebagai nada melodi.
Berdasarkan beberapa masalah diatas, maka untuk membantu menemukan nada melodi dari channel – channel pada file midi secara otomatis, penulis menggunakan algoritma random forest dalam penelitiannya.
Dalam tahap ini dilakukan proses pengubahan data mentah menjadi data
training atau data latih dengan mengelompokkannya berdasarkan fitur – fitur melodi. Proses ini bertujuan untuk mengetahui fitur – fitur dari melodi, mengekstraksi melodi dari music, dan mengelompokkan melodi. Fitur – fitur tersebut dikelompokkan menjadi 4 kelompok, antara lain :
15 1. Keterangan Track
a) Panjang Track
Panjang track disini mendeskripsikan lamanya durasi setiap track itu berakhir. Satuan yang digunakan dalam pengukurannya adalah detik. Seperti pada gambar 3.1.
b) Jumlah Note
Jumlah note adalah banyaknya note keseluruhan pada setiap track. Seperti Pada Gambar 3.2.
c) Tingkat Polyphonic
Tingkat Polyphonic dalam hal ini menghitung tentang jumlah note yang aktif secara bersamaan dalam setiap track. Seperti Pada Gambar 3.3.
Gambar 3.1 Panjang Track
Gambar 3.2 Jumlah Note
16 d) Tingkat Occupation
Tingkat occupation adalah menghitung presentase panjang lagu yang ditempati oleh note. Rumus dalam perhitungan presentasenya ditunjukkan pada persamaan berikut :
Occupancy = X / Y (6)
Keterangan :
X : Jumlah tempat yang ditempati note pada setiap track Y : Jumlah tempat sampai durasi terlama pada keseluruhan track
2. Pitch
Pitch adalah tinggi rendahnya sebuah nada dengan frekuensi tertentu. a) Pitch tertinggi
Nilai Pitch tertinggi didapatkan dengan memilih note yang mempunyai frekuensi paling tinggi. Seperti pada Gambar 3.4.
b) Pitch Terendah
Nilai Pitch terendah didapatkan dengan memilih note yang mempunyai frekuensi paling rendah.
17 c) Rata – Rata Pitch
Rumus untuk mencari nilai rata – rata pitch yaitu :
Rata – rata = ∑(F*x) / ∑(y) (7)
Keterangan : F : Frekuensi
x : Jumlah note dalam setiap frekuensi y : Jumlah keseluruhan note
d) Standar Deviasi
Rumus untuk mencari nilai standar deviasi yaitu :
𝑆 = √∑ 𝑛 𝑖=1 (𝑥𝑖− 𝑥̃)2 𝑛−1 (8) Keterangan : S = Standar deviasi
Xi = Data awal atau data frekuensi pitch
𝑥̃ = Rata – rata n = Jumlah data
18 3. Durasi Note
Durasi Note adalah lamanya suatu note ketika aktif. Ditunjukkan pada gambar 3.6.
a) Durasi Terpanjang
Durasi terpanjang didapatkan dengan mencari durasi note terpanjang ketika aktif.
b) Durasi Terpendek
Durasi terpendek didapatkan dengan mencari durasi note terpendek ketika aktif.
c) Rata – Rata Durasi Note
Rumus untuk mencari rata – rata durasi note :
Rata – rata = ∑(x) / ∑(y) (9)
Keterangan :
x = Jumlah durasi note y = Jumlah note d) Standar Deviasi
e) Rumus untuk mencari nilai standar deviasi yaitu :
𝑆 = √∑𝑛𝑖=1 (𝑥𝑖− 𝑥̃)2
𝑛−1 (10)
Keterangan :
19 S = Standar deviasi
Xi = Data awal atau data durasi note
𝑥̃ = Rata – rata
𝑛 = Jumlah data
4. Interval Pitch
Interval pitch adalah jarak antara pitch satu dengan pitch yang lain. Ditunjukkan pada gambar 3.7.
a) Interval Tertinggi
Nilai dari interval pitch didapatkan dengan melihat jarak terjauh antara pitch yang satu dengan yang lain.
b) Interval Terendah
Nilai dari interval pitch didapatkan dengan melihat jarak terpendek antara pitch yang satu dengan yang lain.
c) Rata – Rata Interval Pitch
Rumus untuk mencari rata – rata Interval Note :
Rata – rata = Jumlah keseluruhan interval pitch / banyaknya interval pitch.
d) Standar Deviasi
Rumus untuk mencari nilai standar deviasi yaitu :
𝑆 = √∑𝑛𝑖=1 (𝑥𝑖− 𝑥̃)2
𝑛−1 (11)
Keterangan :
20 S = Standar deviasi
Xi = Data awal atau data interval pitch
𝑥̃ = Rata – rata n = Jumlah data
Tahap Selanjutnya adalah dilakukan pelatihan data klasifikasi menggunakan algoritma Random Forestyang dimana pohon keputusan yang akan dibangun menggunakan algoritma ID3 atau Iterative Dichotomizer 3. Algoritma ID3 merupakan sebuah metode yang digunakan untuk membangkitkan pohon keputusan. Data hasil klasifikasi inilah yang dapat menentukan melodi pada salah satu track dalam file midi.
Tahap terakhir yang digunakan dalam pengerjaan tugas akhir ini adalah pengujian. Pengujian dilakukan untuk mengetahui seberapa baik data telah di klasifikasi. Metode evaluasi yang digunakan adalah accuracy, precision, recall.
3.2. Perancangan Sistem 1.2.1. Data Set
Dataset adalah data yang sudah tidak mengandung data dengan missing value dan redundant. Data dibagi menjadi dua bagian sebagai data training dan data testing. Data yang digunakan dalam penelitian ini adalah lagu tradisional Indonesia yang berformat midi atau (.mid). Data set yang digunakan dalam penelitian ini berjumlah 54 buah lagu. Kemudian dibagi 35 lagu untuk data training dan 19 lagu untuk data tes.
Setelah semua data diperoleh, maka langkah selanjutnya adalah melakukan pengelompokan data set tersebut berdasarkan fitur – fitur melodi. Data set yang semula berbentuk file midi akan di ekstraksi dan di kelompokan menjadi nilai – nilai berdasarkan fitur – fitur melodi menggunakan aplikasi FLStudio 12. Sehingga data set tersebut menjadi data yang siap di olah.
21 3.2.2. Gambaran Umum Sistem
Gambar 3.8 Gambaran Umum Sistem
Data yang akan diolah adalah lagu tradisional Indonesia yang berformatkan midi atau (.mid). data tersebut diekstraksi menjadi data training dan data tes. Data training digunakan untuk proses pembuatan pohon keputusan, sedangkan data tes digunakan untuk proses pengujian. Kemudian mengambil data training secara acak sebanyak 30 data. Proses pembuatan pohon keputusan dengan menentukan node awal terlebih dahulu, dari beberapa pohon keputusan tersebut dapat ditarik kesimpulan.
22 3.2.3. Proses Ekstraksi Data Midi
Gambar diatas merupakan proses ekstraksi data midi menjadi data training atau data latih. Data midi tersebut dibaca menggunakan aplikasi FLstudio 12. Kemudian data tersebut di kelompokkan berdasarkan fitur – fitur melodi dengan rumus – rumus yang menghasilkan data training. Data training tersebut ditunjukkan pada gambar 3.10 :
Start
Ambil Data
Data Dikelompokkan Berdasarkan Fitur – Fitur
Melodi
Data Training
Finish
23 Gambar 3.10 Data Latih
24 3.2.4. Pembuatan Model Data Training
Gambar diatas merupakan alur pembuatan model data training sampai menjadi proses – proses decision tree. Data training tersebut merupakan data yang sudah dikelompokan berdasarkan fitur – fitur melodi menjadi nilai – nilai. Data tersebut diambil lagi secara acak hingga menjadi sebelas 11 data training. Setiap data training berisikan 30 data. Kemudian setiap data training tersebut dibuatlah proses decision tree.
Data Training Data 1 Data 2 Data 3 Data 4 Data 11 Decisi on Tree 1 Decisi on Tree 2 Decisi on Tree 3 Decisi on Tree 4 Decisi on Tree 11 Gambar 3.11 Pembuatan Model Data Latih
25 3.2.5. Flowchart Pembuatan Pohon Keputusan
Gambar 3.12 merupakan proses pembuatan pohon keputusan. Data yang digunakan adalah data training yang sudah dipilih secara acak. Kemudian data tersebut dihitung entropy dan information gain dari setiap atribut. Dari perhitungan tersebut dipilih nilai gain terbesar untuk dijadikan node awal, kemudian membentuk node yang berisi atribut – atribut selanjutnya. Proses perhitungan information gain akan terus dilakukan sampai semua data diproses.
Tahapan ini penulis menggunakan perangkat lunak open source WEKA dalam pembuatan pohon keputusan. Algoritma yang digunakan adalah C4.5. Algoritma C4.5 merupakan pengembangan dari ID3. Sedangkan pada perangkat lunak open source WEKA mempunyai versi sendiri C4.5 yang dikenal dengan J48. Hasil pohon keputusan C4.5 akan dipangkas setelah dibentuk. Pemangkasan pohon
Hitung Gain Start
Get Data Training
Hitung Entropy Pohon Keputusan Finish Pembentukan Node Data Trainin g Midi
26 digunakan untuk mengatasi overfitting. Overfitting terjadi karena ada noise data training, yaitu data yang tidak relevan sehingga mengakibatkan pohon memiliki subtree yang panjang dan tidak seimbang. Misal internal node memiliki YA = 5 dan TIDAK = 1. Data yang berada pada kelas TIDAK merupakan noise, sehingga apabila data tersebut diolah kan menghasilkan pohon dengan subtree yang panjang.
Overfitting juga terjadi karena data training yang sedikit. Setiap pohon keputusan yang dibuat memiliki perbedaan fitur dalam proses klasifikasi. Seperti pada pohon keputusan 1. Fitur yang di proses pada pohon keputusan 1 meliputi : rata – rata pitch pada node awal, dan minimal durasi pada node kedua. Contoh pohon ditunjukkan pada gambar 3.13.
27 3.2.6. Proses Klasifikasi
………..
Dari gambar diatas dapat digambarkan proses klasifikasi track dalam midi yang merupakan melodi atau bukan melodi. Data yang diambil berupa 1 track dalam midi yang sudah diekstraksi menjadi data training. Kemudian diproses oleh
Start
Get Data Data
Midi Proses Voting Kesimpulan Pohon Finish Decisi on Tree 1 Decisi on Tree 2 Decisi on Tree 3 Decisi on Tree 4 Decisi on Tree 11
28
decision tree ke 1 sampai decision tree ke 11. Hasil dari proses decision tree
tersebut dilakukan voting yang menghasilkan kesimpulan pohon.
3.2.7. Flowchart Proses Voting
Gambar 3.15 merupakan flowchart proses voting. dimulai dengan memasukkan data uji. Kemudian data tersebut di proses dengan 11 pohon keputusan yang menghasilkan melodi atau bukan melodi. Jika hasil yang melodi dari proses decision tree lebih dari sama dengan 6, maka hasilnya melodi.
Jika Hasil yang merupakan melodi >= 6
Bukan Melodi Start
Input data
Proses Decision Tree 1 - 11
Melodi
Finish
Ya Tidak