BAHAN SIDANG TUGAS AKHIR APLIKASI KOMPRESI CITRA MENGGUNAKAN KODE HUFFMAN BERBASIS JAVA Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik Elektro O L E H
IVAN SETIAWAN S 070402038
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA MEDAN 2011
Universitas Sumatera Utara
ABSTRAK Bahasa citra sangat dibutuhkan dalam dunia modern saat ini, citra melengkapi bahasa lisan dan tulisan dalam kaitan menjelaskan keberadaan suatu obyek. Citra memiliki kemampuan memaparkan lebih rinci dan membatasi rentang interpretasi. Dalam era komunikasi informasi ini peran citra semakin besar saja, tetapi kapasitas yang besar menjadi permasalahan. Oleh karena itu, diperlukan metode untuk menurunkan besar data yang bertujuan memberikan beban minimal untuk transfer atau penyimpanan informasi data digital. Pada Tugas Akhir ini membahas tentang pengimplementasian kode Huffman, kode ini banyak digunakan untuk teknik kompresi tanpa kehilangan kualitas (lossless compression). Salah satu penerapan yang digunakan antara lain adalah teknik kompresi pada format BMP (.bmp), file yang menyimpan piksel– piksel yang membentuk citra. Dari hasil analisis diperoleh bahwa semakin banyaknya atau semakin bervariasi warna dari suatu citra, maka persentase kompresi dan rasio kompresinya semakin kecil, terbukti dengan hasil pengujian pertama berdasarkan jumlah warna 1 sampai 10 didapat persentase kompresi 79.166 % turun menuju 42.256 % dan rasio kompresinya 4.8 turun menuju 1.731. Resolusi citra dengan warna yang sama tidak terlalu berbeda untuk nilai persentase kompresi dan rasio kompresi atau dengan kata lain resolusi citra dengan warna yang sama tidak banyak mempengaruhi persentase kompresi dan rasio kompresi, terbukti dengan hasil pengujian kedua didapat persentase kompresi 51.456 % - 54.588 % dan rasio kompresi 2.06 - 2.202.
Kemudian untuk citra kaya warna kode Arithmetic
memiliki metode kompresi yang lebih baik dibandingkan dengan kode Huffman.
Universitas Sumatera Utara
KATA PENGANTAR Segala puji dan syukur penulis kehadirat Tuhan Yang Maha Esa atas kasih dan Anugerah-Nya, yang telah memudahkan segala kesulitan, melapangkan jalan, menenangkan kegundahan, meredakan kegalauan, serta memberi petunjuk atas segala kebuntuan dalam proses pembuatan Tugas Akhir ini. Tak ada habisnya jika penulis mengingat seluruh cinta dan kebaikan yang diberikanNya sehingga penulis mampu menyelesaikan Tugas Akhir ini. Tugas Akhir ini merupakan bagian dari kurikulum yang harus diselesaikan untuk memenuhi persyaratan menyelesaikan pendidikan Sarjana Strata Satu di Departemen Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara. Adapun judul Tugas Akhir ini adalah: APLIKASI KOMPRESI CITRA MENGGUNAKAN KODE HUFFMAN BERBASIS JAVA Tugas Akhir ini penulis persembahkan yang teristimewa kepada kedua orang tua tercinta, yaitu Ayahanda Pdt.S.Situmorang dan Ibunda R.Silitonga, serta kakak tercinta Junika Prasasti Situmorang dan Lae Bakri Manulang, kedua abang tercinta Ebram Ignatius Situmorang dan Ion Genesis Situmorang, dan yang merupakan bagian dari hidup penulis yang senantiasa memberi dukungan, semangat, motivasi, dan mendoakan penulis dalam menyelesaikan Tugas Akhir ini. Yang selalu memberi dukungan perhatian, doa dan menjadi motivasi bagi penulis untuk melakukan yang terbaik, yaitu Leloisa N.D Simangusong.
Universitas Sumatera Utara
Selama penulisan Tugas Akhir ini hingga menyelesaikannya, penulis banyak mendapat bantuan dan dukungan serta masukan dalam penulisan Tugas Akhir dari banyak pihak. Pada kesempatan ini penulis mengucapkan terima kasih yang sebesarbesarnya kepada: 1.
Bapak Ir. Surya Tarmizi Kasim,M.Si dan Bapak Rahmad Fauzi, ST, MT, selaku Ketua dan Sekretaris Departemen Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara.
2.
Bapak Ir. M.Zulfin, M.T sebagai Dosen Pembimbing penulis yang telah dengan sabar membimbing penulis dan sangat banyak mengarahkan dan memotivasi penulis dalam penulisan Tugas Akhir ini.
3.
Bapak Ir. Urbanus Pangaribuan sebagai Eks Dosen Wali penulis, yang selalu memberikan dukungan sebagai wali penulis serta memotivasi penulis agar menjadi lebih baik.
4.
Seluruh staf pengajar Departemen Teknik Elektro, khususnya Konsentrasi Teknik Telekomunikasi yang banyak memberikan inspirasi, pelajaran moril dan spiritual serta masukan dan dorongan bagi penulis untuk selalu menjadi lebih baik.
5.
Seluruh karyawan di Departemen Teknik Elektro, Fakultas Teknik Universitas Sumatera Utara.
6.
Seluruh rekan – rekan dan sahabat seperjuangan sesama angkatan 2007 Departemen Teknik Elektro dari yang muda sampai yang tua dari yang ganteng sampai yang jelek.
7.
Seluruh sahabat kost Block C No 6 dari kamar 1 sampai 30
Universitas Sumatera Utara
8.
Jemaat GBI Sei Bamban dan pemuda-pemudi GBI Sei Bamban.
9.
Pihak-pihak lain yang telah memberikan bantuan secara langsung maupun tidak langsung dalam pembuatan Tugas Akir ini yang tidak dapat penulis sebutkan satu-persatu.
Penulis menyadari bahwa Tugas Akhir ini masih banyak kekurangan baik dari segi materi maupun penyajiannya dan jauh dari sempurna. Oleh karena itu, saran dan kritik dengan tujuan menyempurnakan dan mengembangkan kajian dalam bidang ini sangat penulis harapkan. Akhir kata penulis berharap agar Tugas Akhir ini dapat bermanfaat bagi pembaca dan penulis.
Medan, November 2011 Penulis
Ivan Setiawan S NIM 070402038
Universitas Sumatera Utara
DAFTAR ISI ABSTRAK........................................................................................................... i KATA PENGANTAR ........................................................................................ii DAFTAR ISI ..................................................................................................... v DAFTAR GAMBAR ....................................................................................... viii DAFTAR TABEL .............................................................................................. x BAB I.
PENDAHULUAN
1.1
Latar Belakang Masalah ........................................................................... 1
1.2
Rumusan Masalah .................................................................................... 2
1.3
Tujuan Penulisan ...................................................................................... 2
1.4
Batasan Masalah....................................................................................... 2
1.5
Metodologi Penulisan ............................................................................... 3
1.6
Sistematika Penulisan ............................................................................... 4
BAB II. TEORI DASAR PENGOLAHAN CITRA DIGITAL 2.1
Citra
..................................................................................................... 5
2.1.1
Citra Analog ................................................................................. 5
2.1.2
Citra Digital .................................................................................. 6 2.1.2.1 Citra Warna ........................................................................ 8 2.1.2.2 Citra Skala Keabuan (Grayscale) ........................................ 9 2.1.2.3 Citra Biner .......................................................................... 9
2.2
Kompresi Citra ....................................................................................... 10
2.3
Format File Citra .................................................................................... 13
2.4
Format File Citra Bitmap (BMP) ............................................................ 16
BAB III. KOMPRESI DATA
Universitas Sumatera Utara
3.1
Pendahuluan ........................................................................................... 19
3.2
Teknik Kompresi Data ........................................................................... 20
3.3
3.2.1
Lossy Compression ..................................................................... 21
3.2.2
Lossless Compression ................................................................. 23
Huffman Coding ..................................................................................... 24 3.3.1
Variasi Kode Huffman ................................................................ 26
3.3.2 Kompresi Teks Menggunakan Kode Huffman ............................ 28 3.3.4
Dekompresi Teks Menggunakan Kode Huffman ......................... 35
3.4.5
Kompresi Citra Menggunakan Kode Huffman ......................... 37
3.4.6
Dekompresi Citra Menggunakan Kode Huffman ...................... 43
BAB IV. APLIKASI KOMPRESI CITRA MENGGUNAKAN KODE HUFFMAN BERBASIS JAVA 4.1
Pendahuluan ........................................................................................... 45
4.2
Hasil Pengujian ...................................................................................... 46 4.2.1 Kompresi Citra dengan Jumlah Warna Berbeda .......................... 46 4.2.1.1 Satu Warna...................................................................... 47 4.2.1.2 Dua Warna ...................................................................... 52 4.2.1.3 Tiga Warna ...................................................................... 54 4.2.2 Kompresi Citra dengan Resolusi Berbeda ................................... 57 4.2.2.1 Resolusi 64 x 64 .............................................................. 57 4.2.2.2 Resolusi 128 x 128 .......................................................... 59 4.2.2.3 Resolusi 256 x 256 .......................................................... 61 4.2.3 Perbandingan Kompresi Citra Metode Kode Huffman dan Kode Arithmetic .................................................................................. 63 4.2.3.1 Analisis Hasil Perbandingan ............................................ 65
Universitas Sumatera Utara
4.2.4 Dekompresi Citra ........................................................................ 65 BAB V. KESIMPULAN DAN SARAN 5.1
Kesimpulan
5.2
Saran
DAFTAR PUSTAKA LAMPIRAN
Universitas Sumatera Utara
DAFTAR GAMBAR 1.
Gambar 2.1 Ilustrasi Citra Digital................................................................ 6
2.
Gambar 2.2 Matriks Citra Digital M x N ..................................................... 7
3.
Gambar 2.3 Ilustrasi Sistem Koordinat Piksel.............................................. 7
4.
Gambar 2.4 Citra Warna ............................................................................. 8
5.
Gambar 2.5 Citra Skala Grayscale............................................................... 9
6.
Gambar 2.6 Citra Biner............................................................... ................ 9
7.
Gambar 2.7 Proses Pemisahan Piksel Berdasarkan Derajat Keabuan ......... 10
8.
Gambar 3.1 Diagram Alir Proses Kompresi................................................ 20
9.
Gambar 3.2 Klasifikasi dari Teknik Kompresi Data .................................. 21
10.
Gambar 3.3 Proses Pembentukkan Pohon Huffman I..................... ............ 30
11.
Gambar 3.4 Proses Pembentukkan Pohon Huffman II.................... ............ 30
12.
Gambar 3.5 Proses Pembentukkan Pohon Huffman III................... ........... 30
13.
Gambar 3.6 Proses Pembentukkan Pohon Huffman IV................... ........... 31
14.
Gambar 3.7 Proses Pembentukkan Pohon Huffman V................................ 31
15.
Gambar 3.8 Proses Pembentukkan Pohon Huffman VI............................... 32
16.
Gambar 3.9 Proses Pembentukkan Pohon Huffman VII.................. ........... 32
17.
Gambar 3.10 Proses Pembentukkan Pohon Huffman VIII................. ......... 33
18.
Gambar 3.11 Proses Dekompresi Menggunakan Pohon Huffman .............. 36
19.
Gambar 3.12 Gambar 2D............................................................. ............... 38
20.
Gambar 4.1 Aplikasi Huffman Kompresi Citra........................................... 45
21.
Gambar 4.2 Citra Satu Warna dengan Resolusi 128 x 128............... .......... 47
22.
Gambar 4.3 Tampilan Proses Pengkompresan Citra Satu Warna dengan Resolusi 128x128.. ....................................................................... 51
23.
Gambar 4.4 Citra Dua Warna dengan Resolusi 128 x 128................ .......... 52
Universitas Sumatera Utara
24.
Gambar 4.5 Tampilan Hasil Kompresi Citra Dua Warna dengan Resolusi 128x128 ..................................................................................... 53
25.
Gambar 4.6 Citra Tiga Warna dengan Resolusi 128 x 128.......................... 54
26.
Gambar 4.7 Tampilan Hasil Kompresi Citra Tiga Warna dengan Resolusi 128x128 ..................................................................................... 55
27.
Gambar 4.8 Citra Empat Warna dengan Resolusi 64 x 64.......................... 57
28.
Gambar 4.9 Tampilan Hasil Kompresi Citra Empat Warna dengan Resolusi 64x64 ......................................................................................... 58
29.
Gambar 4.10 Citra Empat Warna dengan Resolusi 128 x 128..................... 59
30.
Gambar 4.11 Tampilan Hasil Kompresi Citra Empat Warna dengan Resolusi 128x128......................................................................... ............... 60
31.
Gambar 4.12 Citra Empat Warna dengan Resolusi 256 x 256..................... 61
32.
Gambar 4.13 Tampilan Hasil Kompresi Citra Empat Warna dengan Resolusi 128x128......................................................................................... 62
33.
Gambar 4.14 Tampilan Proses Dekompresi Citra dengan Aplikasi Huffman Kompresi Citra .......................................................................... 68
Universitas Sumatera Utara
DAFTAR TABEL 1.
Tabel 2.1 Hubungan Antara Bit Per Piksel dengan Jumlah Warna Maksimum.................................................................................. ................. 18
2.
Tabel 3.1 Distribusi Frekuensi untuk ACDABBA....................................... 29
3.
Tabel 3.2 Kode Huffman untuk String “ACDABBA”................................. 34
4.
Tabel 3.3 Kode Huffman untuk String “ACDABBA”................................. 36
5.
Tabel 3.4 Distribusi Frekuensi..................................................................... 39
6.
Tabel 3.5 Kode Huffman............................................................................... 42
7.
Tabel 4.1 Distribusi Frekuensi pada Citra Satu Warna dengan Resolusi 128x128..................................................................................... .................. 48
8.
Tabel 4.2 Kode Huffman untuk Citra Satu Warna...................................... . 49
9.
Tabel 4.3 Hasil Pengujian Kompresi Citra dengan Jumlah Warna berbeda ..................................................................................................... 56
10.
Tabel 4.4 Hasil Pengujian Kompresi Citra dengan Resolusi berbeda... ...... 57
11.
Tabel 4.5 Citra Uji .................................................................................... 64
12.
Tabel 4.6 Hasil Perbandingan Metode Kode Huffman dan Kode Arithmetic ................................................................................................. 65
13.
Tabel 4.7 Citra Asli dan Citra Rekontruksi ................................................ 68
Universitas Sumatera Utara