ANALISA DAN PERANCANGAN SISTEM -...

15
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 :

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

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

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