ANALISIS DAN IMPLEMENTASI SONG RECOGNITION MENGGUNAKAN ALGORITMA FAST FOURIER TRANSFORM
SKRIPSI
FATAH ABDELLA SUTARA 111421047
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
Universitas Sumatera Utara
ANALISIS DAN IMPLEMENTASI SONG RECOGNITION MENGGUNAKAN ALGORITMA FAST FOURIER TRANSFORM
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
FATAH ABDELLA SUTARA 111421047
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
Universitas Sumatera Utara
PERSETUJUAN
Judul
: ANALISIS DAN IMPLEMENTASI SONG RECOGNITION
MENGGUNAKAN
ALGORITMA
FAST
FOURIER TRANSFORM Kategori
: SKRIPSI
Nama
: FATAH ABDELLA SUTARA
Nomor Induk Mahasiswa : 111421047 Program Studi
: EKSTENSI S1 ILMU KOMPUTER
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan,
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Dian Wirdasari, S.Si, M.Kom NIP. 19820923 201012 2 002
Drs. Marihat Situmorang, M.Kom NIP. 19631214 198903 1 001
Diketahui/disetujui oleh Program Studi Ekstensi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
Universitas Sumatera Utara
PERNYATAAN
ANALISIS DAN IMPLEMENTASI SONG RECOGNITION MENGGUNAKAN ALGORITMA FAST FOURIER TRANSFORM
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan.
Oktober 2013
Fatah Abdella Sutara 111421047
Universitas Sumatera Utara
PENGHARGAAN
Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya dalam hidup. Sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada: 1. Bapak Drs. Marihat Situmorang, M.Kom dan Ibu Dian Wirdasari, S.Si, M.Kom sebagai Dosen Pembimbing yang telah memberikan bimbingan, saran, masukkan kepada penulis untuk menyempurnakan kajian ini.
2. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara dan sebagai Dosen Pembanding.
3. Bapak Drs. Agus Salim Harahap, M.Si sebagai Dosen Pembanding.
4. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi serta seluruh dosen dan pegawai Program Studi Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara.
5. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.
6. Seluruh pegawai di lingkungan Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
Universitas Sumatera Utara
7. Teristimewa kepada orang tua penulis, ayahanda Frans Yusra Eddizon Sutara dan Ibunda Seniwati Margolang atas do’a dan kasih sayang yang tidak pernah putus, kepada adinda saya Farah Franyenisari Sutara dan adinda Dewi Permata Suri atas dorongan semangat yang diberikan kepada penulis.
8. Teman-teman seangkatan Ekstensi S1 Ilmu Komputer tahun 2011 yang samasama berjuang meraih gelar Sarjana.
Semoga Allah SWT memberikan limpahan karunia semua pihak yang membantu penulis dalam menyelesaikan skripsi ini. Akhirnya penulis berharap bahwa skripsi ini bermanfaat terutama kepada penulis maupun para pembaca serta semua pihak akademisi yang tertarik mengembangkannya. Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu penulis menerima saran dan kritik demi kesempurnaan skripsi ini sehingga bermanfaat bagi semua pihak.
Medan, Oktober 2013 Penulis
Fatah Abdella Sutara
Universitas Sumatera Utara
ABSTRAK
Pada saat sedang mendengarkan lagu di sebuah tempat, terkadang timbul keinginan untuk mengetahui penyanyi dan judul lagu yang sedang diputar. Aplikasi Song Recognition
dapat
mengetahui
penyanyi
dan
judul
lagu
cukup
dengan
memperdengarkannya. Aplikasi Song Recognition mengenal lagu dengan memproses lagu dalam sinyal domain frekuensi, oleh karena itu lagu yang berupa sinyal domain waktu ditransformasikan ke dalam sinyal domain frekuensi. Proses transformasi dilakukan menggunakan algoritma Fast Fourier Transform. Rekaman lagu berdurasi 10 detik yang telah ditransformasi, kemudian diolah untuk dibentuk menjadi hashhash. Hash-hash dicocokan dengan file indeks berisi hash-hash yang diberasal dari file lagu berformat .mp3. Aplikasi Song Recognition dirancang menggunakan bahasa pemrograman C#.
Kata Kunci: Lagu, Song Recognition, Fast Fourier Transform.
Universitas Sumatera Utara
ANALYSIS AND IMPLEMENTATION OF SONG RECOGNITION USING FAST FOURIER TRANSFORM ALGORITHM
ABSTRACT
At the time was listening to a song in a place, sometimes the desire to know the singer and the title of the song being played. Song Recognition Application can know the singer and song title simply by listening it. Song Recognition known song by process song in the frequency domain signal, therefore the song is a time domain signal is transformed into the frequency domain signal. The process of transformation is done using Fast Fourier Transform algorithm. Recording of the song in 10 seconds transformed then processed to make hashes. Hashes matching with an index file contains a hashes derived from the song file with .mp3 format. Song Recognition applications designed using the C # programming language.
Keywords: Songs, Song Recognition, Fast Fourier Transform.
Universitas Sumatera Utara
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abtract Daftar Isi Daftar Tabel Daftar Gambar
ii iii iv vi vii viii x xi
Bab 1 Pendahuluan 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penulisan
1 1 3 3 4 4 4 5
Bab 2 Landasan Teori 2.1 Audio 2.1.1 Audio Digital 2.1.2 Format File Audio 2.1.2.1 File WAV 2.1.2.1 File MP3 2.2 Song Recognition 2.2.1 Parameter Song Recognition 2.2.2 Rancangan Song Recognition 2.3 Sinyal Domain Waktu dan Sinyal Domain Frekuensi 2.4 Transformasi Fourier 2.4.1 Transformasi Fourier Diskrit 2.4.2 Fast Fourier Transform 2.5 Hasing
7 7 8 9 9 11 12 13 15 15 17 17 20 25
Bab 3 Analisis dan Perancangan 3.1 Analisis 3.1.1 Analisis Masalah 3.1.2 Deskripsi Umum Sistem 3.1.3 Analisis Pengolahan Sinyal Suara 3.1.3.1 Analisis Pre-Processing 3.1.3.2 Analisis Proses Fast Fourier Transform 3.1.3.3 Analisis Ektraksi Hash
27 27 27 28 28 29 32 34
Universitas Sumatera Utara
3.1.4 Analisis Pengenalan Lagu 3.2 Perancangan Sistem 3.2.1 Perancangan Data Flow Diagram (DFD) 3.2.1.1 Data Flow Diagram Level 0 3.2.1.2 Data Flow Diagram Level 1 3.2.1.3 Data Flow Diagram Level 2 3.2.2 Perancangan Flowchart 3.2.2.1 Flowchart Umum Sistem 3.2.2.2 Flowchart Sampling Suara 3.2.2.3 Flowchart Pengolahan Sinyal Suara 3.2.2.4 Flowchart Ekstraksi Hash 3.2.2.5 Flowchart Pengenalan Lagu 3.2.3 Perancangan Unified Modeling Language 3.2.3.1 Identifikasi Use Case Diagram 3.2.3.2 Use Case Buat File Indeks 3.2.3.3 Use Case Pengenalan Lagu 3.2.4 Perancangan Tampilan Antarmuka (Interface) 3.2.4.1 Rancangan Jendela Utama 3.2.4.2 Rancangan Jendela Buat Lagu ke Indeks 3.2.4.3 Rancangan Jendela Sisip Lagu ke Indeks 3.2.4.4 Rancangan Jendela Gabung File Indeks 3.2.4.5 Rancangan Jendela Pengenal Lagu 3.2.4.5 Rancangan Jendela Tentang
36 36 37 37 38 39 40 40 41 42 43 44 45 45 46 48 50 50 51 52 53 55 56
Bab 4 Implementasi Dan Pengujian 4.1 Implementasi 4.1.1 Tampilan Jendela Utama 4.1.2 Tampilan Jendela Buat Lagu ke Indeks 4.1.3 Tampilan Jendela Sisip Lagu ke Indeks 4.1.4 Tampilan Jendela Gabung File Indeks 4.1.5 Tampilan Jendela Pengenal Lagu 4.1.6 Tampilan Jendela Tentang 4.2 Pengujian 4.2.1 Proses Pembuatan File Indeks 4.2.2 Proses Penyisipan Lagu ke Dalam File Indeks 4.2.3 Proses Penggabungan File Indeks 4.2.4 Proses Pengenalan Lagu
57 57 57 58 58 59 60 60 61 61 63 65 67
Bab 5 Kesimpulan Dan Saran 5.1 Kesimpulan 5.2 Saran
71 71 72
Daftar Pustaka Lampiran A: Listing Program Lampiran B: Curriculum Vitae
Universitas Sumatera Utara
DAFTAR TABEL
Halaman 2.1 2.2 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 4.1
Field-field pada struktur format file WAV Pengurutan Pembalikan Bit Contoh perhitungan data sampel dari sinyal Contoh perhitungan konversi sinyal diskrit ke kode biner Contoh perhitungan DFT sinyal suara Konstruksi FFT 2 titik Contoh perhitungan FFT sinyal suara Rentang frekuensi magnitudo sinyal suara Spesifikasi proses DFD Level 1 Spesifikasi proses DFD Level 2 Dokumentasi naratif Use Case Buat File Indeks Dokumentasi naratif Use Case Pengenalan Lagu Hasil pengujian file terkompresi
11 22 31 32 33 33 34 35 39 40 46 48 70
Universitas Sumatera Utara
DAFTAR GAMBAR
Halaman 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
Ilustrasi proses suara analog ke digital dan sebaliknya Format file WAV Cara kerja umum aplikasi Song Recognition Gelombang sinus sinyal domain waktu Gelombang sinyal domain frekuensi Perbandingan jumlah perkalian kompleks DFT dengan FFT Diagram Alir FFT Contoh dekomposisi sinyal domain waktu yang digunakan di FFT FFT butterfly dasar untuk peruraian dalam waktu FFT butterfly dasar untuk peruraian dalam frekuensi FFT sintesis butterfly Proses aplikasi pengenalan lagu Alur pengolahan sinyal suara Konsep kerja ADC Input sinyal analog yang dikuantitasi Contoh butterfly pada FFT 4 titik DFD Level 0 DFD Level 1 DFD Level 2 Flowchart umum sistem Flowchart proses sampling suara Flowchart pengolahan sinyal suara Flowchart ekstraksi hash Flowchart pengenalan lagu Use case pengenalan lagu Activity Diagram Buat File Indeks Activity Diagram Pengenalan Lagu Rancangan jendela utama Rancangan Jendela Buat Lagu ke Indeks Rancangan Jendela Sisip Lagu ke Indeks Rancangan Jendela Gabung File Indeks Rancangan Jendela Pengenal Lagu Rancangan Jendela Tentang Tampilan jendela utama Tampilan jendela Buat Lagu ke Indeks Tampilan jendela Sisip Lagu ke Indeks Tampilan jendela Gabung File Indeks Tampilan jendela Pengenal Lagu Tampilan jendela Tentang Langkah pembuatan file indeks Jendela lokasi dan nama file indeks serta lokasi direktori lagu
8 10 15 16 16 20 21 22 24 24 25 28 29 29 31 34 37 38 39 40 41 42 43 44 46 47 49 50 51 52 54 55 56 57 58 59 59 60 60 61 62
Universitas Sumatera Utara
4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22
Proses pembuatan file indeks Pesan proses pembuatan file indeks telah selesai Hasil pembuatan file indeks Langkah penyisipan lagu ke dalam file indeks Jendela lokasi dan nama file indeks serta lokasi direktori lagu Proses penyisipan lagu ke dalam file indeks Pesan proses penyisipan lagu ke dalam file indeks telah selesai Langkah penggabungan file indeks Jendela lokasi dan nama file indeks serta lokasi hasil Proses penggabungan file indeks Pesan proses penggabungan file indeks telah selesai Langkah pengenalan lagu Jendela lokasi dan nama file indeks Hasil proses pengenalan lagu
62 63 63 64 64 65 65 66 66 67 67 68 68 69
Universitas Sumatera Utara