BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
Teknologi Multimedia. Suara dan Audio

PERANCANGAN APLIKASI KOMPRESI FILE AUDIO DENGAN ALGORITMA ARITMETIC CODING

Analisis dan Implementasi Kompresi File Audio Dengan Menggunakan Algoritma Run Length Encoding (RLE)

BAB 2 LANDASAN TEORI

SUARA DAN AUDIO. Suara berhubungan erat dengan rasa mendengar.

BAB 2 LANDASAN TEORI

SUARA DAN AUDIO SUARA (SOUND)

Pertemuan V SUARA / AUDIO

E BOOK MULTIMEDIA MENGGABUNGKAN AUDIO KEDALAM SAJIAN MULTIMEDIA

SUARA DAN AUDIO SUARA (SOUND)

SUARA DAN AUDIO. M U L T I M E D I A Universitas Gunadarma

I M M U L T I M E D I A Semester Genap 2005/2006 Fakultas Teknik Informatika Universitas Kristen Duta Wacana SUARA DAN AUDIO

Menjabarkan format audio digital

Bab 3. Suara dan Audio. Pokok Bahasan : Tujuan Belajar : Definisi Suara

Sistem Multimedia. Materi : Audio/Suara

REPRESENTASI DATA AUDIO dan VIDEO

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

IMPLEMENTASI ALGORITMA RUN LENGTH ENCODING PADA KOMPRESI FILE MP3

CEG4B3. Randy E. Saputra, ST. MT.

APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

BAB 2 TINJAUAN PUSTAKA

FREKUENSI. Infrasound. 0Hz 20Hz. Pendengaran Manusia. 20Hz 20KHz. Ultrasound. 20KHz 1GHz. Hypersound 1GHz 10THz

BAB 1 PENDAHULUAN Latar Belakang

PROTOTIPE KOMPRESI LOSSLESS AUDIO CODEC MENGGUNAKAN ENTROPY ENCODING

Penerapan Pengkodean Huffman dalam Pemampatan Data

BAB 2 LANDASAN TEORI

PEMAMPATAN CITRA (IMA

1. PENDAHULUAN 1.1. Latar Belakang Masalah

Audio. Sistem Multimedia L/O/G/O

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti

TKE317 Multimedia. Lecture 4: Audio. Dr. Aris Triwiyatno, ST, MT Dept. of Electrical Engineering Diponegoro University

BAB 3 ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Kompresi. Definisi Kompresi

BAB 2 LANDASAN TEORI

~ By : Aprilia Sulistyohati, S.Kom ~

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

Penerapan Pohon Biner Huffman Pada Kompresi Citra

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

Pemampatan Citra. Esther Wibowo Erick Kurniawan

APLIKASI KOMPRESI FILE AUDIO MENGGUNAKAN ALGORITMA ARITHMETIC CODING

BAB I PENDAHULUAN. Masalah kompresi data merupakan salah satu aspek penting perkembangan

IMPLEMENTASI ALGORITMA ARITHMETIC CODING PADA KOMPRESI FILE AUDIO VIA FTP (FILE TRANSFER PROTOCOL)

BAB 2 TINJAUAN PUSTAKA

Atandho Gama M. ( )

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TEKNIK KOMPRESI LOSSLESS TEXT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

BAB 2 Tinjauan Teoritis

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

SUARA. Suara merupakan sinyal analog. Jenis Suara dalam Multimedia:

NASKAH PUBLIKASI KOMPRESI CITRA DENGAN METODE ARITHMETIC CODING DALAM KAWASAN ENTROPY CODING

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

Oleh : Page 1

1. Lossless Compression( data dapat diambil tanpa kehilangan informasi asli)

BAB IV. ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

DIGITAL IMAGE CODING. Go green Aldi Burhan H Chandra Mula Fitradi Mardiyah

Implementasi Metode HUFFMAN Sebagai Teknik Kompresi Citra

Implementasi Metode Run Length Encoding (RLE) untuk Kompresi Citra

BAB II DASAR TEORI Suara. Suara adalah sinyal atau gelombang yang merambat dengan frekuensi dan

BAB 2 LANDASAN TEORI

Pemampatan Citra Pemampatan Citra versus Pengkodean Citra

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP

MULTIMEDIA. Kompresi Audio / Video S1 SISTEM KOMPUTER. Semester Gasal 2009/20 UNIVERSITAS DIPONEGORO PROGRAM STUDI

BAB 2 TINJAUAN PUSTAKA

KOMPRESI CITRA. lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat,

KOMPRESI CITRA. Pertemuan 12 Mata Pengolahan Citra

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Meningkatnya penggunaan komputer dalam kegiatan sehari hari, secara

Studi dan Analisis Teknik-Teknik Steganografi Dalam Media Audio

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

KOMPUTER DAN SENI. 9. Komputer dan Seni PTSI C. Komputer dan Seni Rupa

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

BAB III METODOLOGI PENELITIAN. 1. Spesifikasi laptop yang digunakan dalam penelitian ini adalah sebagai. Processor AMD Turion 64 X2 Dual Core 1,66 Ghz

ENCODING DAN TRANSMISI. Budhi Irawan, S.Si, M.T

BAB 2 TINJAUAN PUSTAKA

Modul 2 Akuisisi Dan Visualisasi

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

TEKS, GAMBAR & GRAFIK TEKS (TEXT)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET KOMUNIKASI DATA

Kompresi Data dengan Kode Huffman dan Variasinya

BAB 2 LANDASAN TEORI

Kompresi. Pengertian dan Jenis-Jenis Kompresi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

IMPLEMENTASI ALGORITMA HUFFMAN PADA KOMPRESI FILE WAVEDENGAN MENGGUNAKAN BORLAND DELPHI ABSTRACT

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan

1. Pendahuluan. 1.1 Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

BAB I. PENDAHULUAN Latar Belakang Masalah

KOMPRESI AUDIO DAN VIDEO

PEMAMPATAN DATA DIGITAL MENGGUNAKAN METODA RUN-LENGTH

Transkripsi:

BAB 2 TINJAUAN PUSTAKA 2.1 Teori Dasar Kompresi Pada dasarnya data apapun sebenarnya adalah merupakan rangkaian bit 0 dan 1. Yang membedakan antara suatu data tertentu dengan data yang lain adalah ukuran dari rangkaian bit dan bagaimana 0 dan 1 itu ditempatkan dalam rangkaian bit tersebut. Misalnya data berupa audio dan video, dalam data audio suatu rangkaian bit tertentu mewakili satu nada, sedangkan dalam data video suatu rangkaian bit mewakili suatu stream video, dimana dalam stream video terdapat image dalam satu pixel. Semakin kompleks suatu data, ukuran rangkaian bit yang diperlukan semakin panjang, dengan demikian ukuran keseluruhan data juga semakin besar [4]. Dalam penyimpanan dan pengiriman data komputer, selain isi dari data tersebut parameter yang tidak kalah pentingnya adalah ukurannya. Kerap kali data yang disimpan dalam suatu media penyimpanan berukuran sangat besar sehingga memerlukan tempat yang lebih banyak dan tidak efisien. Apalagi bila data tersebut akan dikirim, semakin besar ukurannya, waktu yang diperlukan untuk pengiriman akan lebih lama. Untuk itu, diperlukan kompresi data (data compression) untuk memperkecil ukuran suatu data tanpa merubah isi atau informasi yang terkandung dalam data tersebut. Ada banyak sekali teori dan metode untuk kompresi data. Salah satu teori yang cukup sederhana adalah dengan menggunakan kode Huffman (Huffman coding). Dalam enkoding kode Huffman, digunakan konsep struktur data pohon biner (binary tree). Teori kode Huffman ini sendiri tidak hanya ada satu, tetapi ada beberapa variasi, optimasi, dan kombinasinya. Dalam ilmu sains komputer kompresi data adalah seni dalam merepresentasikan sumber data digital dan lainnya ke dalam bentuk yang lebih compact. Istilah lain dari kompresi data adalah pemampatan data.

Berikut ini beberapa defenisi dari kompresi data: a. Kompresi berarti memampatkan/mengecilkan ukuran. b. Kompresi data adalah proses mengkodekan informasi menggunakan bit atau informasi bearing unit yang lain yang lebih rendah dari pada representasi data yang tidak terkodekan dengan suatu sistem enkoding tertentu. 2.2 Kompresi Data Data tidak hanya disajikan dalam bentuk audio (bunyi, suara, musik) maupun video teks, tetapi juga dapat berupa teks dan citra. Keempat macam data tersebut sering disebut dengan multimedia. Pada umumnya representasi data digital membutuhkan memori yang besar, disisi lain kebanyakan data misalnya citra (image) mengandung duplikasi. Duplikasi ini dapat berarti dua hal yaitu pertama, besar kemungkinan suatu pixel dengan pixel lain tetangganya memiliki intensitas yang sama, sehingga penyimpanan setiap pixel memboroskan tempat. Kedua, citra banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali. Saat ini, kebanyakan aplikasi menginginkan representasi dengan memori yang lebih sedikit. Pemampatan data atau kompresi data (data compression) bertujuan meminimalkan kebutuhan memori untuk merepresentasikan data digital. Prinsip umum yang digunakan pada proses kompresi adalah mengurangi duplikasi data sehingga memori untuk merepresentasikan menjadi lebih sedikit daripada representasi data digital semula. Data digital yang telah dikompresi dapat dikembalikan ke bentuk data digital semula (dekompresi) dimana hal ini tergantung pada aplikasi software yang mendukung kompresi tersebut. Ketika suatu aplikasi mampu menghilangkan atau mengkompresi data yang tidak dibutuhkan maka aplikasi tersebut juga mampu mengembalikan data yang dihilangkan tersebut sehingga menjadi data digital semula (dekompresi) namun terdapat juga suatu aplikasi yang dapat mengkompresi namun ketika dekompresi dapat menggunakan aplikasi lain contohnya aplikasi winzip dengan aplikasi winrar.

Kompresi data sangat populer sekarang ini karena dua alasan yaitu : 1. Orang orang lebih suka mengumpulkan data. Tidak peduli seberapa besar media penyimpanan yang dimilikinya. Akan tetapi cepat atau lambat akan terjadi overflow. 2. Orang orang benci menunggu waktu yang lama untuk memindahkan data. Misalnya ketika duduk di depan komputer untuk menunggu halaman Web terbuka atau men-download sebuah file [7]. Rasio kompresi data adalah ukuran persentase data yang telah berhasil dimampaatkan.secara matematis rasio pemampatan data ditulis sebagai berikut : Rasio kompresi = ( ukuran file asli ukuran file terkompresi ukuran file asli x 100 % ) Misalkan rasio kompresi adalah 25%, artinya 25 % data semula telah berhasil dimampatkan [9]. 2.3 Metode Kompresi Data Metode pemampatan data atau kompresi data dapat dikelompokan dalam dua kelompok besar yaitu metode lossless dan metode lossy yaitu: 1. Metode lossless. Lossless data kompresi adalah kelas dari algoritma data kompresi yang memungkinkan data yang asli dapat disusun kembali dari data kompresi. Lossless data kompresi digunakan dalam berbagai aplikasi seperti format ZIP dan GZIP. Lossless juga sering digunakan sebagai komponen dalam teknologi kompresi data lossy. Kompresi Lossless digunakan ketika sesuatu yang penting pada kondisi asli. Beberapa format gambar seperti PNG atau GIF hanya menggunakan kompresi lossless,

sedangkan yang lainnya sperti TIFF dan MNG dapat menggunakan metode lossy atau lossless. Metode lossless menghasilkan data yang identik dengan data aslinya, hal ini dibutuhkan untuk banyak tipe data, contohnya: executable code, word processing files, tabulated numbers dan sebagainya. Misalnya pada citra atau gambar dimana metode ini akan menghasilkan hasil yang tepat sama dengan citra semula, pixel per pixel sehingga tidak ada informasi yang hilang akibat kompresi. Namun ratio kompresi (rasio kompresi yaitu, ukuran file yang dikompresi dibanding yang tak terkompresi dari file) dengan metode ini sangat rendah. Metode ini cocok untuk kompresi citra yang mengandung informasi penting yang tidak boleh rusak akibat kompresi, misalnya gambar hasil diagnosa medis. Contoh metode lossless adalah Aritmetic Coding, Run-Length, Huffman, Delta dan LZW. Kebanyakan program kompresi lossless menggunakan dua jenis algoritma yang berbeda: yang satu menghasilkan model statistik untuk input data, dan yang lainnya memetakan data input ke rangkaian bit menggunakan model ini dengan cara bahwa probable data akan menghasilkan output yang lebih pendek dari improbable data. algoritma encoding yang utama yang dipakai untuk menghasilkan rangkaian bit adalah Huffman Coding dan Aritmetic Coding. 2. Metode lossy Lossy kompresi adalah suatu metode untuk mengkompresi data dan mendekompresinya, data yang diperoleh mungkin berbeda dari yang aslinya tetapi cukup dekat perbedaaanya. Lossy kompresi ini paling sering digunakan untuk kompres data multimedia (suara atau gambar diam). Sebaliknya, kompresi lossless diperlukan untuk data teks dan file, seperti catatan bank, artikel teks dan lainnya. Format kompresi lossy mengalami generation loss yaitu jika melakukan berulang kali kompresi dan dekompresi file akan menyebabkan kehilangan kualitas secara progresif. hal ini berbeda dengan kompresi data lossless. ketika pengguna yang menerima file terkompresi secara lossy (misalnya untuk mengurangi waktu download) file yang diambil dapat sedikit berbeda dari yang asli di-level bit ketika tidak dapat

dibedakan oleh mata dan telinga manusia untuk tujuan paling praktis. Metode ini menghasilkan rasio kompresi yang lebih besar daripada metode lossless. Misal terdapat image asli berukuran 12,249 bytes, kemudian dilakukan kompresi dengan JPEG kualitas 30 dan berukuran 1,869 bytes berarti image tersebut 85% lebih kecil dan rasio kompresi 15%. Contoh metode lossy adalah metode CS&Q (coarser sampling and/or quantization), JPEG, dan MPEG. Ada dua skema dasar lossy kompresi : a. Lossy transform codec, sampel suara atau gambar yang diambil, di potong ke segmen kecil, diubah menjadi ruang basis yang baru, dan kuantisasi. hasil nilai kuantisasi menjadi entropy coded. b. Lossy predictive codec, sebelum dan/atau sesudahnya data di-decode digunakan untuk memprediksi sampel suara dan frame picture saat ini. kesalahan antara data prediksi dan data yang nyata, bersama-sama dengan informasi lain digunakan untuk mereproduksi prediksi, dan kemudian dikuantisasi dan kode. Dalam beberapa sistem kedua teknik digabungkan, dengan mengubah codec yang digunakan untuk mengkompresi kesalahan sinyal yang dihasilkan dari tahapan prediksi. Keuntungan dari metode lossy atas lossless adalah dalam beberapa kasus metode lossy dapat menghasilkan file kompresi yang lebih kecil dibandingkan dengan metode lossless yang ada, ketika masih memenuhi persyaratan aplikasi. Metode lossy sering digunakan untuk mengkompresi suara, gambar dan video. karena data tersebut dimaksudkan kepada human interpretation dimana pikiran dapat dengan mudah mengisi bagian-bagian yang kosong atau melihat kesalahan masa lalu sangat kecil atau inkonsistensi. Idealnya lossy adalah kompresi transparan, yang dapat diverifikasi dengan tes ABX. Sedangkan lossless digunakan untuk mengkompresi data untuk diterima ditujuan dalam kondisi asli seperti dokumen teks. Lossy akan mengalami

generation loss pada data sedangkan pada lossless tidak terjadi karena data yang hasil dekompresi sama dengan data asli [2]. 2.4 File Audio Audio (suara) adalah fenomena fisik yang dihasilkan oleh getaran suatu benda yang berupa sinyal analog dengan amplitudo yang berubah secara kontinyu terhadap waktu yang disebut frekuensi [1]. Gambar 2.1 Alur Gelombang Suara Selama bergetar, perbedaan tekanan terjadi di udara sekitarnya. Pola osilasi yang terjadi dinamakan sebagai gelombang. Gelombang mempunyai pola sama yang berulang pada interval tertentu, yang disebut sebagai periode. Contoh suara periodik adalah instrumen musik, nyanyian burung sedangkan contoh suara non periodik adalah batuk, percikan ombak dan lain-lain [1]. Waktu/det A M P L I T U D O 1 Periode Gambar 2.2 Gelombang

2.5 Representasi Suara Gelombang suara analog tidak dapat langsung direpresentasikan pada komputer. Komputer mengukur amplitudo pada satuan waktu tertentu untuk menghasilkan sejumlah angka. Tiap satuan pengukuran ini dinamakan sample. Analog To Digital Conversion (ADC) adalah proses mengubah amplitudo gelombang bunyi ke dalam waktu interval tertentu (sampling), sehingga menghasilkan representasi digital dari suara. Dalam teknik sampling dikenal istilah sampling rate yaitu beberapa gelombang yang diambil dalam satu detik. Sebagai contoh jika kualitas CD Audio dikatakan memiliki frekuensi sebesar 44100 Hz, berarti jumlah sampel sebesar 44100 per detik [5]. Gambar 2.3 Proses Sampling Audio Analog ke Digital Langkah-langkah dalam proses digitasi adalah: 1. Membuang frekuensi tinggi dari source signal. 2. Mengambil sample pada interval waktu tertentu (sampling). 3. Menyimpan amplitudo sampel dan mengubahnya ke dalam bentuk diskrit (kuantisasi). 4. Merubah bentuk menjadi nilai biner. Teknik sampling yang umum pada file audio seperti Nyquist Sampling Rate dimana untuk memperoleh representasi akurat dari suatu sinyal analog secara lossless, amplitudonya harus diambil sample-nya setidaknya pada kecepatan (rate) sama atau lebih besar dari 2 kali lipat komponen frekuensi maksimum yang akan didengar.

Mis : Untuk sinyal analog dengan bandwith 15 Hz 10 khz sampling rate = 2 x 10 KHz = 20 khz 2.6 Format Audio 2.6.1 Advanced Audio Coding (AAC) AAC [.m4a ] bersifat lossy compression dimana data hasil kompresi tidak bisa dikembalikan lagi ke data sebelum dikompres secara sempurna, karena setelah dikompres terdapat data yang hilang. AAC merupakan audio codec yang menyempurnakan MP3 dalam hal medium dan high bit rates [1]. Cara kerja: 1. Bagian-bagian sinyal yang tidak relevan dibuang. 2. Menghilangkan bagian-bagian sinyal yang redundan. 3. Dilakukan proses MDCT (Modified Discret Cosine Transform) berdasarkan tingkat kekompleksitasan sinyal. 4. Adanya penambahan Internal Error Correction. 5. Kemudian, sinyal disimpan atau dipancarkan. Kelebihan AAC dari MP3: 1. Sample rate-nya antara 8 Hz 96 khz, sedangkan MP3 16 Hz 48 khz. 2. Memiliki 48 channel. 3. Suara lebih bagus untuk kualitas bit yang rendah (dibawah 16 Hz). Software pendukung AAC : IPod dan Itunes, Winamp. Handphone : Nokia N91, Sony Ericsson W800, dan Motorola ROKR E1. Hardware: Play Station Portable (PSP) pada Agustus 2005.

2.6.2 File WAV WAV adalah format audio standar Microsoft dan IBM untuk personal computer (PC), biasanya menggunakan coding PCM (Pulse Code Modulation). WAV adalah data tidak terkompres sehingga seluruh sampel audio disimpan semuanya di harddisk. Software yang dapat menciptakan WAV dari analog sound misalnya adalah Windows Sound Recorder. File audio ini jarang sekali digunakan di internet karena ukurannya yang relatif besar dengan batasan maksimal untuk file WAV adalah 2GB. Secara umum data audio digital memiliki karakteristik yang dapat dinyatakan dengan parameter-parameter berikut: a. Laju sampel (sampling rate) dalam sampel/detik, misalnya 22050 atau 44100 sampel/detik. b. Jumlah bit tiap sampel, misalnya 8 atau 16 bit. c. Jumlah kanal, yaitu 1 untuk mono dan 2 untuk stereo. Parameter-parameter tersebut menyatakan setting yang digunakan oleh ADC (Analog-to-Digital Converter) pada saat data audio direkam. Biasanya laju sampel juga dinyatakan dengan satuan Hz atau khz. Sebagai gambaran, data audio digital yang tersimpan dalam CD audio memiliki karakteristik laju sampel 44100 Hz, 16 bit per sampel, dan 2 kanal (stereo), yang berarti setiap satu detik suara tersusun dari 44100 sampel, dan setiap sampel tersimpan dalam data sebesar 16-bit atau 2 byte. Laju sampel selalu dinyatakan untuk setiap satu kanal. Jadi misalkan suatu data audio digital memiliki 2 kanal dengan laju sampel 8000 sampel/detik, maka sesungguhnya di dalam setiap detiknya akan terdapat 16000 sampel. Sebagaimana telah dijelaskan sebelumnya bahwa untuk stream data audio menggunakan header berupa struktur PCMWAVEFORMAT. PCM merupakan singkatan dari Pulse Coded Modulation, yaitu suatu metode yang digunakan untuk mengkonversikan sinyal audio dari bentuk analog ke bentuk digital.

Adapun struktur dari PCMWAVEFORMAT adalah sebagai berikut: typedef struct {WAVEFORMAT wf;word wbitspersample;} PCMWAVEFORMAT; Field wf merupakan struktur WAVEFORMAT yang berisi keterangan umum mengenai format data audio. Field wbitspersample menunjukkan banyaknya bit per sample. Adapun struktur data dari WAVEFORMAT adalah sebagai berikut: typedef struct {WORD wformattag; WORD nchannels; DWORD nsamplespersec; DWORD navgbytespersec; WORD nblockalign;} WAVEFORMAT; Keterangan mengenai field-field dari struktur WAVEFORMAT ini dapat dilihat pada Tabel 2.1 [1]. Tabel 2.1 Field-field pada struktur data WAVEFORMAT Field Keterangan wfomattag Menunjukkan type format data dan memiliki nilai WAVE_FORMAT_PCM. nchannels Menunjukkan banyaknya kanal yang ada di dalam data waveform audio. Untuk mono menggunakan satu kanal sedangkan untuk stereo menggunakan dua kanal. nsamplespersec Menunjukkan besarnya sample rate dalam sample per detik. navgbytespersec Menunjukkan rata-rata laju transfer data, dalam byte per detik. Misalnya untuk PCM 16-bit stereo pada 44.1 khz, navgbytespersec bernilai 176400 ( 2 kanal * 2 byte per sample * 44100 ).

nblockalign Menunjukkan banyaknya byte yang digunakan untuk satu buah sample. Misalnya untuk PCM 16-bit mono, nblockalign akan bernilai 2. 2.6.3 File MP3 MPEG-1 audio layer III atau yang lebih dikenal dengan MP3, adalah salah satu dari pengkodean dalam digital audio dan juga merupakan format kompresi audio yang memiliki sifat menghilangkan. Istilah menghilangkan yang dimaksud adalah kompresi audio ke dalam format mp3 menghilangkan aspek-aspek yang tidak signifikan pada pendengaran manusia untuk mengurangi besarnya file audio. Sejarah MP3 dimulai dari tahun 1991 saat proposal dari Phillips (Belanda), CCET (Perancis), dan Institut für Rundfunktechnik (Jerman) memenangkan proyek untuk DAB (Digital Audio Broadcast). Produk mereka seperti Musicam (akan lebih dikenal dengan layer 2) terpilih karena kesederhanaan, ketahanan terhadap kesalahan, dan perhitungan komputasi yang sederhana untuk melakukan pengkodean yang menghasilkan keluaran yang memiliki kualitas tinggi. Pada akhirnya ide dan teknologi yang digunakan dikembangkan menjadi MPEG-1 audio layer 3. MP3 adalah pengembangan dari teknologi sebelumnya sehingga dengan ukuran yang lebih kecil dapat menghasilkan kualitas yang setara dengan kualitas CD. Spesifikasi dari layer-layer sebagai berikut: 1. Layer 1: paling baik pada 384 kbit/s 2. Layer 2: paling baik pada 256...384 kbit/s, sangat baik pada 224...256 kbit/, baik pada 192...224 kbit/s 3. Layer 3: paling baik pada 224...320 kbit/s, sangat baik pada 192...224 kbit/s, baik pada 128...192 kbit/s Kompresi yang dilakukan oleh MP3 seperti yang telah disebutkan diatas, tidak mempertahankan bentuk asli dari sinyal input. Melainkan yang dilakukan adalah menghilangkan suara-suara yang keberadaannya kurang/tidak signifikan bagi sistem

pendengaran manusia. Proses yang dilakukan adalah menggunakan model dari sistem pendengaran manusia dan menentukan bagian yang terdengar bagi sistem pendengaran manusia. Setelah itu sinyal input yang memiliki domain waktu dibagi menjadi blok-blok dan ditransformasi menjadi domain frekuensi. Kemudian model dari sistem pendengaran manusia dibandingkan dengan sinyal input dan dilakukan proses penyaringan yang menghasilkan sinyal dengan range frekuensi yang signifikan bagi sistem pendengaran manusia. Proses diatas adalah proses konvolusi dua sinyal yaitu sinyal input dan sinyal model sistem pendengaran manusia. Langkah terakhir adalah kuantisasi data, dimana data yang terkumpul setelah penyaringan akan dikumpulkan menjadi satu keluaran dan dilakukan pengkodean dengan hasil akhir file dengan format MP3. Proses pengkompresian MP3 dapat menghasilkan keluaran yang hampir setara dengan aslinya disebabkan oleh kelemahan dari sistem pendengaran manusia yang dapat dieksploitasi. Berikut adalah beberapa kelemahan dari sistem pendengaran manusia yang digunakan dalam pemodelan: 1. Terdapat beberapa suara yang tidak dapat didengar oleh manusia (diluar jangkauan frekuensi 30-30.000 Hz). 2. Terdapat beberapa suara yang dapat terdengar lebih baik bagi pendengaran manusia dibandingkan suara lainnya. 3. Bila terdapat dua suara yang dikeluarkan secara simultan, maka pendengaran manusia akan mendengar yang lebih keras sedangkan yang lebih pelan akan tidak terdengar. Kepopuleran dari MP3 yang sampai saat ini belum tersaingi disebabkan oleh beberapa hal. Pertama MP3 dapat didistribusikan dengan mudah dan hampir tanpa biaya, walaupun sebenarnya hak paten dari MP3 telah dimiliki dan penyebaran MP3 seharusnya dikenai biaya. Walaupun begitu, pemilik hak paten dari MP3 telah

memberikan pernyataan bahwa penggunaan MP3 untuk keperluan perorangan tidak dikenai biaya. Keuntungan lainnya adalah kemudahaan akses MP3, dimana banyak software yang dapat menghasilkan file MP3 dari CD dan keberadaan file MP3 yang bersifat ubiquitos (kosmopolit). Pada perbandingan kualitas suara antara beberapa format kompresi audio hasil yang dihasilkan bervariasi pada bitrate yang berbeda, perbandingan berdasarkan codec (hasil pengkodean) yang digunakan. Pada 128 kbit/s, LAME MP3 unggul sedikit dibandingkan dengan Ogg Vorbis, AAC, MPC and WMA Pro. Kemudian pada 64 kbit/s,aac-he dan mp3pro menjadi yang teratas diantara codec lainnya. Dan untuk diatas 128 kbit/s tidak terdengar perbedaan yang signifikan. Pada umumnya format MP3 sekarang menggunakan 128 kbit/s dan 192 kbit/s sehingga hasil yang dihasilkan cukup baik [1]. 2.6.4 File MIDI MIDI adalah singkatan dari Musical Instrument Digital Interface yang merupakan standar perangkat keras dan perangkat lunak internasional untuk bertukar data seperti kode musik dan MIDI Event diantara perangkat musik elektronik dan komputer dari merek yang berbeda. MIDI data sebenarnya merupakan sekumpulan instruksi dan bukanlah versi digital dari rekaman suara. Roos (2009) memberikan pendapat bahwa MIDI bukanlah sebuah musik, tidak berisi suara aktual/nyata, dan bukanlah format file musik digital, seperti MP3 atau WAV. Sebagai contoh, ketika merekam musik pada komputer menggunakan MIDI, perangkat lunak akan menyimpan daftar pesan dan instruksi sebagai file.mid. Jika memainkan kembali file.mid pada keyboard elektronik, perangkat synthesizer internal dari keyboard akan mengikuti instruksi untuk memainkan lagu tersebut. Keyboard akan memainkan kunci tertentu dengan kecepatan tertentu dan berhenti untuk waktu yang sudah ditentukan sebelum bergerak ke nada berikutnya. MIDI dapat dimainkan disembarang perangkat elektronik yang mempunyai perangkat lunak synthesizer. Sembarang komputer dengan kartu suara juga dapat

memainkan file.mid. File.mid akan memberikan suara yang sedikit berbeda pada setiap perangkat karena sumber audio yang berbeda. Data file MIDI juga cocok untuk mesin karaoke karena dapat dengan mudah mengubah pitch untuk lingkup vokal yang berbeda-beda. Interface MIDI terdiri dari 2 komponen yaitu: 1. Perangkat Keras Hardware yang terhubung ke peralatan (alat instrumen / komputer) 2. Data Format Pengkodean informasi terdiri dari: a. Spesifikasi instrumen b. Awal / akhir nada c. Frekuensi d. Volume suara MIDI device (synthesizer) berkomunikasi melalui channel dimana piranti standar memiliki 16 channel. MIDI memiliki 128 macam instrumen (termasuk noise effect) mis: Accoustic piano, Marimba, Violin. MIDI 1 channel dapat memainkan 3 16 note. MIDI Reception Mode terdiri dari [1]: a. Mode 1 : Omni On / Poly b. Mode 2 : Omni On / Mono c. Mode 3 : Omni Off / Poly d. Mode 4 : Omni Off / Mono

2.7 Struktur Data pada File Audio Struktur data pada file audio berbeda-beda tergantung format audio-nya. Misalnya file Wav memiliki struktur seperti pada Gambar 2.4 [1]. Gambar 2.4 Contoh Struktur file WAVE dalam bentuk hexa Pada struktur file Wav di atas terdiri dari: a. Chunk Descriptor yang terdiri dari data: 52 49 46 46 28 08 00 00 57 41 56 45. b. Fmt subchunk yang terdiri data subchunk1size, audioformat, numchannel, samplerate, byterate dan BlockAlign yaitu: 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 ## 50 01 00 04 00 10 00 c. Data subchunk yang terdiri dari data subchunk2size serta sample-sample yaitu: 64 61 74 61 00 0##1 00 00 00 00#2 24 17 1e f3#3 3c 13 3c 14 #4 16 f9 18 f9 34 e7 23 a6 3c f2 24 f2 24 f2 11 ce 1a 0d

2.8 Pembacaan File Audio Data audio yang di-encoding terdiri dari 576 baris frekuensi tiap channel dan bagian kecil yang disimpan sebagai 16 bit signed integer. Sebagai contoh diberi sebuah spektrum frekuensi pada file audio berformat wav yang dapat dilihat pada Gambar 2.5 [5]. Amplitudo Waktu (D tik) Gambar 2.5 Frekuensi File Audio Pada file suara yang terkuantisasi dilakukan encoding yang menghasilkan nilai integer yang merupakan nilai frekuensi dari sampel audio. Sampel audio yang di-encoding dapat dilihat pada Gambar 2.6 [5]. Gambar 2.6 Encoding Sampel Audio

2.9 Arithmetic Coding Algoritma aritmetic coding melakukan penggantian satu deretan simbol input dengan sebuah bilangan floating point. Semakin panjang dan semakin kompleks pesan yang dikodekan, akan semakin banyak bit yang diperlukan untuk keperluan tersebut. Output dari pengkodean Aritmetic Coding adalah satu angka yang lebih kecil dari angka 1 dan lebih besar atau sama dengan 0. Angka ini secara unik dapat dapat didekoding sehingga menghasilkan deretan simbol yang dipakai untuk menghasilkan angka tersebut. Untuk menghasilkan angka output tersebut, tiap simbol yang akan di-encode diberi satu set nilai probabilitas. Contohnya andaikan pada sampel audio 00 3e 1f 00 9a 00 1f 9a 00 3e 00 1f 00 3e 1f akan di-encode, maka akan diperoleh tabel probabilitas seperti Tabel 2.2. Tabel 2.2 Tabel Probabilitas Nilai Frekuensi Probabilitas 00 6 6/15=0,4 1f 4 4/15=0,3 9a 2 2/15=0,1 3e 3 3/15=0,2 Setelah probabilitas tiap karakter diketahui, tiap simbol/karakter akan diberikan range tertentu yang nilainya berkisar antara 0 dan 1, sesuai dengan probabilitas yang ada. Dalam hal ini tidak ada ketentuan urutan penentuan segmen, asalkan antara encoder dan decoder melakukan hal yang sama. Selanjutnya akan diperoleh tabel Range Probabilitas seperti Tabel 2.3. Tabel 2.3 Tabel Range Probabilitas Nilai Frekuensi Probabilitas Range 00 6 6/15=0,4 0,0 00 <0,4 1f 4 4/15=0,3 0,4 1f <0,7 9a 2 2/15=0,1 0,7 9a <0,8 3e 3 3/15=0,2 0,8 3e <1,0

Keterangan : 0,0 00 <0,4 : Nilai 00 memiliki range dari 0,0 sampai dengan 0,4 0,4 1f <0,7 : Nilai 1f memiliki range dari 0,4 sampai dengan 0,7 0,7 9a <0,8 : Nilai 9a memiliki range dari 0,7 sampai dengan 0,8 0,8 3e <1,0 : Nilai 3e memiliki range dari 0,8 sampai dengan 1,0 Satu hal yang perlu dicatat dari tabel ini adalah tiap karakter melingkupi range yang disebutkan, kecuali bilangan yang tinggi. Jadi, simbol 3e sesungguhnya mempunyai range mulai dari 0,8 sampai dengan 0,9999 Selanjutnya, untuk melakukan proses encoding, algoritma berikut dipakai. 1. Set low = 0,0 (kondisi awal) 2. Set high = 1.0 (kondisi awal) 3. While (simbol input masih ada) do 4. Ambil simbol input. 5. CR = high low. 6. High = low + CR*high_range(simbol) 7. Low = low + CR*low_range(simbol) 8. End while 9. Cetak low Pada algoritma di atas low, hight dan CR berturut-turut menyatakan batas bawah, batas atas dan jangkauan interval dari setiap simbol (character). Pada tahap awal low dan high di inisialisasi dengan nilai 0 dan 1 kemudian pada proses selanjutnya kedua nilai tersebut diperbaharui dengan rumus : 1. High = low + CR*high_range(simbol) 2. Low = low + CR*low_range(simbol)

2.10 Windows API (Application Programming Interface) Windows API adalah sekumpulan fungsi-fungsi eksternal yang terdapat dalam file-file perpustakaan Windows (library windows) atau file library lainnya yang dapat digunakan dalam pembanguna program. Fungsi ini dapat menangani semua yang berhubungan dengan Windows seperti pengaksesan disk, interface printer, grafik Windows, kotak dialog, Windows shell, memainkan musik dan sebagainya [3]. Pada pemrograman Visual Basic, untuk bisa memutar sebuah file suara (WAV) atau file musik (MP3) harus menggunakan Windows API yaitu file winmm.dll. File ini terlebih dahulu dideklarasikan atau dikenalkan ke bahasa pemrograman yang sedang digunakan dengan cara sebagai berikut: Declare Function mcisendstring Lib winmm.dll alias _ mcisendstringa (ByVal lpstrcommand As String, ByVal lpstrreturnstring As _ String,ByVal ureturnstring as String,ByVal ureturnlength as long,byval _ hwdncallback as long) As Long. Keterangan : 1. Declare merupakan fungsi reserved word, kata yang telah baku disediakan oleh Visual Basic untuk menyatakan pendeklarasian prosedur API. 2. Function merupakan fungsi untuk menghasilkan suatu nilai sebagai hasil dari sebuah aksi. 3. mcisendstringa merupakan sebuah nama fungsi yang terdapat pada suatu file pustaka prosedur (*.dll). Setelah penulisan nama fungsi ini, proses harus dilanjutkan dengan nama file pustaka prosedur dimana fungsi tersebut berada. 4. Lib winmm adalah tempat untuk memberitahukan Visual Basic letak fungsi mcisendstringa berada, yaitu pada library sistem. File winmm.dll disebut sebagai pustaka prosedur karena di dalamnya terdapat puluhan bahkan ratusan macam fungsi. Penulisan string 32 pada beberapa pustaka sistem prosedur,

mengacu pada terminologi Win32-Based Application, yaitu sebuah teknologi sistem operasi berbasis 32-bit yang dikembangkan oleh Microsoft dan telah digunakan hampir semua pengguna Windows saat ini. Untuk generasi terbaru, Microsoft telah mengeluarkan teknologi 64-bit, dan sebelumya microsoft telah mengeluarkan sistem operasi berbasis 16-bit. Pada lingkungan Windows 16-bit, pustaka prosedur sistem tidak memiliki string 32 atau 16. 5. (ByVal uflags As Long, ByVal dwreserved As Long) merupakan argumen atau parameter yang memerlukan nilai tertentu yang bersifat tetap atau sebuah variabel asli yang tidak bisa diubah). 6. As Long merupakan pendeklarasian tipe nilai yang dikpembalikan fungsi API.