PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL SKRIPSI TEGUH ARIF FEBIANTO 101401063 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer TEGUH ARIF FEBIANTO 101401063 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
ii PERSETUJUAN Judul : PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL Kategori : SKRIPSI Nama : TEGUH ARIF FEBIANTO Nomor Induk Mahasiswa : 101401063 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Ade Candra, ST, M.Kom Drs. Agus Salim Harahap, M.Si NIP.19790904 200912 1 002 NIP.19540828 198103 1 004 Diketahui/disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
iii PERNYATAAN PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, April 2015 Teguh Arif Febianto 101401063
iv PENGHARGAAN Puji syukur kehadirat Allah SWT yang telah memberikan Rahmat dan Hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Dalam penulisan ini tidak lupa penulis mengucapkan terima kasih kepada pihak-pihak yang telah banyak memberi motivasi hingga pada akhirnya penulis mampu menyelesaikan tugas akhir ini dengan baik. Oleh karena itu penulis mengucapkan banyak terima kasih kepada: 1. Bapak Prof. Dr. Syahril Pasaribu, DTMH, MSc(CTM), SpA(K) sebagai Rektor Universitas Sumatera Utara (USU). 2. Bapak Dr. Muhammad Zarlis sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara. 4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara. 5. Bapak Drs. Agus Salim Harahap, M.Si selaku Dosen Pembimbing 1. 6. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembimbing 2. 7. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM dan Bapak Herriyance ST, M.Kom selaku Dosen Pembanding. 8. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU. 9. Ayahanda Dwi Suseno, Ibunda Yayat Sugiati, serta abang-abang saya Gustian Yudha Utama dan Rangga Adhi Anggara yang selalu memberikan kasih sayang, doa dan dukungannya kepada penulis. 10. Rizki Ramadhani Lubis yang selalu membantu dan memberikan semangat maupun doa kepada penulis selama menyelesaikan skripsi ini.
v 11. Rekan-rekan kuliah, Ananda Putri Ritonga, Saddam Husein Siregar, Vito Erpindo, Angga Wiranda, Azhar Fadillah, Singgih Tri Mukti, Janwandi Ruliansen Sinaga, Fajrul Falah, Agus Prabowo, Danny Rizky dan seluruh mahasiswa S1 Ilmu Komputer stambuk 2010, serta Ahmad Ridwan, Alif Judha, Anggie Ermando, Eric Evan, Nanda Fadillah, dan Rikcy Almeda yang selalu memberikan semangat dan dorongan kepada penulis selama menyelesaikan skripsi ini. 12. Abang dan kakak stambuk 2007, 2008, 2009 yang telah bersedia membantu dan berbagi ilmu yang bermanfaat, serta seluruh adik-adik stambuk yang telah memberikan semangat kepada penulis dalam penyelesaian skripsi ini. Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Akhirnya, semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara. Medan, April 2015 Penulis
vi ABSTRAK Pada penyimpanan citra digital, ukuran citra akan mempengaruhi penggunaan memori. Semakin besar ukuran citra maka semakin besar memori yang dibutuhkan. Kompresi citra merupakan sebuah metode yang dilakukan untuk mereduksi ukuran citra digital. Metode Run Length Encoding dan metode Transformasi Wavelet Daubechies merupakan metode yang dapat digunakan dalam proses kompresi citra digital. Pada penelitian ini, metode Run Length Encoding dan metode Transformasi Wavelet Daubechies akan dibandingkan dalam menentukan kualitas citra hasil kompresi berdasarkan proses running time, rasio kompresi dan data redudansi. Citra digital yang digunakan yaitu citra grayscale dengan format Bitmap (*.BMP). Citra hasil kompresi dapat dikembalikan ke ukuran semula dengan proses dekompresi citra. Metode Run Length Encoding memiliki running time proses yang lebih baik dibandingkan dengan Transformasi Wavelet Daubechies, berdasarkan percobaan terhadap lima citra berbeda dengan ukuran yang sama dimana kecepatan rata-rata untuk metode Run Length Encoding adalah 1,03125 detik sedangkan kecepatan ratarata untuk metode Transformasi Wavelet Daubechies adalah 2,571876 detik. Metode Run Length Encoding juga lebih baik berdasarkan rasio kompresi dan data redudansi, jika citra yang digunakan tidak memiliki banyak perbedaan warna piksel. Sedangkan, jika citra yang digunakan memiliki banyak perbedaan warna, maka metode Transformasi Wavelet Daubechies lebih baik berdasarkan rasio kompresi dan data redudansi. Kata kunci : Bitmap (*.BMP), Kompresi, Dekompresi, Run Length Encoding, Transformasi Wavelet Daubechies
vii COMPARISON OF IMAGE QUALITY COMPRESSION RESULT BETWEEN RUN LENGTH ENCODING AND DAUBECHIES WAVELET TRANSFORM ABSTRACT On digital image storage, the size of image will influence the use of memory. The bigger the size of an image then the bigger memory will be needed. Image Compression is the method that reduce the size of digital image. Run Length Encoding and Daubechies Wavelet Transform are methods that can be used in the process of digital image compression. In this research, Run Length Encoding method and Daubechies wavelet transformation method will be compared to decide the quality of image compression result based on running time process, compression ratio and redundancy data. Digital image used is grayscale image with Bitmap format (*.BMP). Image compression result can be returned to the original size with image decompression process. Run Length Encoding has better running time process than Daubechies Wavelet Transform, based on experiments of five different images with the same size where the average speed of Run Length Encoding method is 1,03125 second while the average speed Daubechies Wavelet Transform is 2,571876 second. Run Length Encoding method is also better based on compression ratio and redundancy data, if the image that is used does not have many pixel color differences. Meanwhile, if the image has many pixel color differences, then Daubechies Wavelet Transform method is better based on compression ratio and redundancy data. Keywords : Bitmap (*.BMP), Compression, Decompression, Run Length Encoding, Daubechies Wavelet Transform
viii DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv vi vii viii xi xii Bab 1 Pendahuluan 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 4 1.7 Sistematika Penulisan 5 Bab 2 Landasan Teori 2.1 Pengertian Citra 6 2.2 Format File Citra 8 2.2.1 Format Vektor 8 2.2.2 Format Bitmap 8 2.3 Kompresi 9 2.3.1 Teknik Kompresi Citra 9 2.3.2 Kriteria Kompresi Citra 10 2.4 Dekompresi 11 2.5 Run Length Encoding (RLE) 11 2.6 Transformasi Wavelet Daubechies 14 2.6.1 Wavelet 14 2.6.1 Wavelet Daubechies 14 Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 17 3.1.1 Analisis Masalah 17 3.1.2 Analisis Kebutuhan Sistem 18 3.1.2.1 Kebutuhan Fungsional Sistem 18 3.1.2.2 Kebutuhan Non Fungsional Sistem 19 3.1.3 Pemodelan Sistem 20 3.1.3.1 Use Case Diagram 20 3.1.3.1.1 Use Case Run Length Encoding 22 3.1.3.1.2 Use Case Transformasi Wavelet Daubechies 23 3.1.3.1.3 Use Case Kompresi RLE 24 3.1.3.1.4 Use Case Dekompresi RLE 25 3.1.3.1.5 Use Case Kompresi Transformasi Wavelet Daubechies 26 3.1.3.1.6 Use Case Dekompresi Transformasi Wavelet Daubechies 27 3.1.3.2 Activity Diagram 28 3.1.3.2.1 Activity Diagram Run Length Encoding 28 3.1.3.2.2 Activity Diagram Transformasi Wavelet Daubechies 29 3.1.3.3 Sequence Diagram 30 3.1.3.4 Flowchart 31 3.1.3.4.1 Flowchart Sistem 31 3.1.3.4.2 Flowchart Kompresi Run Lengh Encoding 32 3.1.3.4.3 Flowchart Dekompresi Run Lengh Encoding 33 3.1.3.4.4 Flowchart Kompresi Transformasi Wavelet Daubechies 34 3.1.3.4.5 Flowchart Dekompresi Transformasi Wavelet Daubechies 35 3.2 Perancangan Sistem 36 3.2.1 Pseudocode Program 36 3.2.1.1 Pseudocode Kompresi Run Length Encoding 36 3.2.1.2 Pseudocode Dekompresi Run Length Encoding 37 3.2.1.3 Pseudocode Kompresi dengan Transformasi Wavelet Daubechies 38 3.2.1.3.1 Pseudocode Transformasi Wavelet Daubechies 38 3.2.1.3.2 Pseudocode Kuantisasi 39 3.2.1.3.3 Pseudocode Encoding 39 3.2.1.4 Pseudocode Dekompresi dengan Transformasi Wavelet Daubechies 40 3.2.1.4.1 Pseudocode Inverse Transformasi Wavelet Daubechies 40 3.2.1.4.2 Pseudocode Dekuantisasi 41 3.2.1.4.3 Pseudocode Decoding 41 3.2.2 Perancangan Antarmuka Pengguna (User Interface) 42 3.2.2.1 Perancangan Antarmuka Home 42 3.2.2.2 Perancangan Antarmuka Menu Perbandingan 43 3.2.2.3 Perancangan Antarmuka Menu Help 46 ix
x Bab 4 Implementasi dan Pengujian Sistem 4.1 Implementasi Sistem 47 4.1.1 Implementasi Algoritma 47 4.1.1.1 Implementasi Algoritma Kompresi Run Length Encoding 47 4.1.1.2 Implementasi Algoritma Dekompresi Run Length Encoding 49 4.1.1.3 Implementasi Algoritma Kompresi Transformasi Wavelet Daubechies 50 4.1.1.4 Implementasi Algoritma Dekompresi Transformasi Wavelet Daubechies 53 4.2 Pengujian Sistem 57 4.2.1 Pengujian 57 4.2.1.1 Pengujian Proses Run Length Encoding 57 4.2.1.2 Pengujian Proses Transformasi Wavelet Daubechies 61 4.2.2 Hasil Pengujian 64 4.2.2.1 Hasil Pengujian Berdasarkan Ukuran Citra yang Berbeda 64 4.2.2.2 Hasil Pengujian Berdasarkan Citra yang Berbeda 66 4.2.2.3 Hasil Pengujian Berdasarkan Spesifikasi Komputer yang Berbeda 69 Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 71 5.2 Saran 72 Daftar Pustaka 73 Lampiran A : Listing Program A-1 Lampiran B : Curriculum Vitae B-1
xi DAFTAR TABEL Halaman Tabel 2.1 Contoh Citra Belum Terkompres 13 Tabel 3.1 Spesifikasi Use Case Run Length Encoding 22 Tabel 3.2 Spesifikasi Use Case Transformasi Wavelet Daubechies 23 Tabel 3.3 Spesifikasi Use Case Kompresi RLE 24 Tabel 3.4 Spesifikasi Use Case Dekompresi RLE 25 Tabel 3.5 Spesifikasi Use Case Kompresi Transformasi Wavelet Daubechies 26 Tabel 3.6 Spesifikasi Use Case Dekompresi Transformasi Wavelet Daubechies 27 Tabel 4.1 Matriks Citra 8x8 48 Tabel 4.2 Proses Kompresi Run Length Encoding 48 Tabel 4.3 Matriks Hasil Dekompresi 50 Tabel 4.4 (a) Matriks Transformasi Wavelet Daubechies (b) Matriks Citra Awal 51 Tabel 4.5 Matriks Hasil Transformasi 51 Tabel 4.6 (a) Matriks Hasil Transformasi (b) Matriks Kuantisasi (c) Matriks Hasil Kuantisasi 52 Tabel 4.7 Matriks Hasil Pembulatan Nilai Kuantisasi 52 Tabel 4.8 Proses Encoding Citra Hasil Kuantisasi 53 Tabel 4.9 Matriks Hasil Decoding 54 Tabel 4.10 (a) Matriks Hasil Decoding (b) Matriks Kuantisasi (c) Matriks Hasil Dekuantisasi 55 Tabel 4.11 (a) Matriks Hasil Dekuantisasi (b) Matriks Inverse Transformasi Wavelet Daubechies (c) Matriks Hasil Inverse Transformasi 56 Tabel 4.12 Matriks Hasil Dekompresi Transformasi Wavelet Daubechies 56 Tabel 4.13 Hasil Pengujian Proses Kompresi Berdasarkan Ukuran Citra yang Berbeda 64 Tabel 4.14 Hasil Pengujian Proses Dekompresi Berdasarkan Ukuran Citra yang Berbeda 66 Tabel 4.15 Hasil Pengujian Proses Kompresi Berdasarkan Citra yang Berbeda 67 Tabel 4.16 Hasil Pengujian Proses Dekompresi Berdasarkan Citra yang Berbeda 68 Tabel 4.17 Spesifikasi Komputer 69 Tabel 4.18 Hasil Pengujian Proses Kompresi Berdasarkan Komputer yang Berbeda 69 Tabel 4.19 Hasil Pengujian Proses Dekompresi Berdasarkan Komputer yang Berbeda 70 DAFTAR GAMBAR
xii Halaman Gambar 2.1 Ilustrasi digitalisasi citra 7 Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem 18 Gambar 3.2 Use Case Diagram Perbandingan Metode Kompresi Run Length Encoding dengan Transformasi Wavelet Daubechies 21 Gambar 3.3 Activity Diagram Run Length Encoding 28 Gambar 3.3 Activity Diagram Transformasi Wavelet Daubechies 29 Gambar 3.4 Sequence Diagram Sistem 30 Gambar 3.5 Flowchart Sistem 31 Gambar 3.6 Flowchart Kompresi Run Length Encoding 32 Gambar 3.7 Flowchart Dekompresi Run Length Encoding 33 Gambar 3.8 Flowchart Kompresi Transformasi Wavelet Daubechies 34 Gambar 3.9 Flowchart Dekompresi Transformasi Wavelet Daubechies 35 Gambar 3.10 Pseudocode Kompresi Run Length Encoding 36 Gambar 3.11 Pseudocode Dekompresi Run Length Encoding 37 Gambar 3.12 Pseudocode Transformasi Wavelet Daubechies 38 Gambar 3.13 Pseudocode Kuantisasi 39 Gambar 3.14 Pseudocode Encoding 39 Gambar 3.15 Pseudocode Inverse Transformasi Wavelet Daubechies 40 Gambar 3.16 Pseudocode Dekuantisasi 41 Gambar 3.17 Pseudocode Decoding 41 Gambar 3.18 Perancangan Antarmuka Home 42 Gambar 3.19 Perancangan Antarmuka Menu Perbandingan 43 Gambar 3.20 Perancangan Antarmuka Menu Help 46 Gambar 4.1 Matriks Hasil Pengkodean 49 Gambar 4.2 Matriks Hasil Kompresi 49 Gambar 4.3 Matriks Hasil Encoding 53 Gambar 4.4 Matriks Hasil Kompresi 53 Gambar 4.5 Kotak Dialog Browse File Citra BMP 57 Gambar 4.6 Proses Input File 58 Gambar 4.7 Kotak Dialog Save As Citra Hasil Kompresi Run Length Encoding 58 Gambar 4.8 Hasil Proses Kompresi Run Length Encoding 59 Gambar 4.9 Kotak Dialog Browse File Hasil Kompresi Run Length Encoding 59 Gambar 4.10 Kotak Dialog Save As Citra Hasil Dekompresi Run Length Encoding 60 Gambar 4.11 Hasil Proses Dekompresi Run Length Encoding 60 Gambar 4.12 Kotak Dialog Save As Citra Hasil Kompresi
Transformasi Wavelet Daubechies 61 Gambar 4.13 Hasil Proses Kompresi Transformasi Wavelet Daubechies 62 Gambar 4.14 Kotak Dialog Browse File Hasil Kompresi Transformasi Wavelet Daubechies 62 Gambar 4.15 Kotak Dialog Save As Citra Hasil Dekompresi Transformasi Wavelet Daubechies 63 Gambar 4.16 Hasil Proses Dekompresi Transformasi Wavelet Daubechies 63 Gambar 4.17 Citra Awal (.bmp) 64 Gambar 4.18 (a) satu.bmp (b) dua.bmp (c) tiga.bmp (d) empat.bmp (e) lima.bmp 67 xiii