IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP SKRIPSI SYAHFITRI KARTIKA LIDYA 081402070
IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA
ARITHMETIC CODINGDAN SHANNON-FANO
PADA KOMPRESI CITRA BMP
SKRIPSI
SYAHFITRI KARTIKA LIDYA
081402070
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2012 IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA
ARIHTMETIC CODING DAN SHANNON-FANO
PADA KOMPRESI CITRA BMP SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana
Teknologi Informasi SYAHFITRI KARTIKA LIDYA
081402070 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2012 ii
PERSETUJUAN
Judul : IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN
SHANNON-FANO PADA KOMPRESI CITRA BMP
Kategori : SKRIPSI Nama : SYAHFITRI KARTIKA LIDYA Nomor Induk Mahasiswa : 081402070 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Diluluskan di
Medan, 18 Juli 2012 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Romi Fadillah R, B.Comp.Sc.M.Sc. M. Andri Budiman, ST.M.Comp.Sc.M.E.M.
NIP. 198603032010121004 NIP. 197510082008011011 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Prof. Opim Salim Sitompul, M.Sc NIP. 196108171987011001 iii
PERNYATAAN
IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA
ARITHMETIC CODING DAN SHANNON-FANO
PADA KOMPRESI CITRA BMP SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 18 Juli 2012 Syahfitri Kartika Lidya 081402070 iv
PENGHARGAAN
Puji syukur saya panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya dalam hidup, sehingga saya dapat menyelesaikan penyusunan Skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Dalam pengerjaan Skripsi ini penulis banyak sekali mendapatkan dukungan, saran, dan nasehat dari berbagai pihak.
Dalam kesempatan ini penulis mengucapkan terima kasih kepada: Bapak M. Andri Budiman, ST.M.Comp.Sc.M.E.M, selaku Dosen Pembimbing I, yang telah bersedia meluangkan waktu dan pikirannya dalam membimbing, memotivasi untuk menyelesaikan Skripsi ini. Bapak Romi Fadillah Rahmat, B.Comp.Sc.M.Sc, selaku Dosen Pembimbing II, yang telah bersedia meluangkan waktu dan pikirannya dalam menyelesaikan Skripsi ini, Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Jurusan Prof. Dr. Opim Salim Sitompul, M.Sc dan Drs. Sawaluddin, M.IT, serta kepada dosen-dosen Program Studi Teknologi dan pegawai di Program Studi Teknologi Informasi, khususnya bu Delima, kak Umi, kak Maya, bang Faisal, kak Wardah, bu Lia yang telah membantu kelancaran proses administrasi.
Segala hormat dan terima kasih secara khusus penulis ucapkan kepada ayahanda Yonnes Hasan dan Ibunda Nova Mustika atas motivasi, kasih sayang, dan dukungan baik secara materi maupun do’a yang tak pernah putus yang diberikan kepada penulis, tak lupa kepada adik-adik tersayang Vayon Rachmat Ramadhan dan Sabilla Afiya, serta tante tersayang Julia Reveny telah memberi motivasi dan nasehat. Tidak lupa kepada seluruh sahabat penulis Stambuk 2008 yang selalu berusaha menjadi sahabat terbaik dan tidak mudah putus asa khususnya Karina Ayesha, Cahya, Ishri, Mauza, Karina Andi.
Penulis berharap bahwa Skripsi ini bermanfaat terutama kepada penulis maupun para pembaca. Saya menyadari bahwa Skripsi ini perlu saran dan kritik yang bersifat membangun demi kesempurnaan Skripsi ini sehingga dapat bermanfaat bagi kita semua. Sekali lagi saya ucapkan terima kasih atas segalanya. Semoga segala kebaikan diberikan balasan yang setimpal oleh Allah SWT. v
ABSTRAK
Perkembangan teknologi yang pesat, sangat berperan penting dalam pertukaran informasi yang cepat. Pada pengiriman informasi dalam bentuk citra masih mengalami kendala, diantaranya adalah karena besarnya ukuran citra sehingga solusi untuk masalah tersebut adalah dengan melakukan kompresi. Pada skripsi ini akan mengimplementasi dan membandingkan kinerja algoritma Arithmetic Coding dan melalui perhitungan rasio kompresi, ukuran file hasil kompresi,
Shannon-Fano
kecepatan proses kompresi dan dekompresi. Berdasarkan seluruh hasil pengujian, bahwa algoritma Arithmetic Coding menghasilkan rata-rata rasio kompresi 62,88 % dan rasio kompresi Shannon-Fano 61,73 %, kemudian Arithmetic Coding rata-rata kecepatan dalam kompresi citra yaitu 0,072449 detik dan Shannon-Fano 0,077838 detik. Kemudian algoritma Shannon-Fano memiliki rata-rata kecepatan untuk dekompresi yaitu 0,028946 detik dan algoritma Arithmetic Coding 0,034169 detik. Citra hasil dekompresi pada algoritma Arithmetic Coding dan Shannon-Fano sesuai dengan citra asli. Dapat diambil kesimpulan dari hasil pengujian bahwa algoritma
Arithmetic Coding lebih efisien dalam mengkompresi citra *.bmp dibandingkan
algoritma Shannon-Fano, walaupun dalam hal dekompresi Shannon-Fano sedikit lebih cepat dibandingkan Arithmetic Coding.
Kata kunci : kompresi citra, Arithmetic Coding, Shannon-Fano vi
ABSTRACT
Rapid technological developments, a very important role in the rapid exchange of information. On the transmission of information in the form of the image is still experiencing problems, such as the large size of the image so that the solution to that problem is to do the compression. In this thesis will implement and compare the performance of the algorithm Arithmetic Coding and Shannon-Fano through the calculation of compression ratio, the size of the compressed file, the speed of compression and decompression process. Based on all the test results, that Arithmetic algorithm yielded an average compression ratio of 62.88% and a compression
Coding
ratio Shannon-Fano of 61.73%, Arithmetic Coding the average speed in image compression is 0.072449 seconds and Shannon-Fano 0,077838 seconds. Then the
Shannon-Fano algorithm has an average speed for the decompression algorithm is
0.028946 second and Arithmetic Coding 0.034169 seconds. Image decompression algorithm results Arithmetic Coding and Shannon-Fano line with the original image. Can be concluded from the results of testing that Arithmetic Coding algorithm is more efficient in image compression *.bmp than Shannon-Fano algorithm, although in terms of Shannon-Fano decompress a bit faster than Arithmetic Coding.
Keyword : image compression, Arithmetic Coding, Shannon-Fano vii
DAFTAR ISI
3.1.2 Proses Dekompresi Arithmetic Coding
17
2.4.2 Algoritma Arithmetic Coding
20
2.4.3 Algoritma Shannon-Fano
22
2.5 Pengenalan Visual Basic
23
2.5.1 Microsoft Visual Basic 2008 Express Edition
24 Bab 3 Analisis dan Perancangan Sistem
26
3.1 Analisis Kinerja Algoritma Arithmetic Coding
26
3.1.1 Proses Kompresi Arithmetic Coding
28
29
14
3.1.3 Kompresi Arithmetic Coding pada Citra
30
3.1.4 Dekompresi Arithmetic Coding pada Citra
35
3.2 Analisis Kinerja Algoritma Shannon-Fano
38
3.2.1 Proses Kompresi Shannon-Fano
40
3.2.2 Proses Dekompresi Shannon-Fano
41
3.2.3 Kompresi Shannon-Fano pada Citra
41
3.2.4 Dekompresi Shannon-Fano pada Citra
43
2.4.1 Teknik Kompresi Citra
Halaman Persetujuan ii
Pernyataan iii
1.4 Tujuan Penelitian
Penghargaan iv
Abstrak v
Abstract
vi Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan
1
1.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
3
3
13
1.5 Manfaat Penelitian
3
1.6 Metode Penelitian
4
1.7 Sistematika Penulisan
5 Bab 2 Landasan Teori
7
2.1 Definisi Citra
7
2.2 Definisi Citra Digital
8
2.2.1 Citra BMP
11
2.3 Operasi-Operasi pada Pengolahan Citra
2.4 Kompresi Citra viii
3.3 Perancangan Sistem
44
3.3.1 Arsitektur Sistem
44
3.3.2 Rancangan DFD Kompresi dan Dekompresi
46
3.3.2.1 Rancangan DFD Kompresi dan Dekompresi pada Algoritma Arithmetic Coding
47
3.3.2.2 Rancangan DFD Kompresi dan Dekompresi pada Algoritma Shannon-Fano
50
3.3.3 Rancangan Prosedural
53
3.3.3.1 Proses Aplikasi Algoritma Arithmetic Coding dan Shannon-
Fano
55
3.3.4 Rancangan Antarmuka
56
3.3.4.1 Rancangan Menu Utama
56
3.3.4.2 Rancangan Menu “Algoritma Kompresi”
57
3.3.4.3 Rancangan Menu “Kompresi” Aritmetic Coding
58
3.3.4.4 Rancangan Menu “Dekompresi” Aritmetic Coding
59
3.3.4.5 Rancangan Menu “Kompresi” Shannon-Fano
60
3.3.4.6 Rancangan Menu “Dekompresi” Shannon-Fano
61
3.3.4.7 Rancangan Menu “Bantuan”
63 Bab 4 Implementasi dan Pengujian Sistem
64
4.1 Implementasi Sistem
64
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak yang Digunakan 64
4.1.2 Tampilan Menu Utama
65
4.1.3 Tampilan Menu “Algoritma Kompresi”
65
4.1.4 Tampilan Menu “Kompresi” Arithmetic Coding
66
4.1.5 Tampilan Menu “Dekompresi” Arithmetic Coding
69
4.1.6 Tampilan Menu “Kompresi” Shannon-Fano
71
4.1.7 Tampilan Menu “Dekompresi” Shannon-Fano
74
4.1.8 Tampilan Menu “Bantuan”
77
4.2 Pengujian
77
4.2.1 Skenario Pengujian
77
4.2.2 Analisis Data Hasil Pengujian Sistem
83
4.2.2.1 Analisis Rasio dan Ukuran File Kompresi antara Algoritma
Arithmetic Coding dan Shannon-Fano
83
4.2.2.2 Analisis Ukuran File Citra Hasil Kompresi antara Algoritma
Arithmetic Coding dan Shannon-Fano
86
4.2.2.3 Analisis Kecepatan Proses Kompresi dan Dekompresi Citra antara Algoritma Arithmetic Coding dan Shannon-Fano
87 Bab 5 Kesimpulan dan Saran
91
5.1 Kesimpulan
91
5.2 Saran
92 Daftar Pustaka
93 ix
DAFTAR TABEL
Halaman
Tabel 2.1 Contoh Warna 24 bit13 Tabel 2.2 Keterangan Gambar 2.11
25 Tabel 3.1 Tabel Probabilitas dan Range untuk Gambar 3.4
31 Tabel 3.2 Proses Encoding untuk Gambar 3.4
34 Tabel 3.3 Tabel Range Probabilitas
35 Tabel 3.4 Proses Decoding untuk Gambar 3.4
38 Tabel 3.5 Frekuensi Kemunculan Simbol
42 Tabel 3.6 Proses Pengkodean
43 Tabel 3.7 Kode dan Panjang Kode Shannon-Fano
43 Tabel 4.1 Citra Uji
77 Tabel 4.2 Rasio dan Ukuran File Kompresi Algoritma Arithmetic Coding dan Shannon-Fano
83 Tabel 4.3 Kecepatan Proses Kompresi Algoritma Arithmetic Coding dan Shannon-Fano
86 Tabel 4.4 Kecepatan Proses Dekompresi Algoritma Arithmetic Coding dan Shannon-Fano
88 x
DAFTAR GAMBAR
41 Gambar 3.7 Citra Berwarna 2 x 2 Piksel
Shannon-Fano
51 Gambar 3.20 Rancangan DFD Level 2 P.1.1 untuk Proses Kompresi Algoritma
51 Gambar 3.19 Rancangan DFD Level 1 P.0.1 untuk Proses Kompresi dan Dekompresi Algoritma Shannon-Fano
50 Gambar 3.18 Rancangan DFD Level 0 Proses Kompresi / Dekompresi Algoritma Shannon-Fano
49 Gambar 3.17 Rancangan DFD Level 2 P.1.2 untuk Proses Dekompresi Algoritma Arithmetic Coding
48 Gambar 3.16 Rancangan DFD Level 2 P.1.1 untuk Proses Kompresi Algoritma Arithmetic Coding
47 Gambar 3.15 Rancangan DFD Level 1 P.0.1 untuk Proses Kompresi dan Dekompresi Algoritma Arithmetic Coding
46 Gambar 3.14 Rancangan DFD Level 0 Proses Kompresi / Dekompresi Algoritma Arithmetic Coding
46 Gambar 3.13 Komponen DFD Menurut Yourdan dan DeMarco
45 Gambar 3.12 Arsitektur Sistem Algoritma Shannon-Fano Coding
44 Gambar 3.11 Arsitektur Sistem Algoritma Arithmetic Coding
43 Gambar 3.10 Proses Subtitusi SF Code ke Simbol Warna
42 Gambar 3.9 Matriks Citra Berwarna 2 x 2 Piksel setelah di Subtitusi ke SF
42 Gambar 3.8 Matriks Citra Berwarna 2 x 2 Piksel
40 Gambar 3.6 Flowchart Proses Dekompresi Algoritma Shannon-Fano
Halaman
16 Gambar 2.7 Rumus Rasio Kompresi
Gambar 2.1 Langkah-Langkah Pengolahan Citra Digital8 Gambar 2.2 Koordinat Citra Digital
10 Gambar 2.3 Matriks Citra Digital N x M
10 Gambar 2.4 Ilustrasi Sistem Matriks Citra Digital 8 x 8 Piksel
11 Gambar 2.5 Komposisi Warna RGB
13 Gambar 2.6 Alur Kompresi dan Dekompresi
17 Gambar 2.8 Ilustrasi Kompresi Lossless
30 Gambar 3.5 Flowchart Proses Kompresi Algoritma Shannon-Fano
18 Gambar 2.9 Ilustrasi Kompresi Lossy
19 Gambar 2.10 Antarmuka pada Aplikasi Visual Basic 2008 Express Edition
25 Gambar 3.1 Flowchart Proses Kompresi Algoritma Arithmetic Coding
28 Gambar 3.2 Flowchart Proses Dekompresi Algoritma Arithmetic Coding
29 Gambar 3.3 Citra Berwarna 2 x 2 Piksel
30 Gambar 3.4 Matriks Citra Berwarna 2 x 2 Piksel
52 Gambar 3.21 Rancangan DFD Level 2 P.1.2 untuk Proses Dekompresi Algoritma xi
Shannon-Fano
69 Gambar 4.9 Tampilan Menentukan Lokasi Penyimpanan Hasil Dekompresi File .acf
87 Gambar 4.23 Perbandingan Kecepatan Dekompresi Algoritma Arithmetic Coding dan Shannon-Fano
85 Gambar 4.22 Perbandingan Kecepatan Kompresi Algoritma Arithmetic Coding dan Shannon-Fano
84 Gambar 4.21 Perbandingan Hasil Kompresi Algoritma Arithmetic Coding dan Shannon-Fano
76 Gambar 4.20 Perbandingan Rasio Kompresi Algoritma Arithmetic Coding dan Shannon-Fano
75 Gambar 4.19 Tampilan Menu “Bantuan”
74 Gambar 4.18 Tampilan Hasil Dekompresi File .sf
74 Gambar 4.17 Tampilan Menentukan Lokasi Penyimpanan Hasil Dekompresi File .sf
73 Gambar 4.16 Tampilan menu “Buka” File .sf
72 Gambar 4.15 Tampilan Menu “Dekompresi” Shannon-Fano
72 Gambar 4.14 Tampilan Hasil Kompresi File Citra pada Shannon-Fano
71 Gambar 4.13 Tampilan Menentukan Lokasi Penyimpanan Hasil Kompresi File Citra Shannon-Fano
70 Gambar 4.12 Tampilan Menu “Buka” File citra bmp pada Shannon-Fano
70 Gambar 4.11 Tampilan Menu “Kompresi” Shannon-Fano
69 Gambar 4.10 Tampilan Hasil Dekompresi File .acf
68 Gambar 4.8 Tampilan Menu “Buka” File .acf
53 Gambar 3.22 Flowchart Sistem Kompresi dan Dekompresi Secara Umum
60 Gambar 3.29 Rancangan Menu “Dekompresi” Shannon-Fano
54 Gambar 3.23 Flowchart Aplikasi Algoritma Arithmetic Coding dan Shannon-Fano
55 Gambar 3.24 Rancangan Menu Utama
56 Gambar 3.25 Rancangan Menu “Algoritma Kompresi”
57 Gambar 3.26 Rancangan Menu “Kompresi” Arithmetic Coding
58 Gambar 3.27 Rancangan Menu “Dekompresi” Arithmetic Coding
59 Gambar 3.28 Rancangan Menu “Kompresi” Shannon-Fano
62 Gambar 3.30 Rancangan Menu “Bantuan”
67 Gambar 4.7 Tampilan Menu “Dekompresi” Arithmetic Coding
63 Gambar 4.1 Tampilan Menu Utama
64 Gambar 4.2 Tampilan Menu “Algoritma Kompresi”
65 Gambar 4.3 Tampilan Menu “Kompresi” Arithmetic Coding
65 Gambar 4.4 Tampilan Menu “Buka” File citra bmp pada Arithmetic Coding
66 Gambar 4.5 Tampilan Menentukan Lokasi Penyimpanan Hasil Kompresi File Citra Arithmetic Coding
67 Gambar 4.6 Tampilan Hasil Kompresi File Citra pada Arithmetic Coding
88 xii