Microsoft Visual Basic 2008 Express Edition

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Kinerja Algoritma Arithmetic Coding

Penelitian ini akan dilakukan analisis dan perancangan perangkat lunak pengkompresian citra yang berkeskstensi .bmp dengan menggunakan algoritma Arithmetic Coding. Proses kompresi citra didasarkan pada kenyataan bahwa pada semua citra selalu terdapat pengulangan pada komponen citra yang dimilikinya, misalnya di dalam suatu data citra akan terdapat pengulangan penggunaan intensitas warna dari angka 0 – 255 sesuai warna di tiap piksel. Kompresi citra melalui proses encoding berusaha untuk menghilangkan unsur pengulangan ini dengan mengubahnya sehingga ukuran citra menjadi 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 tetapi 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. Dalam proses kompresi, terdapat konsep probabilitas yang menunjukkan suatu ukuran berapa banyak informasi yang terdapat dalam suatu rangkaian citra atau yang disebut entropy yang dapat direpresentasikan secara matematis. Pada kinerja algoritma Arithmetic Coding yang sudah dijelaskan pada bab 2, bahwa 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 27 acak unik dapat di-decode 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. Proses encoding, algoritma Arithmetic Coding: Langkah 1: Set low = 0.0 kondisi awal Langkah 2: Set high = 1.0 kondisi awal Langkah 3: While simbol input masih ada do Langkah 4: Ambil simbol input Langkah 5: Code-Range = high – low Langkah 6: High = low + Code-Rangehigh_range simbol Langkah 7: Low = low + Code-Rangelow_range simbol Langkah 8: End While Langkah 9: Output Low Proses decoding, algoritma Arithmetic Coding: Langkah 1: Ambil Encoded-Symbol ES Langkah 2: Do Langkah 3: Cari range dari simbol yang melingkupi Encoded-SymbolES Langkah 4: Cetak simbol Langkah 5: Code-Range = high_range – low_range Langkah 6: Encoded-Symbol = Encoded-Symbol - low_range Langkah 7: Encoded-Symbol = Encoded-Symbol Code-Range Langkah 8: Until simbol habis 28

3.1.1 Proses Kompresi Arithmetic Coding

Gambar 3.1 Flowchart Proses Kompresi Algoritma Arithmetic Coding 29

3.1.2 Proses Dekompresi Arithmetic Coding

Gambar 3.2 Flowchart Proses Dekompresi Algoritma Arithmetic Coding