RANCANG BANGUN PEMBUATAN APLIKASI SAMPLING FREKUENSI FILE AUDIO MENGGGUNAKAN METODE FILTER FIR (FINITE IMPULSE RESPONSE) Skripsi Diajukan untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer (S.Kom)
Oleh : BAGUS AUDITIAKUSUMA 2040.9100.2482
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1432 H
RANCANG BANGUN PEMBUATAN APLIKASI SAMPLING FREKUENSI FILE AUDIO MENGGUNAKAN METODE FILTER FIR (FINITE IMPULSE RESPONSE)
Skripsi Diajukan kepada Fakultas Sains dan Teknologi Untuk memenuhi persyaratan memperoleh gelar Sarjana Komputer (S.Kom)
Oleh : BAGUS AUDITIAKUSUMA 2040.9100.2482
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1432 H
i
RANCANG BANGUN PEMBUATAN APLIKASI SAMPLING FREKUENSI FILE AUDIO DENGAN MENGGUNAKAN METODE FILTER FIR (FINITE IMPULSE RESPONSE)
Skripsi Diajukan kepada Fakultas Sains dan Teknologi Untuk memenuhi persyaratan memperoleh gelar Sarjana Komputer (S.Kom)
Oleh Bagus Auditiakusuma 2040.9100.2482 Menyetujui, Pembimbing I,
Pembimbing II,
Arini, MT, M.Eng NIP. 19760131 200901 2 001
Zulfiandri, MMSI NIP. 19700130 200501 1 003 Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MIT NIP. 19710522 200604 1 002
ii
PENGESAHAN UJIAN Skripsi berjudul “RANCANG BANGUN PEMBUATAN APLIKASI SAMPLING FREKUENSI FILE AUDIO MENGGUNAKAN METODE FILTER
FIR (FINITE
IMPULSE
RESPONSE)”
yang ditulis
oleh
Bagus Auditiakusuma, NIM 2040.9100.2482 telah diuji dan dinyatakan lulus dalam sidang Munaqosyah Fakultas Sains dan Teknologi, Univeritas Islam Negeri Syarif Hidayatullah Jakarta pada tanggal 28 Februari 2011. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar sarjana Strata Satu (S1) Program Studi Teknik Informatika. Jakarta, Maret 2011 Menyetujui : Tim Penguji, Penguji I
Penguji II
Herlino Nanang, M.T, CCNA NIP.19731209 200501 1 002
Yusuf Durrachman, M.Sc, MIT NIP. 19710522 200604 1 002
Tim Pembimbing, Pembimbing I
Pembimbing II
Arini, MT, M.Eng NIP.19760131 200901 2 001
Zulfiandri, MMSI NIP. 19700130 200501 1 003 Mengetahui :
Dekan
Ketua
Fakultas Sains dan Teknologi
Program Studi Teknik Informatika
Dr. Syopiansyah Jaya Putra, M.Sis NIP. 19680117 200112 1 001
Yusuf Durrachman, M.Sc, MIT NIP. 19710522 200604 1 002
iii
PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Maret 2011
Bagus Auditiakusuma 2040.9100.2482
iv
ABSTRAK
BAGUS AUDITIAKUSUMA - 204091002482, Rancang Bangun Pembuatan Aplikasi Sampling Frekuensi File Audio Menggunakan Metode Filter FIR (FINITE IMPULSE RESPONSE) dibawah bimbingan Ibu Arini dan Bapak Zulfiandri. Teknologi dan ilmu pengetahuan berkembang semakin cepat dari waktu ke waktu, karena penemuan-penemuan teknologi ini bersifat dinamis dan akan ada penemuan teknologi yang berikutnya. Masalah yang terjadi pada pemrosesan sampling file audio adalah noise, semakin banyak noise yang ada maka akan merubah kualitas file audio. Didalam proses digital sample, PCM (Pulse Code Modulation) sampling dipergunakan untuk menerapkan proses representasi suatu signal waveform seperti deret bilangan yang merepresentasikan suatu pengukuran sinyal amplitudo. Pada aplikasi ini metode yang digunakan adalah metode filter FIR (Finite Impulse Response). Pembuatan aplikasi ini menggunakan bahasa pemrograman MATLAB. Untuk pengembangan aplikasi, peneliti menggunakan metode System Development Life-Cycle (SDLC). Hasil akhir yang dicapai dari pembuatan aplikasi sampling frekuensi ini dapat memudahkan user melihat aplikasi grafik interface yang ditampilkan dengan GUI MATLAB melalui grafik frequenzy, waktu pada saat proses deteksi noise dan parameter proses filter FIR (Finite Impulse Response). Pada proses diatas, terdapat perubahan kualitas file audio yang mempengaruhi hasil output proses dan dapat dilakukan penyimpanan output kedalam format MP3, serta memperkecil besarnya gangguan/noise dari proses deteksi noise dan parameter proses FIR.
Kata kunci : noise, Pulse Code Modulation, signal waveform, Finite Impulse Response, System Development Life-Cycle, user, interface. V Bab + xix halaman + 162 halaman + 12 tabel + 56 gambar + 3 lampiran Daftar Pustaka : 14 (2001-2010)
v
KATA PENGANTAR
Assalamu’alaikum Wr. Wb. Alhamdulillah, rasa syukur tiada terkira penulis panjatkan kepada Allah Subhanahu Wata’ala. Rahmat beserta salam semoga tercurahkan selalu kepada Rasulullah Muhammad S.A.W beserta keluarga, sahabat, dan pengikut-pengikut beliau ‘Amin’. Hanya berkat petunjuk dan pertolongan Allah-lah penulis dapat menyelesaikan skripsi yang berjudul “Rancang Bangun Pembuatan Aplikasi Sampling Frekuensi File Audio Menggunakan Filter FIR (Finite Impulse Response)”. Terwujudnya tulisan dalam bentuk skripsi ini, tentunya tidak terlepas dari bantuan dan bimbingan dari berbagai pihak. Rasa terima kasih penulis ucapkan kepada : 1.
Bapak Prof. DR. Komarudin Hidayat, selaku Rektor Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2.
Bapak DR. Syopiansyah Jaya Putra, M.SIS, selaku Dekan Fakultas Sains dan Teknologi.
3.
Bapak Yusuf Durrachman, MIT, selaku Ketua Program Studi Teknik Informasika.
4.
Ibu Arini, MT, M.Eng, selaku dosen pembimbing I, dan
vi
5.
Bapak Zulfiandri, MMSI, selaku dosen pembimbing II, yang telah memberikan bimbingan, waktu, dan perhatiannya dalam penyusunan skripsi ini.
6.
Seluruh Dosen dan staf karyawan Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta yang telah mengajar atau membantu penulis selama kuliah.
Dalam penyusunan skripsi ini, penulis juga tidak luput dari berbagai masalah dan menyadari sepenuhnya bahwa penulisan ini masih jauh dari sempurna dan tidak lepas dari kesalahan dan kekurangan, oleh karena itu dengan senang hati penulis akan menerima semua saran dan kritik maupun ide-ide yang membangun dari rekan-rekan pembaca. Akhir kata semoga Allah S.W.T membalas kebaikan mereka yang telah membimbing penulis dalam membuat skripsi ini. Semoga skripsi ini berguna bagi penulis dan pada pembaca umumnya. Wassalamu’alaikum Wr. Wb.
Jakarta, Maret 2011 Penulis
Bagus Auditiakusuma NIM. 2040 9100 2482
vii
Terimakasih yang Spesial untuk :
Bapak dan Ibuku tercinta : Abah Herman dan ibu Ning (Lies), adikku tersayang yang kadang ngebelin : Aghil (Tya Wardhani), myLovely tersayang yang memotivasiku : Neng Dara, Dan untuk semua keponakanku : shifa, sulthon, tia, wildan, erie, safira, salwa, alisa, ria, fadly, anggie, ega, iga, farel, reihan, diki n sepupu-sepupu.. (jangan lupa belajar ya sayang..) Untuk teman-temanku m.ranum, imam maul, wahyu, septian, adie dunge, yadi acho, dimas koben, hermanto, ilmas, asnul, lidya, anissa, murniwati, lia taslima, yunita, n dede danuria (terimakasih untuk berbagi-sharing setiap bulan..) Untuk bang Panca dan teh yeyen (makasih guide matlabnya), bi Nunung sekeluarga (makasih makanannya), A Hendar, A Peding, bang Idris, teh dedeh, teh hera, teh dania (makasih supportnya) makasih buat semua anak TI A angkatan 2004.. tanpa kalian aku tak bisa berdiri tegak menembus dunia ini.. makasih juga untuk pak lutfi dan seluruh staf (perpus) terimakasih untuk keluarga besar TI/SI angkatan 2004 yang telah berteman dan berbagi semuanya kepada penulis.. dan banyak lagi yang tidak dapat saya tuliskan di sini.. terimakasih semuanya.. dan juga terimakasih untuk : uin syarif hidayatullah jakarta
viii
DAFTAR ISI
Halaman Judul ................................................................................................. i Lembar Pengesahan Pembimbing .................................................................... ii Lembar Pengesahan Ujian ............................................................................... iii Lembar Pernyataan .......................................................................................... iv Abstrak ........................................................................................................... v Kata Pengantar ............................................................................................... vi Lembar Persembahan ...................................................................................... viii Daftar Isi .......................................................................................................... ix Daftar Tabel ................................................................................................... xv Daftar Gambar ............................................................................................... xvi
BAB I
PENDAHULUAN ......................................................................... 1 1.1. Latar Belakang Masalah .......................................................... 1 1.2. Rumusan Masalah ................................................................... 2 1.3. Batasan Masalah ...................................................................... 3 1.4. Tujuan Penelitian ..................................................................... 4 1.5. Manfaat Penelitian ................................................................... 5 1.6. Metodologi Penelitian ............................................................. 5 1.7. Sistematika Penulisan .............................................................. 7
ix
BAB II
LANDASAN TEORI .................................................................... 9 2.1. Rancang-Bangun .................................................................. 9 2.2. Aplikasi ................................................................................. 10 2.3. Sampling Frekuensi .. ............................................................. 10 2.3.1
PCM ( Pulse Code Modulation ) ............................ 15
2.3.2
Audio Filter ............................................................ 16
2.3.3
Audio Codec .......................................................... 17
2.3.4
Audio Sampling ..................................................... 17
2.3.5
Proses Sampling ..................................................... 18
2.3.6
Frekuensi Kerja Audio ........................................... 20
2.4. File Audio Digital ................................................................. 20 2.4.1.
Definisi Audio ........................................................ 20
2.4.2.
Jenis-jenis Audio / Suara ....................................... 21
2.4.3.
Format Audio ......................................................... 22 1.
Waveform Audio Format (WAV) ................... 22
2.
MPEG-1 Audio Layer 3 (MP3) ...................... 23
2.5. Model Nada .......................................................................... 25 2.5.1.
Interval ................................................................... 27
2.5.2.
Pasangan Chord (Kunci Tangga Nada) ................. 30
2.6. Filter (Tapis) ......................................................................... 31 2.7. Metode Pemrosesan Sinyal Digital Pada File Audio ........... 34 2.7.1.
Korelasi .................................................................. 37
x
2.7.2.
Konvolusi ............................................................... 38
2.7.3. Transformasi ............................................................. 39 2.7.4. DFT dan FFT ............................................................ 39 2.7.5. Filter ......................................................................... 40 2.8. Transformasi Fourier ............................................................ 41 2.8.1.
Contoh Hasil Perhitungan Transformasi Fourier dalam bentuk Sinus ( Sin[x] ) ............................... 42
2.8.2.
Contoh Hasil Perhitungan Transformasi Fourier Satu (1) Dimensi .................................................... 43
2.9. MATLAB ............................................................................. 44 2.9.1.
Pengertian MatLab ................................................. 44
2.9.2.
Sekilas Sistem Program MatLab ............................ 47
2.9.3.
Sintaks MatLab ...................................................... 48
2.10. Perancangan Program ........................................................... 50 2.10.1. System Development Life Cycle (SDLC) ................ 50 2.10.2. State Transition Diagram (STD) ........................... 51 2.10.3. Flow-chart ............................................................. 52 2.10.4. Struktur Navigasi .................................................. 55 2.11. Studi Sejenis ......................................................................... 58
BAB III METODOLOGI PENELITIAN .................................................. 62 3.1. Metode Pengumpulan Data .................................................. 62
xi
3.1.1.
Metode Studi Pustaka ............................................ 62
3.2. Metode Pengembangan Sistem ............................................. 63 3.2.1.
Perbedaan Model Pengembangan Sistem .............. 63
3.2.2.
Pemilihan Model Pengembangan Sistem ................ 67
3.3. Justifikasi Pemilihan Metode Pengembangan Sistem SDLC ................................................................................... 73 3.4. Perangkat Penelitian ............................................................. 73 3.4.1
Perangkat Keras ..................................................... 74
3.4.2
Perangkat Lunak .................................................... 74
BAB IV PEMBAHASAN DAN IMPLEMENTASI ................................ 76 4.1. Analisa Sistem ....................................................................... 76 4.1.1.
Tujuan .................................................................... 76
4.1.2.
Ruang Lingkup pada Sistem .................................. 77
4.2. Perancangan Sistem ............................................................. 78 4.2.1.
Perancangan Proses ................................................. 78 4.2.1.1.
Perancangan Sistem Aplikasi Deteksi Noise dan Parameter Proses FIR ............ 78
4.2.1.2.
Flow-chart Aplikasi Deteksi Noise dan Parameter Proses FIR ............................. 80
4.2.2.
Perancangan Antar Muka ........................................ 83 4.2.2.1.
Perancangan Halaman Tampilan ............ 83
xii
4.2.2.2.
Perancangan UiPanel Informasi, Play Original File dan Button Cari File .. 88
4.2.2.3.
Perancangan Radio Button Type Deteksi Noise ......................................... 89
4.2.2.4.
PerancanganUiPanel Parameter Proses ... 90
4.2.2.5.
Perancangan axes Time (s) dan axes Frequenzy
(Hz)
pada
Proses
Deteksi Noise ........................................ 90 4.2.2.6.
Perancangan axes Frequenzy (Hz) pada proses FIR ..................................... 91
4.2.2.7.
Perancangan axes Time (s) dan axes Frequenzy (Hz) pada penyaringan Parameter Proses ................................... 91
4.2.2.8.
Perancangan Button Play Noise File, Play Noise Reduction File, Save/Simpan, Exit ................................. 92
4.3. Implementasi Sistem ............................................................ 94 4.4. Operasi dan Perawatan Sistem ............................................. 96 4.4.1.
Persiapan Running Program MatLab ..................... 96
4.4.2.
Proses Deteksi Noise dan Proses Parameter FIR (Finite Impulse Response) .................................... 97
xiii
4.4.3.
Pengujian Aplikasi Sampling Frekuensi File Audio (File WAV) ........................................................... 97
BAB V
PENUTUP ................................................................................... 110 5.1 Kesimpulan ............................................................................. 110 5.2 Saran ....................................................................................... 111
DAFTAR PUSTAKA .................................................................................... 112 LAMPIRAN A TAMPILAN APLIKASI SAMPLING FREKUENSI FILE AUDIO .............................................................................. 116 LAMPIRAN B KODE SUMBER APLIKASI SAMPLING FREKUENSI FILE AUDIO dengan MATLAB ....................................... 154 LAMPIRAN SURAT KEPUTUSAN DOSEN PEMBIMBING SKRIPSI
xiv
DAFTAR TABEL
Tabel 2.1.
Interval Sampling Rate Audio .................................................. 13
Tabel 2.2.
Interval pada musik ................................................................... 28
Tabel 2.3.
Tingkat Interval ........................................................................ 29
Tabel 2.4.
Triad C mayor ........................................................................... 30
Tabel 2.5.
Penggolongan Triad ................................................................. 31
Tabel 2.6.
Bagian-bagian kerja MatLab
Tabel 2.7.
Simbol-simbol Program Flow-chart menurut ANSI ................ 53
Tabel 3.1.
Perbedaan Pengembangan Sistem ............................................ 63
Tabel 4.1.
File wav yang diuji sebelum diuji ............................................. 99
Tabel 4.2.
Perbedaan Kualitas File Audio sebelum dan sesudah deteksi
................................................... 46
noise dan proses parameter Filter FIR ..................................... 99 Tabel 4.3
Ukuran file dan waktu proses ................................................... 102
Tabel 4.4.
Tabel Uji File yang di proses berdasarkan waktu proses ........... 106
xv
DAFTAR GAMBAR
Gambar 2.1.
Aliasing ................................................................................ 12
Gambar 2.2.
Konversi Analog ke Digital menggunakan PCM ................. 15
Gambar 2.3.
Noise Reduction menggunakan filter adaptive .................... 16
Gambar 2.4.
Sinyal Analog ....................................................................... 18
Gambar 2.5.
Sinyal Sample ....................................................................... 19
Gambar 2.6.
Proses pencuplikan sinyal .................................................... 19
Gambar 2.7.
Cara kerja audio secara umum ............................................. 20
Gambar 2.8.
Grafik dari amplitudo energy dalam domain waktu untuk nada single ............................................................................ 26
Gambar 2.9.
Visualisasi nada pada domain frekuensi .............................. 26
Gambar 2.10. Respon LPF ......................................................................... 32 Gambar 2.11. Respon HPF ........................................................................ 33 Gambar 2.12. Band Pass Filter ................................................................... 33 Gambar 2.13. Filter Band Elimination ........................................................ 34 Gambar 2.14. Sistem Pengolahan Sinyal Digital ........................................ 35 Gambar 2.15. Skema Konvolusi ................................................................ 38 Gambar 2.16. Contoh hasil proses transformasi fourier ............................. 43 Gambar 2.17. Contoh grafik cosine signal ................................................. 43 Gambar 2.18. Tampilan MatLab ................................................................ 45
xvi
Gambar 2.19. Tampilan Menu Start MatLab .............................................. 46 Gambar 2.20. Command Windows ............................................................. 48 Gambar 2.21. Sintaks program MatLab ..................................................... 49 Gambar 2.22. Tahap-tahap SDLC ............................................................... 50 Gambar 2.23. State Transition Diagram yang disederhanakan untuk software fotocopy ................................................................ 51 Gambar 2.24. Contoh Diagram Alir ............................................................ 54 Gambar 2.25. Empat struktur navigasi pokok yang digunakan dalam aplikasi ................................................................................ 57 Gambar 3.1.
Model Waterfall ................................................................... 67
Gambar 3.2.
Ilustrasi metodologi penelitian pembuatan aplikasi sampling frekuensi file audio .............................................................. 75
Gambar 4.1.
Proses aplikasi deteksi noise dan parameter FIR ................. 79
Gambar 4.2.
Flow-chart proses deteksi noise untuk parameter FIR ........ 80
Gambar 4.3.
Flow-chart Proses Deteksi noise dengan random noise, constant picth noise di Sebelah Kiri dan Flow-chart Proses dengan menggunakan parameter FIR di Sebelah Kanan ..... 82
Gambar 4.4.
Rancangan Halaman Tampilan ........................................... 84
Gambar 4.5.
State Trantition Diagram Halaman Tampilan ..................... 85
Gambar 4.6.
Flow-chart Halaman Tampilan ............................................ 86
Gambar 4.7.
Bentuk Rancangan Halaman Tampilan dalam Matlab .......... 87
Gambar 4.8.
Rancangan Button Cari File, Informasi dan Play
xvii
Original File Audio .............................................................. 88 Gambar 4.9.
Tampilan jika user mengklik Cari File pada tombol Button .. 89
Gambar 4.10. Rancangan Radio Button Type Deteksi Noise ..................... 90 Gambar 4.11. Rancangan UiPanel Parameter Proses ................................ 90 Gambar 4.12. Rancangan axes Time (s) dan axes Frequenzy (Hz) pada proses deteksi noise ............................................................. 91 Gambar 4.13. Rancangan axes Frequenzy (Hz) pada proses FIR ............... 91 Gambar 4.14. Rancangan axes Time (s) dan axes Frequenzy (Hz) pada penyaringan parameter proses ............................................. 92 Gambar 4.15. Rancangan Button Play Noise File, Play Reduction File, Save/Simpan, Exit ............................................................... 92 Gambar 4.16. Menyimpan Hasil Output Sampling Frekuensi dalam format MP3 ...................................................................................... 93 Gambar 4.17. Konfirmasi apabila user memilih menu Exit ....................... 94 Gambar 4.18. Nama file dan ukuran tipe file wav sebelum diuji ............... 98 Gambar 4.19. Hasil output proses yang disimpan ...................................... 98 Gambar 4.20
Cuplikan Sampling Frekuensi setelah noise dihilangkan ..... 101
Gambar 4.21. Cuplikan penghilangan noise pada file audio yang diproses . 101 Gambar 4.22. Grafik proses file JACKIE.wav berdasarkan ukuran file dan waktu ............................................................................. 102 Gambar 4.23. Grafik proses file Posh Bell.wav berdasarkan ukuran file dan waktu ............................................................................ 103
xviii
Gambar 4.24. Grafik proses file BIRD.wav berdasarkan ukuran file dan waktu .................................................................................... 103 Gambar 4.25. Grafik proses file Bells.wav berdasarkan ukuran file dan waktu ................................................................................... 104 Gambar 4.26. Grafik proses file Suit-suit.wav berdasarkan ukuran file dan waktu ............................................................................ 104 Gambar 4.27. Grafik proses uji file audio diambil dari 5 sampling file wav ...................................................................................... 105 Gambar 4.28. Grafik proses uji file audio berdasarkan waktu tertinggi ...... 105 Gambar 4.29. Grafik Perbandingan Ukuran File Audio dengan Waktu proses
.................................................................................. 108
xix
BAB I PENDAHULUAN
1.1
Latar Belakang Masalah Teknologi dan ilmu pengetahuan berkembang semakin cepat dari waktu ke waktu, karena penemuan-penemuan teknologi ini bersifat dinamis dan akan ada penemuan teknologi yang berikutnya. Masalah yang terjadi pada pemrosesan sampling file audio adalah noise, semakin banyak noise yang ada maka akan merubah kualitas file audio. Proses tersebut membutuhkan suatu pem-filteran audio sample. Didalam proses digital sample, PCM (Pulse Code Modulation) sampling dipergunakan untuk menerapkan proses representasi suatu signal waveform seperti deret bilangan yang merepresentasikan suatu pengukuran sinyal amplitudo. Salah satu cara untuk mengatasi noise pada pemrosesan sampling frekuensi file audio tersebut adalah dengan menggunakan teori sampling frekuensi file audio dan metode FIR (Finite Impulse Response). Dimana didalam teorema sampling haruslah memenuhi kriteria Nyquist, yaitu : “Frekuensi sampling (Fs) minimum adalah 2 kali frekuensi sinyal analog yang akan dikonversi (Fin max)”. Metode filter FIR (Finite Impulse Response) itu sendiri, tertulis signal yang dihasilkan mempunyai impulse response dengan jumlah nilai tidak nol berhingga. (Smith dan Bose 2004). 1
Untuk mengatasi hal ini biasanya digunakan suatu filter untuk membuang nilai ganda ini dalam bentuk filter (biasanya low pass filter) atau anti aliasing, sehingga dalam proses sampling nantinya dapat dihasilkan nilai digital yang diharapkan. Pada penelitian yang telah dilakukan (Agfianto, 2007), dibuat aplikasi sampling dengan filter IIR (Infinite Impulse Response). Dimana file audio yang diteliti merupakan file audio berskala besar, serta membutuhkan cost yang diperhitungkan. Oleh karena itu, beberapa teori sampling hanya diadopsi saja, dan membuat aplikasi dengan menggunakan filter FIR (Finite Impulse Response). Untuk itu peneliti berupaya mewujudkan implementasi sampling frekuensi file audio dengan menggunakan metode FIR (Finite Impulse Response) kedalam suatu aplikasi yang mudah digunakan, dalam skripsi yang berjudul : “RANCANG BANGUN PEMBUATAN APLIKASI SAMPLING FREKUENSI
FILE AUDIO
MENGGUNAKAN
METODE FILTER FIR (FINITE IMPULSE RESPONSE)”.
1.2
Rumusan Masalah Dalam kajian ini peneliti ingin memberikan suatu solusi dengan membuat aplikasi perkiraan dari sampling frekuensi file audio dan mengimplementasikan suatu aplikasi data frekuensi dengan cara menggabungkan teori Nyquist pada sampling frekuensi dan metode penyaringan filter FIR (Finite Impulse Response) frekuensi. 2
Sesuai dengan tema penelitian skripsi ini, yaitu “Rancang Bangun Pembuatan Aplikasi Sampling Frekuensi File Audio Menggunakan Metode Filter FIR (Finite Impulse Response)”, dapat dirumuskan menjadi beberapa masalah sebagai berikut : 1.
Bagaimana membuat aplikasi dari metode penyaringan/filter FIR (Finite Impulse Response) pada sampling frekuensi file audio.
2.
Apakah terjadi perubahan kualitas, besar gangguan (noise) dan berapa lama waktu yang dibutuhkan pada file audio setelah melalui proses penyaringan/filter.
1.3
Batasan Masalah Untuk menghindari meluasnya materi pembahasan tugas akhir ini, maka peneliti membatasi permasalahan hanya mencakup hal-hal berikut : 1.
Penelitian dibatasi dengan menggunakan teori sampling frekuensi Nyquist dan mengadopsi metode filter FIR (Finite Impulse Response) untuk teknik penyaringan/filter noise pada frekuensi file audio.
2.
Pada aplikasi ini proses deteksi noise dan filter FIR hanya dilakukan pada singlefile. Jumlah file yang diuji dibatasi sebanyak 5 file dengan maksimum ukuran file 100 KB pada sekali proses deteksi noise dan filter FIR, untuk menghindari proses yang terlalu lama dan efisiensi pengujian aplikasi.
3
3.
File audio yang digunakan sebagai media input adalah file berformat WAV ( Waveform Audio Format ).
4.
Hasil akhir file deteksi noise dan filter FIR akan menghasilkan file audio (*.mp3), dan dapat disimpan sebagai output.
5.
Objek penelitian aplikasi dititik-beratkan pada deteksi noise sampling frekuensi file audio dan menghilangkan besarnya ganguan noise.
6.
Aplikasi dibuat menggunakan bahasa pemrograman MatLab 7.6.0 (R2008a).
1.4
Tujuan Penelitian 1.
Dapat mengimplementasikan metode filter FIR (Finite Impulse Response) pada sampling frekuensi file audio yang berformat audio WAV.
2.
Dapat membandingkan kualiatas frekuensi audio, serta meningkatkan performance dan lama waktu yang dibutuhkan output audio berdasarkan
hasil
sampling
frekuensi
dari
pemrosesan
penyaringan/filter.
4
1.5
Manfaat Penelitian Manfaat yang didapat dalam penelitian skripsi ini adalah : 1. Bagi Penulis a.
Penulisan ini diajukan sebagai salah satu syarat untuk menyelesaikan Program Strata 1 (S-1) pada jurusan Teknik Informatika.
b.
Menerapkan ilmu sampling frekuensi file audio khususnya teknik deteksi noise dan teknik penyaringan/filter FIR (Finite Impulse Response).
2. Bagi Universitas Memberikan sumbangan ilmiah bagi perkembangan teknologi sampling frekuensi file audio.
1.6
Metodologi Penelitian Pada penelitian tugas akhir ini, diperlukan data-data yang lengkap sebagai bahan pendukung kebenaran materi uraian dan pembahasan. Oleh karena itu diperlukan metodologi pengumpulan data dan metodologi pengembangan sistem. 1.6.1.
Metodologi Pengumpulan Data 1.
Studi Pustaka Membaca dan mempelajari referensi yang ada sebagai pelengkap, serta mencari referensi tambahan dari internet. 5
2.
Studi Literatur Metode studi literatur digunakan dengan melihat penelitian yang sudah ada. Melalui studi literatur, peneliti dapat terhindar dari melakukan penelitian yang sudah pernah dilakukan, dan pengulangan kesalahan-kesalahan masa lalu.
1.6.2.
Metodologi Pengembangan Sistem Metode pengembangan sistem yang digunakan dalam penelitian ini adalah metode pengembangan model SDLC (System Development Life Cycle). SDLC adalah siklus yang harus dilalui untuk mendesain dan implementasi sistem yang baru, siklusnya sebagai berikut : 1)
Analisa Sistem Pada tahap ini dilakukan analisa-analisa dari informasi terhadap sistem yang akan didesain.
2)
Perancangan Sistem Pada tahap ini dilakukan perancangan sistem yaitu prosesproses yang akan terjadi di dalam sistem, yang terdiri dari perancangan proses dan perancangan antarmuka pemakai (user interface).
6
3)
Implementasi Sistem Pada fase ini dilakukan pengkodean terhadap rancanganrancangan yang telah didefinisikan.
4)
Operasi dan Perawatan Sistem Pada fase ini dilakukan pengujian operasi terhadap sistem dan melakukan pengenalan sistem kepada pengguna.
1.7
Sistematika Penulisan Dalam penyusunan skripsi ini dibagi menjadi menjadi beberapa bab, yaitu :
BAB I
PENDAHULUAN Bab ini terdiri dari latar belakang masalah, rumusan masalah, batasan masalah, tujuan, manfaat, metodologi penelitian dan sistematika penulisan.
BAB II
LANDASAN TEORI Pada bab ini akan menguraikan secara garis besar beberapa teori yang menjadi dasar pembuatan aplikasi diantaranya mengenai teori-teori pendukung untuk sampling frekuensi file audio, metode filter FIR (Finite Impulse Response).
BAB III
METODOLOGI PENELITIAN Bab ini menguraikan secara rinci metodologi yang digunakan dalam pembuatan sistem aplikasi.
7
BAB IV
PEMBAHASAN DAN IMPLEMENTASI Bab ini menjelaskan spesifikasi perangkat keras dan perangkat lunak
yang
digunakan,
implementasi
program,
dan
pengembangan sistem aplikasi sampling frekuensi yang dibuat. BAB V
PENUTUP Bab ini berisi kesimpulan akhir dan saran-saran untuk membangun sistem sampling frekuensi lebih lanjut.
8
BAB II LANDASAN TEORI
2.1
Rancang-Bangun Definisi awal dari rancang-bangun perangkat lunak diutarakan oleh Fritz Bauer dalam suatu konferensi, definisinya adalah : The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. (Pressman, 2001). Rancang-bangun perangkat lunak merupakan suatu pertumbuhan diluar perangkat keras dan rancang-bangun sistem. yang meliputi tiga kunci pokok yaitu : cara, alat dan prosedur yang memungkinkan manajer untuk mengendalikan proses pengembangan software dan menyediakan praktisi dengan tujuan untuk membangun perangkat lunak yang berkualitas. Metoda rancang-bangun perangkat lunak menyediakan cara teknis "bagaimana cara" untuk membangun perangkat lunak, caranya meliputi suatu rangkaian tugas yang meliputi: perencanaan proyek dan penilaian; analisa sistem dan software yang dibutuhkan; perancangan struktur data, perancangan program, dan algoritma program; pengkodean; pengujian; dan pemeliharaan. Metoda untuk rancang-bangun perangkat lunak sering memperkenalkan suatu notasi grafis atau berorientasi bahasa khusus dan satu set kriteria untuk perangkat lunak yang berkualitas. 9
Alat rancang-bangun perangkat lunak menyediakan pendukung semiotomatis atau otomatis untuk mendukung suatu metode. Alat yang telah ada untuk mendukung masing-masing metoda diatas, ketika peralatan sudah terintegrasi sedemikianrupa sehingga informasi yang diciptakan oleh satu alat dapat digunakan oleh alat yang lain, suatu sistem untuk menunjang pengembangan software.
2.2
Aplikasi Perangkat lunak (aplikasi) adalah program yang ditulis oleh pemrogram komputer untuk memecahkan suatu masalah tertentu dengan menggunakan bahasa pemrograman (Hartono, 2005). “Program Aplikasi merupakan perangkat lunak yang menentukan bagaimana sumber data digunakan untuk menyelesaikan masalah para pengguna”. [3]. Program
aplikasi
berbeda
dengan
sistem
operasi
(yang
menjalankan komputer) dan utility (yang melaksanakan perawatan atau tugas-tugas umum). Tergantung dari tujuan pekerjaan yang dimaksudkan, suatu aplikasi dapat digunakan untuk memanipulasi teks, angka, grafik atau kombinasi dari unsur-unsur tersebut.
2.3
Sampling Frekuensi Pada tahun 1949, Nobert Wiener telah mengembangkan konsep baru yang sampai sekarang masih tetap dipakai. Wiener meneliti dengan
10
cara : “Jika diketahui suatu signal kemudian ditambahkan dengan noise yang ada, lalu bagaimanakah kita memperkirakan keadaan signal tersebut pada waktu sebelum dan sesudah diterima”. Penelitian ini dilakukan pada ujung penerima saja. Teori ini disebut sebagai “Detection Theory”. [7] Kemudian Claude Shannon pada tahun 1948, dimana signal processing dapat terjadi baik pada penerima maupun pada pengirim. Shannon meneliti dengan cara : “Jika diketahui suatu berita, lalu diteliti bagaimana berita tersebut dapat terwakilkan sedemikian rupa sehingga dapat membawa informasi melalui suatu sistem yang diberikan dengan keterbatasan-keterbatasannya.” (Robert, 2004). Dengan cara ini yang dipentingkan bukan signalnya, melainkan informasinya yang terkandung didalam signal tersebut. Pendekatan ini disebut sebagai “Teori Informasi”. Teori informasi adalah suatu pelajaran matematik yang terbagi menjadi 3 bagian konsep dasar, yaitu: 1.
Pengukuran dari informasi,
2.
Kapasitas saluran komunikasi untuk menyalurkan informasi,
3.
Penyandian (coding) sebagai cara untuk mendayagunakan saluran agar dapat berkapasitas penuh. Pada teori sampling kecepatan pengambilan sampel (frekuensi
sampling) dari sinyal analog yang akan dikonversi haruslah memenuhi kriteria Nyquist yaitu : Fs > 2 Finmax
11
Dimana “Frekuensi sampling (Fs) minimum adalah 2 kali frekuensi sinyal analog yang akan dikonversi (Finmax)”.(Robert, 2004). Atau dapat di jelaskan bahwa Teori Sampling : “Transmisi dilakukan setelah dilakukan sample dengan frekuensi lebih dari dua kali frekuensi maksimum dari komponen frekuensi, sinyal asli dapat dibentuk kembali dengan fidelitas tinggi”. Apabila kriteria Nyquist tidak dipenuhi maka akan timbul efek aliasing yang di-ilustrasikan oleh Gambar 2.1.
Gambar 2.1 Aliasing [7] Disebut aliasing karena frekuensi tertentu terlihat sebagai frekuensi yang lain (menjadi alias dari frekuensi lain). Sebagai contoh misalnya : 1.
Bila sinyal analog yang akan dikonversi mempunyai frekuensi sebesar 50Hz maka frekuensi sampling minimum dari ADC adalah 100Hz. Atau bila dibalik, bila frekuensi sampling ADC (Analog
12
Digital Converter) sebesar 100Hz maka sinyal analog yang akan dikonversi harus mempunyai frekuensi maksimum 50Hz. [9]. 2.
Contoh Berapa interval waktu ? (125μsec ! ), (Band Width= 4kHz) Untuk transmisi telepon, frekuensi maksimum adalah 4kHz. ・ Sesuai dengan teori sampling, Frekuensi sampling adalah, f=4kHz×2= 8kHz ・ Waktu dan frekuensi saling berkebalikan. T=1/F ・ T=1/8000=125μsec ・ “Sampling” berarti mengukur nilai amplitudo setiap 125μsec.
Sampling frekuensi atau sampling rate didefinisikan sebagai suatu nilai sample per detik yang dihasilkan dari signal tak putus menjadi signal diskrit. Notasinya adalah hertz (Hz) [10]. Kebalikan dari sampling frekuensi adalah periode sampling atau waktu sampling, yaitu waktu yang dibutuhkan untuk melakukan sampling. Tidak ada aturan baku yang mengatur berapa batas sampling yang diperkenankan pada suatu periode sampling. Berikut adalah tabel macam karakteristik sampling rate audio diantaranya ; Tabel. 2.1 Interval Sampling Rate Audio [10]. No 1.
Interval Sampling Rate Audio 8,000 Hz
2.
11,025 Hz - 22,050 Hz
Kegunaan Interval Telepon, terutama pembicaraan orang.
untuk
kualitas
Radio
13
3.
32,000 Hz
miniDV, digital video camcorder
4.
44,100 Hz
Audio CD, biasanya menggunakan MPEG-1 audio (VCD,SVCD,MP3).
5.
47,250 Hz
Perekam suara berbasis PCM pertama di dunia oleh Nippon Columbia (Denon).
6.
48,000 Hz
7.
50,000 Hz
Digital sound untuk digital TV,DVD,DAT, films dan professional audio. Digital audio recorder komersil pertama di akhir 70-an dari 3M dan Soundstream.
8.
50,400 Hz
9.
96,000 Hz atau 192,400 Hz DVD – audio, LPCM DVD tracks, BDROM (Blue-ray Disc) audio tracks, dan HD-DVD (High-Definition DVD) audio tracks.
10.
2.8224 MHz
Sampling rate yang digunakan Mitsubishi X-80 digital audio recorder.
SACD, 1-bit sigma-delta modulation atau lebih dikenal sebagai Direct Stream Digital, dikembangkan oleh Sony dan Philips.
Dalam melakukan proses sampling biasanya tidak seluruhnya berhasil dengan baik, ada beberapa jenis distorsi yang mungkin timbul dalam proses ini diantaranya ; [10]. a. Jitter : deviasi keakuratan karena waktu interval sampel. b. Integration effect : terjadi saat sampler tidak dapat melakukan sampling karena data yang tak terdefinisi. c. Noise : thermal sensor noise, analog circuit noise, dll.
14
d. Quantization error : kesalahan round-off karena sampel yang representasikan sebagai integer pada ouput ADC (Analog to Digital Converter) . e. Slew rate limit error : kesalahan karena ketidak-sanggupan ADC (Analog to Digital Converter) merepresentasikan secara cepat. f. Clipping : disebabkan saat input signal/sinyal diluar rentang nilai ADC (Analog to Digital Converter) yang dapat direpresentasikan.
2.3.1 PCM ( Pulse Code Mudulation ) Pulse Code Modulation (PCM) juga dikenal sebagai Linear PCM adalah standar untuk format CD Audio. Karena sifatnya yang tidak terkompresi, maka format PCM ini mempunyai ukuran file yang cukup besar bila dibandingkan dengan format MP3. (Ferdinando, 2010).
Gambar 2.2 Konversi Analog ke Digital menggunakan PCM [13]
15
Sinyal referensi
Noise
Output Suara Sinus
FI R koefisien
error
LMS
Gambar 2.3 Noise Reduction menggunakan filter adaptive. [13]
2.3.2 Audio Filter Audio filter adalah suatu yang dimanfaatkan pada pemrosesan sinyal suara. Terminologi audio filter dapat diartikan suatu perubahan yang terjadi bisa treable, muatan harmonik, pitch atau waveform dari suatu sinyal audio. Banyak jenis filter yang sering digunakan pada berbagai aplikasi seperti ; graphic equalizers, synthesizers, sound effects, CD players dan virtual reality systems. Bisa dikatakan suatu audio filter didesign untuk meloloskan beberapa area frekuensi yang diperlukan, baik yang belum dikuatkan ataupun yang sudah dikuatkan. Misalkan pada grafik ekualiser atau CD player, filter didesign untuk beberapa kriteria, seperti pass band, pass band attenuation, stop band, dan stop band attenuation, dimana pass band adalah area frekuensi untuk audio dapat dikuatkan dengan spesifikasi minimum. Dalam beberapa kasus yang kompleks, suatu audio filter dapat menampilkan audio feedback loop dimana terjadi resonansi saat penguatan sinyal. Audio filter pun dapat juga didesign menampilkan penguatan gain
16
(boost)
sebaik
penguatan
attenuation.
Audio
filter
dapat
diimplementasikan pada rangkaian analog seperti ; analog filter atau pada DSP code atau computer software sebagai digital filter. Banyak non-linier filter digunakan pada aplikasi audio, seperti ; compressors, fuzzy boxes, ring modulators. (Binanto, 2010).
2.3.3 Audio Codec Suatu audio codec adalah sebuah program komputer yang melakukan proses kompresi dan dekompresi dari audio digital yang nantinya didapatkan suatu format audio file dan audio streaming. Umumnya codec diimplementasikan sebagai bagian dari interface bagi banyak pemutar multimedia, seperti ; Winamp, Windows Media Player ataupun XMMS. Dalam konteks yang sama audio codec dapat dianggap sebagai sebuah perangkat implementasi yang bisa berbentuk card audio, yang dapat digunakan encoding/decoding dari dan ke audio analog menjadi audio digital (AD/DA converter). Contoh : AC‟97 standar keluaran Intel Corp. (Binanto, 2010).
2.3.4 Audio Sampling Pada dasarnya semua suara audio, baik vokal maupun bunyi tertentu merupakan suatu bentukan dari getaran. Ini menandakan semua audio
memiliki
bentuk
gelombangnya
masing-masing.
Umumnya
17
bentukan gelombangnya disebut dengan sinyal analog. Sinyal analog adalah sinyal yang bentuknya seperti pada Gambar 2.4. Namun sebuah teknik memungkinkan sinyal ini diubah dan diproses sehingga menjadi lebih baik. Teknik ini memungkinkan perubahan sinyal analog menjadi bit-bit digital. Teknik itu disebut teknik sampling. Jika telah menjadi sinyal digital maka sinyal ini jauh lebih baik, sedikit noisenya dan juga dapat diproses dengan mudah. Digital Signal Prosessing merupakan perkembangan dari teknik ini yang memungkinkan kita membentuk sample-sample yang berupa suara seperti yang ada pada keyboard, syntitizer, Audio Prosessing, dll.
Gambar 2.4 Sinyal Analog [1].
2.3.5 Proses Sampling Pada proses ini terjadi suatu pencuplikan dari bentukan sinyal analog. Pencuplikan dilakukan pada bagian-bagian sinyal analog. Ini dilakukan dengan sinyal-sinyal sample. Bentukan sinyal sample dapat dilihat pada Gambar 2.5. Ada suatu aturan tertentu dari sinyal ini. Teori Shannon menyatakan frekuensi sinyal ini paling sedikit adalah 2 kali frekuensi sinyal yang akan disampling/sinyal analog. (Binanto, 2010). 18
Ini adalah batas minimum dari frekuensi sample agar nantinya cuplikan yang diambil menunjukkan bentukan sinyal yang asli (analog). Lebih
besar
tentunya
lebih
baik,
karena
cuplikan
akan
lebih
menggambarkan sinyal yang asli. Seperti terlihat pada Gambar 2.6. adalah bentukan proses pencuplikan. Setelah dilakukan proses ini maka terbentuklah suatu sinyal analog-diskrit yang bentuknya menyerupai aslinya namun hanya diambil diskrit-diskrit saja. (Binanto, 2010)
Gambar 2.5 Sinyal Sample [1].
Gambar 2.6 Proses pencuplikan sinyal [1].
19
2.3.6 Frekuensi Kerja Audio Suatu audio frekuensi (AF) bekerja pada frekuensi 20 Hz s/d sekitar 20 KHz dan pada frekuensi inilah dapat didengar manusia. Salah satu variabel dari frekuensi yang dapat terukur dan secara fisik berosilasi pada range frekuensi ini, diantaranya ; aliran listrik, tekanan udara ataupun getaran mekanis. (Ferdinando, 2010)
Gambar 2.7 Cara kerja audio secara umum. [13]
2.4
File Audio Digital 2.4.1 Definisi Audio Audio adalah vibrasi yang dihasilkan oleh suatu benda dan dapat didengarkan dengan jelas, contohnya pita suara manusia. Frekuensi suara yang dapat didengar manusia terletak diantara 20 dan 20.000 Hz. Range ini berbeda-beda secara individu dan umumnya tergantung usia. Biasanya manusia mendengar pada frekuensi sekitar 3.500 Hz, diatas kemampuan dasar pendengaran ataupun dibawahnya disebut sebagai ultrasound dan infrasound. (Binanto, 2010)
20
Ultrasound adalah suara dengan frekuensi diatas batas pendengaran manusia 20 KHz. Beberapa binatang seperti anjing, ikan lumba-lumba, kelelawar dan tikus dapat mendengarkan frekuensi ini. Hal ini dimungkinkan karena telinga bagian tengahnya memiliki kemampuan low pass filter sehingga frekuensi sampai dengan 200 KHz dapat didengar. Infrasound
adalah suara dengan frekuensi
dibawah batas
pendengaran manusia. Beberapa penelitian mengenai suara rendah ini bekerja pada 16 s/d 17 Hz mengarah kepada 0,001 Hz. Pada range frekuensi ini seismograf digunakan untuk memonitoring terjadinya gempa bumi, gelombang laut, gunung meletus, dan pergerakan meteor. Beberapa hewan dapat mendengar frekuensi ini walaupun sumber suara berada jauh dari binatang, diantaranya ikan paus, gajah, badak, jerapah, dan buaya. (Binanto, 2010).
2.4.2 Jenis - jenis Audio / Suara Terdapat 2 (dua) macam klasifikasi jenis suara, (Ferdinando, 2010) diantarannya ; 1)
Noise Noise adalah vibrasi yang tidak umum dan tidak diinginkan yang masuk dalam setiap frekuensi. Noise memiliki aperiodic berurutan dalam gelombang. Sedangkan suara memiliki gelombang sinus dengan frekuensi dan amplitudo yang tetap, yang biasa dinamakan pure tones (tone dengan frekuensi
21
tunggal tanpa muatan harmonik). Contoh untuk pure tones adalah suara piano, dimana nada C pada bagian tengah piano akan memiliki frekuensi 440 Hz. 2)
Pitch Pitch
pada suara adalah range yang mungkin dihasilkan
akibat terjadinya gelombang dan membentuk frekuensi jenis suara tertentu. Frekuensi ini dapat dikelompokan sebagai ; a)
Low (bass), frekuensi ini biasanya menghasikan suara yang penuh tenaga dan hangat. Misalnya suara petir dan tembakan peluru.
b)
Midrange, frekuensi ini biasanya menghasilkan suara yang berenergi. Pada umumnya orang akan terganggu dengan frekuensi ini, misalnya suara ring telepon.
c)
High (treble), frekuensi ini biasanya menghasilkan suara yang agak berkualitas, terdengar jelas dan dikenal asal suaranya. Contohnya suara bel kecil dan simbal drum. [10]
2.4.3 Format Audio 1.
Waveform Audio Format (WAV) WAV merupakan standar format container file yang
digunakan oleh Windows. Wav umumnya digunakan untuk menyimpan audio tak termampatkan, file suara berkualitas CD,
22
yang berukuran besar (sekitar 10MB per menit). File .wav juga dapat berisi data terkodekan dengan beraneka ragam codec untuk mengurangi ukuran file. (Binanto, 2010). File Audio WAV mirip dengan PCM, namun bisa terkompresi maupun tidak terkompresi. File Wav juga mirip dengan file AIFF yaitu file Audio yang digunakan komputer Mac. Format WAV banyak digunakan oleh handphone, sehingga popularitas bisa menyamai file MP3. (Binanto, 2010) WAV adalah singkatan dari istilah dalam bahasa Inggris waveform audio format merupakan format standar berkas audio yang dikembangkan oleh Microsoft dan IBM. Walaupun WAV dapat menampung audio dalam bentuk terkompresi, umumnya format WAV merupakan audio yang tidak terkompres. Kualitas produksi waveform audio bergantung pada sampling rate (banyaknya sample per-detik). Waveform audio disebut juga pulse code modulator (pcm) audio. WAV merupakan standar untuk komputer berbasis Windows, namun dapat digunakan di komputer berbasis Machitosh. [6].
2.
MPEG-1 Audio Layer 3 (MP3) Format MPEG Layer-3 merupakan format yang sangat
populer untuk pengunduhan dan penyimpanan music. Dengan mengurangi bagian-bagian dari file audio yang tidak terdengar, file
23
.mp3 dimampatkan secara signifikan sampai 1/10 dari ukuran yang ekuivalen dengan PCM, tetapi dengan tetap mempertahankan kualitas audio yang baik. (Binanto, 2010). MPEG sendiri merupakan singkatan dari Moving Pictures Experts Group, yaitu sebuah organisasi yang mengembangkan standar untuk kode program audio dan video. Sebuah file MP3 mempunyai bit rates mulai dari yang rendah yaitu 32 kbits/detik hingga 320 kbits/detik. Format File MP3 merupakan yang paling terkenal di kalangan umum, karena ukuran filenya yang kecil tapi dengan kualitas suara yang masih terjaga dengan baik. Selain itu format file MP3 banyak didukung pemutar-pemutar musik yang banyak beredar di pasaran, sehingga MP3 lebih dikenal. [6] Standar MPEG-1 tidak menspesifikasikan secara spesifik cara melakukan encode MP3, sebaliknya algoritma decode serta format file didefinisikan secara spesifik. Oleh karena itu cara encode setiap encode berlainan dan menghasilkan kualitas hasil yang berlainan juga. MP3 mempunyai beberapa batasan limit, antara lain ; a.
Bit rate terbatas, maksimum 320 kbit/s (beberapa encoder dapat menghasilkan bit rate yang lebih tinggi, tetapi sangat sedikit yang memiliki bit rate tinggi).
24
b.
Resolusi waktu yang digunakan MP3 dapat menjadi terlalu rendah untuk sinyal-sinyal suara yang sangat transient, sehingga dapat menyebabkan noise
c.
Resolusi frekuensi terbatasi oleh ukuran window yang panjang kecil mengurangi efisiensi coding
d.
Tidak ada scale factor band untuk frekuensi diatas 15,5 atau 15,8 kHz
e.
Mode joinstereo dilakukan pada basis per frame
f.
Delay bagi encoder / decoder tidak didefinisikan, sehingga tidak ada dorongan untuk gapless playback (pemutaran audio tanpa gap). Tetapi, beberapa encoder seperti LAME dapat menambahkan
metadata
tambahan
yang
memberikan
informasi kepada MP3 player untuk mengisi hal itu. [6]
2.5
Model Nada Untuk piano dan alat musik petik atau gesek, representasi nada memiliki profil energi yang sama. Nada tersebut mulai dengan sebuah attack dengan overshoot yang cukup tinggi dan berakhir dengan keadaan sustain dan akhirnya menurun. Panjang dari attack dan sustain akan menentukan durasi dari nada. (Ferdinando, 2010)
25
Gambar 2.8
Grafik dari amplitudo energi dalam domain waktu untuk nada single. [4]
Karakteristik spectrum untuk tiap nada bervariasi bergantung pada instrument musik yang dimainkan. Gambar 2.6
menunjukkan puncak
tertinggi merupakan frekuensi fundamental dimana terletak pada frekuensi rendah. Puncak-puncak yang lainnya merupakan harmonik dari frekuensi fundamental yang muncul saat n * f dimana n adalah nilai integer lebih besar dari satu.
Gambar 2.9 Visualisasi nada pada domain frekuensi [4].
26
2.5.1
Interval Interval adalah jarak / selang antara dua buah nada. Ada banyak
ukuran interval yang dapat dibuat untuk membuat tangga nada. (Ferdinando, 2010). Dalam subbab sebelumnya interval yang dipakai (dalam satuan semitone) untuk membentuk tangga nada mayor adalah : 2-2-1-2-2-2-1. Tangga nada tidak hanya tangga nada mayor. Ada banyak jenis tangga nada yang lain, dan itu semua dibuat berdasarkan aturan terhadap interval. [4] Ukuran interval yang bervariasi akan memberikan tidak hanya suara terdengar yang berbeda, tapi juga memberi kesan „rasa‟ yang juga berbeda. Untuk ukuran interval tertentu campuran nada dapat „dirasakan‟ begitu „pas‟ atau cocok (consonant). Tetapi campuran nada yang lain bisa saja terdengar „kurang enak‟ atau kurang cocok (dissonant). Kombinasi consonant dan dissonant sangat diperlukan dalam musik. Musik yang hanya berisi consonant akan terdengar lembut dan lunak. Pemberian dissonant membuat ada „tekstur‟ dalam musik. Berikut ini tabel mengenai ukuran interval (dalam semitone) dan namanya serta penjelasan singkat.
27
Tabel 2.2 Interval pada musik. [4]
Nama dan ukuran interval diatas sangat penting, khususnya ketika membuat sebuah chord. Chord dibuat dengan mengkombinasikan interval yang ada dan memainkan tiga atau lebih nada secara serentak. Ada banyak jenis chord, dan masing-masing dibuat berdasarkan formula yang unik dari pengkombinasian interval nada. Tiap interval diukur dari nada awal (dikenal sebagai nada dasar) dari tipe chord yang akan disusun. Misalkan ingin membuat chord D, maka nada D dihitung sebagai nada awal (dasar) dalam perhitungan interval.
28
Interval dari tipe chord yang disusun dari nada dasar dikenal sebagai tingkat (degree). Penamaan tingkat ini mirip dengan nama interval, hanya tingkat ini lebih sering dipakai karena penulisannya yang singkat. Berikut ini daftar penamaan tingkat dan ekivalennya dengan interval dan ukuran interval (dalam satuan semitone). Tabel 2.3 Tingkat Interval. [4]
Sangatlah penting mengingat tingkat ini, karena sangat berkaitan dalam penyusunan sebuah chord. Misalkan, untuk membuat chord
mayor diperlukan nada dari
tingkat 1,3, dan 5. Maka jika ingin menyusun chord C mayor, nada yang dimainkan adalah nada C, E, dan G (tingkat 1, 3, dan 5 dari tangga nada C mayor ).
29
2.5.2
Pasangan Chord (Kunci Tangga Nada) Dalam mengiringi sebuah lagu maka jenis chord yang dimainkan
tentu juga tergantung dari nada dasar lagu tersebut. Selain itu, untuk menentukan pasangan chord yang dipakai untuk mengiringi lagu juga memiliki aturan tersendiri. [4] Untuk memudahkan pencarian formulanya, ada baiknya dimulai dengan menganalisis dari sistem tangga nada C mayor. Tangga nada C mayor : C – D – E – F – G – A – B – C Masing-masing nada dalam tangga nada C mayor ini dicari triadnya, maka : Tabel 2.4 Triad C mayor, Sumber : Dokumentasi Bagus Ak Triad : C – E – G Tingkat : 1 – 3 – 5
C mayor
Triad : D – F – A Tingkat : 1 – b3 – 5
D minor
Triad : E – G – B Tingkat : 1 – b3 – 5
E minor
Triad : F – A – C Tingkat : 1 – 3 – 5 Triad : G – B – D Tingkat : 1 – 3 – 5 Triad : A – C – E Tingkat : 1 – b3 – 5
F mayor G mayor
A minor
Triad : B – D – F
30
Tingkat : 1 – b3 – b5 Triad : C – E – G Tingkat : 1 – 3 – 5
B diminished
C mayor
Dari penurunan diatas terdapat 3 buah triad mayor yaitu pada tingkat 1, 4, dan 5 relatif terhadap tangga nada C mayor. Ini berarti bila mengiringi dari C mayor, pasangan chord mayor lainnya adalah F mayor, dan G mayor (biasanya cukup ditulis dengan F dan G saja). Kemudian didapati juga ada 3 buah chord minor, yaitu pada tingkat 2,3, dan 6 relatif terhadap tangga nada C mayor. Ini juga berarti pasangan chord lainnya yang dapat mengiringi chord C mayor adalah : D minor (Dm), E minor (Em), dan A minor (Am). Kemudian terdapat satu chord diminished, yaitu B diminis (Bdim). Bagian ini sering digolongkan sebagai berikut; Tabel 2.5 Penggolongan Triad [4].
2.6
Filter (Tapis) Filter adalah adalah sebuah rangkaian yang dirancang agar melewatkan suatu pita frekuensi tertentu, kemudian memperlemah semua isyarat di luar pita frekuensi. Pengertian lain dari filter adalah rangkaian
31
pemilih frekuensi agar dapat melewatkan frekuensi yang diinginkan dan menahan (couple) / membuang (bypass) frekuensi lainnya. (Robert, 2004). Jaringan-jaringan
filter
bisa
bersifat
aktif
maupun
pasif.
Jaringan filter pasif hanya berisi tahanan, inductor dan kapasitor saja, sedangkan jaringan filter aktif berisikan transistor atau op-amp ditambah tahanan, inductor dan kapasitor. Jenis filter ada 4 (empat) macam dalam pengaturan-pengaturan frekuensi, (Robert, 2004) yaitu : 1) Band Pass Filter : membagi kedua komponen frekuensi atas maupun bawah dan meneruskan komponen frekuensi. 2) Band Stop Filter : membuang frekuensi tengah, dan meneruskan komponen frekuensi atas dan frekuensi bawah. 3) High Pass Filter : meneruskan komponen frekuensi atas pada keluaran (output), dan menghilangkan komponen frekuensi bawah. 4) Low Pass Filter : meneruskan komponen frekuensi bawah sebagai keluaran (output), dan mengurangi komponen frekuensi atas. Penyaringan/filter sinyal dilakukan dengan 2 (dua) tahap, [8] yaitu : 1.
Masukan (input) penyaringan sinyal.
2.
FFT (Fast Filter Transform), dalam tahap ini data digital gelombang di transformasikan kepada domain frekuensi.
Gambar 2.10 Respon LPF [8]. 32
Pita Lewat : Jangkauan frekuensi yang dipancarkan. Pita Stop : Jangkauan frekuensi yang diperlemah. Frekuensi cutoff (fc) : disebut frekuensi 0.707, frekuensi 3-dB, frekuensi pojok, atau frekuensi putus.
Bentuk respon HPF seperti ditunjukkan gambar di bawah ini.
Gambar 2.11 Respon HPF [8]. Dalam perancangannya diperhitungkan nilai Q(faktor mutu). dengan; Q = faktor mutu fo = frekuensi cutoff B = lebar pita frekuensi seperti berikut ini :
Gambar 2.12 Band Pass Filter [8].
33
Gambar 2.13 Filter Band Elimination [8].
Ada 3 macam desain yang cukup dikenal pada penggunaan rangkaian filter pada sistem audio yaitu :
Chebycev, Bessel dan
Butterwoth. Filter butterwoth lebih banyak digunakan dalam sistem audio. Rancangan rangkaian yang akan dibahas adalah low pass filter butterwoth dan high filter butterwoth karena filter butterwoth memiliki tingkat kelinieran yang lebih baik. Beberapa cara untuk merancang suatu filter : a.
Menentukan spesifikasi filter : penguatan, frekuensi cut-off, frekuensi stop band.
b.
Tentukan frekuensi cut off (Fc) untuk merancang low pass filter dan high pass filter dengan bantuan tabel dan harga komponen.
2.7
Metode Pemrosesan Sinyal Digital Pada File Audio Pemrosesan Sinyal Digital (PSD) adalah teknologi yang sudah mendasari hampir seluruh bidang dalam kehidupan manusia. Sinyal yang diolah pada umumnya berasal dari proses sampling, kuantisasi, dan
34
coding. Proses ini membutuhkan alat yang bernama ADC (Analog to Digital Converter). Setelah sinyal menjadi bentuk digital, barulah diproses secara digital oleh prosesor DSP. Hasil keluaran dari proses ini selanjutnya diubah kembali menjadi analog kembali oleh DAC (Digital to Analog Converter), karena pada umumnya sinyal yang bisa kita lihat atau dengar adalah sinyal analog (Budi, 2004).
Input (Sinyal Analog)
ADC
DAC DSP
Input (Sinyal Digital)
Output (Sinyal Analog)
Output (Sinyal Digital)
Gambar 2.14 Sistem Pengolahan Sinyal Digital (Tri,Budi; Modul Sampling dan Aliasing)
Pada penerapannya, pemrosesan sinyal banyak melibatkan bidangbidang ilmu yang lain seperti teori telekomunikasi, analisis numerik, probabilitas/statistika,
elektronik
digital,
elektronika
analog,
dan
sebagainya. (Budi, 2004). Adapun aplikasinya sebagai berikut : 1.
Telekomunikasi Misalnya pada multiplexing, kompresi; signal tone
generation,
filtering, dan sebagainya.
35
2.
Pemrosesan Audio Misalnya pada music;
speech recognition, speech synthetis, dan
sebagainya. 3.
Medis Misalnya analisis elektrokardiogram; diagnostic imaging, medical image storage/retrieval.
4.
Militer Misalnya radar, sonar; secure communication, dan sebagainya.
Pada prinsipnya pemrosesan sinyal digital hanya memakai kurang lebih 5 operasi dasar, yaitu : korelasi, konvolusi, transformasi, Discreate Fourier Tranform (DFT) dan Fast Fourier Transform (FFT), dan Filter. Ada beberapa alasan mengapa digunakan pemrosesan sinyal digital pada suatu sinyal analog, yaitu : [8], 1)
Suatu sistem digital terprogram memiliki fleksibilitas dalam merancang-ulang operasi-operasi pemrosesan sinyal digital hanya dengan melakukan perubahan pada program yang bersangkutan, sedangkan proses merancang-ulang pada sistem analog biasanya melibatkan rancang-ulang perangkat keras, uji coba dan verifikasi agar dapat bekerja seperti yang diharapkan. Penggunaan yang berulang-ulang terhadap informasi tidak mempengaruhi kualitas dan kuantitas informasi itu sendiri.
36
2)
Pemrosesan sinyal digital menawarkan pengendalian akurasi yang lebih baik. Faktor toleransi yang terdapat pada komponenkomponen
rangkaian
analog
menimbulkan
kesulitan
bagi
perancang dalam melakukan pengendalian akurasi pada sistem pemrosesan
sinyal
analog.
Di
lain
pihak,
sistem
digital
menawarkan pengendalian akurasi yang lebih baik. 3)
Informasi dapat dengan mudah diproses dan dimodifikasi ke dalam berbagai bentuk. Sinyal-sinyal digital dapat disimpan pada media magnetik (berupa tape atau disk) tanpa mengalami pelemahan atau distorsi data sinyal yang bersangkutan. Dengan demikian sinyal tersebut dapat dipindah pindahkan serta diproses secara offline di laboratorium. Metode-metode pemrosesan sinyal digital juga membolehkan implementasi algoritma-algoritma pemrosesan sinyal yang lebih canggih.
4)
Implementasi digital sistem pemrosesan sinyal lebih murah dibandingkan secara analog. Hal ini disebabkan karena perangkat keras digital lebih murah, atau mungkin karena implementasi digital memiliki fleksibilitas untuk dimodifikasi.
2.7.1 Korelasi Korelasi adalah formula yang dapat menunjukkan hubungan kemiripan antara 2 sinyal. Nilai korelasi yang sudah dinormalisasi berkisar
37
antara -1 sampai 1. Jika korelasi bernilai 1, maka kedua sinyal sama persis. Sebaliknya jika bernilai -1 maka kedua sinyal saling berkebalikan. Formula untuk korelasi dapat dilihat dibawah ini : (Ferdinando, 2010).
Secara umum, terdapat 2 macam korelasi, yaitu: a. Auto-correlation Korelasi
sebuah sinyal dengan sinyal itu sendiri. Jika dilihat dari
rumus, berarti x1 (n) sama dengan x2 (n). b. Cross-correlation Korelasi sebuah sinyal dengan sinyal lainnya. Dari sini dapat dilihat kemiripan kedua sinyal tersebut.
2.7.2 Konvolusi Pada dasarnya, konsep konvolusi adalah penggabungan 2 buah sinyal secara matematis untuk membentuk suatu sinyal baru. Konvolusi dapat menunjukkan bagaimana interaksi antara input dengan sistem untuk membentuk output.
Input x(n)
Sistem h(n)
Output y(n)
Gambar 2.15 Skema Konvolusi (Ferdinando, 2010).
38
Formula konvolusi dapat dilihat berikut ini : (Ferdinando, 2010).
2.7.3 Transformasi Semua sinyal baik analog maupun digital pada umumnya direpresentasikan dalam domain waktu. Dalam domain waktu, sulit dilakukan analisis frekuensi suatu sinyal. Transformasi digunakan untuk mengubah domain suatu sinyal dari domain waktu ke domain frekuensi. Transformasi biasanya digunakan untuk mempermudah analisis maupun perhitungan. Dalam PSD, transformasi yang biasa dipakai adalah transformasi Z. (Ferdinando, 2010). Tranformasi ini berguna untuk merepresentasikan, menganalisis, serta mendesain sistem dan siyal diskrit. Formula transformasi Z sebagai berikut (Ferdinando, 2010).
2.7.4 DFT dan FFT DFT termasuk salah satu jenis transformasi. Dengan menerapkan formula DFT, suatu sinyal dalam domain waktu dapat diubah ke dalam domain frekuensi. Pada domain frekuensi, sinyal direpresentasikan dalam frekuensi (sumbu x) dan magnitude (sumbu y). Jadi dapat dilihat dengan
39
jelas frekuensi kerja dan power suatu sinyal ataupun sistem. Formula DFT sebagai berikut : (Ferdinando, 2010).
FFT sebenarnya memiliki fungsi yang sama dengan DFT, hanya FFT menggunakan algoritma perhitungan yang lebih efisien dibandingkan dengan DFT. Hal ini diperlukan dalam aplikasi untuk meningkatkan efisiensi kerja suatu prosesor DSP.
2.7.5 Filter Filter adalah sistem yang secara selektif dapat mengubah bentuk sinyal, menghilangkan sinyal tertentu, maupun berbagai karakteristik sinyal lainnya. Penggunaan filter ini banyak dan luas sekali. Pada PSD, filter yang didesain adalah filter digital. Pada filter ini, penentu karakteristik dari filter adalah koefisien-koefisien filter. Secara umum filter digital dibagi 2 jenis, yaitu : 1. Finite Impulse Response (FIR) FIR dipakai ketika jumlah koefisien tidak terlalu besar dan tidak diinginkan distorsi fasa. Formula FIR dapat dilihat dibawah ini (Ferdinando, 2010).
40
2. Infinite Impulse Response (IIR) IIR dipakai jika ingin didapatkan frekuensi cutoff yang tajam dan throughput yang tinggi. Formula IIR dapat dilihat dibawah ini (Ferdinando, 2010).
Jika diperhatikan, semua operasi dasar ini hanya berupa perkalian dan penjumlahan sederhana saja. Namun kedua operasi yang dilakukan ini sangat banyak jumlahnya, sehingga untuk menerapkannya dalam aplikasi diperlukan suatu prosesor yang sangat cepat dalam melakukan perhitungan matematis. Untuk itulah didesain suatu mikroprosesor yang bekerja khusus untuk memproses sinyal digital yang disebut Digital Signal Prosessor (DSP) (Ferdinando, 2010).
2.8
Transformasi Fourier Sejarah transformasi fourier berawal pada tahun 1822, Joseph Fourier, ahli matematika dari Prancis menemukan bahwa : “Setiap fungsi periodik (sinyal) dapat dibentuk dari penjumlahan gelombang-gelombang sinus/cosinus”. Setiap orang pada suatu saat pernah menggunakan suatu teknik analisis dengan tranformasi untuk menyederhanakan penyelesaian suatu masalah (Bose, 2004).
41
Transformasi
Fourier
merupakan metode
tradisional
untuk
menentukan kandungan frekuensi dari sebuah sinyal. Transformasi Fourier pada dasarnya membawa sinyal dari dalam kawasan waktu ( time-domain) ke dalam kawasan frekuensi (frekuensi-domain). Pada sisi lain transformasi fourier dapat dipandang sebagai alat yang mengubah sinyal menjadi jumlahan sinusoidal dengan beragam frekuensi. Tranformasi Fourier menggunakan basis sinus dan kosinus yang memiliki frekuensi berbeda. Hasil Transformasi Fourier adalah distribusi densitas spectral yang mencirikan amplitudo dan fase dari beragam frekuensi yang menyusun sinyal. Hal ini merupakan salah satu kegunaan Transformasi Fourier, yaitu untuk mengetahui kandungan frekuensi sinyal. (Ferdinando, 2010).
2.8.1 Contoh Hasil Perhitungan Transformasi Fourier dalam bentuk Sinus ( Sin [x] ) Berikut ini adalah contoh perhitungan dengan transformasi fourier beserta grafik tampilannya adalah sebagai berikut;
Sinyal kotak merupakan penjumlahan dari fungsi-fungsi sinus diatas. Lihat Gambar 2.16
42
Gambar 2.16 Contoh hasil proses transformasi fourier. (Ferdinando, 2010).
2.8.2 Contoh Hasil Perhitungan Transformasi Fourier Satu (1) Dimensi Misalkan kita memiliki sinyal x(t) dengan rumus sebagai berikut; x(t) = cos ( 2 * pi * 5 * t ) + cos ( 2 * pi * 10 * t ) + cos ( 2 * pi * 20 * t ) + cos ( 2 * pi * 50 * t ) Sinyal tersebut memiliki empat komponen frekuensi yaitu; 5, 10, 20, 50. Gambar sinyal dengan satu dimensi dengan rumus; x(t) = cos(2*pi*5*t) + cos(2*pi*10*t) + cos(2*pi*20*t) + cos(2*pi*50*t)
Gambar 2.17 Contoh grafik cosine signal, Sumber : Polikar [2].
43
2.9
MATLAB 2.9.1
Pengertian MatLab MATLAB (Matrix Laboratory) merupakan salah satu bahasa
pemrograman yang dikembangkan oleh MathWorks (Erick P & Yessica Nataliani, 2007:1-2). Matlab adalah sebuah bahasa pemrograman dengan unjuk kerja tinggi (high-performance) untuk komputasi teknis, yang mengintegrasikan komputasi, visualisasi, dan pemrograman di dalam lingkungan yang mudah penggunaannya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematik (Erick P & Yessica Nataliani, 2007:1-2). Awalnya merupakan interface untuk koleksi rutin-rutin numerik LINPACK dan EISPACK yang menggunakan FORTRAN. Sekarang menjadi produk komersial Mathworks Inc. yang menggunakan C++. Salah satu yang cukup menarik dari MatLab adalah kemudahan dan kejelasannya dalam memahami contoh dan demo serta help yang ada pada MatLab. MatLab dapat berlaku seperti bahasa pemrograman C ataupun pascal yang mempunyai struktur kontrol program. Pemrograman dengan MatLab memerlukan lebih dari satu baris dan dimungkinkan untuk didokumentasikan dalam m-file, kontrol program ini digunakan untuk memperbaiki tampilan yang diinginkan. Ada beberapa macam kebutuhan yang sering digunakan pada MatLab diantaranya (Saluky, 2006) : 1)
Matematika dan komputasi.
44
2)
Pengembangan dan algoritma.
3)
Pemrograman modeling, simulasi dan pembuatan prototype.
4)
Analisa data, eksplorasi dan visualisasi.
5)
Analisa numerik dan statistik.
6)
Pengembangan aplikasi teknik.
Untuk mengenal lebih dekat tentang Matrix Laboratory (MatLab) dapat dilihat pada Gambar 2.15 yang menampilkan ruang kerja MatLab 2008 dengan berbagai tools dan fasilitas yang disediakannya. Sedangkan gambar 2.16 merupakan menu start aplikasi, yang berisi berbagai macam pilihan perintah. 1 2
4 3
5
Gambar 2.18. Tampilan MatLab [5].
45
5
Gambar 2.19 Tampilan Menu Start MatLab [5]. Pada kedua gambar tersebut diatas, bagian yang ditunjuk oleh panah bernomor adalah bagian dari halaman kerja MatLab dengan fungsi yang berbeda-beda. Berikut dibawah ini disajikan fungsinya, adalah sebagai berikut; Tabel 2.6 Bagian-bagian halaman kerja MatLab 2008 [5]. NO NAMA BAGIAN 1 MenuBar 2 3
Figuras Command Windows
4
Command History
5
ToolBox Start
KETERANGAN Berisi daftar menu (perintah) yang umum digunakan oleh setiap aplikasi berbasis windows, misalnya : Menu File. Berisi tampilan output dalam bentuk grafik Berisi daftar perintah-perintah yang dijalankan dan diproses. Berisi hasil ringkasan perintah yang telah dijalankan dan sedang berjalan/proses. Merupakan kumpulan dari beberapa menu aplikasi yang dipakai berdasarkan kegunaan.
46
2.9.2
Sekilas Sistem Program MatLab Sistem MATLAB terdiri dari 5 bagian utama, yaitu : 1.
Bahasa (pemrograman) MATLAB Bagian ini adalah bahasa (pemrograman) tingkat tinggi yang menggunakan
matriks/array
dengan
pernyataan
aliran
kendali program, struktur data, masukan/ keluaran, dan fiturfitur pemrograman berorientasi objek. 2.
Lingkungan kerja MATLAB Bagian ini adalah sekumpulan tools dan fasilitas MATLAB yang digunakan oleh pengguna atau pemrogram. Fasilitas yang dimaksudkan misalkan untuk mengelola variable di dalam ruang kerja (workspace) dan melakukan impor dan ekspor data.
3.
Penanganan Grafik Bagian ini adalah sistem grafik MATLAB, termasuk perintah-perintah (program) tingkat tinggi untuk visualisasi data dimensi 2 dan dimensi 3, pengolahan citra, animasi, dan presentasi grafik.
4.
Pustaka (library) fungsi matematis MATLAB Bagian ini adalah koleksi algoritma komputasi mulai dari fungsi dasar seperti menjumlahkan (sum), menentukan nilai sinus (sine), kosinus (cosine), dan aritmatika bilangan kompleks.
47
5.
API (Application Program Interface) Bagian ini adalah pustaka (library) untuk menuliskan program dalam bahasa C dan Fortran yang berinteraksi dengan MATLAB, termasuk fasilitas untuk memanggil rutin program dari MATLAB (dynamic linking), memanggil MATLAB sebagai mesin komputasi (computational engine), dan untuk pembacaan serta penulisan MAT-files. (Marvin, hal.2-3).
2.9.3
Sintaks MatLab Untuk mengetahui program dalam MatLab, perhatikan Gambar dibawah ini yang menampilkan beberapa sintaksis yang ada didalam pemrograman MatLab.
Gambar 2.17 Commad Windows, (Sumber: Dokumentasi Bagus Ak) 48
Untuk lebih jelasnya, perhatikan sintaksis dari kode program berikut ini : >> !dir Volume in drive C has no label. Volume Serial Number is 5C8B-7700 Directory of C:\Documents and Settings\ROOM\MyDocuments\MATLAB 16/10/2009 08:01
. 16/10/2009 08:01 .. 14/10/2009 13:40 20.147 DemoAnalisisKualitasFrek.fig 14/10/2009 13:36 19.077 DemoAnalisisKualitasFrek.m 20/07/2009 15:17 16.904 hs_err_pid2824.log 14/10/2009 09:55 6.391 simulasi1.fig 14/10/2009 09:55 7.365 simulasi1.m 20/07/2009 15:12 slprj 5 File(s) 69.884 bytes 3 Dir(s) 42.065.526.784 bytes free >> >> x=1; y=2, plot(x,y,... 'r.') y= 2 >> Gambar 2.18 Sintaks program MatLab, (Sumber: Dokumentasi Bagus) Command perintah pada MatLab hampir sama dengan perintah pada commad prompt windows, ini bisa dilihat dari perintah !dir , dimana digunakan untuk menampilkan di direktori mana file tersebut disimpan dan apa saja yang disimpan di direktori tersebut. Syntax : -
;
adalah tanda akhir perintah, suppress output.
49
-
,
adalah tanda akhir perintah tetapi dilanjutkan , allows
output. -
… adalah memasukkan perintah selanjutnya, tetapi pada line(baris) berikutnya.
2.10
Perancangan Program Di dalam penulisan skripsi ini peneliti menggunakan metode pengembangan sistem System Development Life Cycle (SDLC), diagram state-transition (STD), flow-chart dan Struktur Navigasi. 2.10.1 System Development Life Cycle (SDLC) Model pengembangan SDLC sebagai metode pengembangan sistem. SDLC adalah siklus yang harus di lalui untuk mendisain dan mengimplementasikan sistem yang baru, SDLC di mulai dari suatu tahapan sampai tahapan terakhir dan kembali lagi ketahapan awal membentuk suatu siklus atau daur hidup. Adapun metode pengembangan SDLC (System Development Life Cycle) mencakup tahapan sebagai berikut :
Analisa Sistem
Perancangan Sistem
Implementasi Sistem
Operasi dan Perawatan Sistem
Gambar 2.22 Tahap-tahap SDLC (sumber : Jugiyanto H.M, 2003)
50
Model SDLC digunakan dengan melakukan pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup keseluruhan aplikasi sistem yang dibuat dalam mengembangan perangkat-perangkat lunak.
2.10.2 State-Transition Diagram (STD) State-transition diagram (STD) adalah sebuah model tingkah laku yang bertumpu pada definisi dari serangkaian keadaan sistem dan digambarkan dengan persegi panjang yang merepresentasikan keadaan sistem dan anak panah yang merepresentasikan transisi antar
keadaan
(Pressman,
2002).
Gambar
2.20
akan
memperlihatkan contoh diagram state-transition pada software mesin fotokopi yang telah disederhanakan. full & start memanggil manage-copying Membaca perintah copies done memanggil read-opinput
Mengkopi
idle memanggil read-opinput
full memanggil read-op-input
empty memanggil reload paper
Mengisi Kembali Kertas
jammed memanggil Perform problem-diagnosis Mendiagnosis Masalah
not jammed memanggil read-op-input
Gambar 2.23 State Transition Diagram yang disederhanakan untuk software foto copy (Sumber: Roger S. Pressman, 2002)
51
Notasi-notasi yang dipergunakan dalam diagram statetransition (STD) adalah : 1. Keadaan sistem (state) suatu kumpulan dari tingkah laku yang dapat diobservasi. 2. Perubahan sistem untuk menghubungkan suatu keadaan lain, digunakan jika sistem memiliki transisi dalam perilakunya. 3. Kondisi dan aksi kondisi (condition) adalah suatu keadaan pada lingkungan luar (external environment) yang dapat dideteksi oleh sistem, sedangkan aksi (action) merupakan reaksi terhadap kondisi bila terjadi perubahan state.
2.10.3 Flow-Chart Bagan alir program (program flow-chart) adalah suatu bagan yang menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir (Hartono, 2005). Bagan alir program merupakan alat yang berguna bagi seorang perancang program untuk mempersiapkan program yang rumit. Bagan alir terdiri dari simbol-simbol yang mewakili fungsifungsi langkah program dan garis alir (flow lines) menunjukkan urutan dari simbol-simbol yang akan dikerjakan. Jadi, flow-chart adalah gambaran aliran data suatu program dengan mengunakan simbol-simbol suatu fungsi yang telah ditentukan.
52
Tabel 2.7. Simbol-simbol Program Flow-Chart Menurut ANSI (American National Standard Institute), (Sumber: Jogiyanto Hartono, 2005)
SIMBOL
NAMA
FUNGSI
TERMINATOR
Permulaan atau akhir program
GARIS ALIR (FLOW LINE)
Arah aliran program
PREPARATION
PROSES
Proses inisialisasi atau pemberian harga awal Proses perhitungan pengolahan data
atau
proses
INPUT/OUTPUT DATA
Proses input atau output data, parameter, informasi
PREDEFINED PROSES (SUB PROGRAM)
Permulaan sub program atau proses menjalankan sub program
DECISION
Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya
ON PAGE CONNECTOR
Penghubung bagian-bagian flowchart yang berada pada satu halaman
OFF PAGE CONNECTOR
Penghubung bagian-bagian flowchart yang berada pada halaman berbeda
ANNOTATION FLAG
Digunakan untuk memberikan keterangan guna memperjelas simbol-simbol yang lain
53
Gambar dibawah ini merupakan contoh bagan alir yang didalamnya terdapat bentuk-bentuk dasar struktur logika.
mulai
Struktur urut sederhana Struktur Perulangan DO-UNTIL
ya tidak
tidak ya for
Struktur Perulangan FOR
Struktur Seleksi IF
selesai
Struktur Perulangan DO-WHILE
tidak
ya
Struktur seleksi IF-THEN-ELSE
Gambar 2.24 Contoh Diagram Alir (Sumber: Jogiyanto Hartono, 2005)
54
2.10.4 Struktur Navigasi Struktur navigasi adalah struktur alur cerita dari sebuah program. Sebelum menyatukan semua elemen-elemen yang digunakan dalam aplikasi multimedia, diharuskan mendefinisikan objek-objek, dan merancang tampilan agar semua objek yang berada dalam suatu tampilan tidak menimbulkan kekeliruan informasi. (Binanto, 2010) Versi Vaught ada empat macam bentuk dasar dari struktur navigasi yang biasa digunakan di dalam proses pembuatan aplikasi, (Binanto, 2010) yaitu : a. Linier Merupakan struktur yang hanya
mempunyai satu
rangkaian cerita yang berurut. Struktur ini menampilkan satu demi satu tampilan layar secara berurut sesuai dengan urutannya. Pada struktur navigasi ini tidak diperkenankan adanya percabangan. Biasanya struktur ini digunakan untuk membuat multimedia presentasi karena tidak terlalu menuntut keinteraksian, tetapi hanya memerlukan keindahan dan kemudahan menampilkan data sebagai informasi. b. Hierarkis Merupakan
suatu
struktur
yang
mengandalkan
percabangan untuk menampilkan data. Pada struktur navigasi ini tidak diperkenankan adanya tampilan secara linier.
55
c. Non-Linier Merupakan pengembangan dari struktur navigasi Linier. Pada struktur ini diperkenankan membuat navigasi bercabang, sehingga pengguna dapat melakukan navigasi dengan bebas melalui isi aplikasi tidak terkait dengan rute yang telah ditetapkan sebelumnya. d. Komposit Merupakan gabungan dari ketiga struktur sebelumnya yaitu Linier, Non-Linier, dan Hierarkis. Struktur navigasi ini juga biasa disebut struktur navigasi bebas. Struktur navigasi ini banyak digunakan dalam pembuatan aplikasi sebab struktur ini dapat memberikan ke-interaksian yang lebih tinggi.
56
Gambar 2.25. Empat struktur navigasi pokok yang digunakan dalam aplikasi (Juhaeri, 2008)
57
2.11
Studi Sejenis. Studi sejenis maksudnya adalah studi yang sama yang sudah dilakukan oleh para peneliti dalam hal ini penelitian tentang sampling frekuensi file audio. Terdapat banyak penelitian yang berdasarkan konsep sampling frekuensi file audio. Hal ini dilakukan untuk mengetahui kekurangan dan kelebihan dari penelitian yang sama. Penelitian yang dilakukan oleh Agfianto Eko Putra (2007) tentang “Pembuatan Ekualiser 10-Band Stereo Digital dengan Algoritma Penapis Lolos-pita Tanggap Impuls Tak-hingga (IIR - Infinite Impulse Response). Penelitian ini dilakukan di Universitas Gadjah Mada dengan permasalahan yaitu masih kurangnya komponen fungsi yang dapat mengatur penguatan masing-masing pita frekuensi secara terpisah. Dengan ekualiser tersebut dapat diubah penguatan pada tingkat frekuensi tertentu, sehingga dapat ditonjolkan suara bass, trebel maupun vokal dari suatu sinyal audio. Salah satu teknik dasar yang merupakan komponen utama dalam pembuatan sebuah ekualiser adalah penapisan. Teknik penapisan digunakan untuk meloloskan beberapa sinyal tertentu dan memblokade lainnya. Penelitian ini bertujuan untuk membuat sebuah aplikasi program yang diusulkan untuk mempermudah ekualiser yang tentu lebih murah dengan kualitas yang tidak kalah dari ekualiser secara perangkat keras, berupa pemutar audio digital yang dilengkapi dengan ekualiser 10 band kanal frekuensi , meliput pita frekuensi 31 Hz, 62 Hz, 125 Hz, 250 Hz, 500
58
Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz dan 16 kHz. Tipe berkas yang dapat dimainkan adalah semua tipe berkas yang dapat dimainkan oleh bass.dll yaitu : MP3, MP2, MP1, WAV, MO3, IT, XM, S3M, MTM, MOD dan UMX. Program mempunyai playlist untuk menyimpan daftar judul lagu yang bisa ditambah atau dikurangi, selain itu program dapat digunakan untuk menyimpan nilai-nilai pada pita-pita frekuensi dalam ekualiser. Dalam penelitian yang dilakukan oleh Tri Budi Santoso, et all (2006) tentang “Implementasi Filter FIR secara Real Time pada TMS 32C5402”. Penelitian ini dilakukan di Laboratorium Sinyal Poltek ITS dengan permasalahan bagaimana sebuah filter dirancang dengan menggunakan perangkat lunak Matlab. Tujuan dari penelitian ini adalah sulitnya proses pembelajaran mata kuliah pengolahan sinyal digital untuk mencapai keseimbangan antara penyampaian materi di kelas dan penyajian praktikum menggunakan perangkat keras DSP di laboratorium. Satu implementasi Filter Digital dengan teknik perancangan FIR sengaja dipilih sebagai topik pada paper ini karena merupakan materi kunci dalam materi Pengolah Sinyal Digital. Berawal dari perancangan FIR Filter menggunakan alat Bantu perangkat lunak Matlab kemudian koefisien-koefisien respon impulse yang telah diperoleh dimasukkan ke perangkat lunak DSP Starter Kit untuk dilakukan kompilasi. Hasil kompilasi berupa kode hexa selanjutnya di downloadkan ke DSP Card untuk melihat implementasi realnya pada sinyal yang sebenarnya. Hasil
yang diperoleh dari sistem ini
menunjukkan
59
karakteristik respon frekuensi yang mendekati dengan rumusan yang ada pada teori. Dari hasil yang diperolah dalam pengujian sistem diatas menunjukkan sistem FIR untuk low pass filter (LPF), band pass filter (BPF), dan high pass filter (HPF) cukup mewakili sistem ideal dan telah menunjukkan kinerja yang bagus. Dalam penelitian yang dilakukan oleh Wahyu Kusuma, et all (2005) tentang “Representasi Nada Sinyal Suara Melodi Senandung Sebagai Fitur Identifikasi Lagu”. Penelitian ini dilakukan di Universitas Gunadarma dengan permasalahan bagaimana cara memproses senandung sehingga mendapatkan representasi fitur lagu yang disenandungkan dalam bentuk sekuens nada. Penelitian ini bertujuan untuk mengidentifikasi dan mencari lagu menggunakan senandung sebagai kueri. Sebuah aplikasi yang berfungsi untuk
mengekstraksi sinyal senandung, sehingga
menghasilkan nada yang merepresentasikan senandung tersebut. Data masukan aplikasi ini menjalani beberapa proses, sebelum akhirnya menghasilkan nada. Proses ini antara lain mendeteksi onset senandung tiap nada . Posisi onset yang diperoleh digunakan untuk mensegmentasi sinyal. Selanjutnya setiap segmen menjalani proses nada tracking melalui analisis frekuensi dengan bantuan transformasi fourier dan logika kabur, sehingga akhirnya diperoleh keluaran berupa sekuens nada. Sekuens nada yang dihasilkan dari sinyal suara melodi senandung dianalisis dan dicocokkan dengan
60
sinyal audio dari beberapa instrumen musik. Sinyal audio musik dibuat menggunakan program aplikasi Cakewalk Pro Audio 9. Dari beberapa penelitian diatas menggunakan beberapa metode dan teknologi yaitu Algoritma Penapis Lolos-pita Tanggap Impulse TakHingga (IIR - Infinite Impulse Response), Filter FIR dengan memanfaatkan DSP Card TMS 32C5400 dalam pengolahan sinyal, deteksi onset yang berfungsi untuk melacak posisi waktu dimana suatu not mulai berbunyi. Berdasarkan metode dan teknologi penelitian yang digunakan pada penelitian diatas belum terdapat metode dan teknologi yang berbasis deteksi noise dan pemberian proses parameter FIR (Finite Impulse Response), dimana pada proses pemberian parameter FIR memiliki keuntungan tersendiri yaitu hasil dari proses deteksi noise kemudian difilter/saring kembali sampai noise/ganguan suara yang ada pada file audio input terdengar jernih, bersih dibandingkan file audio sebelum diproses dengan aplikasi sampling frekuensi file audio ini. Sehingga bisa menghindari noise pada file audio yang menyebabkan tidak sampainya informasi yang terkandung pada file audio.
61
BAB III METODOLOGI PENELITIAN
Pada penelitian ini, diperlukan data-data yang lengkap sebagai bahan pendukung kebenaran materi uraian dan pembahasan. Oleh karena itu diperlukan metodologi pengumpulan data dan metode pengembangan sistem. 3.1
Metode Pengumpulan Data Penyusunan skripsi ini dilakukan dengan menggunakan beberapa metode yang dapat mendukung penulisan, baik dalam pengumpulan data maupun informasi yang diperlukan, untuk mendapatkan kebenaran materi uraian pembahasan. Adapun metode pengumpulan data yang digunakan dalam pembahasan skripsi ini adalah dengan menggunakan : 3.1.1
Metode Studi Pustaka Metode studi pustaka digunakan dengan membaca dan mempelajari referensi yang ada, e-book, serta mencari referensi tambahan dari internet. Buku utama yang digunakan peneliti yaitu : Pemrograman GUI dengan MATLAB (Sugiharto, 2006), Cepat Mahir GUI MATLAB disertai Studi Kasus (Paulus, 2007).
62
3.2
Metode Pengembangan Sistem Dalam sebuah perancangan perangkat lunak diperlukan modelmodel proses atau paradigm rekayasa perangkat lunak berdasarkan sifat aplikasi dan proyeknya, metode dan alat bantu yang dipakai dan kontrol serta penyampaian yang dibutuhkan. Pressman (2005:79) ada beberapa proses model diantaranya Sequential linier, Prototype, Rapid Application Development
(RAD),
Incremental,
Iterative,
Spiral,
Concurrent,
Component-Based Development, Model Metode Fomral, Aspect Oriented Development, Unified Process, dan Extreme Programming (XP).
3.2.1
Perbedaan Model Pengembangan Sistem Untuk menyelesaikan masalah didalam sebuah sistem harus
dilakukan strategi pengembangan yang melingkupi proses, metode, dan alat bantu serta fase-fase generik. Berikut tabel perbedaan model-model pengembangan sistem.
Tabel 3.1 Perbedaan Pengembangan Sistem Metode
Kelebihan
Sequential Linier (Waterfall) oleh Winston W. Royce (1929-1995) pada tahun 1970
Metode ini baik digunakan untuk kebutuhan yang sudah diketahui dengan baik.
Kekurangan
Penggunaan secara umum
Iterasi yang sering Waterfall bekerja terjadi dengan baik pada menyebabkan proyek skala kecil. masalah baru. Bagi pelanggan sulit menentukan kebutuhan secara eksplisit dan harus bersabar 63
karena memakan waktu yang lama. Prototype oleh Eleanor Rosch (1938-N) pada tahun 1970
Metode ini cukup efektif dengan mendapatkan kebutuhan dan aturan yang jelas dan pelanggan bisa langsung melihat sistem yang sebenarnya.
Pengembangan kadang-kadang membuat implementasi sembarangan, karena ingin working version selesai dengan cepat.
Prototyping dapat bekerja dengan baik jika kerja sama yang baik antara pengembang dan pelanggan.
Rapid Application Development (RAD) oleh James Martin (1933-N) pada tahun 1991
Metode ini lebih cepat dari waterfall jika kebutuhan dan batasan proyek sudah diketahui dengan baik, bisa untuk dimodularisasi.
Karena proyek dipecah menjadi beberapa bagian, maka dibutuhkan banyak orang untuk membentuk suatu tim karena komponenkomponen yang sudah ada, fasilitas-fasilitas pada tiap komponen belum tentu digunakan seluruhnya sehingga fasilitas program bisa menurun.
RAD cocok untuk aplikasi yang tidak mempunyai resiko teknis yang tinggi. RAD cocok untuk proyek yang memiliki SDM yang baik dan sudah berpengalaman.
Incremental oleh Schlimmer, et all. Pada tahun 1986
Fleksibel dan mudah untuk dikelola dan pengujiannya mudah.
Semua kebutuhan tidak dikumpulkan pada tahap awal sehingga menimbulkan masalah serta sulit untuk mengukur progress karena tidak ada milestone.
Cocok untuk aplikasi yang kebutuhan telah diidentifikasi dengan baik.
64
Iterative
Fase desain pengkodean dan pengujian lebih cepat.
Butuh waktu yang Hanya cocok untuk banyak untuk skala besar. menganalisis dan terlalu banyak langkah yang dibutuhkan model.
Spiral oleh Barry W. Boehm (1933N) pada tahun 1986
Model ini digunakan untuk sistem skala besar, membutuhkan konsiderasi langsung terhadap resiko teknis, sehingga dapat mengurangi resiko besar.
Resiko utama tidak ditemukan, maka masalah bisa timbul kemudian sehingga membutuhkan managemen dan perkiraan resiko (risk assessment) yang cukup tinggi.
Hanya cocok untuk software skala besar.
Concurrent oleh C.A.R. Hoare, et all pada tahun 1960
Peningkatan aplikasi yang sudah selesai pada umumnya satu periode. Sangat memperhatikan pada inputoutput dari aplikasi. Dapat dieksekusi secara pararel.
Tidak bisa mendeteksi error pada sub-program (fungsi-fungsi program). Membutuhkan waktu lama.
Cocok untuk aplikasi yang membutuhkan ketelitian dalam proses input-output program.
Component-Based Development oleh Malcolm Douglas Mcllroy (1932-N) pada tahun 1998
Komponenkomponen program dijadikan satu set paket sehingga dapat memudahkan para pengembang dalam
Cukup menyulitkan dalam membuat paket-paket program yang dibutuhkan dalam mengembangkan aplikasi.
Baik digunakan untuk aplikasi yang banyak menggunakan program-program yang pernah dibuat.
65
pengkodeaan dan penggunaan kembali kode program tersebut. Model Metode Fomral
Sistem diekspresikan dengan teori matematika sehingga mudah di pahami.
Sulit di pahami bagi orang yang tidak mengerti ekspresi matematika dan logikanya.
Waktu pengerjaan kode program akan lebih lama karena lebih memperhatikan modul-modul program yang tersusun rapi. Team proyek Waktu pengerjaan Unified Process oleh Ivar Hjalmar fokus pada proyek lebih lama alamat yang karena Jacobson et all (1939-N) pada tahun memiliki banyak menggabungkan 1990 resiko paling konsep iterative tinggi lebih dan incremental. awal. Sehingga dapat meminimalisir resiko pada saat aplikasi sudah jadi. Aspect Oriented Software Development oleh Gregor Kiczales et all.
Extreme Programming (XP) oleh Kent Beck (1943-N) pada tahun 1999
Mendukung modularisasi perhatiannya sejak dari pembuatan kode program.
Peningkatan kualitas software dan memfokuskan pada perubahanperubahan yang diminta oleh pelanggan.
Para pengembang tidak bisa mengembangkan kualitas software karena tidak ada feedback dari pelanggan.
Baik digunakan untuk pengembangan aplikasi matematika atau perhitungan. Baik digunakan untuk proyek skala besar. Aplikasi yang berbasis object oriented.
Baik digunakan untuk aplikasi yang dibuat berbasis object oriented dengan notasi rational rose.
Baik untuk software yang sudah ada tetapi masih dibutuhkan pengembangan kualitas karena kebutuhankebutuhan dari pelanggan.
66
3.2.2
Pemilihan Model Pengembangan Sistem Model waterfall biasa disebut juga dengan The Classic Life Cycle,
menyarankan sistematik, pendekatan berurutan untuk pengembangan software yang memulai dengan spesifikasi pelanggan terhadap syaratsyarat dan perkembangan melewati planning, modeling, construction, dan deployment menaik dalam mendukung terhadap kelengkapan software (Pressman 2005:79). Dalam penelitian ini penulis menggunakan model waterfall karena dalam model waterfall pengembangan perangkat lunak disusun secara berurutan dimana hal ini akan memudahkan penulis dalam pembuatan perangkat lunak sehingga model waterfall tepat untuk digunakan karena tahap-tahapnya jelas dan berurutan dan yang lebih penting adalah perangkat lunak yang dikembangkan oleh penulis tidak terlalu kompleks atau kecil. Dan berikut ini merupakan gambar dari model waterfall.
Communication Project initiation Requirement Gathering
Planning Estimating Schedjuling Tracking
Modeling Analisys Design
Construction Code Test
Develoyment Delivery Support Feedback
Gambar 3.1 Model Waterfall
67
1.
Komunikasi (Communication) Tahapan pertama untuk mengembangkan perangkat lunak pada model waterfall adalah komunikasi, komunikasi ini merupakan pembicaraan awal antara pengembangan perangkat lunak dan pelanggan. Dalam tahap komunikasi ini ada beberapa point yang perlu di perhatikan yaitu : a.
Nama projek (Project Initiation) Pembicaraan awal mengenai pembuatan suatu perangkat lunak
harus dilakukan karena menentukan perangkat lunak apa yang akan dibuat. Pada penulisan skripsi ini penulis telah menentukan perangkat lunak apa yang akan dibuat untuk penelitian ini. Perangkat lunak yang akan dikembangkan dalam penelitian ini adalah perangkat lunak sampling frekuensi file audio.
b.
Syarat-syarat atau kebutuhan (Requirement) Telah disebutkan diatas nama perangkat lunak yang akan
dibuat adalah perangkat lunak sampling frekuensi file audio. Langkah selanjutnya dalam bagian dari komunikasi ini adalah mendefinisikan
syarat-syarat
atau
kebutuhan-kebutuhan
yang
dibutuhkan dalam pengembangan perangkat lunak ini. Dalam penelitian ini penulis mendefinisikan kebutuhan berdasarkan studi pustaka dan studi literatur.
68
c.
Pengumpulan (Gathering) Pengumpulan (gathering) merupakan langkah berikutnya dari
bagian komunikasi atau pembicaraan awal, pengumpulan ini maksudnya
adalah
keperluan-keperluan Pengumpulan
mengumpulkan yang
data-data
telah yang
semua
syarat-syarat
dijelaskan di
oleh
perlukan
atau
pelanggan.
dalam
proses
pengembangan perangkat lunak sampling frekuensi file audio penting adanya karena dapat dijadikan informasi penting dalam pembuatan perangkat lunak sampling frekuensi file audio dan nantinya perangkat lunak akan sesuai dengan keinginan pelanggan.
2.
Perencanaan (Planning) Perencanaan (planning) merupakan langkah perencanaan pembuatan
perangkat lunak, perencanaan dalam pembuatan perangkat lunak meliputi perkiraan
(estimating),
penjadwalan
(schedjuling),
dan
perjalanan
(tracking). a.
Perkiraan (estimating) Perkiraan
merupakan
langkah
awal
dari
perencanaan
pembuatan perangkat lunak sampling frekuensi file audio, perkiraan pembuatan perangkat lunak yang dilakukan untuk mengetahui kirakira terselesaikan berapa bulan dalam pembuatan perangkat lunak ini. Tetapi pada kenyataannya penelitian selalu tidak sesuai dengan perkiraan yang sudah di tetapkan.
69
b.
Penjadwalan (schedjuling) Proses selanjutnya dari bagian planning adalah penjadwalan
disini merupakan penentuan waktu dari masing-masing tahapan yang ada dalam model waterfall, maksudnya adalah memberikan waktu dan batas akhir dari semua kegiatan yang ada dalam pengembangan perangkat lunak ini.
c.
Perjalanan (tracking) Perjalanan (tracking) disini merupakan penjajakan tahapan
demi tahapan berurutan dari tahap awal sampai dengan tahap akhir dari model waterfall ini. Pembuatan perangkat lunak dalam penelitian ini dilakukan tahap demi tahap dari mulai tahap awal dilalui dan sampai pada tahap akhir.
3.
Pemodelan (Modeling) Pemodelan (modeling) merupakan langkah ketiga dari model
waterfall, pemodelan ini untuk memodelkan semua syarat-syarat atau kebutuhan yang ada pada tahap komunikasi dan dilakukan sesuai apa yang telah direncanakan. Terdapat dua bagian dalam pemodelan ini yaitu analisis (analisys) dan perancangan (design). a.
Analisis (Analisys) Dalam memodelkan perangkat lunak samping frekuensi file
audio perlu dilakukan analisis syarat-syarat atau kebutuhan-
70
kebutuhan baik itu input, proses maupun output yang telah dijelaskan oleh pelanggan. Analisis ini dilakukan guna pembuatan sistem yang ada pada perangkat lunak berjalan sesuai apa yang diinginkan. Dalam pembuatan perangkat lunak sampling frekuensi file audio ini dilakukan analisis sistem usulan. Analisis sistem usulan merupakan analisis untuk mengetahui syarat-syarat atau kebutuhan apa yang ada pada sistem usulan nanti.
b.
Perancangan (Design) Perancangan (Design) merupakan bagian dari pemodelan,
perancangan sampling frekuensi file audio meliputi perancangan proses dan perancangan tampilan antar-muka. Hal ini dilakukan untuk memudahkan dalam pembuatan kode program.
4.
Pembuatan (Construction) Pembuatan
(construction)
merupakan
tahap
pengalihan
dari
perancangan ke dalam bahasa pemrograman. Bahasa pemrograman yang digunakan dalam penelitian ini adalah MatLab dan MATLAB Compiler Runtime (MCR). Dalam pembuatan perangkat lunak sampling frekuensi file audio meliputi dua aspek yaitu kode (coding) dan test (testing).
71
a.
Kode (Coding) Kode merupakan tahapan ke-empat dari model proses
waterfall. Pengkodean merupakan kegiatan pengalihan dari tahap analisis dan perancangan kedalam bentuk bahasa pemrograman dalam hal ini bahasa pemrograman yang dipakai MatLab dan MATLAB Compiler Runtime (MCR).
b.
Test (Testing) Test (testing) atau pengujian merupakan kegiatan yang
menguji kode program yang sudah dibuat apakah berjalan sesuai dengan keinginan atau tidak, ada beberapa bentuk pengujian yaitu white box testing dan black box testing. White box testing merupakan pengujian yang dilakukan dengan cara menguji masing-masing fungsi dan memastikan apakah fungsi-fungsi atau modul-modul tersebut sesuai yang diinginkan atau belum, sedangkan black box testing adalah pengujian yang dilakukan setalah semua fungsi-fungsi atau modul-modul program dijadikan satu bagian yang membentuk suatu perangkat lunak yaitu perangkat lunak sampling frekuensi file audio. Dalam penelitian ini penulis melakukan pengujian dengan cara black box testing untuk memastikan apakah perangk lunak yang dibuat sudah berjalan sesuai harapan atau tidak.
72
5.
Penyebaran (Deployment). Penyebaran (deployment) merupakan tahapan paling akhir dari
model waterfall. Penyebaran dilakukan setelah perangkat lunak sudah diuji coba dan siap untuk dipakai oleh pelanggan. Penyebaran pada model waterfall meliputi pengiriman (Delivery), utility pendukung (Support), umpan balik (Feedback). Dalam penelitian perangkat lunak sampling frekuensi file audio ini penulis hanya sampai pada tahapan konstruksi (construction) karena penelitian ini dilakukan bukan untuk diproduksi atau digunakan langsung oleh pelanggan akan tetapi hanya untuk penelitian studi dalam hal ini skripsi.
3.3
Justifikasi Pemilihan Metode Pengembangan Sistem SDLC Penelitian pada penulisan tugas akhir ini memilih metode SDLC (System Development Life-Cycle) dalam melakukan pembuatan aplikasi. Alasan pemilihan metode pengembangan sistem SDLC adalah metode SDLC memiliki tahapan yang mewakilkan dari pembuatan suatu aplikasi, serta efisien dalam pelaksanaannya didalam pengembangan sistem.
3.4
Perangkat penelitian Penelitian pada penulisan tugas akhir ini menggunakan perangkat keras dan perangkat lunak/software yang spesifikasinya sebagai berikut :
73
3.4.1 Perangkat Keras Pada penelitian ini perangkat keras menggunakan notebook yang spesifikasinya sebagai berikut : 1.
Processor AMD Turion™ X2 Dual Core Mobile RM-70 2.0 GHz.
2.
Harddisk 160 GB.
3.
Memory 1 GB.
4.
Monitor dengan resolusi 1280x800 pixel.
5.
CD RW.
3.4.2 Perangkat Lunak Pada penulisan penelitian ini penulis menggunkan perangkat lunak yang terdiri dari : 1.
MatLab R2008.
2.
Microsoft Visio 2007.
3.
MATLAB Compiler Runtime (MCR).
4.
Adobe Photoshop Portable.
Ilustrasi metodologi penelitian yang dilakukan dalam pembuatan aplikasi sampling frekuensi file audio ini dapat dilihat pada gambar 3.3.
74
Metode Pengumpulan Data
Analisa Sistem
Tujuan : Membuat Sebuah Aplikasi Sampling Frekuensi File Audio menggunakan Metode FIR (Finite Impulse Response) untuk memberikan salah satu solusi dalam mengatasi masalah noise
Ruang Lingkup pada Sistem
Perancangan Proses
Flowchart
Perancangan Antar Muka
State Transition Diagram
Perancangan Sistem
Tahap Pengkodean
Implementasi
Pengujian
Analisa Hasil Pengujian Operasi dan Perawatan Sistem
Aplikasi Sampling Frekuensi File Audio menggunakan Metote FIR (Finite Impulse Response) Gambar 3.3 Ilustrasi Metodologi Penelitian Pembuatan Aplikasi Sampling Frekuensi File Audio.
75
BAB IV PEMBAHASAN DAN IMPLEMENTASI
Pengembangan sistem terdiri atas tahap analisa sistem, perancangan sistem, implementasi sistem, operasi dan perawatan sistem. Tahap ini dilakukan untuk mengetahui apa saja syarat-syarat dan kebutuhan yang diperlukan dalam pembuatan aplikasi untuk memenuhi tujuan dari pembuatan aplikasi ini.
4.1
Analisa Sistem Pada tahap ini dilakukan suatu perbandingan dari beberapa aplikasi sampling
frekuensi
yang
sudah
ada.
Perbandingan
dilakukan
untuk
mengidentifikasikan tujuan-tujuan aplikasi serta mengetahui syarat-syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Aplikasi sampling frekuensi yang akan dibuat adalah aplikasi sampling frekuensi file audio yang menggunakan metode filter Finite Impulse Response.
4.1.1
Tujuan Tujuan dari perancangan ini telah dijelaskan sebelumnya, dimana peneliti bertujuan untuk membuat suatu aplikasi sampling frekuensi file audio yang mengimplementasikan metode filter Finite Impulse Response, diantaranya yaitu :
76
1)
Membuat suatu grafik output kualitas sampling frekuensi dengan mendeteksi noise dan mengunakan metode filter FIR (Finite Impulse Response) pada file audio yang berekstensi WAV.
2)
Untuk menganalisis perubahan kualitas informasi sinyal frekuensi audio berdasarkan sampling dari suara yang didapat dan besarnya ganguan (noise) pada file audio setelah melalui proses penyaringan/filter.
4.1.2
Ruang Lingkup pada Sistem Ruang lingkup pada sistem disini untuk mencapai tujuan dalam pengembangan aplikasi Sampling Frekuensi File Audio, dengan menggunakan bahasa pemrograman MatLab versi R2008A. Bahasa pemrograman MatLab adalah bahasa pemrograman yang mampu untuk menampilkan GUI (Grafik User Interface), baik itu tampilan yang berbentuk 2D maupun 3D. Bahasa pemrograman ini didesain untuk memberikan kemudahan kepada para pengguna (user). Spesifikasi perangkat lunak dan perangkat keras yang digunakan peneliti dalam perancangan aplikasi ini adalah sebagai berikut : Perangkat Lunak : 1.
MatLab R2008
2.
Microsoft Visio 2007
3.
Adobe Photoshop Portable
4.
MATLAB Compiler Runtime (MCR). 77
Perangkat Keras :
4.2
1.
Processor AMD Turion™ X2 Dual Core Mobile RM-70 2.0 GHz
2.
Harddisk 160 GB
3.
Memory 1 GB
4.
Monitor dengan resolusi 1280x800 pixel
5.
CD RW
Perancangan Sistem (System Design) Pada tahap ini dilakukan perancangan, evaluasi, dan perbaikan sistem sesuai dengan kebutuhan agar sistem yang sedang dibuat dapat dimanfaatkan secara optimal.
4.2.1 Perancangan Proses 4.2.1.1
Perancangan Sistem Aplikasi Deteksi Noise dan Parameter Proses FIR Aplikasi ini menggunakan kombinasi dari deteksi noise dan parameter FIR (Finite Impulse Response). Penggunaan parameter filter FIR untuk aplikasi ini karena filter FIR mudah dibuat
dengan
koefisien
pada
matrik,
mudah
untuk
diimplementasikan, dan dapat dirancang untuk fasa tunggal yang akan mencegah distorsi. Sebuah sampling frekuensi menghasilkan sebuah filter berdasarkan respon frekuensi yang
78
diinginkan. Diberikan sebuah matriks dari point yang mendefinisikan bentuk respon frekuensi. Pada proses deteksi noise, noise disisipkan di audio sampling. Dimana didalamnya terdapat random noise dan constant pitch noise. Kedua noise ini berfungsi untuk merubah baik secara acak maupun tetap nilai time dan frekuensi dari audio sample yang di input dari file wav. Tahap
selanjutnya
adalah
pemrosesan
dengan
parameter Filter FIR (Finite Impulse Response). Proses didalam FIR ini terdapat nilai-nilai awal pem-filteran, dB Down audio sample adalah konstanta audio, dan interval First Zero adalah intervalnya. Nilai ini bisa kita ubah untuk melihat se-signifikan apa audio sample yang telah di deteksi oleh noise. Kemudian output di tampilkan dalam bentuk grafis time dan frekuensi dari audio sample-nya. Deteksi Noise
Parameter FIR
Input File Audio (WAV)
Output deteksi noise 1 (WAV)
Deteksi Noise
Random Noise
Filter
dB Down
Interval First Zero
Constant Pitch Noise Output parameter FIR 2 (MP3)
Output deteksi noise 1(WAV)
simpan / SAVE (MP3)
Gambar 4.1 Proses aplikasi Deteksi Noise dan Parameter FIR
79
4.2.1.2
Flow-chart Aplikasi Deteksi Noise dan Parameter Proses FIR Pada tahapan ini akan digambarkan alur proses deteksi audio noise dan proses FIR (Finite Impulse Response) dengan menggunakan Flow-chart. Start
Input File Audio WAV
If (null)
Ya
Error Input
Ya
Error Input
Ya
Error Input
Tidak Input Deteksi Noise
If (null)
Tidak Input Parameter Proses FIR
If (null)
Tidak Panggil ( gui_Singleton = 1; )
1
Gambar 4.2 Flow-chart Proses Deteksi Noise untuk parameter FIR Gambar 4.2 menjelaskan informasi apa saja yang harus di input untuk memulai proses deteksi noise dan parameter FIR. Informasi harus lengkap, apabila tidak lengkap maka akan
80
muncul error input untuk mengingatkannya. Setelah semua informasi
terisi
lengkap
program
akan
memanggil
gui_Singleton(1) untuk menjalankan deteksi noise. Kemudian setelah
semua
tahap
dijalankan,
maka
program
akan
memanggil parameter FIR(2) untuk mereduksi noise yang telah disisipkan ke dalam audio sampling. Disini hasil dari outputnya dapat di play untuk didengarkan perbedaannya dari sebelum proses reduksi noise, dan menyimpan hasil output-nya dalam bentuk format MP3. Hal ini digambarkan oleh Gambar 4.3 dibawah ini,
81
1
2
global x ( gui_Singleton = 1; )
global x white = 0.1*rand(1,(length(x))); NFFT2 = 2^nextpow2(length(white)); Y2=fft(white,NFFT2);
Read file audio, time dan frequenzy
global fs f2 = fs/2*linspace(0,1,NFFT2/2); fnew2 = 20*log10(abs(Y2(1:length(f2)))); fnew2(1:(length(fnew2)/2))=0; q1=ifft(Y2,NFFT2); q2=abs(q1); q3=max(q2); q4=q2/q3;
Sample file audio >= Lenght (x)
Tidak
Pesan Error
End
global q5 q5=0.1*(real(q4(1:length(x))));
Proses FIR
if (get(handles.radiobutton1,'Value') == get(hObject,'Max')) u = u + q5';
Ambil time dan frequenzy dari audio sample Ya
Tidak
pin=str2double(get(handles.freqn,'String')); cpnoise =0.1* cos(2*pi*pin*(0:length(x)-1)/fs)';
if (get(handles.radiobutton2,'Value') == get(hObject,'Max')) u = u + cpnoise;
Ya
Masukkan noise ke audio sample
Play hasilnya ke Output file
Simpan file di lokasi yang telah ditentukan
Panggil Parameter FIR
2
End
Gambar 4.3 Flow-chart Proses Deteksi noise dengan random noise, constant picth noise di Sebelah Kiri dan Flow-chart Proses dengan menggunakan parameter FIR di Sebelah Kanan.
82
4.2.2 Perancangan Antar Muka Dalam perancangan antarmuka aplikasi sampling frekuensi file audio, dibuat beberapa halaman tampilan yang akan ditampilan. 4.2.2.1 Perancangan Halaman Tampilan Halaman tampilan merupakan tampilan utama dalam program sampling frekuensi audio, yang didalamnya terdapat 7 buah tombol sebagai berikut : 1. Tombol Cari File : berfungsi untuk mencari file lokasi media penampung. 2. Tombol Play Original File : berfungsi untuk memainkan file audio sebelum diberikan noise. 3. Tombol Proses : berfungsi untuk memproses file audio setelah diberikan parameter deteksi noise. 4. Tombol Play Noise File : berfungsi untuk memainkan file audio setelah ditambahkan beberapa noise. 5. Tombol Play Reduction File : berfungsi untuk memainkan file audio yang telah dihilangkan noise nya setelah memasukan nilai parameter. 6. Tombol Save/Simpan : berfungsi untuk menyimpan file audio hasil output dalam bentuk format MP3. 7. Tombol Keluar : berfungsi untuk keluar dari aplikasi.
83
SAMPLING FREKUENSI FILE AUDIO
File Wav
Grafik File Audio Setelah Proses Deteksi Noise
Cari File..
GRAFIK terhadap Time (s)
Informasi File Nama File :
Grafik File WAV Dengan Proses Filter FIR
GRAFIK Frekuensi
GRAFIK terhadap Frequenzy (Hz)
Play Original..
Pilih Type Deteksi Noise Radio Button1 Radio Button2 In Hertz pitch
GRAFIK terhadap Frequenzy (Hz)
Parameter Proses FIR Filter 4 db Down
40
First Zero
3000
Proses
Grafik File Audio Setelah Noise diperkecil (Penyaringan Parameter Proses) GRAFIK terhadap Time (s)
footer langkah-langkah penggunaan
GRAFIK terhadap Frequenzy (Hz)
Tools Play Noise
Play Reduction
Save
Exit
Gambar 4.4 Rancangan Halaman Tampilan
84
Berikut gambaran State Transition Diagram Halaman Tampilan : Open Klik
H a l a m a n
Cancel Klik Cari File Klik
Silahkan Pilih File Audio .WAV OK Klik Window Grafik Informasi File
Play Original File Klik
Random Noise Klik Window Grafik File Audio Setelah Proses Deteksi Noise Time (s) dan Frequenzy (Hz)
Pilih Type Deteksi Noise Klik Constant Pitch Noise Klik
Window Grafik File WAV dengan Proses Filter FIR Frequenzy (Hz) Proses Klik
T a m p i l a n
Window Grafik File Audio Setelah Noise diperkecil (Penyaringan Parameter Proses FIR) Time (s) dan Frequenzy (Hz)
Play Noise File Klik
Play Noise Reduction File Klik Save Klik Cancel Klik Save Klik
Window Save File Audio .MP3
Exit Klik
Halaman Tutup
Gambar 4.5 State Trantition Diagram Halaman Tampilan
85
Mulai
Menu Halaman Tampilan
Pilih Menu
Pilih Cari File .WAV
Tampilan Pencarian File .WAV
Pilih Play Original File
Tampilkan Grafik Frekuensi dan Suara Original File
Pilih Type Deteksi Noise
Isikan Parameternya Random Noise atau Constant Pitch Noise
Tampilkan Grafik File Setelah Proses Deteksi Noise Pilih Parameter Proses
Isikan Parameternya interval : First Zero 1000 – 3000, dst
Tampilkan Grafik File Wav dengan Proses Filter FIR
Tampilkan Grafik File Audio Setelah Noise diperkecil
Pilih Play Noise Tampilkan Suara Noise File
Pilih Play Reduction File
Tampilkan Penghilangan Suara Noise File
Pilih Save/Simpan
Tampilan Save File dalam format .MP3
Pilih Keluar
Keluar
Gambar 4.6 Flow-chart Halaman Tampilan
86
Gambar 4.7 Bentuk Rancangan Halaman Tampilan dalam Matlab
87
4.2.2.2 Perancangan UiPanel Informasi, Play Original File dan Button Cari File UiPanel ini dilengkapi dengan dua buah tombol dan satu buah axes grafis, yaitu : 1. Tombol Cari File : berfungsi untuk mencari file audio yang berada didalam direktori media audio. 2. Tombol Play Original File : berfungsi untuk mendengarkan suara file audio aslinya sebelum proses deteksi noise. 3. Axes Grafis : berfungsi untuk menampilkan grafik frekuensi file audio.
Gambar 4.8 Rancangan Button Cari File, Informasi dan Play Original File Audio
88
Gambar 4.9 Tampilan jika user mengklik Cari File pada tombol Button.
4.2.2.3 Perancangan Radio Button Type Deteksi Noise Panel ini berfungsi untuk memilih type deteksi noise pada proses analisis kualitas frekuensi. Panel ini dilengkapi dengan dua buah radio button, yaitu : 1. Random Noise : berfungsi untuk memetakan secara acak audio noise yang akan di proses. 2. Constant Pitch Noise : berfungsi untuk memetakan secara konstan/tetap audio noise yang di proses.
89
Gambar 4.10 Rancangan Radio Button Type Deteksi Noise
4.2.2.4 Perancangan UiPanel Parameter Proses Panel ini berfungsi untuk proses analisis kualitas frekuensi setelah mengganti nilai dari Filter, dB Down dan First Zero. Panel ini dilengkapi dengan satu buah tombol proses. 1. Tombol Proses : berfungsi untuk menampilkan hasil dari nilai yang di input pada order filter, dB Down dan First Zero.
Gambar 4.11 Rancangan UiPanel Parameter Proses
4.2.2.5 Perancangan axes Time (s) dan axes Frequenzy (Hz) pada Proses Deteksi Noise Panel ini dilengkapi dengan dua buah axes grafis, yaitu : 1. Axes Time (s) : berfungsi untuk menampilkan grafik audio berdasarkan waktu/Time. 2. Axes Frequenzy (Hz) : berfungsi untuk menampilkan grafis audio berdasarkan frekuensinya.
90
Gambar 4.12 Rancangan axes Time (s) dan axes Frequenzy (Hz) pada proses deteksi noise.
4.2.2.6 Perancangan axes Frequenzy (Hz) pada proses FIR Panel ini dilengkapi dengan satu buah axes grafis, yaitu : 1. Axes Frequenzy : berfungsi untuk menampilkan grafik audio pada proses FIR.
Gambar 4.13 Rancangan axes Frequenzy (Hz) pada proses FIR
4.2.2.7 Perancangan axes Time (s) dan axes Frequenzy (Hz) pada penyaringan Parameter Proses Panel ini dilengkapi dengan dua buah axes grafis, yaitu : 1. Axes Time : berfungsi untuk menampilkan grafik audio waktu pada proses penyaringan parameter.
91
2. Axes Frequenzy : berfungsi untuk menampilkan grafik audio frekuensi.
Gambar 4.14 Rancangan axes Time (s) dan axes Frequenzy (Hz) pada penyaringan Parameter Proses
4.2.2.8 Perancangan Button Play Noise File, Play Noise Reduction File, Save/Simpan, Exit Panel ini dilengkapi dengan empat buah tombol, yaitu : 1. Tombol Play Noise File : berfungsi untuk mendengarkan file audio yang telah diberikan noise. 2. Tombol Play Noise Reduction File : berfungsi untuk mendengarkan file audio yang noise nya telah direduksi. 3. Tombol Save/Simpan : berfungsi untuk menyimpan hasil output file audio dalam format MP3. 4. Tombol Exit : berfungsi untuk keluar dari aplikasi.
Gambar 4.15 Rancangan Button Play Noise File, Play Reduction File, Save/Simpan, Exit.
92
Jika user mengklik Play Noise File, maka akan di dengarkan suara file audio yang disisipkan noise. Jika user mengklik Play Noise Reduction File, maka akan didengar suara file audio yang telah di reduksi/dihilangkan suara noise- nya. Jika user mengklik Save / Simpan, maka file hasil pemfilteran akan di simpan dalam format MP3. Jika user mengklik Exit, maka user akan keluar dari aplikasi sampling frekuensi file audio.
Gambar 4.16 Menyimpan Hasil Output Sampling Frekuensi dalam format MP3.
93
Gambar 4.17 Konfirmasi apabila user memilih menu Exit.
4.3
Implementasi Sistem Pada tahap ini, dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan sebelumnya dengan menggunakan bahasa pemrograman MatLab. Dalam melakukan penelitian, adobe photoshop portable digunakan untuk mendesain user interface sederhana sebelum dibuat didalam MatLab figure. Kode sumber / source code yang peneliti rancang menggunakan perangkat lunak MatLab, Simulink MatLab 2008, dan sebagian kode peneliti mendapatkannya di http://www.codeproject.com. Aplikasi ini dibuat dengan memanfaatkan guidata, function dan global yang sudah tersedia. Guidata yang digunakan adalah guidata deteksi noise audio yang terdapat pada interpreter MatLab yang digunakan. Pemanfaatan guidata tersebut ditunjukkan pada potongan kode sumber berikut ini : gui_Singleton = 1; gui_State = struct('gui_Name', 'gui_Singleton', 'gui_OpeningFcn', 'gui_OutputFcn', 'gui_LayoutFcn', 'gui_Callback',
mfilename, ... gui_Singleton, ... @wavreduction_OpeningFcn, ... @wavreduction_OutputFcn, ... [] , ... []);
94
Sedangkan function dan global yang digunakan untuk membangun aplikasi adalah function deteksi noise dan global parameter Filter FIR. Penggunaan fungsi tersebut ditunjukkan dengan potongan kode sumber berikut : function varargout = wavreduction_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function pushbutton1_Callback(hObject, eventdata, handles) canvas=guidata(gcbo); clear global; refresh; delete projectnoise.wav; delete projectfinal.wav; delete tmp638.wav; global FileName global PathName global x global fs [x,fs]=wavread(fullfile(PathName, FileName)); set(canvas.text4,'String', FileName); global t3 t3=(0:length(x)-1)/fs;
Function deteksi noise audio dan global parameter Filter FIR yang lain, dapat dilihat selengkapnya didalam kode sumber (source code) pada lampiran B. Spesifikasi perangkat lunak dan perangkat keras yang digunakan peneliti dalam perancangan aplikasi ini adalah sebagai berikut : Perangkat Lunak : 1.
MatLab R2008
2.
Microsoft Visio 2007
3.
Adobe Photoshop Portable
4.
MATLAB Compiler Runtime (MCR).
95
Perangkat Keras :
4.4
1.
Processor AMD Turion™ X2 Dual Core Mobile RM-70 2.0 GHz
2.
Harddisk 160 GB
3.
Memory 1 GB
4.
Monitor dengan resolusi 1280x800 pixel
5.
CD RW
Operasi dan Perawatan Sistem Pengujian yang dilakukan terhadap aplikasi sampling frekuensi file audio ini adalah pengujian dengan metode blackbox. Pengujian dilakukan dengan menjalankan semua fungsi dan fitur yang ada dari aplikasi ini dan kemudian dilihat apakah hasil dari fungsi-fungsi tersebut sesuai dengan yang diharapkan. Aplikasi dijalankan melalui program running MatLab di komputer stand alone dan user mencoba melakukan proses deteksi noise dan proses parameter FIR.
4.4.1
Persiapan Running Program MatLab Pada implementasi ini, peneliti melakukan setting pada komputer yang sudah terdapat program MatLab-nya, kemudian mencari sumber folder MatLab yang didalamnya terdapat aplikasi ini. User dapat langsung menggunakan aplikasi sampling frekuensi file audio ini tanpa perlu menginstal aplikasi terlebih dahulu dan dijalankan secara stand alone pada program Running GUI MatLab. 96
4.4.2
Proses
Deteksi
Noise
dan
Proses
Parameter
FIR
(Finite Impulse Response) Proses deteksi noise dan proses parameter FIR pada program sampling frekuensi file audio ini dapat berjalan dengan baik. Dan memberikan informasi file audio dalam mencegah munculnya noise pada file yang diproses. Untuk tampilan program selengkapnya dapat dilihat pada lampiran A.
4.4.3
Pengujian Aplikasi Sampling Frekuensi File Audio (File WAV) Setelah melakukan proses setting MatLab kemudian dilakukan pengujian terhadap aplikasi sampling frekuensi file audio, pada tahap pengujian proses deteksi noise dan proses parameter FIR ini dilakukan pada tipe jenis audio file wav dengan ukuran file maksimal 200 KB dan proses deteksi noise, parameter FIR maksimal 30 menit. Apabila telah dilakukan proses deteksi noise dan parameter FIR akan disimpan menjadi file yang berekstensi (*.mp3). Pengujian ini dapat dilihat pada tampilan program pada lampiran A. 1.
Analisis dan pengujian deteksi noise dan parameter proses FIR terhadap tipe file wav. Pada tahap ini, peneliti akan melihat apakah aplikasi dapat melakukan deteksi noise pada tipe file wav yang lain, dan apakah proses tersebut membutuhkan waktu yang lama terhadap ukuran
97
file yang diproses. Tipe file yang akan diuji adalah hanya file yang berekstensi (*.wav).
Gambar 4.18 Nama file dan ukuran tipe file wav sebelum diuji.
Gambar 4.19 Hasil output proses yang disimpan
Proses deteksi noise berjalan lancar, semua file audio bisa diproses tanpa ada kesalahan aplikasi. Terdapat perbedaan yang meningkatkan kualitas dan performance file audio menjadi lebih baik setelah melalui proses penyaringan noise tersebut. Untuk lama waktu yang digunakan tergantung pada besar kecilnya ukuran file audio yang diproses. Namun, jika ukuran file audio yang diproses kecil (<=200 KB), maka prosesnya tidak memakan waktu yang lama. File audio yang diproses ternyata ada yang
98
memakan waktu yang sangat lama, sampai batas maksimal waktu yang dibutuhkan yaitu 30 menit. Untuk itu peneliti membatasi waktu prosesnya sehingga file audio yang diuji hanya 5 (lima) buah file audio untuk mengefisiensikan waktu prosesnya. Waktu ditampilkan dalam hitungan menit dan detik. Tabel 4.1 File audio wav yang dipilih untuk pengujian proses.
Tabel 4.1 File wav yang diuji sebelum diuji
Tabel 4.2 Perbedaan Kualitas File Audio sebelum dan sesudah deteksi noise dan proses Filter FIR. File Audio .wav sebelum di proses
File Audio .wav setelah di proses
1 File Jackie.wav yang di deteksi noisenya.
Hasil akhir File Jackie.wav setelah di reduksi noise-nya.
File Posh Bell.wav yang di deteksi noisenya.
Hasil akhir File Posh Bell.wav setelah di reduksi noise-nya.
2
99
3 File BIRD.wav yang di deteksi noise-nya.
Hasil akhir File BIRD.wav setelah di reduksi noise-nya.
File Bells.wav yang di deteksi noise-nya.
Hasil akhir File Bells.wav setelah di reduksi noise-nya.
File Suit-suit.wav yang di deteksi noisenya.
Hasil akhir File Suit-suit.wav setelah di reduksi noise-nya.
4
5
Dari
Tabel 4.2 yang telah ditunjukkan diatas, terlihat
perbedaan file audio yang dihasilkan. Dapat dilihat hasil akhir (output) dari proses tersebut membuat halus frekuensi yang dihasilkan, dan noise yang sebelumnya terdeteksi pada file audio berhasil dihilangkan dengan proses diteksi noise dan parameter proses FIR. Ini menandakan bahwa file output yang telah dihasilkan lebih baik tingkat kualitas dan performance-nya dari file sebelumnya. Untuk melihat sejernih apa kualitas yang didapatkan dari outputnya, maka peneliti mengambil 1 (satu) cuplikan proses
100
sampling penghilangan noise-nya. Berikut ini dapat dilihat hasilnya pada Gambar 4.20 dan Gambar 4.21.
Gambar 4.20. Cuplikan Sampling Frekuensi setelah noise dihilangkan.
Gambar 4.21 Cuplikan penghilangan noise pada File audio yang diproses. 101
2.
Pengujian deteksi noise dan proses parameter FIR terhadap tipe file wav berdasarkan lamanya proses bekerja. Analisis ini bertujuan untuk mengetahui seberapa lama waktu yang dibutuhkan untuk memproses file audio wav, berdasarkan ukuran file dari masing-masing file audio.
Tabel 4.3 Ukuran file dan waktu proses. No.
Nama File
1 2 3 4 5
JACKIE.wav Posh Bell.wav BIRD.wav Bells.wav Suit-suit.wav
Ukuran File
Waktu Proses
25 KB 4 detik 56 KB 7 detik 92 KB 23 detik 166 KB 2 menit, 35 detik 191 KB 2 menit, 22 detik
Gambar 4.22 Grafik proses file JACKIE.wav berdasarkan ukuran file dan waktu
102
Gambar 4.23 Grafik proses file Posh Bell.wav berdasarkan ukuran file dan waktu
Gambar 4.24 Grafik proses file BIRD.wav berdasarkan ukuran file dan waktu 103
Gambar 4.25 Grafik proses file Bells.wav berdasarkan ukuran file dan waktu
Gambar 4.26 Grafik proses file Suit-suit.wav berdasarkan ukuran file dan waktu
104
Gambar 4.27 Grafik proses uji file audio diambil dari 5 sampling file wav
Grafik diatas diambil berdasarkan input file audio yang terdapat didalam Tabel 4.2, dimana hasil tersebut didapat setelah dilakukannya proses deteksi noise dan parameter filter FIR.
Gambar 4.28 Grafik proses uji file audio berdasarkan waktu tertinggi
105
Tabel 4.4 Tabel Uji File yang di proses berdasarkan waktu proses No. 1
Nama File
Ukuran File
JACKIE.wav
25 KB
JACKIE.wav
2
Posh Bell.wav
Posh Bell.wav
25 KB
56 KB
56 KB
Parameter Proses Filter =1 dB Down = 40 First Zero = 1500 Filter =4 Db Down = 40 First Zero = 1500 Filter = 10 Db Down = 40 First Zero = 1500 Filter = 20 Db Down = 40 First Zero = 1500 Filter =1 Db Down = 40 First Zero = 3000 Filter =4 Db Down = 40 First Zero = 3000 Filter = 10 Db Down = 40 First Zero = 3000 Filter = 20 Db Down = 40 First Zero = 3000 Filter =1 Db Down = 40 First Zero = 1500 Filter =4 Db Down = 40 First Zero = 1500 Filter = 10 Db Down = 40 First Zero = 1500 Filter = 20 Db Down = 40 First Zero = 1500 Filter =1 Db Down = 40 First Zero = 3000 Filter =4 Db Down = 40 First Zero = 3000 Filter = 10 Db Down = 40 First Zero = 3000 Filter = 20 Db Down = 40 First Zero = 3000
Waktu Proses 2 detik
4 detik
4 detik
4 detik
2 detik
2 detik
2 detik
3 detik
5 detik
7 detik
7 detk
7 detik
7 detik
7 detik
7 detik
7 detik
106
3
BIRD.wav
BIRD.wav
4
Bells.wav
Bells.wav
5
Suit-suit.wav
92 KB
92 KB
166 KB
166 KB
191 KB
Filter =1 Db Down = 40 First Zero = 1500 Filter =4 Db Down = 40 First Zero = 1500 Filter = 10 Db Down = 40 First Zero = 1500 Filter = 20 Db Down = 40 First Zero = 1500 Filter =1 Db Down = 40 First Zero = 3000 Filter =4 Db Down = 40 First Zero = 3000 Filter = 10 Db Down = 40 First Zero = 3000 Filter = 20 Db Down = 40 First Zero = 3000 Filter =1 Db Down = 40 First Zero = 1500 Filter =4 Db Down = 40 First Zero = 1500 Filter = 10 Db Down = 40 First Zero = 1500 Filter = 20 Db Down = 40 First Zero = 1500 Filter =1 Db Down = 40 First Zero = 3000 Filter =4 Db Down = 40 First Zero = 3000 Filter = 10 Db Down = 40 First Zero = 3000 Filter = 20 Db Down = 40 First Zero = 3000 Filter =1 Db Down = 40 First Zero = 1500
20 detik
20 detik
21 detik
23 detik
20 detik
20 detik
21 detik
22 detik
2 menit, 16 detik
2 menit, 30 detik
2 menit, 30 detik
2 menit, 30 detik
2 menit, 29 detik
2 menit, 35 detik
2 menit, 35 detik
2 menit, 35 detik
2 menit, 15 detik
107
Suit-suit.wav
191 KB
Filter =4 Db Down = 40 First Zero = 1500 Filter = 10 Db Down = 40 First Zero = 1500 Filter = 20 Db Down = 40 First Zero = 1500 Filter =1 Db Down = 40 First Zero = 3000 Filter =4 Db Down = 40 First Zero = 3000 Filter = 10 Db Down = 40 First Zero = 3000 Filter = 20 Db Down = 40 First Zero = 3000
2 menit, 15 detik
2 menit, 16 detik
2 menit, 18 detik
2 menit, 17 detik
2 menit, 17 detik
2 menit, 20 detik
2 menit, 22 detik
Dari tabel diatas dapat dibuat suatu grafik yang ditunjukkan pada Gambar 4.29
Gambar 4.29 Grafik Perbandingan Ukuran File Audio dengan Waktu proses
Dari tabel 4.4 terlihat bahwa proses deteksi noise dan parameter filter FIR (Finite Impulse Response) hanya dapat 108
dilakukan apabila ukuran byte yang tersedia pada file audio wav kurang dari 200 KByte. Jadi, semakin besar ukuran file audio yang akan diproses maka lama waktu yang dibutuhkan untuk proses tersebut akan lebih banyak dan tidak efisien, hal ini dapat dilihat oleh Gambar 4.29.
109
BAB V PENUTUP
5.1
KESIMPULAN Berdasarkan uraian bab-bab sebelumnya, maka dapat diambil kesimpulan dari penelitian skripsi ini sebagai berikut : 1.
Aplikasi
sampling
frekuensi
file
audio
berhasil
mengimplementasikan teori sampling frekuensi audio dan metode filter Finite Impulse Response (FIR) dalam mereduksi noise pada file audio. Hal ini dibuktikan melalui hasil pengujian pada Tabel 4.2 dan Tabel 4.4, yang memperlihatkan bahwa semua file audio berekstensi (*.wav) yang diproses dapat berjalan serta output hasilnya dapat disimpan ke dalam format (*.mp3), dengan tingkat keberhasilan 90%. 2.
Berdasarkan hasil pengujian proses deteksi noise dan parameter proses FIR, terdapat perbedaan kualitas file audio menjadi lebih baik dan mengalami peningkatan performance hasil akhir (output) file audio, serta dari proses ukuran file yang semakin besar akan mempengaruhi lama proses deteksi dan parameter proses FIR. Semakin besar ukuran file akan semakin lama proses filter FIR. Analisis yang dapat diambil dari pengujian diatas adalah terdapatnya perubahan kualitas file audio yang mempengaruhi performance hasil akhir serta memperkecil besar gangguan/noise 110
dari proses deteksi noise dan parameter proses FIR. Hal tersebut ditunjukkan pada Tabel 4.2 dan Tabel 4.4. 3.
Aplikasi Sampling Frekuensi File Audio yang telah dibuat tidak memerlukan proses instalasi aplikasi terlebih dahulu, dan juga dapat dijalankan dari sistem operasi apapun karena Aplikasi Sampling Frekuensi File Audio ini dilakukan dengan komputer stand alone.
5.2
SARAN Berdasarkan penelitian yang diperoleh, ada beberapa saran untuk pengembangan sistem lebih lanjut, saran-saran tersebut yaitu : 1.
Aplikasi sampling frekuensi file audio hanya dapat mengupload 1 (satu) file audio untuk 1 (satu) proses deteksi noise dan proses filter FIR dengan ukuran maksimal 100 KB. Untuk proses deteksi noise dan proses filter FIR, diharapkan dapat dikembangkan sehingga dapat mengupload file lebih dari 1 (satu) file audio dengan ukuran lebih besar tanpa harus memperlambat proses deteksi noise dan proses filter FIR secara signifikan.
2.
Aplikasi
sampling
frekuensi
file
audio
dapat
bervariasi
menggunakan bahasa pemprograman dan metode yang lain. Sehingga
dapat
dikembangkan
untuk
input
proses
share
pengiriman file audio dari server ke client atau dari client ke client lain.
111
DARTAR PUSTAKA
Referensi Artikel dan Buku : Bose, Tamal. 2004. DIGITAL SIGNAL AND IMAGE PROCESSING. Utah State University : John Wiley&Sons, Inc.
Binanto, Iwan. 2010. MULTIMEDIA DIGITAL, Dasar Teori + Pengembangan. Yogyakarta : Andi Offset.
Ferdinando, Hany. 2010. Dasar-dasar Sinyal & Sistem. Yogyakarta : Andi Offset.
Hartono, Jogiyanto. 2005. Pengenalan Komputer : Dasar Ilmu Komputer, Pemrograman, Sistem Informasi dan Inteligensi Buatan. Yogyakarta : Andi Offset.
Kenneth E. Kendall., Jullie E. Kendall. 2003. Systems Analysis and Design. Fifth Edition. Dialihbahasakan oleh Thamir Abdul Hafed Al-Hamdany, B.Sc, M.Sc dalam buku Analisa dan Perancangan Sistem Jilid 1. Jakarta : Prenhallindo.
Marvin., dan Prijono, Agus. 2007. Pengolahan Citra Dijital Menggunakan MATLAB. Bandung : Informatika.
Putra, Agfianto, Eko. 2007. Pembuatan Ekualiser 10-Band Stereo Digital dengan Algoritma Penapis Lolos-pita Tanggap Impuls Tak-hingga (IIR – Infinite Impulse Response). Yogyakarta : Univesitas Gadjah Mada.
112
Paulus, Erick., dan Nataliani, Yessica. 2007. Cepat Mahir GUI MATLAB. Yogyakarta : Andi.
Pressman, Roger S. 2002. Rekayasa Perangkat Lunak Pendekatan Praktisi (Buku Satu). Yogyakarta : Andi.
Pressman, Roger S. 2001. Software Engineering A Practitioner’s Approach. Singapore : McGraw-Hill Companies, Inc.
Robert, M.J. 2004. Signals and Systems, Analysis Using Transform Methods and MATLAB®. New York : McGraw-Hill Companies, Inc.
Saluky. 2006. Modul Praktikum MATLAB Versi 6.5 .STMIK CIC Jakarta.
Santoso, Budi, Tri. 2004. Modul Sampling dan Aliasing.
Sugiharto, Aris. 2006. Pemrograman GUI dengan MATLAB. Yogyakarta : Andi.
Referensi On-Line (internet dan paper e-book file pdf) : [1]
Anonim. “Audio Sampling”. Artikel diakses pada 19 Maret 2009 pkl 15.00 WIB dari http://www.elektroindonesia.com/elektro/elek35a.html
[2]
Anonim. “Cosine Signal”. Artikel diakses pada 25November 2010 pkl 14.10 WIB dari http://engineering.rowan.edu/~polikar/WAVELETS/WTtutorial.html
113
[3]
Anonim. “Definisi Aplikasi”. Artikel diakses pada 13 Januari 2011 pkl 13.45 WIB darihttp://bebas.vlsm.org/v06/kuliah/sistemoperasi/buku/sistemoperasi/p1c 1.html
[4]
Anonim. “Interval Nada”. Artikel diakses pada 25 November 2010 pkl 14.10 WIB dari http://www.chordwizard.com/theory.html
[5]
Anonim. “Matlab Tutorial”. Artikel diakses pada 25 November 2010 14.10
WIB
dari
pkl
http://www.ml.uni-
saarland.de/MatlabTutorial/MatlabTutorial.pdf [6]
Anonim. “MP3”. Artikel diakses pada 13 Januari 2011 pkl 13.45 WIB dari http://www.tasikisme.com/index.php?view=article&id=1023:apa-itu-file-mp3aac-wma-wav-dan-pcm&option=com_content&Itemid=58
[7]
Anonim. “Pengantar Telekomunikasi”. Artikel diakses pada 18 Januari 2011 pkl 14.15
WIB
dari
http://bsavitri.staff.gunadarma.ac.id/files/Pengantar+Telekomunikasi.doc [8]
Anonim. “Penyaringan / Filter Sinyal”. Artikel diakses pada 25 November 2010 pkl 14.10 WIB dari http://agfi.staff.ugm.ac.id/blog/index.php/karya-ilmiahsaya/2007_10band_equalizer.pdf
[9]
Anonim. “Praktikum Pengolahan Sinyal – Codec dan Sampling”. Artikel diakses pada 25 November 2010 pkl 14.10 WIB dari http://lecturer.eepisits.edu/~bima/materi%20praktikum%20dsp/ps2_codec_sampling.pdf
[10]
Anonim. “Penggunaan Audio dan Pemanfaatannya”. Artikel diakses pada 19 Maret 2009 pkl 15.00 WIB dari http://syopian.net/blog/?p=983
114
[11]
Anonim. “Triad / Pasangan Nada”. Artikel diakses pada 25 November 2010
pkl
14.10 WIB dari http://www.zentao.com/guitar/index.html [12]
Anonim. “WAV”. Artikel diakses pada 13 Januari 2011 pkl 13.45 WIB dari (http://www.tasikisme.com/index.php?view=article&id=1023:apa-itu-file-mp3aac-wma-wav-dan-pcm&option=com_content&Itemid=58)
[13]
Anonim. “Komunikasi Digital”. Artikel diakses pada 3 Maret 2011 pkl 15.00 WIB dari(www.ee.ui.ac.id/wasp/wp-content/uploads/Komunikasi-Digital_1.ppt)
115
LAMPIRAN A TAMPILAN APLIKASI SAMPLING FREKUENSI FILE AUDIO
A.1.
Tampilan Design Aplikasi Sampling Frekuensi File Audio
A.1.1.
Halaman Tampilan Form designer MatLab.
116
A.1.2.
Halaman Tampilan Design Aplikasi dengan Form design.
A.1.3.
Halaman Form design dan Property Inspector Button Cari File.
117
A.1.4.
Halaman Form design dan Property Inspector Grafik Informasi File.
118
A.1.5.
Halaman Form design dan Property Inspector Play Original File.
119
A.1.6.
Halaman Form design dan Property Inspector Random Noise.
120
A.1.7.
Halaman Form design dan Property Inspector Constant Pitch Noise.
121
A.1.8.
Halaman Form design dan Property Inspector Parameter Proses.
122
A.1.9.
Halaman Form design dan Property Inspector Button Proses.
123
A.1.10. Halaman Form design dan Property Inspector Grafik Deteksi Noise Time(s).
124
A.1.11. Halaman Form design dan Property Inspector Grafik Diteksi Noise Frekuenzy.
125
A.1.12. Halaman Form design dan Property Inspector Grafik Proses FIR Frekuenzy.
126
A.1.13. Halaman Form design dan Property Inspector Grafik setelah noise diperkecil Time(s).
127
A.1.14. Halaman Form design dan Property Inspector Grafik setelah noise diperkecil Frekuenzy.
128
A.1.15. Halaman Form design dan Property Inspector Button Play Noise File.
129
A.1.16. Halaman Form design dan Property Inspector Button Play Noise Reduction.
130
A.1.17. Halaman Form design dan Property Inspector Button Save / Simpan.
131
A.1.18. Halaman Form design dan Property Inspector Button Exit.
132
133
A.2.
Tampilan Hasil Proses Aplikasi Sampling Frekuensi File Audio
A.2.1.
Ukuran File = 25 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 1500
A.2.2.
Ukuran File = 25 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 1500
134
A.2.3.
Ukuran File = 25 KB ; Filter = 10 ; dBDown = 40 ; First Zero = 1500
A.2.4.
Ukuran File = 25 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 1500
135
A.2.5.
Ukuran File = 25 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 3000
A.2.6.
Ukuran File = 25 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 3000
136
A.2.7.
Ukuran File = 25 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 3000
A.2.8.
Ukuran File = 25 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 3000
137
A.2.9.
Ukuran File = 56 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 1500
A.2.10. Ukuran File = 56 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 1500
138
A.2.11. Ukuran File = 56 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 1500
A.2.12. Ukuran File = 56 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 1500
139
A.2.13. Ukuran File = 56 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 3000
A.2.14. Ukuran File = 56 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 3000
140
A.2.15. Ukuran File = 56 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 3000
A.2.16. Ukuran File = 56 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 3000
141
A.2.17. Ukuran File = 92 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 1500
A.2.18. Ukuran File = 92 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 1500
142
A.2.19. Ukuran File = 92 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 1500
A.2.20. Ukuran File = 92 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 1500
143
A.2.21. Ukuran File = 92 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 3000
A.2.22. Ukuran File = 92 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 3000
144
A.2.23. Ukuran File = 92 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 3000
A.2.24. Ukuran File = 92 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 3000
145
A.2.25. Ukuran File = 166 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 1500
A.2.26. Ukuran File = 166 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 1500
146
A.2.27. Ukuran File = 166 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 1500
A.2.28. Ukuran File = 166 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 1500
147
A.2.29. Ukuran File = 166 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 3000
A.2.30. Ukuran File = 166 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 3000
148
A.2.31. Ukuran File = 166 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 3000
A.2.32. Ukuran File = 166 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 3000
149
A.2.33. Ukuran File = 191 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 1500
A.2.34. Ukuran File = 191 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 1500
150
A.2.35. Ukuran File = 191 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 1500
A.2.36. Ukuran File = 191 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 1500
151
A.2.37. Ukuran File = 191 KB ; Filter = 1 ; dB Down = 40 ; First Zero = 3000
A.2.38. Ukuran File = 191 KB ; Filter = 4 ; dB Down = 40 ; First Zero = 3000
152
A.2.39. Ukuran File = 191 KB ; Filter = 10 ; dB Down = 40 ; First Zero = 3000
A.2.40. Ukuran File = 191 KB ; Filter = 20 ; dB Down = 40 ; First Zero = 3000
153
LAMPIRAN B KODE SUMBER APLIKASI SAMPLING FREKUENSI FILE AUDIO
“Kode Sumber Teknik Membaca dan Mengolah File Suara” %-------------------------------------------------------%------------menentukan frekuensi sampling %-------------------------------------------------------Fs = 11025; y = wavrecord(2*Fs, Fs, 'int16'); coba=questdlg('Test Hasil Rekaman Anda ?',... 'Pertanyaan','Ya','Tidak','Ya'); %-------------------------------------------------------%------------mainkan hasil rekaman %-------------------------------------------------------if strcmp(coba,'Ya'), wavplay(y, Fs); end
“Kode Sumber dalam Implementasi Aplikasi Sampling Frekuensi File Audio ” function varargout = wavreduction(varargin) % WAVREDUCTION M-file for wavreduction.fig % WAVREDUCTION, by itself, creates a new WAVREDUCTION or raises the existing singleton*. % % H = WAVREDUCTION returns the handle to a new WAVREDUCTION or the handle to the existing singleton*. % % WAVREDUCTION('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in WAVREDUCTION.M with the given input arguments. % % WAVREDUCTION('Property','Value',...) creates a new WAVREDUCTION or raises the existing singleton*. % Starting from the left, property value pairs are % applied to the GUI before wavreduction_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application stop. % All inputs are passed to wavreduction_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only % one instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help wavreduction % Last Modified by GUIDE v2.5 02-Dec-2009 03:15:32
154
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @wavreduction_OpeningFcn, ... 'gui_OutputFcn', @wavreduction_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end
% --- Executes just before wavreduction is made visible. function wavreduction_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to wavreduction (see VARARGIN) % Choose default command line output for wavreduction handles.output = hObject; % Update handles structure guidata(hObject, handles); function varargout = wavreduction_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function pushbutton1_Callback(hObject, eventdata, handles) canvas=guidata(gcbo); clear global; refresh; delete projectnoise.wav; delete projectfinal.wav; delete tmp638.wav; global FileName global PathName [FileName,PathName] = uigetfile('*.wav','Silahkan pilih file *.wav yang akan diproses'); % reading wav file global x global fs [x,fs]=wavread(fullfile(PathName, FileName)); set(canvas.text4,'String', FileName); global t3 t3=(0:length(x)-1)/fs;
155
% plotting original signal set(handles.axes1,'HandleVisibility','ON'); axes(handles.axes1); axis on; plot(t3,x/(max(x)),'Color',[1.0 0.0 0.0]); grid on; clc;
% --- Executes on button press in play1. function play1_Callback(hObject, eventdata, handles) % hObject handle to play1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global x global fs wavplay(x,fs);
% --- Executes on button press in stop1. function stop1_Callback(hObject, eventdata, handles) % hObject handle to stop1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global x global fs wavstop(x,fs);
% --- Executes on button press in radiobutton1. function radiobutton1_Callback(hObject, eventdata, handles) % hObject handle to radiobutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global x white = 0.1*rand(1,(length(x))); NFFT2 = 2^nextpow2(length(white)); Y2=fft(white,NFFT2); global fs f2 = fs/2*linspace(0,1,NFFT2/2); fnew2 = 20*log10(abs(Y2(1:length(f2)))); fnew2(1:(length(fnew2)/2))=0; q1=ifft(Y2,NFFT2); q2=abs(q1); q3=max(q2); q4=q2/q3; global q5 q5=0.1*(real(q4(1:length(x))));
pin=str2double(get(handles.freqn,'String')); cpnoise =0.1* cos(2*pi*pin*(0:length(x)-1)/fs)'; global u u = x;
156
if (get(handles.radiobutton1,'Value') == get(hObject,'Max')) u = u + q5'; end if (get(handles.radiobutton2,'Value') == get(hObject,'Max')) u = u + cpnoise; end % saving the noisy file wavwrite(u,fs,'projectnoise.wav'); t=(0:length(u)-1)/fs; set(handles.axes5,'HandleVisibility','ON'); axes(handles.axes5); axis on; plot(t,u/(max(u)),'Color',[1.0 1.0 0.0]); grid on; % plotting frequecy spectrum L=length(x); % fourier transform of signal NFFT = 2^nextpow2(L); Y=fft(u,NFFT); f = fs/2*linspace(0,1,NFFT/2); om22 = str2double(get(handles.order,'String')); be = str2double(get(handles.db,'string')); fq = str2double(get(handles.cutoff,'string')); be2=10^(be/20); Fs2=length(f); temp1=(fq*Fs2)/max(f); temp2=(pi*temp1)/Fs2; yelpha=(cos(pi/(2*om22)))/((cos(temp2/2))*(cosh((1/om22)*acosh(be2)))); set(handles.alpha,'String',yelpha) fnew=20*log10(abs(Y(1:length(f)))); set(handles.axes6,'HandleVisibility','ON'); axes(handles.axes6); plot(f,fnew,'Color',[1.0 1.0 0.0]); grid on; % Hint: get(hObject,'Value') returns toggle state of radiobutton1
% --- Executes on button press in radiobutton2. function radiobutton2_Callback(hObject, eventdata, handles) % hObject handle to radiobutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of radiobutton2
function order_Callback(hObject, eventdata, handles) % hObject handle to order (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
157
% Hints: get(hObject,'String') returns contents of order as text % str2double(get(hObject,'String')) returns contents of order as a double
% --- Executes during object creation, after setting all properties. function order_CreateFcn(hObject, eventdata, handles) % hObject handle to order (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function db_Callback(hObject, eventdata, handles) % hObject handle to db (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of db as text % str2double(get(hObject,'String')) returns contents of db as a double
% --- Executes during object creation, after setting all properties. function db_CreateFcn(hObject, eventdata, handles) % hObject handle to db (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function cutoff_Callback(hObject, eventdata, handles) % hObject handle to cutoff (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
158
% Hints: get(hObject,'String') returns contents of cutoff as text % str2double(get(hObject,'String')) returns contents of cutoff as a double
% --- Executes during object creation, after setting all properties. function cutoff_CreateFcn(hObject, eventdata, handles) % hObject handle to cutoff (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global u global x global fs t=(0:length(x)-1)/fs; L=length(x); % fourier transform of signal NFFT = 2^nextpow2(L); Y=fft(u,NFFT); % plotting frequecy spectrum f = fs/2*linspace(0,1,NFFT/2); om22 =str2double(get(handles.order,'String')); be = str2double(get(handles.db,'string')); fq = str2double(get(handles.cutoff,'string')); be2=10^(be/20); Fs2=length(f); temp1=(fq*Fs2)/max(f); temp2=(pi*temp1)/Fs2; yelpha=(cos(pi/(2*om22)))/((cos(temp2/2))*(cosh((1/om22)*acosh(be2)))); set(handles.alpha,'String',yelpha) fnew=20*log10(abs(Y(1:length(f)))); set(handles.axes6,'HandleVisibility','ON'); axes(handles.axes6); plot(f,fnew,'Color',[0.3137 0.3137 0.3137]); grid on; %Filter Design Starts Here b=be2; m=om22;
159
a=1:m; i=1; freq=0; Fs2=length(f); h=1; p=1; omegak=((2*a-1)*pi)/(2*m); omegam=2*acos((cos(omegak))/(((yelpha)*(cosh(1/m*acosh(b)))))); while(freq
160
function freqn_Callback(hObject, eventdata, handles) % hObject handle to freqn (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of freqn as text % str2double(get(hObject,'String')) returns contents of freqn as a double
% --- Executes during object creation, after setting all properties. function freqn_CreateFcn(hObject, eventdata, handles) % hObject handle to freqn (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes during object creation, after setting all properties. function alpha_CreateFcn(hObject, eventdata, handles) % hObject handle to alpha (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global u global fs wavplay(u,fs);
% --- Executes on button press in pushbutton6. function pushbutton6_Callback(hObject, eventdata, handles) % hObject handle to pushbutton6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global x global fs global rfinal wavplay(rfinal(1:length(x)),fs);
161
% --- Executes on button press in pushbutton7. function pushbutton7_Callback(hObject, eventdata, handles) % hObject handle to pushbutton7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [SaveName,PathSaveName] = uiputfile('*.mp3','Save File dalam format Mp3'); [d,sr] = wavread('projectfinal.wav'); mp3write(d,sr,SaveName); movefile(SaveName,PathSaveName);
% --- Executes on button press in pushbutton8. function pushbutton8_Callback(hObject, eventdata, handles) % hObject handle to pushbutton8 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) button = questdlg('Apakah anda yakin akan keluar dari program ini','Ask','Yes','No','No'); switch button, case 'Yes', close all; case 'No' return end
162