ANALISA DAN PERANCANGAN SISTEM -...
Transcript of ANALISA DAN PERANCANGAN SISTEM -...
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
Gambar 3.3 Tingkat Polyphonic
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.
Gambar 3.4 Pitch Tertinggi
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
Gambar 3.5 Pitch Terendah
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 :
Gambar 3.6 Durasi Note
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 :
Gambar 3.7 Interval Pitch
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 Forest yang 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
Gambar 3.9 Proses Ekstraksi Data Midi
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
Gambar 3.12 Flowchart Pembuatan Pohon Keputusan
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.
Gambar 3.13 Pohon Keputusan
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
Gambar 3.14 Proses Klasifikasi
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
Gambar 3.15 Flowchart Proses Voting