• Tidak ada hasil yang ditemukan

Bab III. ANALISA DAN DESAIN SISTEM

3.2 Perancangan Sistem

3.2.1 Perancangan Ekstraksi Fitur

Sebelum perancangan Ekstraksi fitur dengan menggunakan metode MUGRAT, terdapat fase sebelum ekstraksi fitur yang meliputi perancangan Hamming Window, perancangan FFT dan perancangan IFFT.

Gambar 3.2 menunjukkan blok diagram proses modul utama.

Gambar 3.2 Blok Diagram Modul Utama

3.2.1.1 Perancangan Hamming Window

Proses Hamming Window menggunakan persamaan 2.10. Variabel

i menunjukkan banyak data setiap window, yaitu 1024. Variabel j

menunjukkan jumlah window, yaitu sebanyak 40. Perancangan Modul Hamming Window dapat dilihat pada Gambar 3.3 (Lampiran L1).

3.2.1.2 Perancangan FFT

Perhitungan FFT meliputi perhitungan nilai amplitudo menggunakan persamaan 2.8, yang mencakup perhitungan nilai real amplitudo menggunakan persamaan 2.6, dan perhitungan imajiner dari

amplitudo yang diperoleh dengan menggunakan 2.7. Variabel i

menunjukkan jumlah window sebanyak 40. Variabel j menunjukkan

jumlah data yang terdapat pada masing-masing window sebanyak 1024.

merupakan nilai frekuensi bins, diperoleh dari 1024 / 2. Pembagian dengan nilai 2 ini dikarenakan dalam FFT nilai amplitudo dipisahkan menjadi 2, yaitu nilai real dan imajiner. Perancangan fase FFT dapat dilihat pada Gambar 3.4 (Lampiran L2).

3.2.1.3 Perancangan Modul IFFT

Modul IFFT dihitung dengan menggunakan persamaan 2.9. Seperti

dalam persamaan Modul FFT, variabel i menunjukkan jumlah window

sebanyak 40, variabel j menunjukkan jumlah data yang terdapat pada

masing-masing window sebanyak 1024, dan variabel k yang terdapat pada

fase FFT bernilai 512 merupakan nilai frekuensi bins, diperoleh dari 1024 /2. Rancangan modul IFFT dapat dilihat pada Gambar 3.5 (Lampiran L3).

3.2.1.4 Perancangan Modul Ekstraksi Fitur

Modul Ekstraksi Fitur berisi fase-fase penghitungan fitur yang berhubungan dengan permukaan spektral musik yaitu fase Spektral Centroid, fase Rolloff, fase Zero-crossing Rate, fase Flux dan fase Low Energy. Fase-fase perhitungan fitur yang berhubungan dengan bit / irama lagu yaitu Full Wave Rectification, fase Low Pass Filtering, fase Downsampling, serta fase Autocorrelation dan fase Feature Calculation. Gambar 3.6 menunjukkan rancangan Modul Ekstraksi Fitur.

Gambar 3.6 Perancangan Modul Ekstraksi Fitur

Penjelasan fase-fase dalam Modul Ekstraksi Fitur sebagai berikut :

a. Fase Spektral Centroid

Pada fase Spektral Centroid ini dihitung titik keseimbangan spektrum

menggunakan persamaan 2.13. Variabel i menunjukkan jumlah window,

sebanyak 40, variabel j menunjukkan nilai frekuensi bins sebesar 512. Nilai

Spektral Centroid yang dihasilkan kemudian dinormalisasi menggunakan persamaan 2.22 agar beda antara rentang -1 dan 1. Setelah itu dihitung nilai meanCentroid menggunakan persamaan 2.11, yang merupakan nilai rata-rata spektral centroid, dan nilai varCentroid menggunakan persamaan 2.12, yang merupakan standar deviasi spektral centroid. Rancangan fase Spectral Centroid dapat dilihat pada Gambar 3.7. (Lampiran L4).

b. Fase Rolloff

Perhitungan nilai rolloff menggunakan persamaan 2.14 dimana

variabel i menunjukkan jumlah window sebanyak 40, variabel j menunjukkan

frekuensi bins sebesar 512. Nilai rolloff dinormalisasi menggunakan persamaaan 2.22 antara rentang -1 dan 1. Setelah itu dihitung nilai meanRoll menggunakan persamaan 2.11 yang menggunakan rata-rata nilai rolloff, dan varRoll dengan persamaan 2.12 yang merupakan nilai standar deviasi rolloff. Rancangan fase Rolloff dapat dilihat pada gambar 3.8 (Lampiran L5).

c. Fase Zero-crossing Rate

Fase Zero-crossing Rate dihitung dengan menggunakan persamaan 2.16. Nilai zero-crossing rate yang diperoleh kemudian dinormalisasi menggunakan persamaan 2.22 antara range -1 dan 1, kemudian dihitung nilai meanZero dengan persamaan 2.11 yang merupakan rata-rata nilai zero-crossing rate, dan varZero dengan persamaan 2.12 yang merupakan standar deviasi nilai zero-crossing rate. Rancangan fase Zero-crossing Rate dapat dilihat pada Gambar 3.9 (Lampiran L6).

d. Fase Flux

Flux dihitung dengan menggunakan persamaan 2.16. Nilai Flux juga dinormalisasi menggunakan persamaan 2.22 supaya berada antara rentang -1 dan 1. Setelah itu dihitung nilai meanFlux yang merupakan rata-rata nilai Flux dengan persamaan 2.11, dan varFlux yang merupakan nilai standar deviasi

Flux dengan menggunakan persamaan 2.12. Rancangan fase Flux dapat dilihat pada Gambar 3.10 (Lampiran L7).

e. Fase Low Energy

Low Energy dihitung dengan persamaan 2.17, dengan variabel i yang

menunjukkan jumlah window sebanyak 40, dan variabel j menunjukkan

banyak data setiap window sebanyak 1024. Rancangan fase Low Energy dapat dilihat pada Gambar 3.11 (Lampiran L8).

f. Fase Full Wave Rectification

Full Wave Rectification dihitung dengan persamaan 2.18, dengan

variabel i yang menunjukkan jumlah window sebanyak 40, dan variabel j

menunjukkan banyak data setiap window sebanyak 1024. Rancangan fase Full Wave Rectification dapat dilihat pada Gambar 3.12 (Lampiran L9).

g. Fase Low Pass Filtering

Low Pass Filtering dihitung dengan persamaan 2.19, dengan variabel i

yang menunjukkan jumlah window sebanyak 40, dan variabel j menunjukkan

banyak data setiap window sebanyak 1024. Rancangan fase Low Pass Filtering dapat dilihat pada Gambar 3.13 (Lampiran L9).

h. Fase Downsampling

Fase Downsampling dihitung dengan persamaan 2.20, dengan variabel

i yang menunjukkan jumlah window sebanyak 40, dan variabel j

menunjukkan banyak data setiap window (1024) dibagi dengan nilai k (16),

yaitu sebesar 64. Rancangan fase Downsampling dapat dilihat pada Gambar 3.14 (Lampiran L10).

i. Fase Autocorrelation

Autocorrelation dihitung dengan menggunakan persamaan 2.21,

dengan variabel i yang menunjukkan jumlah window sebanyak 40, dan

variabel j menunjukkan nilai k autocorrelation, yaitu sebesar 48 pada

MUGRAT. Dari hasil perhitungan dapat dicari puncak tertinggi yang ditujukan pada penyimpanan waktu dimana sinyal mempunyai self-similarity yang paling kuat. Rancangan fase Autocorrelation dapat dilihat pada Gambar 3.15 (Lampiran L10).

Fase Autocorellation sendiri terdiri dari beberapa fase, antara lain :

1) Fase Pencarian Tiga Titik Tertinggi

Fase pencarian tiga titik tertinggi dimulai dengan mencari titik tertinggi pertama yang kemudian dilanjutkan dengan mencari titik terendah sebelah kiri dan kanan dari titik tertinggi pertama tersebut guna pencarian titik tertinggi kedua. Dengan diperolehnya titik-titik terendah tersebut, maka puncak tertinggi pertama dilompati (tidak diikutkan dalam pencarian). Demikian pula algoritma untuk mencari titik tertinggi ke tiga,

yaitu dengan mencari titik terendah kanan dan kiri dari puncak tertinggi kedua terlebih dahulu. Setelah itu baru dapat dilakukan pencarian puncak tertinggi ketiga dengan tidak mengikutkan puncak tertinggi pertama dan kedua. Setiap nilai yang diperoleh dari pencarian titik puncak tertinggi

ditampung dalam variabel BeatHistogram (c) dimana c merupakan

variabel yang nilainya dimulai dari 0 sampai 119 (ada 120 nilai Beat Histogram). Rancangan fase pencarian tiga titik tertinggi dapat dilihat pada Gambar 3.16 (Lampiran L11).

2) Fase Pencarian Titik Tertinggi Pertama

Fase pencarian Titik Tertinggi pertama dilakukan dengan mencari nilai maksimum dari hasil perhitungan autokorelasi (variabel temp4) yang kemudian ditampung dalam variabel temp1. Nilai tersebut kemudian

disimpan dalam variabel BeatHistogram(c). Variabel c ditambah dengan

nilai 1. Indeks titik tertinggi pertama disimpan dalam variabel a. Gambar 3.17 menunjukkan puncak tertinggi pertama.

Gambar 3.17 Puncak Tertinggi Pertama

Rancangan fase pencarian titik tertinggi pertama dapat dilihat pada Gambar 3.18 (Lampiran L12).

3) Fase Pencarian Titik Terendah Sebelah Kiri Titik Tertinggi Pertama

Titik Terendah di sebelah kiri titik tertinggi pertama dilakukan jika titik tertinggi pertama tidak terletak pada indeks 0 / tidak terletak pada bagian paling kiri gelombang tersebut. Titik terendah dicari dengan membandingkan nilai delta1 dan delta2, dimana delta2 adalah selisih

ketinggian gelombang pada indeks a (titik tertinggi pertama) dan pada

indeks j, dimana j = a-1 dan delta1 adalah selisih ketinggian gelombang

pada indeks a dengan indeks j-1. Gambar 3.19 mengilustrasikan hal

tersebut.

Titik tertinggi 1

Titik terendah sebelah kiri titik tertinggi 1

Titik terendah sebelah kanan titik tertinggi 1

Gambar 3.19 Pencarian Titik Terendah Sebelah Kiri Dengan Membandingkan Selisih Ketinggian Gelombang

Jika nilai delta1 lebih besar dari nilai delta2 maka pencarian ke kiri terus dilakukan. Pencarian dihentikan jika nilai delta1 sudah lebih kecil dari delta2 atau pencarian sudah mencapai batas gelombang paling kiri (indeks ke-0). Rancangan fase titik terendah sebelah kiri tertinggi pertama dapat dilihat pada Gambar 3.20 (Lampiran L13).

4) Fase Pencarian Titik Terendah Sebelah Kanan Titik Tertinggi

Pertama

Pencarian titik terendah disebelah kanan titik tertinggi pertama dilakukan jika titik tertinggi pertama tidak terletak pada indeks ke-47 (tidak terletak pada bagian paling kanan gelombang tersebut). Titik terendah dicari dengan membandingkan nilai delta1 and delta2, dimana

delta2 adalah selisih ketinggian gelombang pada indeks a (titik tertinggi

pertama) dan pada indeks j, dimana j = +1 dan delta1 selisih ketinggian

gelombang pada indeks a dengan indeks j+1. Gambar 3.21 ini

a j=a-1

delta1 delta2

mengilustrasikan fase pencarian titik terendah sebelah kanan titik tertinggi pertama.

Gambar 3.21 Pencarian Titik Terendah Sebelah Kanan Dengan Membandingkan Selisih Ketinggian Gelombang

Jika nilai delta1 lebih besar dari nilai delta2 maka pencarian ke kanan terus dilakukan. Pencarian dihentikan jika nilai delta1 sudah lebih kecil delta2 atau pencarian sudah mencapai batas gelombang paling kanan (indeks k3-47). Rancangan fase pencarian titik terendah sebelah kanan titik tertinggi pertama dapat dilihat pada Gambar 3.22 (Lampiran L14).

5) Fase Pencarian Titik Tertinggi Kedua

Titik tertinggi dicari dengan “melompati” puncak tertinggi pertama, yaitu dengan mencari nilai tertinggi pada bagian kiri dan kanan puncak tertinggi pertama seperti ditunjukkan oleh Gambar 3.23.

a

j=a+1

j+1

delta2

Gambar 3.23 Area Pencarian Titik Tertinggi Kedua

Pencarian dihentikan jika telah diperoleh nilai tertinggi kedua yang ditampung dalam variabel temp2, yang kemudian dalam variabel

BeatHistogram(c). Variabel c ditambah dengan nilai 1. Indeks tertinggi

kedua disimpan pada variabel b. Rancangan fase pencarian titik tertinggi

kedua dapat dilihat pada Gambar 3.24 (Lampiran L15).

6) Fase Pencarian Titik Terendah Sebelah Kiri Titik Tertinggi Kedua

Algoritma pencarian titik terendah sebelah kiri dari puncak tertinggi kedua pada dasarnya sama dengan pencarian titik terendah kiri pada puncak tertinggi pertama, yaitu dengan membandingkan nilai delta1 dengan delta2. Perbedaannya terletak pada tambahan kondisi penghentian pencarian yaitu jika pencarian sampai pada posisi lompat4, yaitu titik terendah sebelah kanan titik tertinggi pertama, seperti diiliustrasikan pada Gambar 3.25.

Gambar 3.25 Pencarian Titik Terendah Sebelah Kiri Puncak Tertinggi Kedua Mencapai Titik Terendah Kanan Puncak Tertinggi

Pertama

Rancangan fase pencarian titik terendah sebelah kiri tertinggi kedua dapat dilihat pada Gambar 3.26 (Lampiran L16).

7) Fase Pencarian Titik Terendah Sebelah Kanan Titik Tertinggi Kedua

Algoritma pencarian titik terendah sebelah kanan dari puncak tertinggi kedua pada dasarnya sama dengan pencarian titik terendah kanan pada puncak tertinggi pertama, yaitu dengan membandingkan nilai delta1 dengan delta2. Perbedaannya terletak pada tambahan kondisi penghentian pencarian yaitu jika pencarian sampai pada posisi lompat3, yaitu titik terendah sebelah kiri titik tertinggi pertama, seperti diiliustrasikan pada Gambar 3.27.

puncak tertinggi 1

titik tertinggi 2

Gambar 3.27 Pencarian Titik Terendah Sebelah Kanan Puncak Tertinggi Kedua Mencapai Titik Terendah Kiri Puncak Tertinggi Pertama

Rancangan fase pencarian titik terendah sebelah kanan tertinggi kedua dijelaskan pada Gambar 3.28 (Lampiran L17).

8) Fase Pencarian Titik Tertinggi Ketiga

Pencarian titik tertinggi dilakukan dari indeks ke-0 tanpa mengikutsertakan area puncak tertinggi pertama dan kedua. Pencarian dihentikan jika diperoleh titik tertinggi ketiga.

Rancangan fase pencarian tertinggi ketiga diilustrasikan oleh Gambar 3.29 (Lampiran L18).

9) Fase Normalisasi 120 Beat Histogram

Normalisasi terhadap 120 nilai Beat Histogram dilakukan supaya nilai Beat Histogram berada antara rentang -1 dan 1.

titik tertinggi 2

puncak tertinggi 1

Proses normalisasi ini diilustrasikan pada Gambar 3.30 (Lampiran L19).

j. Fase Feature Calculation

Fase Feature Calculation ini bertujuan untuk menghitung enam dimensi fitur yang mencakup amplitudo relatif (amplitudo dibagi jumlah amplitudo) dari puncak tertinggi pertama dan kedua dari Beat Histogram, rasio amplitudo dari puncak tertinggi kedua dibagi dengan ampiltudo puncak tertinggi pertama, periode puncak tertinggi pertama dan kedua dalam BPM (Beat Per Minute) yang mengindikasikan kecepatan lagu, serta jumlah nilai histogram yang mengindikasikan kekuatan bit lagu. Rancangan fase Feature Calculation diilustrasikan oleh Gambar 3.31, 3.32, 3.33, dan 3.34 (Lampiran L20-L23).

Dokumen terkait