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 elektrik, komputer, dan alat-alat lainnya terhubung secara teratur, dapat saling mengirim pesan, terktrol dan bersinkrisasi 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 : 14
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. Gambar 3.1 Panjang Track b) Jumlah Note Jumlah note adalah banyaknya note keseluruhan pada setiap track. Seperti Pada Gambar 3.2. Gambar 3.2 Jumlah Note c) Tingkat Polyphic Tingkat Polyphic dalam hal ini menghitung tentang jumlah note yang aktif secara bersamaan dalam setiap track. Seperti Pada Gambar 3.3. Gambar 3.3 Tingkat Polyphic 15
d) Tingkat Occupati Tingkat occupati 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. Gambar 3.4 Pitch Tertinggi b) Pitch Terendah Nilai Pitch terendah didapatkan dengan memilih note yang mempunyai frekuensi paling rendah. 16
Gambar 3.5 Pitch Terendah 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 : S = n i=1 (xi x ) 2 n 1 Keterangan : S Xi x n = Standar deviasi = Data awal atau data frekuensi pitch = Rata rata = Jumlah data (8) 17
3. Durasi Note Durasi Note adalah lamanya suatu note ketika aktif. Ditunjukkan pada gambar 3.6. Gambar 3.6 Durasi Note 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 : Keterangan : S = n i=1 (xi x ) 2 n 1 (10) 18
S = Standar deviasi Xi = Data awal atau data durasi note x = Rata rata n = Jumlah data 4. Interval Pitch Interval pitch adalah jarak antara pitch satu dengan pitch yang lain. Ditunjukkan pada gambar 3.7. Gambar 3.7 Interval Pitch 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 : Keterangan : S = n i=1 (xi x ) 2 n 1 (11) 19
S = Standar deviasi Xi = Data awal atau data interval pitch x = Rata rata n = Jumlah data Tahap Selanjutnya adalah dilakukan pelatihan data klasifikasi menggunakan algoritma Random Forest yang dimana poh keputusan yang akan dibangun menggunakan algoritma ID3 atau Iterative Dichotomizer 3. Algoritma ID3 merupakan sebuah metode yang digunakan untuk membangkitkan poh 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, precisi, 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 tradisial Indesia 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. 20
3.2.2. Gambaran Umum Sistem Gambar 3.8 Gambaran Umum Sistem Data yang akan diolah adalah lagu tradisial Indesia yang berformatkan midi atau (.mid). data tersebut diekstraksi menjadi data training dan data tes. Data training digunakan untuk proses pembuatan poh keputusan, sedangkan data tes digunakan untuk proses pengujian. Kemudian mengambil data training secara acak sebanyak 30 data. Proses pembuatan poh keputusan dengan menentukan node awal terlebih dahulu, dari beberapa poh keputusan tersebut dapat ditarik kesimpulan. 21
3.2.3. Proses Ekstraksi Data Midi Start Ambil Data Data Dikelompokkan Berdasarkan Fitur Fitur Melodi Data Training Finish Gambar 3.9 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 : 22
Gambar 3.10 Data Latih 23
3.2.4. Pembuatan Model Data Training Data Training Gambar 3.11 Pembuatan Model Data Latih Data 1 Data 2 Data 3 Data 4 Data 11 Tree 1 Tree 2 Tree 3 Tree 4 Tree 11 Gambar diatas merupakan alur pembuatan model data training sampai menjadi proses proses decisi 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 decisi tree. 24
3.2.5. Flowchart Pembuatan Poh Keputusan Start Get Data Training Hitung Entropy Data Trainin g Midi Hitung Gain Pembentukan Node Poh Keputusan Finish Gambar 3.12 Flowchart Pembuatan Poh Keputusan Gambar 3.12 merupakan proses pembuatan poh keputusan. Data yang digunakan adalah data training yang sudah dipilih secara acak. Kemudian data tersebut dihitung entropy dan informati 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 informati gain akan terus dilakukan sampai semua data diproses. Tahapan ini penulis menggunakan perangkat lunak open source WEKA dalam pembuatan poh 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 poh keputusan C4.5 akan dipangkas setelah dibentuk. Pemangkasan poh 25
digunakan untuk mengatasi overfitting. Overfitting terjadi karena ada noise data training, yaitu data yang tidak relevan sehingga mengakibatkan poh 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 poh dengan subtree yang panjang. Overfitting juga terjadi karena data training yang sedikit. Setiap poh keputusan yang dibuat memiliki perbedaan fitur dalam proses klasifikasi. Seperti pada poh keputusan 1. Fitur yang di proses pada poh keputusan 1 meliputi : rata rata pitch pada node awal, dan minimal durasi pada node kedua. Ctoh poh ditunjukkan pada gambar 3.13. Gambar 3.13 Poh Keputusan 26
3.2.6. Proses Klasifikasi Start Get Data Data Midi Tree 1 Tree 2 Tree 3 Tree 4 Tree 11 Proses Voting.. Kesimpulan Poh Finish Gambar 3.14 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 27
decisi tree ke 1 sampai decisi tree ke 11. Hasil dari proses decisi tree tersebut dilakukan voting yang menghasilkan kesimpulan poh. 3.2.7. Flowchart Proses Voting Start Input data Proses Tree 1-11 Ya Jika Hasil yang merupakan melodi >= 6 Tidak Melodi Bukan Melodi Finish Gambar 3.15 Flowchart Proses Voting Gambar 3.15 merupakan flowchart proses voting. dimulai dengan memasukkan data uji. Kemudian data tersebut di proses dengan 11 poh keputusan yang menghasilkan melodi atau bukan melodi. Jika hasil yang melodi dari proses decisi tree lebih dari sama dengan 6, maka hasilnya melodi. 28