Kompresi File Wave Dengan Algoritma Huffman (Lengkap sampai daftar pustaka)
BAB I
PENDAHULUAN
1.1 Latar
Belakang
Salah satu file format
suara yang banyak dipakai dalam sistem operasi Windows adalah format Wave
(*.WAV). Format ini banyak digunakan untuk keperluan game dan multimedia. Wave
sebenarnya merupakan format kasar (raw
format) dimana signal suara langsung direkam dan dikuantisasi menjadi data
digital. Format dasar dari file ini
secara default tidak mendukung kompresi dan dikenal dengan nama PCM (Pulse Code
Modulation).
Jika direkam suatu lagu sekualitas CD Audio menggunakan sampling rate 44,1 kHz, 16 bit per sample, 2 kanal (stereo), maka total media yang diperlukan untuk menyimpan data audio ini per detik adalah 176.400 byte sehingga untuk durasi 1 menit diperlukan 10,584 MB. Jika rata-rata durasi satu lagu selama 5 menit, maka dibutuhkan tempat lebih dari 50 MB untuk menyimpan data audio lagu tersebut. Ini tentunya sangat memboroskan media penyimpanan seperti hard disk meskipun saat ini telah tersedia kapasitas hard disk yang besar. Masalah tersebut dapat diatasi bila file Wave tersebut dikompresi untuk mengurangi ukurannya.
Jika direkam suatu lagu sekualitas CD Audio menggunakan sampling rate 44,1 kHz, 16 bit per sample, 2 kanal (stereo), maka total media yang diperlukan untuk menyimpan data audio ini per detik adalah 176.400 byte sehingga untuk durasi 1 menit diperlukan 10,584 MB. Jika rata-rata durasi satu lagu selama 5 menit, maka dibutuhkan tempat lebih dari 50 MB untuk menyimpan data audio lagu tersebut. Ini tentunya sangat memboroskan media penyimpanan seperti hard disk meskipun saat ini telah tersedia kapasitas hard disk yang besar. Masalah tersebut dapat diatasi bila file Wave tersebut dikompresi untuk mengurangi ukurannya.
Beranjak dari masalah ini, maka akan dibuat
sebuah perangkat lunak yang
dapat melakukan kompresi pada file
Wave sekaligus mampu memainkan kembali file
Wave terkompresi tersebut. Maka dalam Tugas Akhir ini penulis mengambil judul “Kompresi File Wave Dengan Algoritma Huffman”
1. 2 Perumusan Masalah
Sesuai dengan latar belakang pemilihan judul di atas, maka yang
menjadi masalah dalam Tugas Akhir ini adalah merancang suatu perangkat lunak
yang dapat melakukan kompresi pada file
Wave dengan algoritma Huffman dan bagaimana cara memainkan kembali file Wave
yang telah terkompresi tersebut.
1. 3 Tujuan Dan Manfaat Penulisan
Adapun tujuan dari penulisan Tugas Akhir ini adalah:
1. Untuk mengetahui cara kerja dari algoritma
Huffman yang dipakai dalam kompresi dan
dekompresi file Wave.
2. Untuk menghasilkan sebuah perangkat
lunak yang dapat melakukan kompresi dan dekompresi pada file
Wave dengan input berupa sebuah file
Wave serta sebagai player file Wave.
Manfaat dari penulisan Tugas Akhir ini adalah
1.
Output dari
perangkat lunak ini meliputi file Wave yang terkompresi sehingga menghemat
kapasitas media penyimpan karena pada suatu file
Wave banyak terdapat redudansi data
serta untuk mempersingkat waktu transmisi sewaktu file tersebut dikirim atau di-download
melalui jaringan Internet.
2.
Perangkat
lunak ini dapat berfungsi sebagai player
alternatif untuk file Wave yang terkompresi karena player audio yang umum tidak mendukung file
Wave yang terkompresi.
1. 4 Pembatasan Masalah
Oleh karena besarnya permasalahan dan keterbatasan waktu
serta pengetahuan penulis maka agar pembahasan tidak menyimpang dari tujuan dilakukan pembatasan masalah sebagai berikut:
1. File
Input hanya berupa file format Wave.
2. Program tidak dapat melakukan
pengubahan jumlah kanal (channel), bit per sample, dan sampling rate file Wave
3. Program dapat memainkan kembali file Wave
terkompresi tersebut dengan pilihan Play,
Stop, dan Pause.
4. Perancangan dan pembuatan perangkat
lunak ini menggunakan bahasa Microsoft Visual Basic 6.0
1. 5 Metodologi
Penyelesaian Masalah
Untuk menyelesaikan masalah yang ada, terdapat beberapa
tahapan yang harus dilalui yaitu:
1. Melakukan
pengumpulan berbagai data dan informasi yang berkaitan dengan struktur file Wave
dan algoritma Huffman untuk mendukung perangkat lunak yang akan dirancang
penulis
2. Merancang
antarmuka pemakai (user interface)
3. Langkah
penyelesaian program dimulai dari membaca file
Wave untuk mengambil informasi dari file tersebut, mengambil chunk data pada file Wave, melakukan
kompresi pada chunk data tersebut dan
terakhir menulis kembali hasil data terkompresi tersebut beserta informasi file Wave
tersebut ke dalam bentuk file Wave tersebut.
4. Menulis
kode program dalam bahasa Visual Basic
5. Melakukan
berbagai pengujian pada perangkat lunak yang dirancang dan memperbaiki kesalahan yang terdapat dalam
aplikasi
BAB II
LANDASAN TEORI
2.1 Pengertian
Audio Digital
Suara yang kita dengar
sehari-hari adalah merupakan gelombang analog.
Gelombang ini berasal dari tekanan udara yang ada di sekeliling kita, yang
dapat kita dengar dengan bantuan gendang telinga. Gendang telinga ini bergetar,
dan getaran ini dikirim dan diterjemahkan menjadi informasi suara yang
dikirimkan ke otak, sehingga kita dapat mendengarkan suara. Suara yang kita
hasilkan sewaktu berbicara berbentuk tekanan suara yang dihasilkan oleh pita
suara. Pita suara ini akan bergetar, dan getaran ini menyebabkan perubahan
tekanan udara, sehingga kita dapat mengeluarkan suara.
Komputer hanya
mampu mengenal sinyal dalam bentuk digital.
Bentuk digital yang dimaksud adalah
tegangan yang diterjemahkan dalam angka “0” dan “1”, yang juga disebut dengan
istilah “bit”. Tegangan ini berkisar
5 volt bagi angka “1” dan mendekati 0 volt bagi angka “0”. Dengan kecepatan
perhitungan yang dimiliki komputer, komputer mampu melihat angka “0” dan “1”
ini menjadi kumpulan bit-bit dan
menerjemahkan kumpulan bit-bit
tersebut menjadi sebuah informasi yang bernilai.
Bagaimana caranya memasukkan suara
analog ini sehingga dapat
dimanipulasi oleh peralatan elektronik yang ada? Alat yang diperlukan untuk
melakukan ini adalah transducer. Dalam
hal ini, transducer adalah istilah
untuk menyebut sebuah peralatan yang dapat mengubah tekanan udara (yang kita
dengar sebagai suara) ke dalam tegangan elektrik yang dapat dimengerti oleh
perangkat elektronik, serta sebaliknya. Contoh transducer adalah mikrofon dan speaker.
Mikrofon dapat mengubah tekanan udara menjadi tegangan elektrik, sementara speaker melakukan pekerjaan sebaliknya.
Tegangan elektrik diproses menjadi
sinyal digital oleh sound card. Ketika Anda merekam suara
atau musik ke dalam komputer, sound card akan
mengubah gelombang suara (bisa dari mikrofon atau stereo set) menjadi data digital,
dan ketika suara itu dimainkan kembali, sound
card akan mengubah data digital
menjadi suara yang kita dengar (melalui speaker),
dalam hal ini gelombang analog.
Proses pengubahan gelombang suara menjadi data digital ini dinamakan Analog-to-Digital Conversion (ADC), dan
kebalikannya, pengubahan data digital
menjadi gelombang suara dinamakan Digital-to-Analog
Conversion (DAC).
Proses pengubahan dari tegangan analog ke data digital ini terdiri atas beberapa tahap yang ditunjukkan pada
Gambar 2.1, yaitu:
1. Membatasi
frekuensi sinyal yang akan diproses dengan Low
Pass Filter.
2. Mencuplik sinyal analog ini (melakukan sampling) menjadi beberapa potongan
waktu.
3. Cuplikan-cuplikan ini diberi nilai
eksak, dan nilai ini diberikan dalam bentuk data digital.

Gambar 2.1
Konversi Sinyal Analog ke Digital
Proses sebaliknya, yaitu pengubahan dari data
digital menjadi tegangan analog
juga terdiri atas beberapa tahap, yang ditunjukkan pada gambar 2.2,
yaitu:
1. Menghitung data digital menjadi amplitudo-amplitudo analog.
2. Menyambung amplitudo analog ini menjadi sinyal analog.
3. Memfilter keluaran dengan Low Pass Filter sehingga bentuk
gelombang keluaran menjadi lebih mulus.
![]() |
Gambar 2.2
Konversi Sinyal Digital ke Analog
Proses pengubahan sinyal analog menjadi digital
harus memenuhi sebuah kriteria, yaitu kriteria Nyquist. Kriteria ini mengatakan
bahwa untuk mencuplik sebuah sinyal yang memiliki frekuensi X Hertz, maka harus
mencupliknya minimal dua kali lebih rapat, atau 2X Hertz. Jika tidak, sinyal
tidak akan dapat dikembalikan ke dalam bentuk semula.
0 Komentar