• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem (systems analysis) adalah sebuah teknik pemecahan masalah dengan menguraikan sistem menjadi beberapa komponen dengan tujuan untuk mempelajari kinerja masing-masing komponen tersebut dalam mencapai tujuan sistem. Tahap analisis sistem dilakukan sebelum tahap perancangan sistem. Tahap ini merupakan tahap yang sangat penting dan kritis, karena kesalahan yang terjadi pada tahap ini dapat menyebabkan kesalahan pada tahap-tahap berikutnya.

Analisis sistem memiliki 3 tahap untuk menguraikan pendekatan terhadap proses pengembangan system, yaitu analisis masalah, analisis kebutuhan, dan analisis proses.

3.1.1. Analisis Masalah

Pada tahap analisis masalah akan dihasilkan deskripsi penyebab dari masalah yang akan diselesaikan oleh sistem. Masalah-masalah yang diperoleh tersebut kemudian digambarkan dalam sebuah diagram yang dikenal dengan sebutan Diagram Ishikawa atau Diagram Tulang Ikan (Fishbone Diagram). Diagram Ishikawa adalah diagram yang menunjukkan penyebab-penyebab dari sebuah kejadian spesifik. Diagram Ishikawa digunakan untuk membantu mengidentifikasi faktor-faktor yang signifikan memberi efek terhadap suatu kejadian.

Permasalahan yang akan diangkat dalam penelitian ini, yaitu bagaimana mengekstrak fingerprint sinyal suara lagu agar hasil identifikasi lagu lebih akurat digambarkan dalam Diagram Ishikawa seperti yang terlihat pada Gambar 3.1.

Gambar 3.1. Diagram Ishikawa

Gambar diagram di atas dibagi menjadi 2 (dua) bagian, yakni head dan bone.

Head biasanya selalu terletak disebelah kanan. Di bagian head dituliskan even yang dipengaruhi oleh penyebab-penyebab yang nantinya dituliskan di bagian bone. Bone terdiri dari 4 (empat) aspek, yakni material, metode, manusia, dan mesin. Material adalah semua hal yang diperlukan untuk menjalankan sistem seperti koleksi lagu referensi dalam format MP3, dan lagu query dalam format WAV. Metode adalah bagaimana proses dilakukan dan kebutuhan yang spesifik dari proses, yaitu ektraksi fingerprint menggunakan algoritma Short Time Fourier Transform. Aspek manusia adalah peran manusia dalam penggunaan sistem, yaitu menentukan lagu referensi dan menentukan lagu query. Mesin adalah semua hal yang dilakukan oleh sistem guna memberikan solusi permasalahan, yaitu transformasi representasi sinyal lagu dari domain waktu ke domain waktu-frekuensi, ektraksi fingerprint, matching atau pencocokan fingerprint, dan menampilkan hasil identifikasi lagu.

3.1.2. Analisis Kebutuhan

Analisis kebutuhan mencakup kebutuhan atau kondisi yang harus dipenuhi dalam suatu sistem. Analisis kebutuhan terbagi menjadi 2 (dua) bagian, yakni kebutuhan fungsional dan kebutuhan non-fungsional.

3.1.2.1. Kebutuhan Fungsional

Kebutuhan fungsional adalah kebutuhan yang berisi proses-proses apa saja yang nantinya dilakukan oleh sistem, mencakup bagaimana reaksi sistem pada kondisi tertentu. Kebutuhan fungsional sistem identifikasi lagu adalah:

1. Mengidentifikasi lagu yang sedang diputar di sekitar pengguna.

Sistem mampu mengenali judul dan penyanyi sebuah lagu melalui rekaman 2 detik lagu tersebut. Sistem mengenali lagu dengan membandingkan fingerprint (sidik jari) dari lagu query dengan fingerprint dari semua lagu referensi yang ada di dalam basis data.

2. Menyimpan dan menampilkan history yaitu daftar lagu yang berhasil teridentifikasi dan tanggal identifikasi.

3. Menerima input berupa lagu-lagu yang akan dijadikan sebagai referensi.

3.1.2.2. Kebutuhan Non-fungsional

Kebutuhan non-fungsional adalah kebutuhan yang menitikberatkan pada properti perilaku yang dimiliki oleh sistem. Kebutuhan non-fungsional sistem identifikasi lagu adalah sebagai berikut:

1. User Friendly

Sistem memiliki rancangan antar muka yang mudah dipelajari dan digunakan.

2. Robust

Sistem mampu mengidentifikasi rekaman lagu yang terdegradasi oleh derau.

3. Granularity

Sistem identifikasi lagu mampu mengenali query berupa rekaman beberapa detik lagu, baik rekaman di bagian awal, pertengahan, maupun di bagian akhir lagu.

4. Precision

False positive atau kesalahan dalam mengidentifikasi lagu harus sedikit.

5. Scalability

Kinerja sistem dalam melakukan pencocokan lagu tidak tergantung terhadap ukuran basis data atau pencocokan lagu dilakukan dalam waktu konstan yaitu O(1), sehingga sistem mudah untuk dikembangkan.

6. Specificity

Sistem identifikasi lagu hanya dirancang untuk mengidentifikasi lagu yang terdapat di dalam basis data.

3.1.3. Analisis Proses

Sistem identifikasi lagu memiliki 2 (dua) tahapan proses, yaitu tahap offline dan tahap online. Pada tahap offline, fingerprint (sidik jari) dari lagu-lagu referensi diekstraksi dan disimpan ke dalam basis data. Pada tahap online, sistem disuguhkan dengan query berupa rekaman potongan lagu yang tidak dikenal. Fingerprint dari lagu query tersebut kemudian diekstraksi dan dikirim ke server untuk selanjutnya dilakukan proses matching (pencocokan) dengan fingerprint semua lagu referensi. Diagram blok keseluruhan proses dalam sistem identifikasi lagu dapat dilihat pada Gambar 3.2.

Gambar 3.2. Proses identifikasi lagu.

3.1.3.1. Pre-processing

Pre-processing adalah proses pengolahan data masukkan sebelum data tersebut melalui proses utama sistem. Pre-processing bertujuan untuk memperoleh data yang sesuai dengan kebutuhan proses utama sistem.

Pada tahap pre-processing untuk lagu referensi, dilakukan konversi format lagu referensi dari MP3 menjadi WAV. Selanjutnya dilakukan proses downmixing, yaitu mengubah channel dari stereo ke mono. Setelah proses downmixing, selanjutnya dilakukan proses downsampling atau memperkecil samplerate lagu referensi dari 44100Hz menjadi 8000 Hz. Dengan memperkecil samplerate menjadi 8000Hz, lagu referensi hanya mengandung informasi frekuensi dari 0Hz sampai 4000Hz, dimana frekuensi-frekuensi antara 0Hz dan 4000Hz biasanya merupakan frekuensi-frekuensi dengan komponen terkuat atau memiliki magnitudo terbesar pada sinyal suara lagu.

Downmixing dan downsampling berfungsi untuk memperkecil ukuran file lagu referensi sehingga dapat mempercepat proses selanjutnya.

Pada tahap pre-processing untuk lagu query dilakukan proses sampling yaitu mengubah sinyal analog lagu menjadi sinyal digital melalui proses perekaman lagu.

Lagu query direkam dengan format WAV mono, 16 bit dengan samplerate 8000Hz.

3.1.3.2. Short Time Fourier Transform

Pada proses Short Time Fourier Transform (STFT), dilakukan transformasi representasi sinyal suara lagu dari domain waktu ke domain waktu-frekuensi. Short Time Fourier Transform terdiri dari 3 (tiga) tahap, yaitu :

1. Frame Blocking

Pada tahap frame blocking dilakukan pembagian sinyal suara lagu menjadi beberapa frame yang saling tumpang tindih (overlap). Setiap frame terdiri dari potongan sinyal yang komponen frekuensinya dianggap tetap (sinyal stasioner).

Berdasarkan penelitian sebelumnya komponen frekuensi sinyal berubah setiap 0.128 detik, artinya komponen frekuensi sinyal tidak berubah atau tetap selama 0.128 detik. Sehingga durasi untuk setiap potongan sinyal (frame) yang baik adalah 0.128 detik. Banyak sample untuk setiap frame tergantung kepada durasi frame dan samplerate dari sinyal. Pada penelitian ini samplerate yang digunakan adalah 8000Hz, sehingga banyak sample untuk setiap frame adalah:

(3.1)

Setiap frame saling overlap dengan panjang overlap lebih kecil dari pada banyak sample setiap frame ( ). Panjang overlap yang digunakan dalam penelitian ini adalah , yaitu 512. Fungsi dari overlap adalah untuk mencegah hilangnya informasi komponen frekuensi pada bagian akhir frame sebelumnya.

2. Windowing

Tahap selanjutnya adalah tahap windowing, yaitu mengalikan setiap sample didalam frame dengan sebuah fungsi window untuk mengurangi efek diskontinuitas atau kesenjangan pada bagian awal dan akhir setiap frame. Fungsi window yang digunakan dalam penelitian ini adalah Hamming Window.

3. Fast Fourier Transform

Tahap terakhir adalah melakukan transformasi representasi setiap potongan sinyal (frame) dari domain waktu menjadi domain frekuensi dengan algoritma Fast Fourier Transform (FFT). FFT merupakan pengembangan dari algoritma Discrete Fourier Transfrom (DFT). Dengan menggunakan algoritma FFT, jumlah operasi aritmatika DTF sebanyak O( ) dapat dikurangi menjadi O( ). Misalnya =1024, maka dengan menggunakan algoritma DFT dibutuhkan operasi aritmatika sebanyak 1.048.576, sedangkan dengan menggunakan algoritma FFT hanya dibutuhkan operasi aritmatika sebanyak 10.240.

Terdapat beberapa macam pendekatan algortima FFT, pendekatan yang paling banyak digunakan adalah radix 2 Decimation in Time yang dikemukakan oleh J.W. Cooley dan John Tukey. Prinsip algoritma radix 2 Decimation adalah divide dan conquer. Pada tahap divide sinyal input x(n) dipisakan menjadi dua bagian yaitu x dengan indeks n genap ( ) dan x dengan indeks n ganjil ( ).

Tahap divide dapat dilakukan dengan prosedur bit-reverse atau membalikkan bit dari indeks n, misal potongan sinyal ( ) dengan banyak sample N = 4 sebagai berikut:

( ) * +

Jumlah bit yang akan dibalikkan adalah bit, dimana . Jadi jumlah bit yang akan dibalikkan adalah . Hasil dari prosedur bit-reverse indeks n dengan banyak sample N = 4 dapat dilihat pada Tabel 3.1.

Tabel 3.1. Bit-reverse indeks n dengan N= 4 ( ) Bit Bit-reverse ( )

2 0 00 00 0 2

2 1 01 10 2 4

4 2 10 01 1 2

6 3 11 11 3 6

Setelah tahap divide, maka tahap selanjutnya adalah tahap conquer dengan menggunakan persamaan (3.2) dan persamaan (3.3)

( ) ( ) ( ) (3.2) ( ) ( ) ( ) (3.3) Untuk mempermudah perhitungan, tahap divide dan conquer dapat gambarkan dengan diagram butterfly. Berdasarkan contoh sebelumnya, untuk menghitungan FFT sinyal ( ) dapat digunakan diagram butterfly seperti yang terlihat pada Gambar 3.3.

Gambar 3.3. Diagram Butterfly FFT untuk N = 4

Dengan menggunakan sifat periodisitas twidle factor, yaitu , maka . Nilai twidle factor dapat dihitung dengan menggunakan Persamaan (3.4) atau Persamaan (3.5).

(3.4) Persamaan(3.2) dan Persamaan (3.3) sebagai berikut:

- ( ) ( ) ( ) ( ) - ( ) ( ) ( ) ( ) - ( ) ( ) ( ) ( ) - ( ) ( ) ( ) ( )

Langkah terakhir adalah melakukan perhitungan hasil DFT 4 (empat) titik sebagai berikut : nilai magnitudo dari masing-masing bin frekuensi dapat dilakukan dengan menghitung nilai absolut dari semua bilangan kompleks seperti yang terlihat pada Tabel 3.2.

Tabel 3.2. Magnitudo frekuensi

Bin frekuensi mewakili frekuensi pada rentang tertentu. Panjang setiap rentang disebut sebagai resolusi frekuensi (fr). Resolusi frekuensi setiap bin frekuensi tergantung kepada jumlah sample ( ) dan samplerate ( ) dari sinyal masukkan.

Untuk mendapatkan resolusi frekuensi dalam setiap bin frekuensi dapat digunakan persamaan berikut ini.

(3.6)

3.1.3.3. Ekstraksi fingerprint

Proses ektraksi fingerprint terdiri dari 2(dua) tahap ,yaitu : 1. Ektrasksi peak

Pada tahap ekstraksi peak, peak frequency atau maksimum lokal diekstraksi. Peak frequency adalah bin frekuensi yang memiliki magnitudo terbesar dalam rentang bin frekuensi tertentu. Dalam penelitian ini rentang bin frekuensi yang digunakan adalah 40-80, 80-120, 120-180, dan 180-300.

2. Fingerprint modeling

Fingprint modeling adalah tahap pembentukan fingerprint sinyal suara lagu.

Sebuah fingerprint lagu dibentuk dari beberapa pasangan peak frequency yang disebut juga sebagai landmark. Fingerprint setiap lagu disimpan dalam bentuk tabel hash.

3.1.3.4. Matching

Pada tahap matching(pencocokan) dilakukan pencarian terhadap sebuah lagu referensi yang memiliki fingerprint dengan tingkat kemiripan paling tinggi dengan fingerprint

lagu query. Tingkat kemiripan dapat dihitung dari jumlah landmark lagu referensi yang cocok dengan landmark lagu query. Apabila jumlah landmark yang cocok sama atau lebih dari threshold yang telah ditentukan maka lagu referensi tersebut merupakan lagu yang dicari. Dalam penelitian ini threshold yang digunakan adalah 15.

3.2. Perancangan Sistem

Dokumen terkait