DAUBECHIES PADA CITRA DIGITAL
SKRIPSI
TEGUH ARIF FEBIANTO
101401063
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
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
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,
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
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.
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
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 rata-rata 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
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,
DAFTAR ISI
Daftar Gambar 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
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
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
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
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
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
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 rata-rata 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
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,
BAB 1
PENDAHULUAN
1.1Latar Belakang
Citra (image) adalah kombinasi antara titik, garis, bidang, dan warna untuk menciptakan suatu imitasi dari suatu obyek, biasanya obyek fisik atau manusia. Citra dapat berwujud gambar (picture) dua dimensi, seperti lukisan, foto dan berwujud tiga dimensi, seperti patung.
Citra yang dapat kita sentuh dan kita lihat secara nyata dan real ukuran, besarnya, atau dapat kita pegang merupakan citra analog. Ada jenis citra yang lain adalah citra digital yang akan lebih mudah diolah dalam sistem komputerisasi. Citra digital merupakan citra yang direpresentasikan dalam bit-bit atau piksel-piksel (Napitupulu, 2012).
Citra sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Namun seringkali representasi citra digital membutuhkan memori yang besar. Semakin besar ukuran citra tentu semakin besar pula memori yang dibutuhkannya. Pada sisi lain, kebanyakan citra mengandung duplikasi data.
Duplikasi data pada citra dapat berarti dua hal. Pertama, besar kemungkinan suatu pixel dengan pixel tetangganya memiliki initensitas yang sama, sehingga penyimpanan setiap pixel memboroskan tempat. Kedua, citra banyak mengandung bagian yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali karena mubazir atau redundan. Masalah tersebut dapat diatasi dengan kompresi citra.
Pemampatan atau kompresi citra merupakan suatu metode yang sangat bermanfaat bagi perkembangan citra digital. Dengan kompresi, data citra digital yang ukurannya besar, dapat dikompres sehingga mempunyai ukuran yang lebih kecil (Napitupulu, 2012). Prinsip umum yang digunakan pada proses pemampatan citra adalah mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula.
Berdasarkan jumlah informasi yang dikurangi terdapat dua jenis kompresi, yaitu lossless dan lossy. Pada skema kompresi lossless, citra hasil rekonstruksi memiliki karakteristik dan kualitas yang identik dengan citra aslinya. Sementara pada lossy, kualitas citra hasil rekonstruksinya menurun karena terdaat beberapa bagian informasi yang dihilangkan (Putra, 2010). Contoh metode kompresi lossy adalah teknik kompresi dengan kuantisasi, CS&Q, JPEG, MPEG dan Wavelet. Contoh metode kompresi lossless adalah kompresi Huffman, LZW, dan RLE.
Kompresi citra yang dibahas adalah kompresi citra dengan metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies. Alasan membandingkan kedua metode tersebut adalah untuk mengetahui metode mana yang lebih baik diantara keduanya berdasarkan parameter yang digunakan untuk mengetahui kualitas citra hasil kompresi metode tersebut.
1.2Rumusan Masalah
Rumusan masalah pada penelitian ini adalah bagaimana membandingkan kualitas citra hasil kompresi menggunakan metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital yang dapat dijadikan sebagai acuan oleh pengguna.
1.3Batasan Masalah
Batasan masalah meliputi :
1. File citra yang dikompresi merupakan citra grayscale dengan format BMP.
2. Parameter pembanding kualitas citra diukur dengan proses running time, rasio kompresi dan data redudansi.
3. Transformasi Wavelet yang digunakan adalah wavelet Daubechies D1. 4. Bahasa pemrograman yang digunakan MATLAB.
1.4Tujuan Penelitian
Tujuan dari penelitian ini adalah membandingkan kualitas kompresi citra digital dari metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital yang dapat dijadikan sebagai acuan oleh pengguna.
1.5Manfaat Penelitian
1.6Metode Penelitian
Penelitian ini menerapkan beberapa metode penelitian sebagai berikut: 1. Studi Literatur
Pada tahap ini penulisan dimulai dengan studi kepustakaan yaitu proses pengumpulan bahan-bahan referensi baik dari buku, artikel, jurnal, makalah maupun melalui media internet mengenai pengolahan citra digital, citra file bitmap, kompresi, dekompresi, algoritma kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies serta beberapa referensi lainnya untuk menunjang pencapaian tujuan skripsi.
2. Analisis dan Perancangan Sistem
Pada tahap ini penulis menganalisis proses kerja kompresi file citra menggunakan metode kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies, dan selanjutnya dilakukan perancangan sistem yang meliputi perancangan proses kerja sistem, perancangan interface, serta algoritma pemograman.
3. Implementasi Sistem
Pada tahap ini, penulis mengimplementasikan hasil perbandingan kualitas citra hasil kompresi file citra ke dalam bahasa pemrograman.
4. Pengujian Sistem
Pada tahap ini dilakukan pengujian terhadap aplikasi yang dibangun sesuai dengan tujuan yang ingin dicapai, yaitu melakukan perbandingan kualitas citra hasil kompresi dengan menggunakan metode kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies.
5. Dokumentasi Sistem
1.7Sistematika Penulisan
Sistematika dalam penulisan skripsi ini adalah sebagai berikut:
BAB 1 PENDAHULUAN
Bab pendahuluan ini menjelaskan latar belakang masalah dari penelitian yang akan dilakukan beserta batasan masalah, tujuan dan manfaat penelitian, metode penelitian dan sistematika penulisan skripsi ini.
BAB 2 TINJAUAN PUSTAKA
Bab ini menjelaskan tentang beberapa teori-teori dasar yang mendukung penelitian seperti citra, format file citra, kompresi citra, dekompresi citra, algoritma Run Length Encoding (RLE), dan algoritma Transformasi Wavelet Daubechies.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini menjelaskan mengenai analisis proses kerja kompresi file citra menggunakan metode kompresi Run Length Encoding (RLE) dan transformasi Wavelet Daubechies, dan selanjutnya dilakukan perancangan sistem yang meliputi perancangan proses kerja sistem, perancangan interface, serta algoritma pemograman. Model Unified Modelling Language (UML) yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram dan perancangan tampilan antarmuka sistem.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini membahas mengenai hasil pengujian dari perbandingan kualitas citra hasil kompresi metode Run Length Encoding (RLE) dengan transformasi Wavelet Daubechies.
BAB 5 KESIMPULAN DAN SARAN
BAB 2
TINJAUAN PUSTAKA
2.1Pengertian Citra
Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan (Sutoyo et al. 2009).
Citra tidak sama dengan teks yang hanya memberikan informasi secara jelas dengan kata-kata yang dipaparkan. Citra memberikan informasi dengan memberikan gambaran visual dan terkadang informasi yang diberikan dapat memacu imajinasi dari orang yang melihat citra tersebut.
Citra merupakan keluaran dari suatu sistem perekaman data yang bersifat optik, analog ataupun digital. Perekaman data citra dapat dibagi menjadi dua yaitu: 1. Citra Analog
Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan , pemandangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebaginya (Sutoyo et al. 2009).
2. Citra Digital
Citra digital adalah citra yang terdiri dari sinyal-sinyal frekuensi elektromagnetis yang sudah di-sampling sehingga dapat ditentukan ukuran titik gambar tersebut yang pada umumnya disebut piksel (Santi, 2010).
Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar dua dimensi menggunakan komputer. Dalam konteks yang lebih luas, pengolahan citra digital mengacu pada pemrosesan setiap data dua dimensi. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu (Handriyati, 2013).
Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x,y, dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital (Handriyati, 2013). Gambar 2.1 menunjukkan posisi koordinat citra digital.
Gambar 2.1 Ilustrasi Digitalisasi Citra (piksel pada koordinat x = 10, y =
2.2Format File Citra
2.2.1 Format Vektor
Citra vektor dihasilkan dari perhitungan matematis dan tidak berdasarkan piksel, yaitu data tersimpan dalam bentuk vektor posisi, di mana yang tersimpan hanya informasi vektor posisi dengan bentuk sebuah fungsi. Pada citra vektor, mengubah warna lebih sulit dilakukan, tetapi membentuk objek dengan cara mengubah nilai lebih mudah. Oleh karena itu, bila citra diperbesar atau diperkecil, kualitas citra relatif tetap baik dan tidak berubah. Citra vektor biasanya dibuat menggunakan aplikasi-aplikasi citra vektor, seperti CorelDRAW, Adobe Ilustrator, Macromedia Freehand, Autocad, dan lain-lain (Sutoyo et al. 2009).
2.2.2 Format Bitmap
Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital (Sutoyo et al. 2009).
2.3Kompresi
Pemampatan atau kompresi citra merupakan suatu metode yang sangat bermanfaat bagi perkembangan citra digital. Dengan kompresi, data citra digital yang ukurannya besar, dapat dikompres sehingga mempunyai ukuran yang lebih kecil (Napitupulu, 2012).
Kompresi data adalah sebuah metode yang dilakukan untuk mereduksi ukuran data atau file. Dengan melakukan kompresi atau pemadatan data, maka ukuran file atau data akan lebih kecil sehingga dapat mengurangi waktu transmisi saat data dikirim, dan tidak banyak menghabiskan ruang media penyimpanan (Santi, 2010).
Terdapat beberapa manfaat dari kompresi, yaitu :
1. Waktu pengiriman data pada saluran komunikasi data lebih singkat. Contohnya pengiriman gambar dari fax, video conferencing, download dari internet, pengiriman data medis, pegiriman dari satelit, dll.
2. Membutuhkan ruang memori dalam storage yang lebih sedikit dibandingkan dengan citra yang tidak dikompresi.
2.3.1 Teknik Kompresi Citra
Terdapat dua teknik dalam melakukan kompresi citra. 1. Lossy Compression
Lossy compression adalah kompresi citra di mana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya karena ada informasi yang hilang, tetapi masih bisa ditolerir oleh persepsi mata. Metode ini menghasilkan rasio kompresi yang lebih tinggi daripada metode lossless. Contohnya adalah color reduction, chroma subsampling, dan transform coding seperti Fourier dan Wavelet, dan lain-lain.
2. Lossless Compression
2.3.2 Kriteria Kompresi Citra
Kriteria yang digunakan dalam pemampatan citra adalah : 1. Waktu kompresi dan waktu dekompresi
Algoritma pemampatan yang baik adalah algoritma yang membutuhkan waktu kompresi dan dekompresi paling sedikit.
2. Kebutuhan Memori
Algoritma pemampatan yang baik akan menghasilkan memori yang dibutuhkan untuk menyimpan hasil kompresi citra yang berkurang secara berarti. Semakin besar persentase pemampatan, semakin kecil kebutuhan memori yang diperlukan, sehingga kualitas citra semakin berkurang. Dan sebaliknya, semakin kecil persentase citra yang dimampatkan, semakin bagus hasil pemampatan tersebut. 3. Format Keluaran
Format citra hasil pemampatan yang baik adalah yang cocok dengan kebutuhan pengiriman dan penyimpanan data.
4. Data Redundansi
Data redundansi merupakan data berlebihan yang terdapat pada citra. Bila n1 dan n2 menyatakan jumlah satuan (unit) informasi dalam himpunan data yang mewakili data yang sama, maka data berlebihan relative (relative data redundancy) RD ddari himpunan data pertama dinyatakan sebagai berikut (Putra, 2010) :
Dengan CR merupakan rasio kompresi yang dinyatakan berikut (Putra, 2010) :
5. Rasio Kompresi Citra
Rasio kompresi citra adalah ukuran persentase citra yang telah berhasil dimampatkan. Rumus dalam menghitung rasio kompresi citra adalah sebagai berikut (Sutoyo et al. 2009) :
[
]
2.4Dekompresi
Sebuah data yang sudah dikompres tentunya harus dapat dikembalikan lagi ke bentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah data yang terkompres diperlukan cara yang berbeda seperti pada waktu proses kompresi dilaksanakan. Jadi pada saat dekompresi terdapat catatan header yang berupa byte-byte yang berisi catatan mengenai isi dari file tersebut (Santi, 2010).
Catatan header akan menuliskan kembali mengenai isi dari file tersebut, jadi isi dari file sudah tertulis oleh catatan header sehingga hanya tinggal menuliskan kembali pada saat proses dekompres. Proses dekompres dikatakan sempurna apabila file kembali kebentuk aslinya (Santi, 2010).
2.5Run Length Encoding (RLE)
Run Length Encoding (RLE) adalah algoritma kompresi yang sangat mendasar. RLE mempunyai hak paten bebas, yang berarti seseorang dapat menggunakan algoritma kompresi RLE dengan bebas. Metode kompresi ini sangat sederhana, yaitu hanya memindahkan pengulangan byte yang sama berturut-turut (secara terus menerus). Data masukan akan dibaca dan sederetan karakter yang sesuai dengan deretan karakter yang sudah ditentukan sebelumnya disubstitusi dengan kode tertentu (Santi, 2010).
Metode RLE memberikan hasil terbaiknya apabila data yang terkompresi tersusun atas rangkaian-rangkaian panjang bit dengan nilai yang sama. Metode ini mengganti rangkaian bit semacam itu dengan suatu kode yang mengindikasikan nilai apa yang berulang dan berapa kali perulangan itu terjadi. Sebagai contoh, lebih sedikit ruang yang dibutuhkan untuk menginformasikan bahwa suatu pola bit tersusun atas 253 bit 1, diikuti 118 bit 0, diikuti 87 bit 1 daripada yang dibutuhkan untuk menguraikan satu persatu seluruh 458 bit tersebut (Seftiani, 2012).
Algoritma RLE menggunakan pendekatan ruang. Algoritma ini cocok digunakan untuk memampatkan citra yang memiliki kelompok-kelompok piksel berderajat keabuan yang sama. Metode ini dilakukan dengan menyatakan seluruh baris citra menjadi sebuah baris run, lalu menghitung run-length untuk setiap derajat keabuan yang berurutan (Sutoyo et al. 2009).
Adapun proses algoritma kompresi Run Length Encoding adalah sebagai berikut :
1. Dua nilai piksel awal pada citra dibaca.
2. Periksa apakah nilai piksel pertama sama dengan nilai piksel kedua.
3. Jika nilai piksel pertama berbeda dengan nilai piksel kedua, maka akan dituliskan nilai piksel pertama diikuti dengan nilai 1, sedangkan nilai piksel kedua akan dijadikan piksel pertama, kemudian piksel selanjutnya menjadi piksel kedua dan melakukan perulangan seperti pada langkah 2.
4. Jika nilai piksel pertama sama dengan nilai piksel kedua, maka akan diperiksa nilai piksel selanjutnya, sampai ditemukan nilai piksel yang berbeda dengan nilai piksel pertama.
5. Nilai piksel pertama akan dituliskan dan diikuti dengan jumlah piksel yang memiliki nilai yang sama dengan piksel pertama.
Contoh, misalnya sebuah citra grayscale 3 bit berukuran 10 x 10 piksel akan dilakukan pengkodean dengan algoritma RLE, maka (Sutoyo et al. 2009) :
Tabel 2.1 Contoh Citra Belum Terkompres
Hasil Kompresi :
Semuanya = 52 piksel
Ukuran citra sebelum dikompres = 10 x 10 x 3 bit = 300 bit. Ukuran citra setelah dikompres = 52 x 3 bit = 156 bit. Rasio kompresi =
, artinya 48% dari citra semula telah dimampatkan.
Proses dekompresi Run Length Encoding adalah sebagai berikut : 1. Dua nilai piksel awal dibaca.
2. Nilai piksel pertama dituliskan sebanyak nilai piksel kedua.
3. Dua nilai piksel selanjutnya dibaca, kemudian lakukan perulangan pada langkah 2 dan 3 hingga semua piksel pada citra diperiksa.
2.6Transformasi Wavelet Daubechies
2.6.1 Wavelet
Wavelet adalah suatu metode pengolahan sinyal yang mana sebuah sinyal dipecah menjadi beberapa bagian yang merujuk kepada frekuensi yang berbeda-beda. Wavelet digunakan untuk menyusun, menganalisis dan mensintesis data numerik hasil pengukuran/pengamatan suatu fenomena fisis tertentu (Saragih, 2008).
Pada transformasi wavelet, sinyal digital dikalkulasikan untuk menentukan domain frekuensi dan waktu secara bersamaan. Transformasi ini dapat digunakan pada pengenalan objek, smoothing, dan kompresi.
Transformasi wavelet memiliki dua jenis dalam pengembangannya yaitu Continous Wavelet Transform (CWT) dan Discrete Wavelet Transform (DWT). Semua fungsi yang digunakan dalam transformasi CWT dan DWT diturunkan dari mother wavelet melalui translasi/pergeseran dan penskalaan/kompresi. Mother wavelet merupakan fungsi dasar yang digunakan dalam transformasi wavelet. Karena mother wavelet menghasilkan semua fungsi wavelet yang digunakan dalam transformasi melalui translasi dan penskalaan, maka mother wavelet juga akan menentukan karakteristik dari transformasi wavelet yang dihasilkan (Saragih, 2008).
2.6.2Wavelet Daubechies
Wavelet diartikan sebagai small wave atau gelombang singkat. Gelombang singkat tersebut merupakan fungsi basis yang terletak pada waktu berbeda. (Putra, 2010)
Sistem ini menggunakan Transformasi Wavelet Daubechies D1 (Haar). Adapun koefisien transformasi untuk Daubechies D1 adalah sebagai berikut (Putra, 2010) :
( ) ( ⁄ ⁄ ) ( ) ( ⁄ ⁄ )
Keterangan : h0 = low pass filter
Matriks H0 semua elemennya bernilai 0, kecuali h0(0) = 1/2 dan h0(1) = 1/2. Demikian juga untuk H1, semua elemennya juga bernilai 0, kecuali h1(0) = 1/2 dan dan h1(1) = -1/2. (Putra, 2010).
Matriks low pass Daubechies D1 H0(n) adalah (Putra, 2010) :
[
Sedangkan high pass Daubechies D1 H1(n) adalah (Putra, 2010) :
Algoritma kompresi citra dapat dijelaskan sebagai berikut (Putra, 2010) :
1. Transformasi linier digunakan untuk mengubah ruang warna secara linier menjadi warna dasar. Karena citra yang dikompresi merupakan citra dengan nilai ruang warna dasar R = G = B, maka warna dasar akan sama dengan citra awal (grayscale), dengan nilai piksel berkisar pada 0-255. Bila input citra adalah citra berwarna (nilai R, G, dan B berbeda), maka terlebih dahulu dilakukan proses transformasi ke citra grayscale.
2. Pada citra grayscale kemudian dilakukan proses transformasi gelombang yang akan menghasilkan empat komponen matriks, yaitu komponen detail (CD1), komponen horizontal (CH1), komponen vertikal (CV1), dan komponen aproksimasi(CA1). Komponen aproksimasi disimpan ke media penyimpanan agar komponen ini tidak dapat berubah.
3. Pada komponen-komponen hasil transformasi (selain komponen aproksimasi) dilakukan proses kuantisasi. Tujuan proses kuantisasi ini adalah untuk mengurangi jumlah variasi (redudansi) data pada komponen-komponen hasil transformasi selain komponen aproksimasi.
Algoritma dekompresi citra dapat dijelaskan sebagai berikut (Putra, 2010) : 1. Membaca data atau file terkompresi gelombang singkat.
2. Melakukan proses decoding dan dilanjutkan proses kuantisasi balik (de-quantization) untuk mengembalikan data yang sebelumnya dikuantisasi saat proses kompresi. Proses ini akan memperoleh kembali komponen-komponen detail, horizontal, dan vertikal.
3. Menggabungkan seluruh komponen hasil tahap 2 dengan komponen aproksimasi.
4. Melakukan transformasi gelombang singkat balik (invers wavelet transformation) terhadap komponen-komponen hasil tahap 3.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem merupakan tahapan yang bertujuan untuk memberikan pemahaman terhadap kinerja sistem dengan mengidentifikasi masalah-masalah yang muncul sehingga mengetahui kebutuhan-kebutuhan yang diharapkan dalam pembuatan sistem, agar sistem yang dirancang dapat berjalan sesuai dengan yang diharapkan.
Adapun sistem yang akan dirancang adalah sistem yang dapat membandingkan hasil metode kompresi Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital.
3.1.1 Analisis Masalah
Masalah dalam penelitian ini adalah bagaimana menghasilkan citra dengan ukuran yang lebih kecil, sehingga dapat menghemat penggunaan kapasitas memori atau media penyimpanan. Dalam sistem ini terdapat dua metode kompresi yang akan dibandingkan, yaitu metode Run Length Encoding (RLE) dan Transformasi Wavelet Daubechies. Kemudian akan dinilai metode mana yang lebih baik dalam proses kompresi dan dekompresi citra.
Material
Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem
3.1.2 Analisis Kebutuhan Sistem
Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.
3.1.2.1 Kebutuhan Fungsional Sistem
Kebutuhan fungsional yang harus dimiliki oleh sistem untuk membandingkan citra hasil kompresi metode Run Legth Encoding (RLE) dengan Transformasi Wavelet Daubechies adalah:
1. Sistem membaca masukan berupa citra grayscale dengan format Bitmap (*.BMP). 2. Sistem dapat melakukan pemampatan citra dengan metode Run Length Encoding
dan Transformasi Wavelet Daubechies.
3. Transformasi Wavelet yang digunakan adalah wavelet Daubechies D1.
4. Sistem dapat mengembalikan citra yang telah dikompresi (dekompresi) ke citra semula.
5. Sistem dapat menghitung nilai data redudansi, rasio kompresi, dan running time untuk dapat membandingkan metode kompresi mana yang lebih baik.
3.1.2.2 Kebutuhan Non Fungsional Sistem
Dalam memdukung suatu sistem, maka sistem tersebut harus memiliki fungsi sebagai berikut :
1. Performa
Sistem yang dirancang harus menunjukkan citra hasil kompresi maupun dekmpresi dari metode-metode yang digunakan serta menampilkan nilai nilai parameter yag digunakan agar metode-metode tersebut dapat dibandingkan. 2. Mudah dipelajari dan digunakan
Sistem yang akan dirancang harus memiliki tampilan yang tidak rumit, sehingga sistem dapat dengan mudah digunakan dan dipahami oleh user..
3. Hemat biaya
Sistem yang dirancang tidak memerlukan perangkat tambahan yang dapat menambah biaya user.
4. Dokumentasi
Sistem yang dirancang harus dapat menyimpan citra hasil proses kompresi maupun dekompresi citra digital.
5. Manajemen kualitas
Sistem yang dirancang harus memiliki parameter untuk menilai kualitas citra, yaitu dengan menggunakan running time, rasio kompresi, dan data redudansi. 6. Kontrol
3.1.3 Pemodelan Sistem
Pemodelan sistem bertujuan untuk mendapatkan gambaran tentang interaksi antara objek-objek dengan sistem. Pemodelan sistem juga menujukkan hal-hal apa saja yang dilakukan sebuah sistem, hingga sistem tersebut dapat digunakan sesuai dengan apa yang diharapkan.
Dalam skripsi ini akan digunakan UML (Unifield Modelling Language) untuk merancang sistem yang akan membandingkan metode kompresi Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital. Adapun model UML yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram.
3.1.3.1 Use Case Diagram
Use case diagram merupakan sebuah diagram yang dapat menggambarkan interaksi yang terjadi antara user dengan sistem serta dapat menjelaskan apa saja fungsi-fungsi yang akan dikerjakan oleh sistem. Use case diagram sistem yang akan dibangun dapat dilihat pada Gambar 3.2. Untuk mengidentifikasikan aktor dan use case yang terlibat pada sistem, kita perlu menjawab beberapa pertanyaan berikut ini:
1. Siapa yang menggunakan sistem? Jawaban: Pengguna.
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban: Pengguna.
3. Apa saja yang dapat dilakukan pengguna pada sistem?
Pengguna
Run Length Encoding Dekompresi Run
Length Encoding Kompresi Run
Length Encoding
Kompresi Transformasi Wavelet Daubechies
Dekompresi
Transformasi Wavelet Daubechies
Perbandingan Metode Kompresi
Run
Length Encoding
dengan Transformasi
Wavelet Daubechies
<<extend>>
<<extend>>
<<extend>>
<<extend>>
Transformasi Wavelet Daubechies
Gambar 3.2 UseCaseDiagram Perbandingan Metode Kompresi Run Length
3.1.3.1.1 Use Case Run Length Encoding
Tabel 3.1 merupakan spesifikasi use case Run Length Encoding
Tabel 3.1 Spesifikasi Use CaseRun Length Encoding
Name Run Length Encoding
Actors Pengguna
Trigger Pengguna mengakses tombol ‘Kompres’ pada panel Run Length Encoding.
Preconditions Pengguna memilih citra yang akan dikompresi. Post Conditions Sistem menampilkan gambar hasil dekompresi.
Success Scenario
1. Pengguna mengakses tombol ‘Kompres’ pada panel Run Length Encoding.
2. Sistem menyimpan citra hasil kompresi RLE, kemudian menampilkan citra hasil kompresi, detail citra, running time, rasio kompresi, dan data redudansi.
3. Pengguna mengakses tombol ‘Dekompresi’ pada panel Run Length Encoding.
4. Pengguna memilih file *.rle yang akan didekompresi. 5. Sistem menyimpan citra hasil dekompresi RLE,
kemudian menampilkan citra hasil dekompresi, detail citra, dan running time.
-3.1.3.1.2 Use Case Transformasi Wavelet Daubechies
Tabel 3.2 merupakan spesifikasi use case Transformasi Wavelet Daubechies
Tabel 3.2 Spesifikasi Use Case Transformasi Wavelet Daubechies
Name Transformasi Wavelet Daubechies
Actors Pengguna
Trigger Pengguna mengakses tombol ‘Kompres’ pada panel Transformasi Wavelet Daubechies.
Preconditions Pengguna memilih citra yang akan dikompresi. Post Conditions Sistem menampilkan gambar hasil dekompresi.
Success Scenario
1. Pengguna mengakses tombol ‘Kompres’ pada panel Transformasi Wavelet Daubechies.
2. Sistem menyimpan citra hasil kompresi Transformasi Wavelet Daubechies, kemudian menampilkan citra hasil kompresi, detail citra, running time, rasio kompresi, dan data redudansi.
3. Pengguna mengakses tombol ‘Dekompresi’ pada panel Transformasi Wavelet Daubechies.
4. Pengguna memilih file *.db yang akan didekompresi. 5. Sistem menyimpan citra hasil dekompresi Transformasi
Wavelet Daubechies, kemudian menampilkan citra hasil dekompresi, detail citra, dan running time.
-3.1.3.1.3 Use Case Kompresi RLE
Tabel 3.3 merupakan spesifikasi use case Kompresi RLE.
Tabel 3.3 Spesifikasi Use Case Kompresi RLE
Name Kompresi RLE
Actors Pengguna
Trigger Pengguna memilih tombol ‘Kompres’ pada panel Run Length Encoding.
Preconditions Sistem telah menampilkan citra awal.
Post Conditions
Sistem menyimpan dan menampilkan citra hasil kompresi RLE, serta menampilkan detail citra, running time, rasio kompresi, dan data redudansinya.
Success Scenario
1. Pengguna memilih tombol ‘Kompres’ pada panel Run Length Encoding.
2. Sistem membaca dua nilai piksel awal pada citra.
3. Sistem memeriksa apakah nilai piksel pertama sama dengan nilai piksel kedua.
4. Jika nilai piksel pertama berbeda dengan nilai piksel kedua, sistem akan menuliskan nilai piksel pertama diikuti dengan nilai 1, sedangkan nilai piksel kedua akan dijadikan piksel pertama, kemudian piksel selanjutnya menjadi piksel kedua dan melakukan perulangan seperti pada langkah 3.
5. Jika nilai piksel pertama sama dengan nilai piksel kedua, maka sistem akan memeriksa nilai piksel selanjutnya, sampai ditemukan nilai piksel yang berbeda dengan nilai piksel pertama.
6. Sistem akan menuliskan nilai piksel pertama dan diikuti dengan jumlah piksel yang memiliki nilai yang sama dengan piksel pertama. 7. Sistem akan membaca dua nilai piksel selanjutnya dan melakukan
perulangan pada langkah 3 sampai dengan langkah 6, hingga semua piksel pada citra diperiksa.
8. Sistem menyimpan dan menampilkan citra hasil kompresi RLE, serta menampilkan detail citra, running time, rasio kompresi, dan data redudansinya.
-3.1.3.1.4 Use Case Dekompresi RLE
Tabel 3.4 merupakan spesifikasi use case Dekompresi RLE.
Tabel 3.4 Spesifikasi Use Case Dekompresi RLE
Name Dekompresi RLE
Actors Pengguna
Trigger Pengguna memilih tombol ‘Dekompres’ pada panel Run Length Encoding.
Preconditions Sistem telah menampilkan citra hasil kompresi RLE.
Post Conditions
Sistem menyimpan dan menampilkan citra hasil dekompresi RLE, serta menampilkan detail citra, dan running time.
Success Scenario
1. Pengguna memilih tombol ‘Dekompres’ pada panel Run Length Encoding.
2. Pengguna memilih file hasil kompresi RLE yang akan didekompresi.
3. Sistem membaca dua nilai piksel awal.
4. Sistem menuliskan nilai piksel pertama sebanyak nilai piksel kedua.
5. Sistem membaca dua nilai piksel selanjutnya, kemudian melakukan perulangan pada langkah 3 dan 4 hingga semua piksel pada citra diperiksa.
6. Sistem menyimpan dan menampilkan citra hasil dekompresi RLE, serta menampilkan detail citra, dan running time.
-3.1.3.1.5 Use Case Kompresi Transformasi Wavelet Daubechies
Tabel 3.5 merupakan spesifikasi use case Kompresi Transformasi Wavelet Daubechies.
Tabel 3.5 Use Case Kompresi Transformasi Wavelet Daubechies
Name Kompresi Transformasi Wavelet Daubechies Actors Pengguna
Trigger Pengguna memilih tombol ‘Kompres’ pada panel Transformasi Wavelet Daubechies.
Preconditions Sistem telah menampilkan citra hasil dekompresi Transformasi Wavelet Daubechies
Post Conditions
Sistem menyimpan dan menampilkan citra hasil kompresi Transformasi Wavelet Daubechies, serta menampilkan detail citra, running time, rasio kompresi, dan data redudansinya.
Success Scenario
1. Pengguna memilih tombol ‘Kompres’ pada panelTransformasi Wavelet Daubechies
2. Sistem melakukan transformasi menggunakan Wavelet Daubechies terhadap citra
masukkan.
3. Sistem melakukan proses kuantisasi terhadap citra yabng sudah ditransformasi.
4. Sistem membaca dua nilai piksel awal pada citra terkuantisasi.
5. Sistem memeriksa apakah nilai piksel pertama sama dengan nilai piksel kedua.
6. Jika nilai piksel pertama berbeda dengan nilai piksel kedua, sistem akan menuliskan
nilai piksel pertama diikuti dengan nilai 1, sedangkan nilai piksel kedua akan
dijadikan piksel pertama, kemudian piksel selanjutnya menjadi piksel kedua dan
melakukan perulangan seperti pada langkah 3.
7. Jika nilai piksel pertama sama dengan nilai piksel kedua, maka sistem akan
memeriksa nilai piksel selanjutnya, sampai ditemukan nilai piksel yang berbeda
dengan nilai piksel pertama.
8. Sistem akan menuliskan nilai piksel pertama dan diikuti dengan jumlah piksel yang
memiliki nilai yang sama dengan piksel pertama.
9. Sistem akan membaca dua nilai piksel selanjutnya dan melakukan perulangan pada
langkah 3 sampai dengan langkah 6, hingga semua piksel pada citra diperiksa.
10.Sistem menyimpan dan menampilkan citra hasil kompresi Transformasi Wavelet
Daubechies, serta menampilkan detail citra, running time, rasio kompresi, dan data
redudansinya.
-3.1.3.1.6 Use Case Dekompresi Transformasi Wavelet Daubechies
Tabel 3.6 merupakan spesifikasi use case Dekompresi Transformasi Wavelet Daubechies.
Tabel 3.6 Spesifikasi Use Case Dekompresi Transformasi Wavelet Daubechies
Name Dekompresi Transformasi Wavelet Daubechies
Actors Pengguna
Trigger Pengguna memilih tombol ‘Dekompres’ pada panel Transformasi Wavelet Daubechies
Preconditions Sistem telah menampilkan citra hasil kompresi .
Post Conditions
Sistem menyimpan dan menampilkan citra hasil dekompresi Transformasi Wavelet Daubechies , serta menampilkan detail citra, dan running time.
Success Scenario
1. Pengguna memilih tombol ‘Dekompres’ pada panel Transformasi Wavelet Daubechies.
2. Pengguna memilih file hasil kompresi Transformasi Wavelet Daubechies yang akan didekompresi.
3. Sistem membaca dua nilai piksel awal.
4. Sistem menuliskan nilai piksel pertama sebanyak nilai piksel kedua.
5. Sistem membaca dua nilai piksel selanjutnya, kemudian melakukan perulangan pada langkah 3 dan 4 hingga semua piksel pada citra diperiksa.
6. Sistem melakukan proses dekuantisasi terhadap citra yang telah di-decoding.
7. Sistem melaukan proses invers trasformasi terhadap citra yang telah didekuantisasi.
8. Sistem menyimpan dan menampilkan citra hasil dekompresi Transformasi Wavelet Daubechies, serta menampilkan detail citra, dan running time.
-3.1.3.2 Activity Diagram
Berikut akan dijelaskan bagaimana proses ‘Perbandingan’ yang bertujuan untuk membandingkan citra hasil kompresi metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies pada citra digital dengan menggunakan activity diagram.
3.1.3.2.1 Activity Diagram Run Length Encoding
Gambar 3.3 menunjukan activity diagram run length encoding.
SISTEM USER
Pilih tombol 'Kompresi RLE' Membaca dua nilai piksel awal
Memeriksa apakah nilai piksel pertama dan kedua sama
Pilih tombol 'Dekompresi RLE'
Tulis nilai pertama, diikuti nilai 1 Memeriksa nilai piksel selanjutnya sampai didapatkan nilai piksel berbeda
Menuliskan nilai piksel pertama dan jumlah piksel yang sama dengan piksel pertama
Menjadikan piksel kedua menjadi piksel pertama dan piksel selanjutnya menjadi piksel kedua
ya tidak
Memeriksa apakah piksel kedua merupakan piksel terakhir
Menulis nilai piksel pertama
Menulis jumlah piksel
Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra
Menampilkan rasio kompresi, data redudansi dan running time proses kompresi
ya
tidak
Membaca dua nilai piksel awal
Menuliskan nilai piksel pertama sebanyak nilai piksel kedua
Memeriksa apakah piksel kedua merupakan piksel terakhir
ya
tidak
Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra
Menampilkan running time proses kompresi
3.1.3.2.2 Activity Diagram Transformasi Wavelet Daubechies
Gambar 3.4 menunjukan activity diagram transformasi wavelet daubechies.
SISTEM USER
Pilih tombol 'Kompresi RLE'
Membaca dua nilai piksel awal
Memeriksa apakah nilai piksel pertama dan kedua sama
Pilih tombol 'Dekompresi RLE'
Tulis nilai pertama, diikuti nilai 1 Memeriksa nilai piksel selanjutnya sampai didapatkan nilai piksel berbeda
Menuliskan nilai piksel pertama dan jumlah piksel yang sama dengan piksel pertama
Menjadikan piksel kedua menjadi piksel pertama dan piksel selanjutnya menjadi piksel kedua
ya tidak
Memeriksa apakah piksel kedua merupakan piksel terakhir
Menulis nilai piksel pertama
Menulis jumlah piksel
Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra
Menampilkan rasio kompresi, data redudansi dan running time proses kompresi
ya
tidak
Membaca dua nilai piksel awal
Menuliskan nilai piksel pertama sebanyak nilai piksel kedua
Memeriksa apakah piksel kedua merupakan piksel terakhir
ya
tidak
Menampilkan citra hasil kompresi Transformasi Wavelet Daubechies dan detail citra
Menampilkan running time proses kompresi Melakukan transformasi wavelet daubechies terhadap citra
Melakukan kuantisasi terhadap citra
Melakukan dekuantisasi terhadap citra
Melakukan inverse transformasi wavelet daubechies terhadap citra
3.1.3.3 Sequence Diagram
Berikut akan dijelaskan tentang proses perbandingan kualitas citra hasil kompresi metode Run Length Encoding (RLE) dengan Transformasi Wavelet Daubechies dengan menggunakan sequence diagram. Gambar 3.4 menunjukan proses kerja sistem pada sequence diagram.
Pengguna
Kompresi RLE
Kompresi RLE
Dekompresi RLE Dekompresi RLE
Kompresi Transformasi Wavelet Daubechies
Dekompresi Transformasi Wavelet Daubechies Kompresi Transformasi Wavelet Daubechies
Dekompresi Transformasi Wavelet Daubechies Menyimpan citra, menampilkan citra, detail citra
Menampilkan running time, ratio kompresi, dan data redudansi
Menyimpan citra, menampilkan citra, detail citra
Menampilkan running time
Menyimpan citra, menampilkan citra, detail citra Menampilkan running time, ratio kompresi, dan data redudansi
Menyimpan citra, menampilkan citra, detail citra Menampilkan running time
Gambar 3.5 Sequence Diagram Sistem
3.1.3.4 Flowchart
Flowchart (diagram alir) adalah bagan yang menunjukkan urutan dan hubungan antar proses berserta pernyataannya. Bagan ini dibentuk dengan simbol-simbol yang dihubungan, yang artinya setiap simbol memiliki arti-arti tertentu.
3.1.3.4.1 Flowchart Sistem
Flowchart sistem dapat dilihat pada Gambar 3.6 sebagai berikut.
Mulai
3.1.3.4.2 Flowchart Kompresi Run Length Encoding
3.1.3.4.3 Flowchart Dekompresi Run Length Encoding
Flowchart Dekompresi Run Length Encoding dapat dilihat pada Gambar 3.8 sebagai berikut.
3.1.3.4.4 Flowchart Kompresi Transformasi Wavelet Daubechies
Flowchart Kompresi Transformasi Wavelet Daubechies dapat dilihat pada Gambar 3.9 sebagai berikut.
3.1.3.4.5 Flowchart Dekompresi Transformasi Wavelet Daubechies
Flowchart Dekompresi Transformasi Wavelet Daubechies dapat dilihat pada Gambar 3.10 sebagai berikut.
3.2 Perancangan Sistem
Pada tahapan ini akan dijelaskan tentang pseudocode dari program, perancangan perangkat lunak, hingga perancangan antamuka untuk pengguna (user interface).
3.2.1 Pseudocode Program
Pseudocode atau kode palsu merupakan penulisan ringkas dari algoritma pemrograman komputer dari suatu bahasa pemrograman, yang ditujukan untuk dibaca oleh manusia. Tujuannya adalah untuk memudahkan manusia dalam pemahaman dibandingkan menggunakan bahasa pemrograman yang umumnya digunakan. Adapun pseudocode yang akan dijelaskan dalam skripsi ini adalah pseudocode dari kompresi maupun dekompresi metode Run Length Encoding (RLE) dan kompresi maupun dekompresi Transformasi Wavelet Daubechies.
3.2.1.1Pseudocode Kompresi Run Length Encoding
Adapun pseudocode dari kompresi Run Length Encoding terlihat pada Gambar 3.11 sebagai berikut.
Gambar 3.11 Pseudocode Kompresi Run Length Encoding
citra citraawal
citrahasil(1:2) size(citra)
3.2.1.2Pseudocode Dekompresi Run Length Encoding
Adapun pseudocode dari dekompresi Run Length Encoding terlihat pada Gambar 3.12 sebagai berikut.
Gambar 3.12 Pseudocode Dekompresi Run Length Encoding
citra citraawal
citrahasil citra(1:2)
a 1 b 0
for i=2:length(citra)/2 for j=1:citra(2*i)
b b+1
citrahasil(a,b)=citra(2*i-1) if (b==citra(2))
a a+1
b 0
3.2.1.3Pseudocode Kompresi dengan Transformasi Wavelet Daubechies
3.2.1.3.1 Pseudocode Transformasi Wavelet Daubechies
Adapun pseudocode dari Transformasi Wavelet Daubechies terlihat pada Gambar 3.13 sebagai berikut.
Gambar 3.13 Pseudocode Transformasi Wavelet Daubechies
citra citra_awal
[a,b] size(citra)
count 0
citra_hasil citra
level 1
while count < level,
k 1 j 1 index 1
while(k <= b), for j = 1:a,
citra_hasil1(j,index) (citra(j,k)+citra(j,k+1))/2
citra_hasil1(j,(b/2)+(index)) (citra(j,k)-citra(j,k+1))/2
end
citra_hasil(index,k)(citra_hasil1(j,k)+citra_hasil1(j+1,k))/2
citra_hasil((a/2)+(index),k)
(citra_hasil1(j,k)-citra_hasil1(j+1,k))/2
3.2.1.3.2 Pseudocode Kuantisasi
Adapun pseudocode dari kuantisasi terlihat pada Gambar 3.14 sebagai berikut.
Gambar 3.14 Pseudocode Kuantisasi
3.2.1.3.3 Pseudocode Encoding
Adapun pseudocode dari encoding terlihat pada Gambar 3.15 sebagai berikut.
Gambar 3.15 Pseudocode Encoding
citra citraawal
citrahasil(1:2) size(citra)
3.2.1.4Pseudocode Dekompresi dengan Transformasi Wavelet Daubechies
3.2.1.4.1 Pseudocode Inverse Transformasi Wavelet Daubechies
Adapun pseudocode dari Inverse Transformasi Wavelet Daubechies terlihat pada Gambar 3.16 sebagai berikut.
Gambar 3.16 Pseudocode Inverse Transformasi Wavelet Daubechies
citra citra_awal
while count < level
index 1 j 1 k 1
while j < a, for k = 1:b,
citra_hasil1(j,k) (citra(index,k) + citra(index+a/2,k))
citra_hasil1(j+1,k) (citra(index,k) - citra(index+a/2,k))
end
3.2.1.4.2 Pseudocode Dekuantisasi
Adapun pseudocode dari dekuantisasi terlihat pada Gambar 3.17 sebagai berikut.
Gambar 3.17 Pseudocode Dekuantisasi
3.2.1.4.3 Pseudocode Decoding
Adapun pseudocode dari decoding terlihat pada Gambar 3.18 sebagai berikut.
Gambar 3.18 Pseudocode Decoding
3.2.2 Perancangan Antarmuka Pengguna (User Interface)
Perancangan antarmuka (interface) merupakan proses untuk merancang perantara yang menghubungkan antara pengguna dengan sistem. Pada tahap ini akan dilakukan perancangan antarmuka sistem yang akan digunakan dimana sistem dirancang dalam 3 buah form, yaitu Home, Perbandingan, dan Help.
3.2.2.1Perancangan AntarmukaHome
Home merupakan halaman yang pertama kali muncul saat sistem dijalankan. Tampilan antarmuka Home memilki 3 menu yaitu ‘Perbandingan’, ‘Help’, dan ‘Exit. Tampilan antarmuka menu Home dapat dilihat pada Gambar 3.19.
PERBANDINGAN
Gambar 3.19 Perancangan Antarmuka Home
Keterangan:
1. Label untuk keterangan judul skripsi. 2. Label untuk keterangan nama dan nim. 3. Axes sebagai tempat untuk logo.
4. Button untuk membuka menu Perbandingan. 5. Button untuk membuka menu Help.
3.2.2.2Perancangan AntarmukaMenu Perbandingan
Perbandingan merupakan form yang digunakan untuk proses perbandingan kualitas citra hasil kompresi metode Run Length Encoding dengan Transformasi Wavelet Daubechies pada citra digital. Tampilan antarmuka menu Perbandingan dapat dilihat pada Gambar 3.20.
EXIT RUN LENGTH ENCODING VS TRANSFORMASI WAVELET DAUBECHIES
Citra Awal
Gambar 3.20 Perancangan Antarmuka Menu Perbandingan
Keterangan:
1. Button untuk kembali pada menu Home. 2. Button untuk keluar dari sistem.
3. Axes sebagai tempat citra awal.
4. Axes sebagai tempat citra hasil kompresi menggunakan metode Run Length Encoding.
5. Axes sebagai tempat citra hasil dekompresi menggunakan metode Run Length Encoding.
6. Axes sebagai tempat citra hasil kompresi menggunakan metode Transformasi Wavelet Daubechies.
7. Axes sebagai tempat citra hasil dekompresi menggunakan metode Transformasi Wavelet Daubechies.
8. Button untuk mengambil citra awal.
10.Button untuk melakukan dekompresi citra menggunakan metode Run Length Encoding.
11.Button untuk melakukan kompresi citra menggunakan metode Transformasi Wavelet Daubechies.
12.Button untuk melakukan dekompresi citra menggunakan metode Transformasi Wavelet Daubechies.
13.Label keterangan nama file citra awal. 14.Label keterangan ukuran citra awal.
15.Edit text untuk menampilkan nama file dari citra awal. 16.Edit text untuk menampilkan ukuran dari citra awal. 17.Button untuk me-reset proses kompresi citra.
18.Label keterangan ukuran file citra hasil kompresi menggunakan metode Run Length Encoding.
19.Label keterangan running time citra hasil kompresi menggunakan metode Run Length Encoding.
20.Label keterangan rasio kompresi citra menggunakan metode Run Length Encoding.
21.Label keterangan nilai redudansi data citra hasil kompresi menggunakan metode Run Length Encoding.
22.Edit text untuk menampilkan ukuran dari citra hasil kompresi menggunakan metode Run Length Encoding.
23.Edit text untuk menampilkan running time dari citra hasil kompresi menggunakan metode Run Length Encoding.
24.Edit text untuk menampilkan rasio kompresi dari citra hasil kompresi menggunakan metode Run Length Encoding.
25.Edit text untuk menampilkan nilai redudansi data dari citra hasil kompresi menggunakan metode Run Length Encoding.
26.Label keterangan ukuran file citra hasil dekompresi menggunakan metode Run Length Encoding.
27.Label keterangan running time citra hasil dekompresi menggunakan metode Run Length Encoding.