ANALISIS DAN IMPLEMENTASI SONG RECOGNITION MENGGUNAKAN ALGORITMA FAST FOURIER TRANSFORM SKRIPSI FATAH ABDELLA SUTARA 111421047
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
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
PERSETUJUAN
Judul : ANALISIS DAN IMPLEMENTASI SONG RECOG-
NITION 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 Drs. Marihat Situmorang, M.Kom NIP. 19820923 201012 2 002 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
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
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.
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 sama- sama 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
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 hash- hash. 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.
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.
DAFTAR ISI
25 Bab 3 Analisis dan Perancangan
12
2.2.1 Parameter Song Recognition
13
2.2.2 Rancangan Song Recognition
15
2.3 Sinyal Domain Waktu dan Sinyal Domain Frekuensi
15
2.4 Transformasi Fourier
17
2.4.1 Transformasi Fourier Diskrit
17
2.4.2 Fast Fourier Transform
20
2.5 Hasing
27
11
3.1 Analisis
27
3.1.1 Analisis Masalah
27
3.1.2 Deskripsi Umum Sistem
28
3.1.3 Analisis Pengolahan Sinyal Suara
28
3.1.3.1 Analisis Pre-Processing
29
3.1.3.2 Analisis Proses Fast Fourier Transform
32
3.1.3.3 Analisis Ektraksi Hash
34
2.2 Song Recognition
Halaman Persetujuan ii
Pernyataan iii
1.4 Tujuan Penelitian
Penghargaan iv
Abstrak vi
Abtract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Bab 1 Pendahuluan
1
1.1 Latar Belakang
1
1.2 Rumusan Masalah
3
1.3 Batasan Masalah
3
4
9
1.5 Manfaat Penelitian
4
1.6 Metode Penelitian
4
1.7 Sistematika Penulisan
5 Bab 2 Landasan Teori
7
2.1 Audio
7
2.1.1 Audio Digital
8
2.1.2 Format File Audio
9
2.1.2.1 File WAV
2.1.2.1 File MP3
3.1.4 Analisis Pengenalan Lagu
4.1.1 Tampilan Jendela Utama
4.1.4 Tampilan Jendela Gabung File Indeks
58
4.1.3 Tampilan Jendela Sisip Lagu ke Indeks
58
4.1.2 Tampilan Jendela Buat Lagu ke Indeks
57
57
4.1.5 Tampilan Jendela Pengenal Lagu
4.1 Implementasi
57
56 Bab 4 Implementasi Dan Pengujian
3.2.4.5 Rancangan Jendela Tentang
55
3.2.4.5 Rancangan Jendela Pengenal Lagu
53
59
60
52
65
5.2 Saran
71
5.1 Kesimpulan
71
67 Bab 5 Kesimpulan Dan Saran
4.2.4 Proses Pengenalan Lagu
4.2.3 Proses Penggabungan File Indeks
4.1.6 Tampilan Jendela Tentang
63
4.2.2 Proses Penyisipan Lagu ke Dalam File Indeks
61
4.2.1 Proses Pembuatan File Indeks
61
4.2 Pengujian
60
3.2.4.4 Rancangan Jendela Gabung File Indeks
3.2.4.3 Rancangan Jendela Sisip Lagu ke Indeks
36
3.2.1.3 Data Flow Diagram Level 2
3.2.2.2 Flowchart Sampling Suara
40
3.2.2.1 Flowchart Umum Sistem
40
3.2.2 Perancangan Flowchart
39
38
3.2.2.3 Flowchart Pengolahan Sinyal Suara
3.2.1.2 Data Flow Diagram Level 1
37
3.2.1.1 Data Flow Diagram Level 0
37
3.2.1 Perancangan Data Flow Diagram (DFD)
36
3.2 Perancangan Sistem
41
42
51
46
3.2.4.2 Rancangan Jendela Buat Lagu ke Indeks
50
3.2.4.1 Rancangan Jendela Utama
50
3.2.4 Perancangan Tampilan Antarmuka (Interface)
48
3.2.3.3 Use Case Pengenalan Lagu
3.2.3.2 Use Case Buat File Indeks
3.2.2.4 Flowchart Ekstraksi Hash
45
3.2.3.1 Identifikasi Use Case Diagram
45
3.2.3 Perancangan Unified Modeling Language
44
3.2.2.5 Flowchart Pengenalan Lagu
43
72 Daftar Pustaka Lampiran A: Listing Program Lampiran B: Curriculum Vitae
DAFTAR TABEL
34
4.1 Hasil pengujian file terkompresi
48
3.10 Dokumentasi naratif Use Case Pengenalan Lagu
46
3.9 Dokumentasi naratif Use Case Buat File Indeks
40
3.8 Spesifikasi proses DFD Level 2
39
3.7 Spesifikasi proses DFD Level 1
35
3.6 Rentang frekuensi magnitudo sinyal suara
3.5 Contoh perhitungan FFT sinyal suara
Halaman
33
3.4 Konstruksi FFT 2 titik
33
3.3 Contoh perhitungan DFT sinyal suara
32
3.2 Contoh perhitungan konversi sinyal diskrit ke kode biner
31
3.1 Contoh perhitungan data sampel dari sinyal
22
2.2 Pengurutan Pembalikan Bit
11
2.1 Field-field pada struktur format file WAV
70
DAFTAR GAMBAR
3.16 Activity Diagram Pengenalan Lagu
52
3.19 Rancangan Jendela Sisip Lagu ke Indeks
51
3.18 Rancangan Jendela Buat Lagu ke Indeks
50
3.17 Rancangan jendela utama
49
47
54
3.15 Activity Diagram Buat File Indeks
46
3.14 Use case pengenalan lagu
44
3.13 Flowchart pengenalan lagu
43
3.12 Flowchart ekstraksi hash
42
3.20 Rancangan Jendela Gabung File Indeks
3.21 Rancangan Jendela Pengenal Lagu
41
59
4.8 Jendela lokasi dan nama file indeks serta lokasi direktori lagu
61
4.7 Langkah pembuatan file indeks
60
4.6 Tampilan jendela Tentang
60
4.5 Tampilan jendela Pengenal Lagu
4.4 Tampilan jendela Gabung File Indeks
55
59
4.3 Tampilan jendela Sisip Lagu ke Indeks
58
4.2 Tampilan jendela Buat Lagu ke Indeks
57
4.1 Tampilan jendela utama
56
3.22 Rancangan Jendela Tentang
3.11 Flowchart pengolahan sinyal suara
3.10 Flowchart proses sampling suara
Halaman
16
2.9 FFT butterfly dasar untuk peruraian dalam waktu
22
2.8 Contoh dekomposisi sinyal domain waktu yang digunakan di FFT
21
2.7 Diagram Alir FFT
20
2.6 Perbandingan jumlah perkalian kompleks DFT dengan FFT
2.5 Gelombang sinyal domain frekuensi
2.10 FFT butterfly dasar untuk peruraian dalam frekuensi
16
2.4 Gelombang sinus sinyal domain waktu
15
2.3 Cara kerja umum aplikasi Song Recognition
10
2.2 Format file WAV
8
2.1 Ilustrasi proses suara analog ke digital dan sebaliknya
24
24
40
3.5 Contoh butterfly pada FFT 4 titik
3.9 Flowchart umum sistem
39
3.8 DFD Level 2
38
3.7 DFD Level 1
37
3.6 DFD Level 0
34
31
2.11 FFT sintesis butterfly
3.4 Input sinyal analog yang dikuantitasi
29
3.3 Konsep kerja ADC
29
3.2 Alur pengolahan sinyal suara
28
3.1 Proses aplikasi pengenalan lagu
25
62
4.9 Proses pembuatan file indeks
66
4.22 Hasil proses pengenalan lagu
68
4.21 Jendela lokasi dan nama file indeks
68
4.20 Langkah pengenalan lagu
67
4.19 Pesan proses penggabungan file indeks telah selesai
67
4.18 Proses penggabungan file indeks
66
4.17 Jendela lokasi dan nama file indeks serta lokasi hasil
4.16 Langkah penggabungan file indeks
62
65
4.15 Pesan proses penyisipan lagu ke dalam file indeks telah selesai
65
4.14 Proses penyisipan lagu ke dalam file indeks
64
4.13 Jendela lokasi dan nama file indeks serta lokasi direktori lagu
64
4.12 Langkah penyisipan lagu ke dalam file indeks
63
4.11 Hasil pembuatan file indeks
63
4.10 Pesan proses pembuatan file indeks telah selesai
69