• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
45
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Kinerja Algoritma Arithmetic coding

Dalam penelitian ini akan dilakukan analisis dan perancangan perangkat lunak pengkompresian file audio yang bertipe wav, MP3 serta Midi dengan menggunakan metode Arithmetic coding. Proses kompresi data didasarkan pada kenyataan bahwa pada hampir semua jenis data selalu terdapat pengulangan pada komponen data yang dimilikinya, misalnya di dalam suatu data audio akan terdapat pengulangan penggunaan angka dari huruf 0 sampai 9 atau dari a sampai dengan huruf z. Kompresi data melalui proses encoding berusaha untuk menghilangkan unsur pengulangan ini dengan mengubahnya sedemikian rupa sehingga ukuran data menjadi lebih kecil.

Proses pengurangan unsur pengulangan ini dapat dilakukan dengan memakai beberapa teknik kompresi. Misalnya jika suatu komponen muncul berulang kali dalam suatu data, maka komponen tersebut tidak harus dikodekan berulang kali pula tapi dapat dikodekan dengan menulis frekuensi munculnya komponen dan di mana komponen tersebut muncul. Teknik kompresi data lainnya, berusaha untuk mencari suatu bentuk kode yang lebih pendek untuk suatu komponen yang sering muncul.

Keberhasilan pengkompresian data tergantung dari besarnya data itu sendiri dan tipe data yang memungkinkan untuk dikompresi. Biasanya beberapa komponen-komponen di dalam data yang sifatnya lebih umum dari yang lainnya banyak dipakai pada algoritma kompresi data yang memanfaatkan sifat ini. Hal ini dinamakan

redundancy. Makin besar redundancy di dalam data semakin tinggi pula tingkat

keberhasilan kompresi data. Dalam proses kompresi data, terdapat konsep umum probabilitas yang menunjukkan suatu ukuran berapa banyak informasi yang terdapat dalam suatu rangkaian data atau yang disebut dengan entropy yang dapat direpresentasikan secara matematis.

(2)

Algoritma kompresi Arithmetic Coding menggantikan suatu deret simbol input dalam suatu file data dengan sebuah bilangan menggunakan proses aritmatika. Semakin panjang dan semakin kompleks pesan yang dikodekan, semakin banyak bit yang diperlukan untuk proses kompresi dan dekompresi data. Output dari Arithmetic

Coding ini adalah satu angka yang lebih kecil dari 1 dan lebih besar atau sama dengan

0. Angka ini secara unik dapat didekompresikan sehingga menghasilkan deretan simbol yang dipakai untuk menghasilkan angka tersebut. Untuk menghasilkan bilangan output tersebut, tiap simbol yang akan dikompresi diberi satu set nilai probabilitas.

3.1.1 Pembacaan File Audio

Sebelum file audio dikompresi, terlebih dahulu dilakukan pembacaan file audio untuk mendapatkan data berupa header dalam ukuran byte (8 bit) bentuk pasangan bilangan heksadesimal.

a. Audio Format WAV

File wav adalah file audio hasil perekaman yang belum terkompresi yang terdiri dari

header-header yang berisi informasi tentang file audio. Sebagai contoh data header

yang diperoleh dari file audio format WAV seperti pada Gambar 3.1.

52 48 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 00 00 00 00 24 17 1e 3c 13 3c 14 16 f9 18 f9 34 e7 23 a6 3c f2 24 f2 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 0 2 9a 2a 4f 3e 3d 00 10 10 10 03 3d 10 10 2 f 10 10 12 00 12 10 25 23 13 00 04 11 23 00 00 12 11 32 2a 2a 9f 25 10 -10 02 12 10 53 13 00 a6 11 12 23 00 0f 10 10 10 12 10 5d 23 13 70 11 26 23 00 01 13 9a 2a 2f 10 10 10 12 10 53 90 56 11 23 00 01 13 0e 22 52 9a 2a 10 3d 10 02 2f 10 10 10 12 -10 11 33 13 00 07 3d 10 02 3f 10 10 12 12 53 13 30 30 37 07 13 3d 10 02 f 0 10 10 12 -10 53 14 13 00 07 3d 10 02 f 0 10 00 12 26 25

(3)

Dari file audio dengan format WAV di atas :

a. Empat byte pertama selalu berisi 52 48 46 46 (hexa) yang jika di konvensi mempunyai arti R =52, I =48, F= 46, F = 46 sama dengan RIFF.

b. Empat byte berikutnya berisi 24 08 00 00 menyatakan ukuran file audio yaitu 24=36, 08=8, 00=0, 00=0 yang sama dengan 36800, maka ukuran filenya adalah 36800 kb – I kb = 36799 kb.

c. Empat byte berikutnya 57 41 56 45 menyatakan jenis file: 57=W, 41=A, 56=V, 45=E.

d. Empat byte berikutnya adalah 66 6d 74 20 menyatakan ID “fmt”, 66=f, 6d=m, 74=t dan 20=spasi kosong.

e. Empat byte berikutnya adalah 10 00 00 00 yang menyatakan panjang informasi, 10 = 16, 00=0, 00=0, 00=0 semuanya bernilai 16.

f. Empat byte berikutnya adalah 01 00 02 00 yang bernilai 1 dan 2 channel (stereo).

g. Empat byte berikutnya adalah 22 56 00 00 yang menyatakan sample rate dengan nilai 22=”, 56=V, 00=0, 00=0.

h. Empat byte berikutnya adalah 88 58 01 00 yang menyatakan byte rate dengan nilai 22=”, 56=V, 00=0, 00=0.

i. Dua byte berikutnya adalah BlockAlign yang bernilai 04 00 yang menyatakan yang menyatakan ukuran data untuk satu sample penuh dalam byte. Yang dimaksud dengan satu sample penuh adalah satu sample yang mewakili nilai dari sample pada semua channel pada suatu waktu.

j. Dua byte berikutnya adalah nilai bit per sampel (BitsPerSample) yang bernilai 10 00 adalah 16 dan 00 = 16 bit per sampel untuk sampel right channel maupun untuk sampel left channel.

(4)

k. Empat byte berikutnya adalah 64 61 74 61 yang menyatakan ID dengan nilai 64=d, 61=a, 74=t, 61=a dengan arti “data” yang menyatakan data sampel digital audio.

l. Enam belas (16) byte berikutnya adalah sampel audio right channel sampel 1 sampai sampel ke 4 dengan nilai 00 00 00 00 24 17 1e f3 3c 13 3c 14 16 f9 18

f9.

m. Enam belas (16) byte berikutnya adalah sampel audio left channel sampel 5 sampai sampel ke 8 dengan nilai 34 e7 23 a6 3c f2 24 f2 11 c0 1a 0d 00 7f 11

00.

n. Lanjutkan sampai semua data sampel audio diperoleh.

b. Audio Format MIDI

Suatu file MIDI pada dasarnya terdiri dari :

1. Header chunks hanya satu yang berisi informasi file format dan lainnya.

2. Track chunks ada beberapa adalah sama seperti track pada multi-track tape

deck, satu track untuk tiap voice, tiap staf, tiap instrument atau apapun yang

diinginkan.

Tidak seperti digital audio files antara lain .wav, .aiff maupun MP3, file MIDI tidak perlu meng-capture dan men-store sound sesungguhnya. File midi merupakan kumpulan daftar pesan dan instruksi untuk memainkan alat musik. Ini membuat ukuran file MIDI jauh lebih kecil dibanding ukuran file audio lainnya. Event pada file MIDI dapat diedit, musiknya juga dapat di-rearrange, diedit dan dapat dibuat lebih interaktif jika diinginkan.

(5)

Struktur data file MIDI adalah:

<header_chunk>+<track_chunk>[+ <track_chunk1> ... dan seterusnya].

4D 54 72 6B 00 00 00 06 ff ff nn nn dd dd 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 0 2 9a 2a 4f 3e 3d 00 10 10 10 03 3d 10 10 2 f 10 10 12 00 12 10 25 23 13 00 04 11 23 00 00 12 11 32 2a 2a 9f 25 10 -10 02 12 10 53 13 00 a6 11 12 23 00 0f 10 10 10 12 10 5d 23 13 70 11 26 23 00 01 13 9a 2a 2f 10 10 10 12 10 53 90 56 11 23 00 01 13 0e 22 52 9a 2a 10 3d 10 02 2f 10 10 10 12 -10 11 33 13 00 07 3d 10 02 3f 10 10 12 12 53 13 30 30 37 07 13 3d 10 02 f 0 10 10 12 -10 53 14 13 00 07 3d 10 02 f 0 10 00 12

Gambar 3.2 Data File Audio MIDI Dalam Hexa

File midi terdiri dari header chunk akan selalu tampak seperti: 4D 54 72 6B 00 00 00 06 ff ff nn nn dd dd. Header chunk selalu berada pada awal dari suatu file dan mendeskripsikan file dalam tiga cara :

1. 4 kode ASCII pertama dibaca sebagai MThd.

2. Setelah MThd, ada 4-byte size yang menunjukkan header length yang selalu tampak seperti 00 00 00 06.

3. Selanjutnya adalah header information yang sesungguhnya berupa 6 bytes :

a. ff ff adalah file format. Ada 3 macam format yaitu 0-single-track, 1-multiple tracks synchronous, 2-1-multiple tracks, asynchronous.

b. Nn nn adalah jumlah tracks dalam file midi.

c. dd dd adalah jumlah dari delta-time ticks per quarter note.

Header untuk satu track akan tampak seperti: 4D 54 72 6B xx xxxxxx, dimana

4 kode ASCII pertama dibaca sebagai MTrk. Setelah MTrk ada 4-byte yang menunjukkan panjang dari satu track tidak termasuk track header. Setelah xx xxxxxx, adalagi serangkaian track event.

(6)

c. Audio Format MP3

MP3 adalah salah satu dari pengkodean dalam digital audio yang terdiri dari spesifikasi dari layer-layer sebagai berikut :

4. Layer 1: pada 384 kbit/s

5. Layer 2: pada 256...384 kbit/s 6. Layer 3: pada 224...320 kbit/s

File MP3 terdiri dari header chunk akan selalu diawali dengan: 4D 50 03 00 06 00 00 00 00 00 00. Header chunk selalu berada pada awal dari suatu file dan mendeskripsikan file dalam tiga cara :

1. 4 kode Hexa pertama dibaca sebagai MP30.

2. Setelah MP30, ada 4-byte size yang menunjukkan header length yang tampak seperti 06 00 00 00.

3. Selanjutnya adalah header information yang berupa 4 bytes: 00 00 00 00 adalah file format.

Data file audio MP3 hasil pembacaan terdiri dari pasangan bilangan

hexadicimal seperti pada Gambar 3.3.

4D 50 03 00 06 00 00 00 00 00 00 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 0 2 9a 2a 4f 3e 3d 00 10 10 10 03 3d 10 10 2 f 10 10 12 00 12 10 25 23 13 00 04 11 23 00 00 12 11 32 2a 2a 9f 25 10 -10 02 12 10 53 13 00 a6 11 12 23 00 0f 10 10 10 12 10 5d 23 13 70 11 26 23 00 01 13 9a 2a 2f 10 10 10 12 10 53 90 56 11 23 00 01 13 0e 22 52 9a 2a 10 3d 10 02 2f 10 10 10 12 -10 11 33 13 00 07 3d 10 02 3f 10 10 12 12 53 13 30 30 37 07 13 3d 10 02 f 0 10 10 12 -10 53 14 13 00 07 3d 10 02 f 0 10 00 12

(7)

3.1.2 Langkah-Langkah Kompresi Arithmetic Coding

Secara umum langkah–langkah yang dilakukan untuk kompresi file audio dengan metode Arithmetic Coding adalah sebagai berikut :

1. Buka file audio untuk membaca header-header dan sample audio. 2. Baca file audio untuk mendapatkan data sample.

3. Ambil nilai sample audio ke 1 sampai ke n.

4. Susun nilai sample audio pada senarai berantai dengan karakter khusus pembatas antara data sample audio (#).

Sebagai contoh pada file audio diperoleh sample audio yang akan di-encoding seperti pada Gambar 3.4.

52 48 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 1 10 1 0 07 3d 0 1 0 07 07 -1 --1 3d 0 #2 07 3d 3d 0 3d 0 2 9a 2a 4f 3e 3d 0 0 --1--10 --1 #3 3d -10 0 2 f -10 -10 --1 0 12 -10 5 -3 13 0 0 #4 11 23 0 0 0 -1 -1 -3 -2 9a 2a 9 f #5 10 -1 0 12 -10 5 -3 13 0 0 -6 11 #6 23 0 f 10 10 -1 0 12 -10 5 -3 13 #7 0 -6 11 6 23 0 0 0 -1 -1 -3 -2 #8 9a 2a f 10 10 -1 0 12 -10 5 -3 #9 0 -6 11 23 0 0 0 -1 -1 -3 0 -3 -2 9a 2a #10 3d 10 0 2 f 10 10 -1 0 12 -10 #11 -3 13 0 0 - 07 3d 10 0 2 f 10 10 #12

Gambar 3.4 Nilai Sample Audio

Keterangan :

1. Data audio dengan tulisan miring (italic) adalah sample audio yang dikompres.

2. Data audio dengan tulisan normal adalah header-header file audio.

Dari data hasil pembacaan sample audio diperoleh data mulai dari sample ke 1 dengan tanda #1 sampai sample ke 12 dengan tanda #12 pada blok terakhir data

(8)

Misalnya dari nilai sample 1 audio (#1) di atas yang akan di-encoding adalah : -1, 10, -1, 0, 07, 3d, 0, -1, 0, 07, 07, -1, -1, 3d dan 0.

Dari data yang akan di-encoding di atas, maka akan dapat dibuat sebuah tabel probabilitas seperti Tabel 3.1.

Tabel 3.1 Tabel Probabilitas

No Nilai Frekuensi Probabilitas

1 -1 5 5/15=0,33

2 10 1 1/15=0,06

3 07 3 3/15=0,20

4 3d 2 2/15=0,13

5 0 4 4/15=0,26

Selanjutnya akan diperoleh tabel range probabilitas seperti Tabel 3.2.

Tabel 3.2 Tabel Range Probabilitas No Nilai Frekuensi Probabilitas Range

1 -1 5 5/15=0,33 0,0 ≤ -1 < 0,33 2 10 1 1/15=0,06 0,33 ≤ 10 < 0,39 3 07 3 3/15=0,20 0,39 ≤ 07 < 0,59 4 3d 2 2/15=0,13 0,59≤ 3d < 0.72 5 0 4 4/15=0,26 0,72 ≤ 0 < 0,98 Keterangan :

 0,0 ≤ -1 < 0,33 : Nilai “-1” memiliki range dari 0,0 sampai dengan 0,33  0,33 ≤ 10 < 0,39 : Nilai “10” memiliki range dari 0,33 sampai dengan 0,39  0,39 ≤ 07 < 0,59 : Nilai “07” memiliki range dari 0,39 sampai dengan 0,59  0,59≤ 3d < 0.72 : Nilai “3d” memiliki range dari 0,59 sampai dengan 0,72  0,72 ≤ 0 < 0,98 : Nilai “0” memiliki range dari 0,72 sampai dengan 0,98

Untuk angka -1, 10, -1, 0, 07, 3d, 0, -1, 0, 07, 07, -1, -1, 3d dan 0 dari sampel audio dilakukan proses Arithmetic encoding sebagai berikut :

(9)

a. Perhitungan Nilai -1 Low = 0,0 High = 1,0 CR = High - Low = 1,0 - 0,0 = 1 High_range (-1) = 0,33 Low_range (-1) = 0,0

Kemudian, didapat nilai-nilai berikut. High = Low + CR * High_Range (-1)

= 0,0 + 1 * 0,33 = 0,33

Low = Low + CR * Low_Range (-1)

= 0,0 + 1 * 0,0 = 0

b. Perhitungan Nilai Sampel 10

Low(-1) = 0 High(-1) = 0,33 CR = High(-1) – Low (-1) = 0,33 - 0 = 0,33 High_range (10) = 0,39 Low_range (10) = 0,33

Kemudian, didapat nilai-nilai berikut. High = low(-1) + CR* high_range (10)

= 0 + 0,33 * 0,39 = 0,1287

Low = low(-1) + CR * low_range (10) = 0 + 0,33 * 0,33

(10)

c. Perhitungan Nilai Sampel 07 Low(10) = 0,1089 High(10) = 0,1287 CR = High - Low = 0,1287– 0,1089 = 0,0198 High_range (07) = 0,59 Low_range (07) = 0,39

Kemudian, didapat nilai-nilai berikut. High = low(10) + CR* high_range (07)

= 0,1089 + 0,0198 * 0,59 = 0,120582

Low = low(10) + CR * low_range (07) = 0,1089 + 0,0198 * 0,39

= 0,116622

d. Perhitungan Nilai Sampel 3d

Low = 0,116622 High = 0,120582 CR = High - Low = 0,120582 – 0,116622 = 0,00396 High_range (3d) = 0,72 Low_range (3d) = 0,59

Kemudian, didapat nilai-nilai berikut. High = low + CR* high_range (15)

= 0,116622 + 0,00396 * 0,72 = 0,1194732

Low = low + CR * low_range (15) = 0,116622 + 0,00396 * 0,59 = 0,1189584

(11)

e. Perhitungan Nilai Sampel 0 Low = 0,1189584 High = 0,1194732 CR = High - Low = 0,1194732 – 0,1189584 = 0,0005148 High_range (0) = 0,98 Low_range (0) = 0,72

Kemudian, didapat nilai-nilai berikut. High = low + CR* high_range (0)

= 0,1189584 + 0,0005148 * 0,98 = 0,119462904

Low = low + CR * low_range (0) = 0,1189584 + (0,0005148 * 0,72) = 0,119329056

Dalam bentuk tabel data hasil encoding dapat dilihat seperti pada Tabel 3.3.

Tabel 3.3 Hasil Encoding Sampel Audio

No Nilai Low High CR

Awal 0 1 1 1 -1 0,0 0,33 1 2 10 0,1089 0,1287 0,33 3 07 0,116622 0,120582 0,0198 4 3d 0,1189584 0,1194732 0,00396 5 0 0,119329056 0,119462904 0,0005148

(12)

Dari proses ini, nilai low untuk data terakhir adalah :

nilai low = 0,119329056 yang akan digunakan untuk menggantikan sample audio yang telah di-encoding yaitu nilai sample audio -1, 10, -1, 0, 07, 3d, 0, -1, 0, 07, 07, -1, -1, 3d dan 0. Selanjutnya sample 1 adalah #1 -1 10 -1 0 07 3d 0 -1 0 07 07 -1 -1 3d 0 berubah menjadi #1 0,119329056 Selanjutnya untuk sample 2 gantikan dengan nilai low menjadi #2 0,xxxxxxxxx dan selanjutnya.

Bentuklah senarai yang didahului dengan nilai probabilitas sample 1 sebagai berikut :

#0,0≤-1<0,33#0,33≤10<0,39#0,39≤07<0,59#0,59≤ 3d<0.72#0,72≤0<0,98#|#1 0,119329056

Nilai Probabilitas Sample 1 simbol sample 1

Tabel nilai probabilitas dan simbol sample 1 akan disimpan dalam format teks sebagai sumber data pada proses dekoding untuk sample 1 yang akan digantikan dengan data sample 1.

3.1.3 Langkah-Langkah Dekompresi Arithmetic Coding

Untuk melakukan melakukan dekompresi file audio, maka dilakukan proses decoding, dengan cara :

1: ambil encoded symbol (ES)

2: repeat

3: cari range dari simbol yang melingkupi encoded symbol (ES) 4: cetak simbol

5: CodeRange ← high_range – low_range 6: ES = ES – low_range

7: ES = ES/CodeRange 8: until simbol habis

(13)

Dalam hal ini simbol habis dapat ditandai dengan dengan simbol khusus yang dalam penelitian ini digunakan tanda #. Untuk pesan yang telah di-encode, proses decoding berikut dilakukan.

ES = 0,119329056

Bandingkan nilai ini dengan range simbol berikut dengan Tabel Range Probabilitas berikut ini :

Tabel 3.4 Tabel Range Probabilitas No Nilai Frekuensi Probabilitas Range

1 -1 5 5/15=0,33 0,0 ≤ -1 < 0,33

2 10 1 1/15=0,06 0,33 ≤ 10 < 0,39

3 07 3 3/15=0,20 0,39 ≤ 07 < 0,59

4 3d 2 2/15=0,13 0,59 ≤ 3d < 0.72

5 0 4 4/15=0,26 0,72 ≤ 0 < 0,98

Nilai ES = 0,119329056, didapatkan range simbol yang pertama, yaitu simbol/angka “-1”. Low_range = 0,0 High_range = 0,33 CR = high_range – low_range 0,33 – 0,0 = 0,33 ES = ES – low_range = 0,119329056 – 0,0 = 0,119329056 ES = ES / CR = 0,119329056 / 0,33 = 0,3616032

Nilai ES = 0,3616032, didapatkan range simbol angka yang kedua, yaitu nilai “10”.

Low_range = 0,33 High_range = 0,39

(14)

CR = high_range – low_range = 0,39 – 0,33 = 0,06 ES = ES – low_range = 0,3616032 – 0,33 = 0,0316032 ES = ES / CR = 0,0316032 / 0,06 = 0,52672

Nilai ES = 0,52672, didapatkan range simbol angka yang kedua, yaitu nilai “07”.

Low_range = 0,39 High_range = 0,59 CR = high_range – low_range 0,59 – 0,39 = 0,2 ES = ES – low_range = 0,52672– 0,39 = 0,13672 ES = ES / CR = 0,13672/ 0,2 = 0,6836

Nilai ES = 0,6836, didapatkan range simbol angka yang kedua, yaitu nilai “3d”.

Low_range = 0,59 High_range = 0,72 CR = high_range – low_range 0,72 – 0,59 = 0,13 ES = ES – low_range = 0,6836– 0,59 = 0,0936

(15)

ES = ES / CR

= 0,0936/ 0,13 = 0,72

Nilai ES = 0,72, didapatkan range simbol angka yang kedua, yaitu nilai “0”.

Low_range = 0,72 High_range = 0,98 CR = high_range – low_range 0,98 – 0,72 = 0,26 ES = ES – low_range = 0,72– 0,72 = 0 ES = ES / CR = 0/ 0,26 = 0

Sampai disini perhitungan dihentikan karena diperoleh nilai ES = 0.

Hasil perhitungan di atas dapat dilihat pada Tabel 3.5.

Tabel 3.5 Hasil Decoding Sampel Audio

No ES Nilai Low High CR

1 0,3616032 -1 0,0 0,33 0,33

2 0,52672 10 0,33 0,39 0,06

3 0,6836 07 0,39 0,59 0,2

4 0,72 3d 0,59 0,72 0,13

5 0 (Finish) 0 - - -

Maka diperoleh ES = 0,3616032 yang sesuai dengan nilai sample #1 audio “1, 10, -1, 0, 07, 3d, 0, --1, 0, 07, 07, --1, --1, 3d dan 0”

(16)

3.2 Perancangan Sistem

Usulan dalam perancangan perangkat lunak kompresi audio dengan metode

Arithmetic Coding adalah dalam model diagram konteks dan dalam model Data Flow Diagram yang terdiri dari proses-proses yang digambarkan secara rinci serta

rancangan antarmuka (interface) yang terdiri dari tampilan sebagai perantara antara sistem dengan User (pengguna).

3.2.1 Rancangan Diagram Konteks Sistem / Aplikasi

Rancangan Diagram Konteks Kompresi adalah diagram menggambarkan aliran data

audio dari User (eksternal entiti) ke sistem kompresi secara global. Pada sistem

kompresi terdapat proses-proses pengolahan audio untuk mendapatkan data dan proses kompresi dengan algoritma Arithmetic Coding. Selanjutnya audio hasil kompresi akan kembali ke User. Rancangan Diagram Konteks Kompresi dapat dilihat pada Gambar 3.5. USER File Audio Kompresi/ Dekompresi File Audio

Gambar 3.5 Diagram Konteks Kompresi Audio File Audio Terkompresi

File Audio Terkompresi

(17)

Keterangan:

Dari diagram konteks di atas dapat dilihat hanya ada satu entitas pada sistem kompresi yaitu User sebagai pengguna sistem dimana User memberikan data berupa file audio yang berformat wav, Midi maupun MP3.

3.2.2 Rancangan DFD Level 0 Proses Kompresi

Rancangan DFD berfungsi untuk menggambarkan sistem dalam melakukan kompresi yang terdiri dari proses Reading yaitu pembacaan header-header pada file Audio, proses Encoding untuk mendapatkan simbol (nilai Low) serta proses Replacing Sample yaitu mengganti nilai sample audio dengan nilai Low perhitungan.

Rancangan DFD Level 0 Kompresi dapat dilihat pada Gambar 3.6.

Gambar 3.6 DFD Level 0 Proses Kompresi

K-1.0 Reading USER File Audio Sampel Audio K-2.x Encoding Nilai Low P-3.x Replacing Sample File Audio Terkompresi

(18)

3.2.3 Rancangan DFD Level 0 Proses Dekompresi

Rancangan DFD berfungsi untuk menggambarkan sistem dalam melakukan dekompresi yang terdiri dari proses Baca file Audio untuk mendapatkan nilai Low dari sample audio, proses Decoding untuk mengubah nilai Low menjadi nilai sample audio kembali serta proses Replacing Low yaitu mengganti nilai Low dengan nilai sample

audio. Rancangan DFD Level 0 Dekompresi sample audio dapat dilihat pada Gambar

3.7.

Gambar 3.7 DFD Level 0 Proses Dekompresi

3.2.4 Rancangan DFD Level 1 Proses K-2.x Encoding

Rancangan DFD ini berfungsi untuk menggambarkan proses encoding sample audio hasil pembacaan untuk mendapatkan simbol (ES) setiap sample. Pada rancangan ini terdapat empat proses yaitu proses K-2.1 Baca Data Sample, K-2.2 Kalkulasi Frekuensi Sample, K-2.3 Kalkulasi Probabilitas, K-2.4 Kalkukasi Low.

USER D-1.0 Reading Nilai Sampel Audio D-2.x Decoding Nilai Low D-3.x Replacing Low File Audio

(19)

Rancangan DFD Level 1 Proses K-2.x Encoding dapat dilihat pada Gambar 3.8.

Gambar 3.8 DFD Level 1 Proses K-2.x Encoding

3.2.5 Rancangan DFD Level 1 Proses K-3.x Replacing Sample

Rancangan DFD ini berfungsi untuk menggambarkan proses penggantian nilai sample

audio dengan hasil encoding sample audio yaitu nilai low hasil proses Encoding. Pada

rancangan ini terdapat tiga proses yaitu proses K-3.1 Baca Data Sample, K-3.2 Ganti Nilai Sample dan K-3.3 Tutup File audio. Rancangan DFD Level 1 Proses K-3.x

Replacing Sample dapat dilihat pada Gambar 3.9.

K-2.1 Baca Data Sample Sample Audio K-.2.2 Kalkulasi Frekuensi Sample Nilai sample K-.2.3 Kalkulasi Probabilitas

Nilai Low sample Sample

Audio

Frekuensi sample Nilai Low hasil encoding sample

audio K-2.4

Kalkulasi

Low

(20)

Gambar 3.9 DFD Level 1 Proses K-3.x Replacing Sample

3.2.6 Rancangan DFD Level 1 Proses D-2.x Decoding

Rancangan DFD ini berfungsi untuk menggambarkan proses Decoding sample audio hasil pembacaan untuk mendapatkan nilai Low dari setiap sample. Rancanga DFD Level 2 Proses P-2.0 terdiri dari tiga proses yaitu 2.1 Proses Baca Data Sample, D-2.2 proses Kalkulasi Nilai ES serta proses D-2.3 Tentukan Nilai Sample. Rancangan DFD Level 1 Proses D-2.x Decoding dapat dilihat pada Gambar 3.10.

Gambar 3.10 DFD Level 1 Proses D-2.x Decoding D-2.1 Baca Tabel Probabilitas Nilai Low D-2.2 Kalkulasi Nilai ES Range Nilai Low D-2.3 Tentukan Nilai Sample Sample Audio Terkompresi Nilai ES Low Nilai Sample Perhitungan Nilai Sample K-3.1 Baca Data Sample Nilai Low K-3.2 Ganti nilai Sample Nilai sample K-3.3 Tutup File Audio Frekuensi sample File Audio Terkompresi USER

Nilai Low hasil encoding sample

(21)

3.2.7 Rancangan DFD Level 1 Proses D-3.0 Replacing Low

Rancangan DFD ini berfungsi untuk menggambarkan proses penggantian nilai Low dengan nilai sample perhitungan (hasil decoding low). Rancangan DFD Level 1 Proses D-3.x Replacing Low terdiri dari tiga proses, yaitu proses D-3.1 Baca Nilai

Low Data Sample, proses D-3.2 Ganti Nilai Low Sample, D-3.3 Tutup File Audio.

Rancangan DFD Level 1 Proses D-3.x Replacing Low dapat dilihat pada Gambar 3.11.

Gambar 3.11 DFD Level 2 Proses P-3.0 Replacing Low

3.2.8 Skema Proses Kompresi dan Dekompresi

Skema proses kompresi/dekompresi file audio adalah gambaran alur proses encoding file audio mulai dari pembentukan tabel range probabilitas yang diperoleh dari frekuensi nilai sample, perhitungan nilai low sampai proses replacing nilai low ke dalam sample audio. Skema proses kompresi dapat dilihat pada Gambar 3.12.

Nilai Sample P-3.2 Ganti Nilai Low Sample Nilai Low sample P-3.3 Tutup File Audio Sample Audio Nilai Sample Perhitungan File Audio USER P-3.1 Baca Nilai Low Data Sample

(22)

Gambar 3.12 Skema Proses Kompresi

Skema proses dekompresi file audio adalah gambaran alur proses decoding file audio terkompresi mulai dengan membaca nilai low dari sample audio dan pembacaan tabel range probabilitas untuk memperoleh nilai sample. Nilai low yang diperoleh digunakan untuk menghitung nilai ES dalam mendapatkan range simbol. Dari range simbol yang diperoleh dapat ditentukan nilai sample audio berdasarkan tabel range probabilitasnya. Skema proses dekompresi dapat dilihat pada Gambar 3.13.

Gambar 3.13 Skema Proses Dekompresi Sample Audio #1 01 20 3e 2g #2 00 00 23 3e #3 03 4e 3e 23 #4 00 5d 23 4e #5 72 5a 3e 2f Tabel Range Probabilitas Sample 1 0,0≤ 01<0,4 0,4≤ 20<0,7 0,7≤3e<0,8 0,8≤2g< 1,0 Nilai Low Sample 1 0,1111000 Sample 2 0,1223000 Sample 3 0,1410000 Sample Audio #1 01 20 3e 2g #2 00 00 23 3e #3 03 4e 3e 23 #4 00 5d 23 4e #5 72 5a 3e 2f Sample Audio (kompres) #1 0,1111000 #2 0,1223000 #3 0,1223000 #4 0,1223000 #5 0,1223000 Replacing Sample Low

Buat Tabel Hitung Low

Sample Audio #1 0,1111000 #2 0,1223000 #3 0,1223000 #4 0,1223000 #5 0,1223000 Tabel Range Probabilitas Sample 1 0,0≤ 01<0,4 0,4≤ 20<0,7 0,7≤3e<0,8 0,8≤2g< 1,0 Baca Tabel Nilai ES Sample 1 0,1111000 Nilai ES Sample 2 0,1223000 Sample 3 Hitung ES Tentukan Nilai Sample Sample Audio (Dekompres) #1 01 20 3e 2g #2 00 00 23 3e #3 03 4e 3e 23 #4 00 5d 23 4e #5 72 5a 3e 2f Baca Range

(23)

3.2.9 Perancangan Prosedural

Perancangan prosedural akan dibantu dengan menggunakan bagan alir (flowchart).

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan

prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

Model dasar sistem yang akan dibuat pada tugas akhir ini dapat digambarkan pada

flowchart berikut ini.

Gambar 3.14 Flowchart sistem kompresi dan dekompresi secara umum Mulai Input File (File Asli) Kompresi (Encoding) Mulai Input File (File Kompresi) Dekompresi (Encoding) Output (File Kompresi) Output (File Rekonstruksi) Selesai Selesai

(24)

3.2.9.1 Proses Kompresi

Tidak

Ya

Gambar 3.15 Flowchart proses encoding Arithmetic Coding Mulai

Ambil Simbol Input Low 0.0 High 1.0

Simbol input masih ada

CR high - low

High low + CR * high range (symbol)

Low low + CR * low range (symbol)

Cetak low

Selesai Buka file audio

Baca header file

(25)

3.2.9.2 Proses Dekompresi

Tidak

Ya

Gambar 3.16 Flowchart proses decoding Arithmetic Coding Mulai

Ambil encoded Simbol (ES)

Cari range symbol yang melingkupi ES

Cetak Simbol

CR high range – low range

ES ES – low range

ES ES / CR

Simbol Habis

(26)

3.2.10 Rancangan Antarmuka (User Interface)

Rancangan antarmuka adalah penghubung antara perangkat lunak dengan pengguna yang melakukan proses kompresi/dekompresi file audio. Rancangan antarmuka terdiri dari rancangan Menu Utama yang berisi sub menu File yang berfungsi memanggil program Kompresi/Dekompresi, Hasil Pengujian, About serta rancangan Help.

3.2.10.1 Rancangan Menu Utama

Rancangan Menu Utama terdiri dari menu File, Hasil Pengujian, Help, About dan

Quit. Pada bagian atas menu ini terdapat empat sub menu, yaitu :

a. Sub menu File b. Sub menu Help

c. Sub Menu Hasil Pengujian d. Sub menu About

e. Sub menu Quit

Rancangan Menu Utama dapat dilihat pada Gambar 3.17 berikut ini.

Gambar 3.17 Rancangan Menu Utama File Hasil Pengujian Help About Quit

TAMPILAN JUDUL SKRIPSI

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXX

TAMPILAN GAMBAR LATAR BELAKANG

1 2 3 4 5

7 6

(27)

Keterangan :

1. Menu File yang memanggil program Kompresi/Dekompresi. 2. Hasil Pengujian yang memanggil Hasil Pengujian Sistem. 3. Menu About untuk membuka halaman About.

4. Menu Help untuk membuka halaman Help. 5. Menu Quit untuk menjalankan program Quit. 6. Label tempat menampilkan judul tugas akhir. 7. Picture Box tempat menampilkan gambar latar.

3.2.10.2 Rancangan Kompresi/Dekompresi

Rancangan Kompresi/Dekompresi terdiri dari lima sub menu yaitu menu Buka File

Audio, Buka File, Kompresi File Audio, Dekompresi File AAC dan Quit. Rancangan

Kompresi dapat dilihat pada Gambar 3.18.

Gambar 3.18 Rancangan Kompresi Ratio Ukuran Proses 5 4 1 3 File Audio File kompresi 6 7 8 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9999 File Dekompresi xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Informasi Hasil Kompresi

999 Ukuran Awal Waktu Proses 999 999 Progress 999

Load Compress Decompres Cancel

Quit 9 10 11 12 13 Tampilan Sample Audio Reset Hasil 14 Tampilan Frekuensi Sample Audio

(28)

Keterangan :

1. Text Box untuk menampilkan nama file audio.

2. Text Box untuk menampilkan nama file audio hasil kompresi. 3. Text Box untuk menampilkan nama file audio hasil dekompresi. 4. Text Box untuk menampilkan ukuran awal file audio.

5. Text Box untuk menampilkan ukuran sesudah file audio terkompresi 6. Text Box untuk menampilkan rasio hasil kompresi file audio

7. Text Box untuk menampilkan waktu proses kompresi file audio

8. Text Box untuk menampilkan progres waktu proses kompresi file audio 9. Command button untuk tombol pemanggilan file audio.

10. Command button untuk tombol kompresi file audio. 11. Command button untuk tombol Dekompresi file audio.

12. Command button untuk tombol pembatalan proses kompresi file audio. 13. Command button untuk tombol untuk Reset Hasil Proses.

14. Command button untuk tombol untuk menutup halaman kompresi.

3.2.10.3 Rancangan Help

Rancangan Help berfungsi untuk menampilkan informasi Judul Skripsi dan Proses yang terjadi pada kompresi/Dekompresi file Audio. Rancangan Help dapat dilihat pada Gambar 3.19.

Gambar 3.19 Rancangan Help

XXXXXXXXXXXXXXXXXXXXXXX 1

3

XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX

(29)

Keterangan :

1. Label untuk menampilkan Judul Skripsi.

2. Label untuk menampilkan Proses kompresi/dekompres file audio.

3. Command Button, tombol untuk keluar dari halaman Help dan kembali ke Menu Utama.

3.2.10.4 Rancangan About

Rancangan About berfungsi untuk menampilkan informasi judul skripsi, nama penulis, NIM, dan nama perguruan tinggi penulis. Rancangan About dapat dilihat pada Gambar 3.20.

Gambar 3.20 Rancangan About

Keterangan :

1. Label untuk menampilkan Judul Skripsi 2. Label untuk menampilkan nama penulis.

3. Label untuk menampilkan nama perguruan tinggi penulis

4. Command Button, tombol untuk keluar dari halaman About dan kembali ke menu utama. XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX 1 3 2 4

(30)

3.2.10.5 Rancangan Hasil Pengujian Sistem

Rancangan Hasil Pengujian Sistem berfungsi untuk menampilkan informasi Pengujian Kompresi/Dekompresi file audio. Rancangan About dapat dilihat pada Gambar 3.21.

No Nama File UkuranAwal (Kb) UkuranAkhir (Kb) Rasio (%) Waktu(Det)

1 Xxxxxxxx 9999 9999 99 99

2 Xxxxxxxx 9999 9999 99 99

3 Xxxxxxxx 9999 9999 99 99

Rasio Rata-rata : 99.99 % Waktu Rata-rata :99.99 Det

Gambar 3.21 Rancangan Hasil Pengujian Sistem

Keterangan :

Rasio rata-rata adalah : total rasio kompresi / jumlah proses Waktu rata-rata adalah : total waktu kompresi / jumlah proses

HASIL PENGUJIAN SISTEM Proses : xxxxxxxx

(31)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi

Implementasi perangkat lunak adalah tampilan hasil rancangan dari penulisan kode program dimulai dari program Menu Utama, Kompresi, Help dan About.

4.1.1 Tampilan Menu Utama

Tampilan Menu Utama merupakan tampilan yang muncul setelah menjalankan program Utama. Tampilan ini berisi judul skripsi, gambar latar serta tampilan menu. Tampilan Menu terdiri dari File, Help, About. Pada menu File terdapat dua sub menu yaitu Kompresi dan Quit untuk menutup halaman menu utama. Tampilan Menu Utama dapat dilihat pada Gambar 4.1.

(32)

4.1.2 Tampilan Kompresi

Tampilan Kompresi merupakan tampilan berguna untuk melakukan proses kompresi dan dekompresi file audio. Tampilan Kompresi dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan Awal Kompresi

Tampilan Awal Kompresi adalah tampilan program kompresi yang masih kosong yang terdiri dari tombol Load, Compress, Decompress, Cancel dan Quit. Untuk melakukan kompresi file audio, maka pilih tombol Load dan hasilnya dapat dilihat seperti Gambar 4.3.

(33)

Setelah memilih file audio yang akan dikompresi, maka hasilnya dapat dilihat pada Gambar 4.4.

Gambar 4.4 Tampilan Pemilihan File Audio

Untuk melakukan proses kompresi file audio, maka pilih tombol Compress dan selanjutnya akan melakukan proses perhitungan nilai sample audio untuk mendapatkan rasio kompresi serta lama proses seperti pada Gambar 4.5.

(34)

4.1.3 Tampilan Help

Tampilan Help berfungsi untuk menampilkan penjelasan proses-proses yang terjadi pada proses kompresi/dekompresi file audio. Tampilan Help dapat dilihat pada Gambar 4.6.

Gambar 4.6 Tampilan Help

4.1.4 Tampilan About

Tampilan About berfungsi untuk menampilkan keterangan tentang penulis skripsi kompresi/dekompresi file audio dengan algoritma Arithmetic Coding. Tampilan About dapat dilihat pada Gambar 4.7.

(35)

4.2 Tampilan Hasil Pengujian Sistem

Hasil pengujian sistem kompresi file audio dengan algoritma Arithmetic Coding berfungsi untuk menampilkan hasil proses kompresi dan dekompresi. Tampilan Hasil Pengujian Sistem dapat dilihat pada Gambar 4.8.

(36)

Tampilan Hasil Pengujian Sistem untuk proses kompresi dan dekompresi file audio yang berformat *.wav, *.mp3 dan *.mid dapat dilihat pada Gambar 4.9.

Gambar 4.9 Tampilan Hasil Pengujian Sistem Proses Kompresi dan Dekompresi WAV

(37)
(38)
(39)

Gambar 4.11 Tampilan Hasil Pengujian Sistem Proses Kompresi dan Dekompresi MIDI

4.3 Grafik Hasil Pengujian Sistem

Hasil pengujian sistem kompresi file audio dengan algoritma Arithmetic Coding yang berformat *.wav, *.mp3 dan *.mid dapat digambarkan dalam bentuk grafik sebagai berikut :

Gambar 4.12 Grafik Kompresi File WAV Berdasarkan Ukuran File

(40)

Gambar 4.15 Grafik Kompresi File MP3 Berdasarkan Ukuran File Gambar 4.14 Grafik Kompresi dan Dekompresi File WAV Berdasarkan

(41)

Gambar 4.16 Grafik Dekompresi File MP3 Berdasarkan Ukuran File

Gambar 4.17 Grafik Kompresi dan Dekompresi File MP3 Berdasarkan Rasio (%) dan Waktu (Det)

(42)

Gambar 4.18 Grafik Kompresi File MIDI Berdasarkan Ukuran File

(43)

;

Gambar 4.20 Grafik Kompresi dan Dekompresi File MIDI Berdasarkan Rasio(%) dan Waktu (Det)

(44)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pembahasan dan evaluasi dari bab – bab sebelumnya dan analisis terhadap file audio uji, maka dapat ditarik kesimpulan sebagai berikut :

1. Kompresi yang terbaik adalah yang memiliki rasio kompresi rata-rata terbesar dan waktu yang sedikit yaitu untuk jenis file midi dengan rasio rata-rata : 18,60 % dan waktu rata-rata : 17,63 detik.

2. Dekompresi yang terbaik adalah yang memiliki rasio dekompresi rata-rata terbesar dan waktu yang sedikit yaitu untuk jenis file midi dengan rasio rata-rata : 26,06 % dan waktu rata-rata : 0,02 detik.

3. Kompresi file audio yang berformat *.mp3 memiliki ratio rata-rata sangat kecil yaitu 0,26 % namun membutuhkan waktu rata-rata cukup lama sekitar 55,06 detik.

4. File audio yang umumnya berformat *.wav, *. mp3 maupun *.mid yang sangat sensitif akan kehilangan data, dengan menggunakan algoritma arithmetic coding

file Audio sebelum dan sesudah proses dekompresi tidak mengalami perubahan,

(45)

5.2 Saran

Berikut adalah saran – saran untuk pengembangan lebih lanjut terhadap penelitian Tugas akhir ini :

1. Untuk kedepannya diharapkan algoritma Arithmetic Coding dapat diimplementasikan dengan baik pada kompresi data tidak hanya pada file audio melainkan pada file lainnya.

2. Untuk kedepannya diharapkan algoritma Arithmetic Coding dapat di bandingkan dengan algoritma lain seperti Huffman, LZW, RLE dan lain-lain

Gambar

Tabel 3.3 Hasil Encoding Sampel Audio
Gambar 3.5 Diagram Konteks  Kompresi Audio File Audio Terkompresi
Gambar 3.6 DFD Level 0 Proses Kompresi
Gambar 3.7 DFD Level 0 Proses Dekompresi
+7

Referensi

Dokumen terkait

Rasio kompresi file audio *.mp3 menggunakan Algoritma Huffman memiliki rata-rata 1.426% sedangkan RLE -94.44%, dan rasio kompresi file audio *.wav memiliki rata-rata 28.954

Sehingga bila client ingin melakukan proses download terhadap suatu file yang ternyata sudah di blok oleh sistem maka client tidak dapat mendownload file... Jika

Kompresi file audio adalah proses untuk meminimalisasi jumlah bit dari suatu file audio, sehingga ukuran data file audio tersebut menjadi lebih kecil dengan tujuan untuk

Proses dekompresi lebih cepat dibandingkan dengan proses kompresi hal ini disebabkan oleh pada proses kompresi dilakukan pembacaan isi file secara per byte untuk

Jika tidak ditemukan, maka byte dengan kondisi yang tidak terkompresi akan langsung disimpan dan diberi nilai flag = 0 yang menandakan file tersebut tidak dapat di kompresi

Pada Gambar 4.3 menunjukkan form untuk proses enkripsi dimana terdapat proses untuk menginputkan file kemudian buka file untuk membaca isi dari file yang telah diinputkan

53 Rancangan Layar Detail Sales pada menu Users untuk Manajer Header  Nama User  Copyright  Search :  Home  Image  Message  Image  Product  Image  Transaction  Image 

Ada beberapa alat untuk menggambarkan rancangan umum dari sebuah sistem yang akan dibangun yaitu: Flowmap, Diagram konteks, Data Flow Diagram(DFD), Entity Relational Diagram