IMPLEMENTASI DAN PENGUJIAN SISTEM
4.2. Pengujian Sistem
Pengujian sistem merupakan tahapan lanjutan setelah implementasi algoritma STFT (Short Time Fourier Transform) ke dalam sistem identifikasi lagu. Pengujian sistem dilakukan dengan tujuan untuk membuktikan apakah sistem yang dibangun sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya. Selain itu, tahap pengujian sistem juga dilakukan untuk menguji apakah sistem yang dibangun berjalan dengan baik atau tidak. Fokus pengujian sistem pada penelitian ini adalah mengukur akurasi identifikasi lagu dengan metode Audio Fingerprinting menggunakan algoritma STFT (Short Time Fourier Transform). Parameter yang digunakan untuk menguji akurasi identifikasi lagu adalah precision dan recall.
Sistem identifikasi lagu akan diuji dengan query berupa rekaman 2 detik lagu yang direkam menggunakan mikrofon telepon seluler di tempat dengan suara latar kendaraan bermotor. Dalam penelitian ini digunakan 2 macam lagu query, yaitu identifiable query (query lagu yang terdapat di dalam basis data) dan unidentifiable query (query lagu yang tidak terdapat di dalam basis data, termasuk versi cover dari lagu referensi yang ada di dalam basis data).
4.2.1. Insert Referensi
Pada penelitian ini, koleksi lagu yang dijadikan sebagai referensi terdiri dari 20 lagu dengan format MP3. Masing-masing lagu referensi memiliki durasi 19-21 detik
Informasi koleksi lagu referensi disimpan ke dalam dua tabel, yaitu tabel song_catalog dan tabel song_fingerprints. Tabel song_catalog berisi informasi id, judul dan nama penyanyi masing-masing lagu referensi seperti yang terlihat pada Gambar 4.11.
Gambar 4.11. Tabel song_catalog
Tabel song_fingerprints berisi informasi fingerprints (sidik jari) audio dari semua lagu referensi. Fingerprint dari setiap lagu terdiri dari beberapa landmark. Masing-masing landmark terdiri dari hash dan value. Sebagai contoh 10 (sepuluh) hash dan value dari lagu Kiroro - Mother dengan id lagu 8 yang tersimpan di dalam tabel song_fingerprints dapat dilihat pada Gambar 4.12.
Gambar 4.12. Hash dan value dari fingerprint (sidik jari) lagu Kiroro - Mother.
4.2.2. Peluncuran Server
Pada saat peluncuran server proses pertama yang dilakukan adalah, fetching (mengambil) setiap data landmark (hash dan value) lagu referensi di dalam tabel song_fingerprints dan menyimpan data tersebut dalam bentuk tabel hash dengan rantai terpisah (open hashing). Dengan menyimpan data landmark dalam bentuk tabel hash data tersebut bisa digunakan berulang kali, sehingga proses fetching data dari basis
data yang memakan waktu lama tidak perlu dilakukan berulang kali untuk setiap permintaan (request) identifikasi lagu yang masuk ke server. Selain itu, seperti yang telah dijelaskan pada BAB 2, dengan menyimpan data setiap landmark dalam bentuk tabel hash, proses lookup atau pencarian setiap hash dari landmark lagu query yang cocok dengan hash lagu referensi dapat dilakukan dalam waktu konstan.
4.2.3. Identifikasi Lagu
Dalam penelitian ini lagu yang akan dikenali adalah Kiroro –Mother. Ketika pengguna menekan tombol identify pada aplikasi android, maka aplikasi android akan mulai merekam lagu yang sedang diputar di sekitar pengguna selama 2 detik. Hasil rekaman lagu berupa sample yang mewakili amplitudo dapat dilihat pada Gambar 4.13.
Gambar 4.13. Sample lagu rekaman Kiroro - Mother.
Setelah rekaman selesai, selanjutnya rekaman 2 detik lagu tersebut akan ditransformasikan dari domain waktu menjadi domain waktu-frekuensi menggunakan algoritma STFT (Short Time Fourier Transform). Proses pertama yang dilakukan dalam STFT adalah frame blocking dan mengalikan setiap sample dengan fungsi Hamming Window. Sebagai contoh, pada Gambar 4.13 sample ke-99 dari 1024 sample ( ) yaitu ( ) dikalikan dengan fungsi window sebagai berikut :
( ) ( ) ( )
( ) ( ( ))
( ) ( (
))
( ) ( ( )) ( ) ( )
( )
Hasil pengalian sample ke-99 dengan funsi Hamming Window dapat dilihat pada Gambar 4.14.
Gambar 4.14. Hasil pengalian sample dengan fungsi Hamming Window.
Proses selanjutnya adalah mencari frekuensi dari rekaman lagu menggunakan Fast Fourier Transform. Hasil FFT terhadap frame pertama (time = 0) yang terdiri dari frekuensi dan magnitudonya dapat dilihat pada Gambar 4.15.
Gambar 4.15. Hasil Fast Fourier Transform sample lagu Kiroro-Mother.
Setelah proses STFT dilakukan maka proses selanjutnya adalah ektraksi peak frequency atau frekuensi yang memiliki magnitudo yang paling besar di antara frekuensi-frekuensi lainnya yang berada pada rentang frekuensi yang sama. Pada penelitian ini, rentang frekuensi yang digunakan adalah 40-80, 80-120, 120-180, dan 180-300. Pada Gambar 4.15 dapat dilihat bahwa frekuensi dengan magnitudo paling besar di antara frekuensi- frekuensi pada rentang 40-80 adalah 43Hz. Peak frequency rekaman lagu Kiroro-Mother dapat dilihat pada Gambar 4.16.
Gambar 4.16. Peak frequency rekaman lagu Kiroro-Mother.
Setelah peak frequency didapatkan maka langkah selanjutnya adalah setiap peak frequency dipasangkan dengan peak frequency lainnya menjadi sebuah landmark Dalam penelitian ini setiap peak frequency (anchor point) dipasangkan dengan 3 peak frequency (points) lainnya yang terletak pada sebuah target zone. Point pertama pada sebuah target zone adalah peak frequency ke-5 setelah anchor point seperti yang terlihat pada Gambar 4.16. Sebagai contoh, frekuensi 43Hz akan dipasangkan dengan frekuensi pertama yang terdapat di dalam target zone yaitu 106Hz untuk membentuk sebuah landmark. Setiap landmark akan disimpan dalam format hash table yang terdiri dari pasangan hash dan value sebagai berikut:
Keterangan
( ) ( )
( ) | | Maka,
| |
Kumpulan seluruh landmark membentuk sebuah fingerprint (sidik jari) dari rekaman lagu. Fingeprint dari rekaman lagu Kiroro-Mother dapat dilihat pada Gambar 4.17.
Target zone
Gambar 4.17. Fingerprint rekaman lagu Kiroro-Mother.
Fingerprint rekaman lagu Kiroro-Mother selanjutnya dikirim ke server. Selanjutnya server melakukan proses matching (pencocokan) fingerprint rekaman lagu tersebut dengan fingerprint semua lagu referensi. Setelah server berhasil menemukan lagu referensi yang cocok dengan rekaman lagu query, maka server akan mengirim judul dan nama penyanyi lagu tersebut ke aplikasi android identifikasi lagu untuk ditampilkan pada halaman identify seperti yang terlihat pada Error! Reference ource not found.18.
Gambar 4.18. Sistem identifikasi lagu berhasil mengidentifikasi lagu
Ketika lagu query tidak terdapat di dalam basis data, maka ditampilkan keterangan
“No songs found !” (“Tidak ada lagu yang ditemukan!”) seperti yang terlihat pada Error! Reference source not found.19.
Gambar 4.19. Hasil identifikasi lagu yang tidak terdapat di dalam basis data.
4.2.4. Hasil Pengujian Identifiable Query
Hasil pengujian menggunakan 15 lagu query yang ada di dalam basis data (identifiable query) dapat dilihat pada Tabel 4.1.
Tabel 4.1. Hasil pengujian identifiable query
No Query Hasil Ket
1 Alumo - Spirit of Success Alumo - Spirit of Success TP
2 Bach - G Minor Bach - G Minor TP
3 Chawki - Time Of Our Lives Chawki - Time Of Our Lives TP 4 Colin Hay - To Have and To Hold Colin Hay - To Have and To Hold TP 5 Harlem Yu - Qing Fei De Yi Harlem Yu - Qing Fei De Yi TP
6 Ikson - Alive Ikson - Alive TP
7 Kokia - Tatta Hitotsu No Omoi Kokia - Tatta Hitotsu No Omoi TP 8 LoL - Legends Never Die LoL - Legends Never Die TP
9 Maher Zain - For The Rest Of My
11 Nasheed - Amantu Billah Nasheed - Amantu Billah TP 12 Pachelbel - Canon In D Major Pachelbel - Canon In D Major TP 13 Queen-Bohemian Rhapsody Queen-Bohemian Rhapsody TP 14 Son Lux - Lost It To Trying Son Lux - Lost It To Trying TP 15 Summertime - Nicolai Heidlas Summertime - Nicolai Heidlas TP
4.2.5. Hasil Pengujian Unidentifiable Query
Hasil pengujian menggunakan 15 lagu query yang tidak ada di dalam basis data (unidentifiable query) yang dapat dilihat pada Tabel 4.2.
Tabel 4.2. Hasil pengujian unidentifiable query
No Query Hasil Ket
14 Bohemian Rhapsody - Queen (Cover) Connie Talbot
No Songs Found TN
15 Jay Chou - Love Confessin (Cover by Zhou Er Ke)
No Songs Found TN
4.2.6. Analisis Hasil Pengujian Sistem
Parameter analisis hasil pengujian sistem dalam menilai akurasi identifikasi lagu yang digunakan dalam penelitian ini adalah precision dan specificity. Precision adalah tingkat ketepatan jawaban yang diminta pengguna dengan jawaban yang diberikan oleh sistem. Specificity adalah tingkat ketepatan sistem dalam melaporkan tidak adanya jawaban yang dicari di dalam basis data.
Pada Tabel 4.1 dapat dilihat bahwa dari 15 query lagu yang ada di dalam basis data, terdapat 15 TP (true positive) atau kejadian lagu query berhasil teridentifikasi dengan benar. Sedangkan FP (false positive) atau kesalahaan dalam identifikasi lagu tidak ada. Pada Tabel 4.2 dapat dilihat bahwa dari 15 query lagu yang tidak ada di dalam basis data, terdapat 13 TN (true negative) atau kejadian lagu query tidak teridentifikasi karena tidak terdapat di dalam basis data. Sedangkan jumlah FPs (false positive dalam konteks specificity) atau jumlah kejadian sistem mengidentifikasi query lagu yang seharusnya tidak bisa teridentifikasi karena tidak ada di dalam basis data adalah 2.
Berdasarkan data pada Tabel 4.1 dan Tabel 4.2 dapat diukur tingkat akurasi identifikasi lagu berdasarkan precision dan specificity. Hasil pengukuran tingkat akurasi identifikasi lagu dapat dilihat pada Tabel 4.3.
Tabel 4.3. Tingkat akurasi identifikasi lagu berdasarkan precision dan specificity Total
BAB 5