ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO
SKRIPSI
DEBI MAULINA SIREGAR 091421018
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
DEBI MAULINA SIREGAR 091421018
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO : SKRIPSI : DEBI MAULINA SIREGAR : 091421018 : EKSTENSI S1 ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Juni 2011
Komisi Pembimbing :
Pembimbing 2
Pembimbing 1
Drs. Agus Salim Harahap, M.Si NIP. 195408281981031004
Maya Silvi Lydia,B.Sc. M.Sc NIP. 197401272002122001
Diketahui/Disetujui oleh Program Studi Ekstensi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991021001
PERNYATAAN
ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
Juni 2011
Debi Maulina Siregar 091421018
PENGHARGAAN
Alhamdulillah, puji syukur saya panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya dalam hidup, sehingga saya dapat menyelesaikan penyusunan tugas akhir ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara.
Ucapan terima kasih yang tak terhingga saya sampaikan kepada Ibu Maya Silvi Lydia,B.Sc. M.Sc sebagai Dosen Pembimbing I dan Bapak Drs. Agus Salim Harahap, M.Si sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada saya untuk menyempurnakan kajian ini. Selanjutnya kepada para Dosen Penguji Bapak Dr. Poltak Sihombing, M.Kom dan Ibu Dian Rachmawati, S.Si, M.Kom atas saran dan kritikan yang sangat berguna bagi saya.
Ucapan terima kasih juga ditujukan kepada Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen Program Studi Ekstensi S1 Ilmu Komputer FMIPA USU, dan pegawai Ilmu Komputer FMIPA USU.
Teristimewa kepada orang tua saya, ayahanda Bangun Tua Siregar dan Ibunda Duma Sari Nasution atas do’a dan kasih sayang yang tidak pernah putus, kepada suami tercinta Dodi Asmara atas doa’a, kasih sayang dan segala dukungan yang telah diberikan. Tak lupa kepada seluruh sahabat saya
yang selalu berusaha menjadi
sahabat terbaik dan tidak mudah putus asa. Terima kasih pula kepada semua pihak – pihak yang tidak dapat penulis sebutkan satu persatu, terima kasih atas ide, saran dan kerjasama yang baik. Semoga Allah SWT memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, serta semangat kepada penulis dalam menyelesaikan tugas akhir ini.
Akhirnya saya berharap bahwa tugas akhir ini bermanfaat terutama kepada penulis maupun para pembaca serta semua pihak yang berhubungan dengannya. Saya menyadari bahwa tugas akhir ini masih jauh dari kesempurnaan, karena kesempurnaan
hanya milik Allah. Oleh karena itu saya menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya.
ABSTRAK
Pertukaran informasi saat ini membutuhkan kecepatan dalam pengiriman informasi. Kecepatan pengiriman ini sangat bergantung kepada ukuran dari informasi tersebut. Salah satu solusi untuk masalah di atas adalah dengan melakukan pemampatan (kompresi). Ada banyak sekali metode kompresi data yang ada saat ini, namun pada tugas akhir ini akan dibahas prinsip kerja algoritma Arithmetic Coding dengan implementasi menggunakan Visual Basic 6.0. Analisis kinerja algoritma ini bertujuan untuk mengetahui performansi algoritma ini pada file audio berformat *.wav, *.MP3 dan *.mid. Untuk mengetahui performansi hasil proses kompresi dilakukan melalui perhitungan rasio kompresi, ukuran file hasil kompresi, kecepatan proses kompresi dan dekompresi. Berdasarkan seluruh hasil pengujian, sistem kompresi menggunakan algoritma Arithmetic Coding sangat baik untuk file audio Midi karena menghasilkan rasio yang cukup besar dengan rasio rata-rata 18,60 % untuk proses kompresi dan dekompresi serta membutuhkan waktu rata-rata 15,09 detik untuk proses kompresi dan 0,02 detik untuk proses dekompresi. Kata Kunci : Audio, Kompresi, Dekompresi, Midi, MP3.
ANALYSIS AND DESIGN OF ARITHMETIC CODING ALGORITHM ON AUDIO FILE COMPRESSION
ABSTRACT
Exchange of information currently require speed in the delivery of information. Transfer speed is very dependent on the size of the information. One solution to solve the problem above is to do compression. There are a lot of data compression methods currently available, but in this thesis will discuss the working principles of Arithmetic Coding to the implementation of algorithm using Visual Basic 6.0. Analysis of the performance of this algorithm aims to determine the performance of this algorithm on *.wav, *.mp3 and *.mid audio files format. To determine the performance results of the compression process is done through calculating the ratio of compression, the file size compression, the compression and decompression speed and quality of the results of decompression. Based on all the test results, compression system using Arithmetic Coding algorithm is very good for midi audio files because it produces ratio that big enough with average ratio of 18.60% for compression and decompression process and takes an average of 15.09 seconds for the compression process and 0.02 seconds for the decompression process. Keywords : Audio, Compression, Decompression, Midi, MP3.
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penulisan
ii iii iv v vi vii ix x
................…………………………………… ......................................................................... ......................................................................... ......................................................................... ......................................................................... ......................................................................... .........................................................................
1 2 2 3 3 3 4
BAB 2 TINJAUAN PUSTA 2.1 Teori Dasar Kompresi ……………………………………………… 6 2.2 Kompresi Data ……………………………………………………… 7 2.3 Metode Kompresi Data ……………………………………………… 9 2.4 File Audio ……………………………………………………… 11 2.5 Representasi Suara ……………………………………………………… 12 2.6 Format Audio ……………………………………………………… 13 2.6.1 Advanced Audio Coding (AAC) [ .m4a ] ……………… 13 2.6.2 File WAV ……………………………………………… 14 2.6.3 File MP3 ……………………………………………… 16 2.6.4 File MIDI ........................................................................ 19 2.7 Struktur Data pada File Audio ……………………………………… 20 2.8 Pembacaan File Audio ……………………………………………… 21 2.9 Arithmetic Coding ……………………………………………… 22 2.10 Windows API (Application Programming Interface) ……………… 24
BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kinerja Algoritma Arithmetic Coding ….……….. 3.1.1 Pembacaan File Audio ............................................. 3.1.2 Langkah Langkah-Langkah Kompresi Arithmetic Coding .. 3.1.3 Langkah-Langkah Dekompresi Arithmetic Coding ............ 3.2 Perancangan Sistem ..…………………………………………… 3.2.1 Rancangan Diagram Konteks Sistem/Aplikaai ………… 3.2.2 Rancangan DFD Level 1 Proses Kompresi …………… 3.2.3 Rancangan DFD Level 1 Proses P-2.0 Encoding ………
26 27 31 37 40 41 42 42
3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9
Rancangan DFD Level 1 Proses P-3.0 Replacing Sample … Rancangan DFD Level 2 Proses Dekompresi .............. Rancangan DFD Level 2 Proses P-2.0 Decoding ……. Rancangan DFD Level 2 Proses P-3.0 Replacing Low ….. Skema Proses Kompresi dan Dekompresi ……………. Perancangan Prosedural ............................................ 3.2.9.1 Proses Kompresi ............................................. 3.2.9.2 Proses Dekompresi ............................................. 3.2.10 Rancangan Antarmuka (User Interface) .................... 3.2.10.1 Rancangan Menu Utama .................... 3.2.10.2 Rancangan Kompresi/Dekompresi ............. 3.2.10.3 Rancangan Help ................................. 3.2.10.4 Rancangan About ................................. 3.2.10.5 Rancangan Hasil Pengujian Sistem ......
43 44 45 45 46 47 49 50 51 51 52 53 54 55
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi ……………………………………….………........ 56 4.1.1 Tampilan Menu Utama ............................................. 56 4.1.2 Tampilan Kompresi ......................................................... 57 4.1.3 Tampilan Help ……………………...…………….. 59 4.1.4 Tampilan About …………………....………………. 59 4.2 Tampilan Hasil Pengujian Sistem …………………....………………. 60 4.3 Garfik Hasil Pengujian Sistem ......................................................... 64 BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan …………………………………....……………….. 5.2 Saran ……………………………………....…………………….. LAMPIRAN DAFTAR PUSTAKA LISTING PROGRAM
69 70
DAFTAR TABEL
2.1 Field-field pada struktur data WAVEFORMAT …………………… 2.2 Tabel Probabilitas …………………………………………………… 2.3 Tabel Range Probabilitas …………………………………………… 3.1 Tabel Probabilitas ……………………………………………………. 3.2 Tabel Range Probabilitas ……………………………………………. 3.3 Hasil Encoding Sampel Audio ……………………………………. 3.4 Tabel Range Probabilitas …………………………………………….. 3.5 Hasil Decoding Sampel Audio ……………………………………..
16 22 22 33 33 36 38 40
DAFTAR GAMBAR
2.1 Alur Gelombang Suara ………………………………………… 2.2 Gelombang ………………………………………………… 2.3 Proses Sampling Audio Analog ke Digital ………………… 2.4 Contoh Struktur file WAVE dalam bentuk hexa ………… 2.5 Frekuensi File Audio ………………………………………… 2.6 Encoding Sampel Audio ............................................................... 3.1 Data File Audio Wav Dalam Hexa ....................................... 3.2 Data File Audio MIDI Dalam Hexa ....................................... 3.3 Data File Audio MP3 Dalam Hexa ....................................... 3.4 Nilai Sample Audio ............................................................... 3.5 Diagram Konteks Kompresi Audio (DFD Level 0) …………… 3.6 DFD Level 1 Proses Kompresi ………………………………... 3.7 DFD Level 1 Proses P-2.0 Encoding ………………………… 3.8 DFD Level 1 Proses P-3.0 Replacing Sample ...................……. 3.9 DFD Level 2 Proses Dekompresi ………………………… 3.10 DFD Level 2 Proses P-2.0 Decoding ………………………… 3.11 DFD Level 2 Proses P-3.0 Replacing Low …….................... 3.12 Skema Proses Kompresi …………………….......………. 3.13 Skema Proses Dekompresi ………………………………… 3.14 Flowchart Sistem Kompresi dan Dekompresi Secara Umum … 3.15 Flowchart Proses Eencoding Arithmetic Coding ………… 3.16 Flowchart Proses Dencoding Arithmetic Coding ………… 3.17 Rancangan Menu Utama .................................................... 3.18 Rancangan Kompresi ................................................................ 3.19 Rancangan Help ................................................................ 3.20 Rancangan About ................................................................ 3.21 Rancangan Hasil Pengujian Sistem ........................................ 4.1 Tampilan Menu Utama ................................................................ 4.2 Tampilan Awal Kompresi .................................................... 4.3 Tampilan Load ………………………………………………… 4.4 Tampilan Pemilihan File Audio ……………………………….... 4.5 Tampilan Hasil Kompresi File Audio ………………………… 4.6 Tampilan Help ………………………………………………… 4.7 Tampilan About ………………………………………………… 4.8 Tampilan Hasil Pengujian Sistem …........………………....
11 12 12 20 21 21 27 29 31 32 41 42 43 44 44 45 46 46 47 48 49 50 51 52 53 54 55 56 57 57 58 58 59 59 60
4.9 Tampilan Hasil Pengujian Sistem Proses Kompresi dan Dekompresi WAV. 61 4.10 Tampilan Hasil Pengujian Sistem Proses Kompresi dan Dekompresi PM3. 62 4.11 Tampilan Hasil Pengujian Sistem Proses Kompresi dan Dekompresi MIDI. 63
4.12 Grafik Kompresi File WAV Berdasarkan Ukuran File ................. 4.13 Grafik Dekompresi File WAV Berdasarkan Ukuran File ............ 4.14 Grafik Kompresi dan Dekompresi File MIDI Berdasarkan Rasio(%) dan Waktu (Det).. 4.15 Grafik Kompresi File MP3 Berdasarkan Ukuran File .................. 4.16 Grafik Dekompresi File MP3 Berdasarkan Ukuran File ............. 4.17 Grafik Kompresi dan Dekompresi File MP3 Berdasarkan Rasio(%) dan Waktu (Det).. 4.18 Grafik Kompresi File MIDI Berdasarkan Ukuran File ............... 4.19 Grafik Dekompresi File MIDI Berdasarkan Ukuran File ..............
64 64 65 65 66 66 67 67
4.20 Grafik
Kompresi dan Dekompresi File MIDI Berdasarkan Rasio(%) dan Waktu (Det)..
68