Analisis Perbandingan Kompresi Citra Menggunakan Metode Joint Photographic Experts Group (Jpeg) Dan Burrows-Wheeler Transform (Bwt)
DAN BURROWS-WHEELER TRANSFORM (BWT)
SKRIPSI
YUDHA PRAYOGIE S
101401006
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015
(2)
DAN BURROWS-WHEELER TRANSFORM (BWT)
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Komputer
SKRIPSI
YUDHA PRAYOGIE S
101401006
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015
(3)
PERSETUJUAN
Judul : ANALISIS PERBANDINGAN KOMPRESI CITRA
MENGGUNAKAN METODE JOINT
PHOTOGRAPHIC EXPERTS GROUP (JPEG) DAN BURROWS-WHEELER TRANSFORM (BWT)
Kategori : SKRIPSI
Nama : YUDHA PRAYOGIE S
Nomor Induk Mahasiswa : 101401006
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 10 Februari 2015
Komisi Pembimbing :
Pembimbing II Pembimbing I
Handrizal, S.Si, M.Comp.Sc Maya Silvi Lydia, B.Sc, M.Sc
NIP. - NIP.19740127 200212 2 001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
(4)
PERNYATAAN
ANALISIS PERBANDINGAN KOMPRESI CITRA MENGGUNAKAN METODE JOINT PHOTOGRAPHIC EXPERTS GROUP (JPEG) DAN
BURROWS-WHEELER TRANSFORM (BWT)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 10 Februari 2015
Yudha Prayogie S 101401006
(5)
PENGHARGAAN
Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah kepada penulis sehingga penulis dapat menyelesaikan 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 skripsi ini dengan baik. Oleh karena itu penulis mengucapkan banyak terima kasih kepada :
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, MSc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku 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 dan Dosen Pembimbing I yang telah banyak meluangkan waktunya dalam memberikan masukkan-masukkan kepada penulis.
5. Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dalam memberikan masukkan-masukkan kepada penulis.
6. Bapak Muhammad Andri Budiman, S.T, M.Comp.Sc, M.E.M selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. Bapak Rahmat Aulia, S.Kom, M.Sc selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini. 8. Ibu Dian Rachmawati, S.Si, M.Kom selaku Kepala Lab. Tugas Akhir yang
(6)
9. Semua dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
10.Ayahanda T. Simanjuntak, S.H dan Ibunda Sri Sudiartin yang menjadi motivasi penulis untuk sukses dan selalu memberikan dukungan baik materi maupun non-materi, perhatian serta doa tanpa henti kepada penulis. 11.Kakak tercinta Yeni Purtika Simanjuntak, S.Pd dan adik tercinta Yumna’a
Rifqi Simanjuntak yang memberikan dukungan, motivasi, dan selalu mendoakan penulis.
12.Adinda tersayang Rahmi Silviyani, S.Ked yang selalu memberikan motivasi dalam penulisan tugas akhir ini kepada penulis.
13.Sahabat seperjuangan Rahman Abdel Rouf, S.Hut yang selalu memberikan dukungan dan semangat kepada penulis.
14.Sahabatku Edo Affan, S.Kom, Andhika Fajar, S.Kom, Novri Pramana Putra, S.Kom, Zulwita Hariyati, S.Kom, dan Hayatun Nufus, S.Kom yang telah memberikan dukungan dan semangat kepada penulis.
15.Teman-teman Stambuk 2010 (Kom A dan Kom B) yang telah memberikan semangat kepada penulis.
Penulis menyadari bahwa penulisan skripsi ini masih banyak keterbatasan dan kekurangan. Untuk itu kritik dan saran yang sifatnya membangun sangat penulis harapkan. Akhirnya penulis ucapkan semoga skripsi ini dapat bermanfaat bagi pembaca dan bagi penulis khususnya.
Medan, 10 Februari 2015
(7)
ABSTRAK
Citra merupakan salah satu media yang paling populer digunakan dalam pertukaran informasi pada saat sekarang. Peningkatan kebutuhan terhadap penggunaan citra harus pula didukung oleh media penyimpanan yang tersedia. Namun biasanya citra yang dihasilkan dari perangkat berkamera memiliki ukuran yang relatif besar. Masalah ini dapat diatasi dengan melakukan kompresi pada citra. Pada skripsi ini akan dibahas mengenai analisis dan perbandingan kompresi citra menggunakan metode Joint
Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform (BWT).
Metode JPEG yang mewakili lossy compression akan dianalisis dan dibandingkan kinerjanya dengan metode BWT yang mewakili lossless compression menggunakan parameter rasio kompresi, waktu kompresi, dan waktu dekompresi. Berdasarkan seluruh hasil pengujian dapat dilihat bahwa metode JPEG menghasilkan rata-rata rasio kompresi 6,3 dan rasio kompresi metode BWT 1,38. Kemudian metode JPEG memiliki rata-rata waktu kompresi 3,06 detik dan metode BWT 2,07 detik. Selanjutnya rata-rata waktu dekompresi yang dihasilkan metode JPEG adalah 2,81 detik dan metode BWT 0,92 detik. Kesimpulan yang diperoleh dari hasil pengujian adalah metode JPEG lebih efisien dalam mengkompresi citra bitmap (*.bmp) dibandingkan metode BWT, sedangkan dalam hal waktu kompresi dan dekompresi metode BWT lebih cepat dibandingkan metode JPEG.
Kata kunci : Kompresi Citra, Joint Photographic Experts Group (JPEG),
(8)
ANALYSIS COMPARISON OF IMAGE COMPRESSION USING JOINT PHOTOGRAPHIC EXPERTS GROUP (JPEG) AND BURROWS-
WHEELER TRANSFORM (BWT) METHOD
ABSTRACT
Image is one of the most popular media used in the exchange of information at the present time. The increased need of using image should also be supported by the available storage. However, usually the size of the resulting image from the camera of a device is relatively large. This problem could be overcome by performing compression on the image. This study would discuss the analysis and comparison of image compression using Joint Photographic Experts Group (JPEG) and Burrows-Wheeler Transform (BWT). The working process of JPEG method representing lossy compression would be compared and analyzed to the BWT method with its lossless compression by the parameter of compression ratio, compression time, and decompression time. Based on the test results, it could be seen that the JPEG method produces an average compression ratio of 6,3 and 1,38 for BWT method. Then the JPEG method has an average compression time of 3,06 seconds and BWT method of 2,07 seconds. Afterward the average result of decompression time of JPEG method is 2,81 seconds and 0,92 seconds for BWT method. It can be concluded from the test results that the JPEG method is more efficient in compressing bitmap image (* .bmp) compared to BWT method; although in terms of compression and decompression time BWT method is slightly faster than the JPEG method.
Keywords: Image Compression, Joint Photographic Experts Group (JPEG), Burrows-Wheeler Transform (BWT).
(9)
DAFTAR ISI
PERSETUJUAN ... ii
PERNYATAAN ... iii
PENGHARGAAN ... iv
ABSTRAK ... vi
ABSTRACT ... vii
DAFTAR ISI ... viii
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 3
1.4 Tujuan Penelitian ... 3
1.5 Manfaat Penelitian ... 3
1.6 Metode Penelitian ... 3
1.7 Sistematika Penulisan ... 4
BAB 2 TINJAUAN PUSTAKA ... 6
2.1 Pengertian Citra ... 6
2.2 Jenis-jenis Citra Digital ... 8
2.3 Citra Bitmap ... 9
2.4 Kompresi Citra ... 10
2.4.1 Teknik Kompresi Citra... 11
2.5 Metode Joint Photographic Experts Group (JPEG)... 11
2.5.1 Proses Kompresi Joint Photographic Experts Group (JPEG) ... 12
2.5.2 Proses Dekompresi Joint Photographic Experts Group (JPEG) .... 15
2.6 Metode Burrows-Wheeler Transform (BWT) ... 17
2.6.1 Proses Kompresi Burrows-Wheeler Transform (BWT) ... 17
2.6.2 Proses Dekompresi Burrows-Wheeler Transform (BWT) ... 19
2.7 Rasio Kompresi ... 20
2.8 Waktu Kompresi ... 21
2.9 Waktu Dekompresi ... 21
2.10 Hasil Penelitian Sebelumnya ... 21
BAB 3 ANALISIS DAN PERANCANGAN ... 24
3.1 Analisis Sistem ... 24
3.1.1 Analisis Masalah ... 24
(10)
3.1.2.1 Persyaratan Fungsional ... 26
3.1.2.2 Persyaratan Non-Fungsional ... 26
3.1.3 Analisis Proses ... 27
3.1.3.1 Analisis Proses Metode Joint Photographic Experts Group (JPEG) ... 27
3.1.3.2 Analisis Proses Metode Burrows-Wheeler Transform (BWT) ... 28
3.2 Pemodelan ... 29
3.2.1 Use Case Diagram ... 29
3.2.2 Sequence Diagram ... 31
3.2.3 Activity Diagram ... 33
3.3 Pseudocode Program ... 36
3.3.1 Pseudocode Proses Kompresi Metode Joint Photographic Experts Group (JPEG) ... 37
3.3.2 Pseudocode Proses Dekompresi Metode Joint Photographic Experts Group (JPEG) ... 38
3.3.3 Pseudocode Proses Kompresi Metode Burrows-Wheeler Transform (BWT) ... 39
3.3.4 Pseudocode Proses Dekompresi Metode Burrows-Wheeler Transform (BWT) ... 40
3.4 Perancangan Sistem ... 41
3.4.1 Perancangan Flowchart Sistem ... 41
3.4.2 Perancangan Interface Aplikasi ... 43
3.4.2.1 Form Awal ... 43
3.4.2.2 Form Metode Joint Photographic Experts Group (JPEG). ... 44
3.4.2.3 Form Metode Burrows-Wheeler Transform (BWT) ... 46
3.4.2.4 Form Bantuan ... 47
3.4.2.5 Form Profil Programmer ... 48
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 50
4.1 Implementasi ... 50
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak yang Digunakan ... 50
4.1.2 Form Awal ... 51
4.1.3 Form Metode Joint Photographic Experts Group (JPEG) ... 51
4.1.4 Form Metode Burrows-Wheeler Transform (BWT) ... 56
4.1.5 Form Bantuan ... 61
4.1.6 Form Profil Programmer ... 62
4.2 Pengujian ... 63
4.2.1 Skenario Pengujian ... 63
4.2.2 Analisis Data Hasil Pengujian Sistem ... 65
4.2.2.1 Analisis Rasio Kompresi antara Metode Joint Photographic Experts Group (JPEG) dan Metode Burrows-Wheeler Transform (BWT) ... 65
(11)
4.2.2.2 Analisis Waktu Kompresi antara Metode Joint
Photographic Experts Group (JPEG) dan Metode
Burrows-Wheeler Transform (BWT) ... 67
4.2.2.3 Analisis Waktu Dekompresi antara Metode Joint Photographic Experts Group (JPEG) dan Metode Burrows-Wheeler Transform (BWT) ... 68
BAB 5 KESIMPULAN DAN SARAN ... 71
5.1 Kesimpulan ... 71
5.2 Saran ... 72
DAFTAR PUSTAKA ... 73
LAMPIRAN
(12)
DAFTAR TABEL
Tabel 2.1 Tabel Kuantisasi Luminance ... 14
Tabel 2.2 Hasil Penelitian Metode JPEG dan Metode BWT ... 22
Tabel 4.1 Citra Uji ... 63
Tabel 4.2 Rasio Kompresi Metode JPEG dan Metode BWT ... 65
Tabel 4.3 Waktu Kompresi Metode JPEG dan Metode BWT ... 67
(13)
DAFTAR GAMBAR
Gambar 2.1 Sistem Koordinat Citra Berukuran M×N ... 7
Gambar 2.2 Citra RGB ... 8
Gambar 2.3 Citra Grayscale ... 8
Gambar 2.4 Citra Biner ... 9
Gambar 2.5 Contoh Citra Bitmap (*.bmp) ... 10
Gambar 2.6 Pola Basis DCT 8×8. ... 12
Gambar 2.7 Proses Zig-zag ... 14
Gambar 2.8 Matriks Hasil Kuantisasi setelah Dilakukan Proses Zig-zag ... 15
Gambar 2.9 Tahap Pertama Forward Transform dari BWT ... 18
Gambar 2.10 Tahap Kedua dan Ketiga Forward Transform dari BWT ... 18
Gambar 2.11 Tahap Pertama Reverse Transform dari BWT ... 19
Gambar 2.12 Tahap Kedua Reverse Transform dari BWT ... 19
Gambar 2.13 Tahap Ketiga Reverse Transform dari BWT ... 20
Gambar 3.1 Mind Map Analisis Masalah ... 25
Gambar 3.2 Use Case Diagram Sistem ... 30
Gambar 3.3 Sequence Diagram Sistem Metode Joint Photographic Experts Group (JPEG) ... 31
Gambar 3.4 Sequence Diagram Sistem Metode Burrows-Wheeler Transform (BWT) ... 32
Gambar 3.5 Activity Diagram Sistem Metode Joint Photographic Experts Group (JPEG) ... 34
Gambar 3.6 Activity Diagram Sistem Metode Burrows-Wheeler Transform (BWT) ... 35
Gambar 3.7 Flowchart Sistem ... 42
Gambar 3.8 Rancangan Interface Form Awal ... 44
Gambar 3.9 Rancangan Interface Form Metode JPEG ... 45
Gambar 3.10 Rancangan Interface Form Metode BWT... 46
Gambar 3.11 Rancangan Interface Form Bantuan ... 48
Gambar 3.12 Rancangan Interface Form Profil Programmer ... 49
Gambar 4.1 Form Awal ... 51
Gambar 4.2 Form Metode JPEG... 52
Gambar 4.3 Interface Buka File Citra pada Form Metode JPEG ... 52
Gambar 4.4 Pesan Error pada Form Metode JPEG... 53
Gambar 4.5 Form Konversi Citra Warna... 54
Gambar 4.6 Proses Kompresi pada Form Metode JPEG ... 54
Gambar 4.7 File Hasil Kompresi pada Metode JPEG ... 55
Gambar 4.8 Proses Dekompresi pada Form Metode JPEG ... 55
Gambar 4.9 Citra Hasil Dekompresi pada Form Metode JPEG ... 56
Gambar 4.10 Form Metode BWT ... 57
Gambar 4.11 Interface Buka File Citra pada Form Metode BWT ... 57
Gambar 4.12 Pesan Error pada Form Metode JPEG... 58
Gambar 4.13 Form Konversi Citra Warna ... 59
(14)
Gambar 4.15 File Hasil Kompresi pada Form Metode BWT... 60
Gambar 4.16 Proses Dekompresi pada Form Metode BWT ... 60
Gambar 4.17 Citra Hasil Dekompresi pada Form Metode BWT ... 61
Gambar 4.18 Form Bantuan... 62
Gambar 4.19 Form Profil Programmer ... 62
Gambar 4.20 Grafik Perbandingan Rasio Kompresi Metode Joint Photographic Experts Group (JPEG) dan Metode Burrows-Wheeler Transform (BWT) ... 66
Gambar 4.21 Grafik Perbandingan Waktu Kompresi Metode Joint Photographic Experts Group (JPEG) dan Metode Burrows-Wheeler Transform (BWT) ... 68
Gambar 4.22 Grafik Perbandingan Waktu Dekompresi Metode Joint Photographic Experts Group (JPEG) dan Metode Burrows-Wheeler Transform (BWT) ... 69
(15)
ABSTRAK
Citra merupakan salah satu media yang paling populer digunakan dalam pertukaran informasi pada saat sekarang. Peningkatan kebutuhan terhadap penggunaan citra harus pula didukung oleh media penyimpanan yang tersedia. Namun biasanya citra yang dihasilkan dari perangkat berkamera memiliki ukuran yang relatif besar. Masalah ini dapat diatasi dengan melakukan kompresi pada citra. Pada skripsi ini akan dibahas mengenai analisis dan perbandingan kompresi citra menggunakan metode Joint
Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform (BWT).
Metode JPEG yang mewakili lossy compression akan dianalisis dan dibandingkan kinerjanya dengan metode BWT yang mewakili lossless compression menggunakan parameter rasio kompresi, waktu kompresi, dan waktu dekompresi. Berdasarkan seluruh hasil pengujian dapat dilihat bahwa metode JPEG menghasilkan rata-rata rasio kompresi 6,3 dan rasio kompresi metode BWT 1,38. Kemudian metode JPEG memiliki rata-rata waktu kompresi 3,06 detik dan metode BWT 2,07 detik. Selanjutnya rata-rata waktu dekompresi yang dihasilkan metode JPEG adalah 2,81 detik dan metode BWT 0,92 detik. Kesimpulan yang diperoleh dari hasil pengujian adalah metode JPEG lebih efisien dalam mengkompresi citra bitmap (*.bmp) dibandingkan metode BWT, sedangkan dalam hal waktu kompresi dan dekompresi metode BWT lebih cepat dibandingkan metode JPEG.
Kata kunci : Kompresi Citra, Joint Photographic Experts Group (JPEG),
(16)
ANALYSIS COMPARISON OF IMAGE COMPRESSION USING JOINT PHOTOGRAPHIC EXPERTS GROUP (JPEG) AND BURROWS-
WHEELER TRANSFORM (BWT) METHOD
ABSTRACT
Image is one of the most popular media used in the exchange of information at the present time. The increased need of using image should also be supported by the available storage. However, usually the size of the resulting image from the camera of a device is relatively large. This problem could be overcome by performing compression on the image. This study would discuss the analysis and comparison of image compression using Joint Photographic Experts Group (JPEG) and Burrows-Wheeler Transform (BWT). The working process of JPEG method representing lossy compression would be compared and analyzed to the BWT method with its lossless compression by the parameter of compression ratio, compression time, and decompression time. Based on the test results, it could be seen that the JPEG method produces an average compression ratio of 6,3 and 1,38 for BWT method. Then the JPEG method has an average compression time of 3,06 seconds and BWT method of 2,07 seconds. Afterward the average result of decompression time of JPEG method is 2,81 seconds and 0,92 seconds for BWT method. It can be concluded from the test results that the JPEG method is more efficient in compressing bitmap image (* .bmp) compared to BWT method; although in terms of compression and decompression time BWT method is slightly faster than the JPEG method.
Keywords: Image Compression, Joint Photographic Experts Group (JPEG), Burrows-Wheeler Transform (BWT).
(17)
PENDAHULUAN
Bab ini membahas tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan pada penelitian ini.
1.1 Latar Belakang
Citra merupakan salah satu media yang paling populer digunakan dalam pertukaran informasi pada saat sekarang. Peningkatan kebutuhan terhadap penggunaan citra harus pula didukung oleh media penyimpanan yang tersedia. Namun biasanya citra yang dihasilkan dari setiap perangkat berkamera memiliki ukuran yang relatif besar. Citra yang memiliki ukuran besar tentunya akan membutuhkan media penyimpanan yang besar pula. Begitu juga dengan keperluan pengiriman, semakin besar citra maka waktu yang dibutuhkan untuk pengiriman juga semakin lama. Sementara keterbatasan media penyimpanan dan kapasitas bandwith menjadi masalah bagi setiap pengguna. Semua masalah ini dapat diatasi dengan melakukan kompresi citra.
Teknik kompresi citra dapat dikelompokkan menjadi dua yaitu lossless
compression dan lossy compression. Lossless compression merupakan kompresi citra
di mana hasil dekompresi dari citra yang terkompresi sama dengan citra aslinya, tidak ada informasi yang hilang (Sutoyo, 2009). Lossy compression adalah kompresi citra dimana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya karena ada informasi yang hilang, tetapi masih bisa ditolerir oleh persepsi mata (Sutoyo, 2009).
(18)
Pada penelitian yang akan dilakukan ini, metode yang digunakan untuk membandingkan kompresi citra adalah Joint Photographic Experts Group (JPEG) dan
Burrows-Wheeler Transform (BWT). Penulis memilih metode JPEG dan BWT untuk
dibandingkan karena penulis ingin mengetahui hasil kompresi yang terbaik dari dua jenis teknik kompresi citra yang berbeda, dimana metode JPEG mewakili lossy
compression sedangkan metode BWT mewakili lossless compression. Kemudian citra
yang digunakan untuk proses kompresi adalah citra bertipe bitmap (*.bmp) sebagai citra yang akan dibandingkan karena citra tersebut merupakan format penyimpanan standar tanpa kompresi sedangkan citra dengan format lain biasanya sudah mengandung kompresi. Beberapa penelitian yang berkaitan dengan skripsi ini antara lain Analisa Pengiriman Citra Terkompresi JPEG Dengan Teknik Spread Spektrum
Direct Sequence (DS-SS) (Pramitarini, 2011), Analisa Perbandingan Kinerja Teknik
Kompresi Citra Menggunakan Metode JPEG dan Wavelet Multi Variable
(Napitupulu, 2012), dan Implementasi Penggabungan Algoritma Run-Length
Encoding dan Metode Burrows-Wheeler Transform Pada Pemampatan Citra BMP
24-Bit (Setiawan, 2014).
Berdasarkan hal yang telah diuraikan di atas, penulis tertarik untuk membuat skripsi yang berjudul “Analisis Perbandingan Kompresi Citra Menggunakan Metode
Joint Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform (BWT)”.
1.2 Rumusan Masalah
Berdasarkan uraian pada latar belakang masalah, maka masalah yang akan dibahas pada penelitian ini adalah bagaimana cara mendapatkan hasil perbandingan kompresi
file citra menggunakan metode Joint Photographic Experts Group (JPEG) dan
(19)
1.3 Batasan Masalah
Batasan masalah dalam skripsi ini adalah sebagai berikut:
1. Citra yang digunakan untuk proses kompresi adalah citra bertipe bitmap (*.bmp). 2. Metode kompresi yang digunakan untuk membandingkan citra adalah Joint
Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform (BWT).
3. Parameter yang digunakan untuk membandingkan kedua metode adalah rasio kompresi, waktu kompresi, dan waktu dekompresi.
4. Tools yang digunakan adalah MATLAB R2012a.
1.4 Tujuan Penelitian
Penelitian ini bertujuan untuk menganalisis dan membandingkan hasil kompresi citra yang didapat dari metode Joint Photographic Experts Group (JPEG) dan
Burrows-Wheeler Transform (BWT).
1.5 Manfaat Penelitian
Penelitian ini diharapkan dapat bermanfaat untuk menambah pengetahuan dan referensi tentang metode Joint Photographic Experts Group (JPEG) dan
Burrows-Wheeler Transform (BWT). Penelitian ini juga menghasilkan program yang dapat
membandingkan kedua metode tersebut sehingga dapat diketahui manakah hasil kompresi yang terbaik.
1.6 Metode Penelitian
Tahapan yang akan dilakukan pada pelaksanaan skripsi ini adalah sebagai berikut: 1. Studi Literatur
Pada tahap ini dilakukan pembelajaran terhadap buku-buku, artikel-artikel, jurnal-jurnal, serta beberapa penelitian yang terkait dengan metode Joint Photographic
(20)
2. Analisis dan Perancangan
Pada tahap ini dilakukan analisis terhadap studi literatur serta dilakukan perancangan flowchart algoritma, flowchart sistem, dan perancangan antar muka sistem dengan metode Joint Photographic Experts Group (JPEG) dan
Burrows-Wheeler Transform (BWT).
3. Implementasi
Pada tahap ini dilakukan pembuatan program dengan tools MATLAB R2012a
untuk mengimplementasikan metode Joint Photographic Experts Group (JPEG)
dan Burrows-Wheeler Transform (BWT).
4. Pengujian
Dilakukan pengujian terhadap sistem yang telah dibuat berdasarkan analisis dan perancangan sebelumnya.
5. Dokumentasi
Selama pembuatan sistem dilakukan dokumentasi dalam bentuk laporan dengan format penulisan penelitian.
1.7 Sistematika Penulisan
Sistematika penulisan skripsi ini dibagi menjadi lima bab yaitu:
BAB 1: PENDAHULUAN
Bab ini berisikan penjelasan mengenai latar belakang pemilihan judul
“Analisis Perbandingan Kompresi Citra Menggunakan Metode Joint
Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform
(BWT)”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat
penelitian, metode penelitian, serta sistematika penulisan.
BAB 2: TINJAUAN PUSTAKA
Bab ini berisikan landasan teori yang berkaitan dengan pengertian citra, jenis citra, metode Joint Photographic Experts Group (JPEG), metode
(21)
Burrows-Wheeler Transform (BWT), serta parameter yang digunakan yaitu rasio kompresi, waktu kompresi, dan waktu dekompresi.
BAB 3: ANALISIS DAN PERANCANGAN
Bab ini berisikan uraian analisis mengenai proses kerja dari metode
Joint Photographic Experts Group (JPEG) dan Burrows-Wheeler
Transform (BWT) yang terdiri dari use case diagram, sequence
diagram, activity diagram, pseudocode program, flowchart, dan
perancangan tampilan form dari aplikasi.
BAB 4: IMPLEMENTASI DAN PENGUJIAN
Pada bab ini dijelaskan implementasi dari sistem yang telah dirancang sebelumnya serta pengujian terhadap sistem yang telah dibuat untuk memastikan apakah sistem berjalan sesuai dengan kebutuhan.
BAB 5: KESIMPULAN DAN SARAN
Bab ini berisikan kesimpulan yang didapat dari penjelasan yang diberikan pada bab-bab sebelumnya dan saran yang berguna untuk penyempurnaan sistem serta skripsi yang dibuat agar dapat bermanfaat dalam pengembangan selanjutnya.
(22)
TINJAUAN PUSTAKA
Bab ini membahas landasan teori yang bersifat ilmiah untuk mendukung penulisan penelitian ini. Teori-teori yang dibahas mengenai pengertian citra, jenis-jenis citra digital, metode Joint Photographic Experts Group (JPEG), metode Burrows-Wheeler
Transform (BWT), dan beberapa teori pendukung lain dalam penelitian ini.
2.1 Pengertian Citra
Pengertian citra secara umum adalah merupakan suatu gambar, foto ataupun tampilan dua dimensi lainnya yang menggambarkan suatu visualisasi 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 penyimpan (Sutoyo, 2009). Citra yang dapat disentuh dan dilihat secara nyata merupakan citra analog. Jenis lain dari citra adalah citra digital. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu (Putra, 2010). Citra digital tersusun dalam bentuk raster (grid). Kumpulan titik yang terbentuk dari citra digital dinamakan piksel (pixel atau picture element). Setiap piksel digambarkan sebagai satu kotak kecil dan mempunyai koordinat posisi (x,y) serta memiliki nilai yang menunjukkan intensitas keabuan pada piksel tersebut. Sistem koordinat yang dipakai untuk menyatakan citra digital ditunjukkan pada Gambar 2.1.
(23)
Gambar 2.1 Sistem Koordinat Citra Berukuran M×N (M baris dan N kolom) (Kadir, 2013)
Pernyataan M×N disebut resolusi pada citra. Istilah resolusi terkadang juga digunakan untuk menunjukkan jumlah piksel per satuan panjang dari citra (Salomon, 2004). Resolusi diukur dengan satuan dpi (dots per inch).
Dengan sistem koordinat yang mengikuti asas pemindaian pada layar TV standar tersebut, sebuah piksel mempunyai koordinat berupa (x,y). Dalam hal ini, x
menyatakan posisi kolom, y menyatakan posisi baris, dan piksel pojok kiri-atas mempunyai koordinat (0,0) dan piksel pada pojok kanan-bawah mempunyai koordinat (N – 1, M – 1) (Kadir, 2013).
Citra digital dapat ditulis dalam bentuk matriks seperti berikut:
[
]
Berdasarkan gambaran tersebut, citra digital dapat dituliskan sebagai fungsi intensitas f(x,y), di mana harga x (baris) dan y (kolom) merupakan koordinat posisi
dan f(x,y) adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas
(24)
2.2 Jenis-jenis Citra Digital
Terdapat tiga jenis citra digital yang umum digunakan dalam pemrosesan citra. Jenis pertama adalah citra warna. Citra warna atau citra Red-Green-Blue(RGB) merupakan jenis citra yang menyajikan warna dalam bentuk komponen Red (merah), Green
(hijau), dan Blue (Biru). Setiap komponen warna menggunakan delapan bit (nilainya berkisar antara 0 sampai dengan 255) (Kadir, 2013). Citra warna dapat dilihat pada Gambar 2.2.
Gambar 2.2 Citra RGB (Kadir, 2013)
Jenis kedua adalah citra grayscale. Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pikselnya. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas (Putra, 2010). Intensitas berkisar antara 0 sampai dengan 255. Citra jenis ini menangani gradasi warna hitam dan putih, yang tentu saja menghasilkan efek warna abu-abu. Nilai 0 menyatakan hitam dan nilai 255 menyatakan putih (Kadir, 2013). Citra grayscale dapat dilihat pada Gambar 2.3.
(25)
Jenis ketiga adalah citra biner. Citra biner adalah citra dengan setiap piksel hanya dinyatakan dengan sebuah nilai dari dua kemungkinan, yaitu nilai 0 dan 1. Nilai 0 menyatakan warna hitam dan nilai 1 menyatakan warna putih (Kadir, 2013). Citra biner dapat dilihat pada Gambar 2.4.
Gambar 2.4 Citra Biner (Kadir, 2013)
2.3 Citra Bitmap
Untuk skripsi ini, citra yang digunakan untuk proses kompresi adalah citra bitmap. Citra dengan format bitmap (*.bmp) adalah format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner, citra grayscale, dan citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai piksel (Putra, 2010).
Pada umumnya citra bitmap terdiri dari 4 blok data yaitu: BMP header, Bit
Information, Color Pallete, dan Bitmap Data. BMP header berisi informasi umum
dari citra bitmap. Blok ini berada pada bagian awal file citra dan digunakan untuk mengidentifikasi citra. Beberapa aplikasi pengolah citra akan membaca blok ini untuk memastikan bahwa citra tersebut berformat bitmap dan tidak dalam kondisi rusak. Bit
information berisi informasi detail dari citra bitmap, yang akan digunakan untuk
menampilkan citra pada layar. Color pallete berisi informasi warna yang digunakan untuk indeks warna bitmap, dan bitmap data berisi data citra yang sebenarnya, piksel per piksel (Lidya, 2012). Contoh citra bitmap ditunjukkan pada Gambar 2.5.
(26)
Gambar 2.5 Contoh Citra Bitmap (*.bmp)
2.4 Kompresi Citra
Pemampatan citra atau kompresi citra bertujuan untuk meminimalkan kebutuhan memori dalam merepresentasikan citra digital dengan mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan menjadi lebih sedikit daripada representasi citra semula (Sutoyo, 2009). Hal ini bermanfaat untuk mempersingkat waktu pengiriman citra dan juga menghemat penggunaan memori dalam storage
dibandingkan dengan citra yang tidak dikompresi.
Kompresi citra dapat meminimalkan jumlah bit yang diperlukan untuk merepresentasikan citra. Apabila sebuah foto berwarna berukuran 3 inci × 4 inci dengan tingkat resolusi sebesar 500 dot per inch (dpi), maka diperlukan 3 × 4 × 500 × 500 = 3.000.000 dot (piksel). Setiap piksel terdiri dari 3 byte dimana masing-masing
byte merepresentasikan warna merah, hijau, dan biru. Sehingga citra digital tersebut
memerlukan volume penyimpanan sebesar 3.000.000 × 3 byte + 1080 = 9.001.080
byte setelah ditambahkan jumlah byte yang diperlukan untuk menyimpan format
(header) citra. Oleh karena itu diperlukan kompresi citra sehingga ukuran citra
tersebut menjadi lebih kecil dan waktu pengiriman citra menjadi lebih cepat (Lidya, 2012).
Kompresi data lebih populer dikarenakan dua alasan yaitu (Salomon, 2004): 1. Orang-orang suka mengumpulkan data dibandingkan membuangnya.
Tidak peduli seberapa besar media penyimpanan seseorang, cepat atau lambat kapasitas media penyimpanan tersebut akan penuh.
2. Orang-orang tidak suka menunggu lama untuk perpindahan data. Ketika duduk di depan komputer, menunggu sebuah halaman web terbuka atau
(27)
untuk mengunduh sebuah file, kita tentu merasa beberapa detik adalah waktu yang lama untuk kita tunggu.
2.4.1 Teknik Kompresi Citra
Kompresi citra memiliki banyak teknik untuk melakukan pengurangan ukuran kapasitas citra. Teknik kompresi yang berbeda akan mengimplementasikan kombinasi pilihan-pilihan yang berbeda. Metode kompresi citra dapat dibagi menjadi dua jenis yaitu (Putra, 2010):
1. Kompresi Lossless, pada kompresi jenis ini informasi yang terkandung pada citra hasil sama dengan informasi pada citra asli. Citra hasil proses kompresi dapat dikembalikan secara sempurna menjadi citra asli, tidak terjadi kehilangan informasi, tidak terjadi kesalahan informasi.
2. Kompresi Lossy, kompresi data yang bersifat lossy mengijinkan terjadinya kehilangan sebagian data tertentu dari pesan tersebut, sehingga dapat menghasilkan rasio kompresi yang tinggi. Apabila citra terkompresi direkonstruksi kembali maka hasilnya tidak sama dengan citra aslinya, tetapi informasi yang terkandung tidak sampai berubah atau hilang.
2.5 Metode Joint Photographic Experts Group (JPEG)
Metode yang terdapat pada kompresi citra sangat beragam sesuai dengan klasifikasinya. Salah satu metode yang umum digunakan pada saat ini adalah metode
Joint Photographic Experts Group (JPEG). Format JPEG dikembangkan pada tahun
1982 oleh International Organization for Standardization (ISO). Tujuan utama dari ISO adalah untuk menghasilkan standarisasi dalam pengiriman citra pada jaringan. JPEG berisi beberapa algoritma kompresi citra keabuan dan citra warna dan memuat format pengiriman data (Sianipar, 2013). Salah satu hal yang menarik dari metode JPEG adalah teknik kompresinya yang menggabungkan antara lossy compression dan
lossless compression, tetapi pada akhirnya metode JPEG termasuk dalam kategori
lossy compression karena hasil dekompresi dari citra yang terkompresi tidak sama
(28)
Metode JPEG memiliki kelebihan dibandingkan dengan metode kompresi lainnya, yaitu (Pandit, 2013):
1. JPEG bekerja baik untuk foto dan citra yang kompleks. JPEG menggunakan metode kompresi yang dapat menghilangkan aspek penglihatan warna manusia dari citra untuk mengurangi ukuran citra. 2. JPEG menyimpan citra dengan kedalaman piksel antara 6 sampai 24 bit
dengan kecepatan yang wajar dan efisien.
3. JPEG adalah metode lossy yang menghapus data tidak berguna selama proses encoding.
2.5.1 Proses Kompresi Joint Photographic Experts Group (JPEG)
Proses kompresi dengan metode JPEG adalah sebagai berikut:
1. Proses Discrete Cosine Transform (DCT)
Transformasi kosinus diskrit atau Discrete Cosine Transform yang disingkat dengan DCT, mirip dengan transformasi Fourier, hanya saja DCT menggunakan komponen kosinus saja. DCT telah menjadi pilihan sebagai dasar algoritma kompresi JPEG dan MPEG (Putra, 2010). Dengan transformasi ini dapat meminimalkan jumlah data citra yang diperlukan untuk mepresentasikan suatu citra. Gambar 2.6 menunjukkan pola basis DCT untuk blok piksel 8×8.
(29)
Rumus DCT dua dimensi untuk citra dengan ukuran 8×8 dapat dinyatakan sebagai berikut (Van, 2009):
∑
∑
adalah koefisien DCT yang ditransformasikan dimana variabel dan . Kemudian adalah nilai piksel dari blok sampel asli (Van, 2009). Efek pembulatan dan pemotongan pada perhitungan 64 koefisien DCT untuk setiap blok sampel adalah implementasi yang saling memiliki ketergantungan. Dengan demikian maka dapat disimpulkan bahwa hasil output dari implementasi yang satu dengan implementasi yang lain dapat sedikit berbeda.
2. Proses Kuantisasi
Kuantisasi dalam metode JPEG adalah proses pengurangan nilai dari masing-masing koefisien DCT dengan cara membaginya dengan nilai kuantisasi yang sesuai pada tabel kuantisasi yang digunakan oleh quantizer, lalu nilai kuantisasi yang didapat dari hasil tersebut kemudian dibulatkan ke bilangan bulat terdekat. Proses kuantisasi inilah yang menyebabkan metode JPEG sebagai algoritma lossy compression. Rumus untuk menghitung nilai kuantisasi adalah sebagai berikut (Wibisono, 2003):
Nilai dari matriks Quantum (i,j) diambil dari tabel kuantisasi luminance
(30)
Tabel 2.1 Kuantisasi Luminance
i\j 0 1 2 3 4 5 6 7
0 16 11 10 16 24 40 51 61
1 12 12 14 19 26 58 60 55
2 14 13 16 24 40 57 69 56
3 14 17 22 29 51 87 80 62
4 18 22 37 56 68 109 103 77
5 24 35 55 64 81 104 113 92
6 49 64 78 87 103 121 120 101
7 72 92 95 98 112 100 103 99
Nilai kuantisasi yang telah didapat selanjutnya akan dilewatkan dalam bentuk zig-zag seperti pada Gambar 2.7.
Gambar 2.7 Proses Zig-zag (Sayood, 2006)
Elemen (0,0) dari blok 8×8 disebut sebagai Direct Current (DC), yang merupakan rata-rata dari nilai piksel. Sementara 63 elemen lainnya disebut sebagai Alternating Current (AC). Setelah dilakukan proses zig-zag scanning
atau pemindaian secara zig-zag, maka tahapan selanjutnya adalah pengkodean entropi.
3. Proses Pengkodean Entropi
Pengkodean entropi adalah tahapan terakhir pada metode JPEG yang merupakan algoritma lossless compression. Sebelum dilakukan pengkodean entropi, hasil pemindaian zig-zag dari matriks dua dimensi yang terkuantisasi
(31)
akan direpresentasikan dalam bentuk vektor satu dimensi yang ditunjukkan pada Gambar 2.8.
Gambar 2.8 Matriks Hasil Kuantisasi setelah Dilakukan Proses Zig-zag (Wibisono, 2003)
Pengkodean entropi yang digunakan pada metode JPEG adalah
Huffman Encoding. Pada proses ini nilai hasil vektor satu dimensi yaitu
koefisien Direct Current (DC) dan Alternating Current (AC) akan dikodekan dengan menggunakan metode Huffman dengan tujuan untuk menghasilkan
codeword yang lebih pendek.
2.5.2 Proses Dekompresi Joint Photographic Experts Group (JPEG)
Proses dekompresi dengan metode JPEG adalah sebagai berikut:
1. Proses Dekode Entropi
Untuk menampilkan citra yang telah terkompresi, citra hasil kompresi harus dilakukan proses dekompresi. Langkah awal proses dekompresi pada metode JPEG adalah melakukan proses dekode entropi. Jika pada proses pengkodean entropi sebelumnya menggunakan Huffman Encoding, maka pada proses dekode entropi menggunakan Huffman Decoding dengan tujuan untuk mengembalikan nilai dari hasil proses pengkodean entropi sebelumnya.
(32)
Setelah proses dekode entropi selesai, tahap selanjutnya adalah proses
unzig-zag scanning atau pemindaian kembali secara zig-zag untuk merubah
kembali bentuk vektor satu dimensi ke bentuk matriks dua dimensi agar dapat dilakukan tahap selanjutnya yaitu proses dekuantisasi.
2. Proses Dekuantisasi
Dekuantisasi merupakan fungsi invers yang mengembalikan hasil untuk representasi nilai yang dijadikan sebagai masukan ke dalam proses Inverse
Discrete Cosine Transform (IDCT). Proses dekuantisasi dapat dihitung dengan
menggunakan rumus (Wibisono, 2003):
Nilai dari matriks Quantum (i,j) diambil dari tabel kuantisasi luminance
seperti pada proses kuantisasi sebelumnya.
3. Proses Inverse Discrete Cosine Transform (IDCT)
Untuk mengambil data dari citra hasil kompresi, tahap selanjutnya adalah melakukan proses Inverse Discrete Cosine Transform (IDCT) untuk setiap blok. Semua blok akan dikombinasikan kembali ke bentuk citra yang sama dimensinya dengan citra aslinya.
Rumus untuk IDCT adalah (Van, 2009):
∑
∑
Dimana variabel dan serta √ untuk dan untuk sebaliknya.
(33)
2.6 Metode Burrows-Wheeler Transform (BWT)
Metode Burrows-Wheeler Transform (BWT) adalah algoritma kompresi data, yang pertama kali diperkenalkan pada tahun 1994 oleh Michael Burrows dan David Wheeler. Gagasan utamanya adalah memperoleh rasio kompresi data yang lebih baik untuk menghemat ruang penyimpanan dan memberikan transmisi data yang lebih cepat melalui jaringan-jaringan yang berbeda. Kompresi berdasarkan BWT adalah salah satu algoritma terkemuka yang mendekati paling baik untuk data teks pada saat sekarang, namun BWT juga dapat digunakan untuk meningkatkan kinerja kompresi untuk citra (Van, 2009).
2.6.1 Proses Kompresi Burrows-Wheeler Transform (BWT)
Sebelum melakukan proses kompresi dengan metode Burrows-Wheeler Transform
(BWT), terdapat proses yang harus dilewati terlebih dahulu. Proses tersebut adalah data citra yang akan melalui proses kompresi harus diubah dari bentuk piksel dua dimensi ke bentuk piksel satu dimensi berurutan dengan cara pemindaian zig-zag. Setelah bentuk dari data citra diubah lalu dilanjutkan dengan metode BWT. Misalkan sebuah vektor 1 dimensi berurutan p telah didapat seperti berikut:
Vektor p disalin ke baris pertama, atau disebut sebagai indeks 0. Urutan selanjutnya adalah mengurutkan dengan cara merubah susunan perputaran ke kiri untuk setiap baris selanjutnya. Tahap pertama dari BWT ditampilkan melalui Gambar 2.9.
(34)
Gambar 2.9 Tahap Pertama Forward Transform dari BWT (Van, 2009)
Tahap selanjutnya adalah setiap baris disusun secara leksikografi (berdasarkan kamus). Tahap terakhir dari proses BWT adalah output yang terdiri dari indeks terakhir pada langkah sebelumnya. Berikut tahap kedua dan ketiga dari BWT ditampilkan melalui Gambar 2.10.
Gambar 2.10 Tahap Kedua dan Ketiga Forward Transform dari BWT (Van, 2009)
Vektor p asli muncul di baris kelima pada Gambar 2.10, dan output dari BWT berada pada kolom terakhir, dinyatakan dengan:
� ,
dengan indeks = 4. Hasil dapat ditulis sebagai � , dimana L
adalah output dari Burrows-Wheeler Transform dan index menggambarkan lokasi asli dari urutan leksikografi.
(35)
2.6.2. Proses Dekompresi Burrows-Wheeler Transform (BWT)
Metode BWT adalah metode transformasi yang dapat dibalik (reverse) sehingga vektor asli dapat dikembalikan dari output yang dihasilkan oleh BWT tersebut. Di bentuk reverse transform hanya output BWT L dan index yang dibutuhkan untuk mengembalikan vektor urutan aslinya. Tahap reverse BWT ditampilkan pada Gambar 2.11, 2.12, dan 2.13.
Cara membentuk tabel reverse:
a. Langkah : Letakkan kolom n di depan kolom .
b. Langkah : Urutkan panjang string yang dihasilkan secara leksikografi.
c. Langkah : Letakkan list yang terurut di kolom pertama pada tabel.
Gambar 2.11 Tahap Pertama Reverse Transform dari BWT (Van, 2009)
(36)
Gambar 2.13 Tahap Ketiga Reverse Transform dari BWT (Van, 2009)
Output dari reverse transform juga berada di indeks 4, itulah mengapa indeks dimanfaatkan untuk merepresentasikan output dari forward transform dan urutannya adalah , yang mana memiliki urutan asli dari vektor p. Setelah proses dekompresi dengan metode BWT selesai, data citra diubah kembali dari bentuk piksel satu dimensi berurutan ke bentuk piksel dua dimensi dengan cara pemindaian unzig-zag sehingga citra hasil dekompresi dapat ditampilkan kembali.
2.7 Rasio Kompresi
Rasio kompresi pada kedua citra akan diukur untuk mengetahui mana yang lebih baik sesuai kinerja proses kompresinya. Citra sebelum dikompresi akan dibandingkan dengan citra hasil kompresi. Rasio kompresi dapat dinyatakan dengan persamaan matematis sebagai berikut (Putra, 2010):
Dimana:
= Rasio kompresi (compression ratio)
= Ukuran citra asli
= Ukuran citra kompresi
Citra hasil kompresi yang kecil akan memberikan nilai rasio kompresi yang semakin kecil dan sebaliknya, nilai rasio kompresi yang besar akan menjadi target
(37)
dalam suatu teknik kompresi citra. Namun besarnya nilai rasio kompresi harus diikuti dengan kualitas citra (Napitupulu, 2012).
2.8 Waktu Kompresi
Dalam melakukan kompresi citra dengan metode yang berbeda pasti membutuhkan waktu yang berbeda pula. Lama waktu yang dibutuhkan untuk menyelesaikan tahapan kompresi citra akan memengaruhi kinerja metode kompresi citra tersebut. Semakin cepat waktu kompresi maka akan menjadi salah satu faktor pendukung terhadap suatu metode kompresi citra untuk menjadikannya sebagai metode kompresi citra yang baik. Tapi metode kompresi citra yang memiliki tahapan cukup banyak dan dalam penyelesaiannya memerlukan proses yang rumit pasti akan memakan waktu yang lama. Hal ini kurang baik jika diterapkan nantinya dalam aplikasi kompresi citra.
2.9 Waktu Dekompresi
Tidak hanya waktu kompresi yang berpengaruh pada kinerja metode kompresi citra, waktu dekompresi juga menjadi salah satu faktor pendukung apakah kinerja sebuah metode kompresi citra bisa dikatakan baik atau tidak. Waktu mengembalikan file citra yang telah terkompres akan menjadi penilaian yang sama pentingnya dengan waktu memproses kompresi pada citra.
2.10 Hasil Penelitian Sebelumnya
Untuk melengkapi pengetahuan tentang metode Joint Photographic Experts Group
(JPEG) dan Burrows-Wheeler Transform (BWT), berikut adalah Tabel 2.2 berisi
(38)
Tabel 2.2 Hasil Penelitian Metode JPEG dan Metode BWT
No Nama Judul Tahun Hasil Penelitian
1. Pramitarini, Y.
Analisa Pengiriman Citra
Terkompresi JPEG Dengan Teknik Spread Spektrum Direct
Sequence
(DS-SS)
2011 Kompresi JPEG yang disimulasikan dengan menggunakan tiga citra digital memberikan hasil berupa kualitas citra yang baik dan rasio kompresi yang tinggi jika digunakan parameter quality di atas 75, Dimana pada parameter ini diperoleh nilai PSNR antara 32,83 sampai 48,23 dan jumlah bit per pixel 3.63 bpp.
2. Napitupulu, H. S. Analisa Perbandingan Kinerja Teknik Kompresi Citra Menggunakan Metode JPEG Dan Wavelet Multi Variable
2012 Karakteristik citra yang memiliki penyebaran dan variasi nilai derajat keabuan level medium sangat optimum dikompres baik dengan metode JPEG dan Wavelet. Hasil simulasi yang diperoleh adalah Wavelet Biorthogonal yang menjadi perwakilan Wavelet dikarenakan memiliki hasil yang paling optimum dalam mengkompres citra dibandingkan jenis Wavelet yang lain memiliki tingkat kompresi lebih baik dari JPEG, berkisar antara 65-70 kali pemampatan sementara pada JPEG hanya 20-25 untuk nilai PSNR yang sama yaitu berkisar 35-45 db.
(39)
No Nama Judul Tahun Hasil Penelitian 3. Setiawan,
A, E.
Implementasi Penggabungan Algoritma Run-Length Encoding
dan Metode
Burrows-Wheeler
Transform Pada
Pemampatan Citra BMP
24-Bit
2014 Metode Burrows-Wheeler
Transform sangat efektif jika
digabungkan dengan algoritma
Run-Length Encoding pada
kompresi citra bitmap 24 bit. Rasio kompresi yang dihasilkan oleh penggabungan Run-Length
Encoding dan Burrows-Wheeler
Transform lebih baik
dibandingkan rasio kompresi yang dihasilkan oleh Run-Length
Encoding tanpa Burrows-Wheeler
Transform.
Setelah mengetahui hasil dari beberapa penelitian diatas, penulis akan membandingkan kompresi citra antara metode Joint Photographic Experts Group
(JPEG) dengan metode Burrows-Wheeler Transform (BWT) agar dapat diketahui
(40)
ANALISIS DAN PERANCANGAN
Bab ini berisikan uraian analisis mengenai proses kerja dari metode Joint
Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform (BWT) yang
terdiri dari use case diagram, sequence diagram, activity diagram, pseudocode
program, flowchart, dan perancangan tampilan form dari aplikasi.
3.1 Analisis Sistem
Sebelum melakukan tahap perancangan sebuah sistem, hal pertama yang perlu dilakukan adalah menganalisa sistem yang akan dibangun. Analisis sistem merupakan gabungan dari beberapa tahap yang digunakan sebagai langkah awal dalam mengembangkan sebuah sistem. Tahap awal dalam analisis sistem ini adalah tahap analisis masalah yang bertujuan untuk mempelajari dan memahami masalah yang akan diselesaikan dengan menggunakan sistem ini. Tahap kedua adalah analisis persyaratan yang akan memenuhi kebutuhan dan permintaan pengguna (user). Tahap ketiga dan merupakan analisis terakhir adalah analisis proses yang akan dikerjakan sistem.
3.1.1 Analisis Masalah
Untuk mengidentifikasi masalah agar lebih mudah dipahami maka digunakan peta pikiran atau lebih dikenal dengan istilah mind map. Mind map merupakan suatu cara untuk mengorganisasikan dan menyajikan konsep maupun ide ke bentuk diagram agar
(41)
dapat dipahami secara efektif dan efisien. Gambar 3.1 berikut ini merupakan mind map analisis masalah yang digunakan untuk menyelesaikan masalah pada sistem.
Analisis Perbandingan Dua Metode Untuk Melakukan
Kompresi Pada Citra
MATLAB R2012a Tools yang digunakan
untuk menyelesaikan masalah Waktu Kompresi Parameter yang digunakan
untuk mengukur kinerja metode
Belum diketahui metode mana yang efektif dalam melakukan
kompresi citra Material yang digunakan untuk
membandingkan kedua metode Citra bertipe bitmap (*.bmp) Metode JPEG Metode BWT Rasio Kompresi Waktu Dekompresi
Gambar 3.1 Mind Map Analisis Masalah
Berdasarkan pada mind map analisis masalah pada Gambar 3.1, masalah yang akan diselesaikan adalah analisis perbandingan dua metode untuk melakukan kompresi pada citra agar dapat diketahui metode mana yang terbaik, yaitu metode
Joint Photographic Experts Group (JPEG) atau metode Burrows-Wheeler Transform
(BWT). Material yang digunakan untuk membandingkan kedua metode adalah citra
bertipe bitmap (*.bmp). Lalu parameter yang digunakan untuk membandingkan hasil kompresi pada citra adalah rasio kompresi, waktu kompresi dan waktu dekompresi. Untuk menyelesaikan masalah tersebut sistem dibangun menggunakan MATLAB
R2012a.
3.1.2 Analisis Persyaratan
Analisis persyaratan adalah analisis yang bertujuan untuk mengidentifikasi dan menyatakan persyaratan suatu sistem yang akan dibangun. Dalam suatu sistem analisis persyaratan dibagi menjadi dua bagian yaitu persyaratan fungsional dan persyaratan non-fungsional.
(42)
3.1.2.1 Persyaratan Fungsional
Persyaratan fungsional merupakan deskripsi mengenai aktivitas dan layanan yang harus diberikan atau disediakan oleh sebuah sistem. Dalam sistem perbandingan kompresi citra dengan menggunakan metode Joint Photographic Experts Group
(JPEG) dan metode Burrows-Wheeler Transform (BWT) terdapat beberapa hal yang
menjadi persyaratan fungsional yang harus dipenuhi, antara lain:
1. Citra yang digunakan untuk proses kompresi adalah citra bertipe bitmap
(*.bmp).
2. Jika citra yang digunakan untuk proses kompresi adalah citra warna bertipe
bitmap, citra akan dikonversi dari bentuk Red-Green-Blue (RGB) menjadi
Luminance-Chroma Blue-Chroma Red (YCbCr) dan mengambil citra
luminance (Y) atau lebih dikenal dengan istilah grayscale sebagai citra yang
digunakan untuk proses kompresi.
3. Parameter yang digunakan untuk membandingkan kedua metode adalah rasio kompresi, waktu kompresi, dan waktu dekompresi.
4. Hasil file kompresi tersimpan dengan ekstensi Microsoft Access Table (*.mat). 5. Citra dapat direkonstruksi kembali dengan proses dekompresi.
3.1.2.2 Persyaratan Non-Fungsional
Persyaratan non-fungsional merupakan deskripsi mengenai fitur, karakteristik, dan batasan lainnya yang menentukan apakah sistem memuaskan atau tidak. Beberapa persyaratan non-fungsional yang harus dipenuhi oleh sistem yang dirancang adalah sebagai berikut.
1. Performa
Sistem yang akan dibangun harus dapat menunjukkan hasil dari proses kompresi dengan kedua metode yang digunakan.
2. Mudah Digunakan (User Friendly)
Sistem yang akan dibangun harus sederhana agar mudah digunakan oleh pengguna (user).
(43)
3. Dokumentasi
Sistem yang akan dibangun dapat menyimpan hasil proses kompresi dan dekompresi dari kedua metode yang digunakan.
4. Kontrol
Sistem yang dibangun memiliki kontrol berupa error message, enable dan
disable, yaitu ketika citra yang dimasukkan ke dalam sistem bukan citra
bertipe bitmap maka sistem akan memberikan error message kepada user, kemudian jika citra belum dimasukkan ke dalam sistem maka tombol fungsi pada sistem berupa proses kompresi dan dekompresi dalam keadaan tidak aktif atau disable, namun jika citra telah dimasukkan ke dalam sistem maka tombol fungsi tersebut akan aktif atau enable.
5. Hemat Biaya
Sistem yang dibangun tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya dalam proses eksekusinya.
3.1.3 Analisis Proses
Dalam sistem ini terdapat dua metode yang akan digunakan untuk membandingkan hasil kompresi yaitu metode Joint Photographic Experts Group (JPEG) dan metode
Burrows-Wheeler Transform (BWT). Masing-masing metode akan dianalisa dalam
memproses citra yang akan dibandingkan sebagai berikut.
3.1.3.1 Analisis Proses Metode Joint Photographic Experts Group (JPEG)
Pada penelitian ini akan dilakukan analisis dan perancangan perangkat lunak untuk kompresi citra bertipe bitmap (*.bmp) dengan menggunakan metode Joint
Photographic Experts Group (JPEG). Penjelasan mengenai metode JPEG sudah
diberikan pada bab 2, bahwa metode JPEG memiliki beberapa tahapan untuk proses kompresi dan dekompresi. Proses kompresi akan dimulai dengan tahapan-tahapan berupa Discrete Cosine Transform (DCT), kuantisasi, dan pengkodean entropi. Hasil proses kompresi berupa file dengan format Microsoft Access Table (*.mat) yang kemudian akan dihitung berdasarkan parameter untuk membandingkan kedua metode, yaitu rasio kompresi dan waktu kompresi.
(44)
File hasil proses kompresi kemudian akan didekompresi untuk merekonstruksi citra agar dapat ditampilkan kembali. Proses dekompresi merupakan kebalikan dari proses kompresi, yaitu proses dekode entropi, dekuantisasi, dan Inverse Discrete
Cosine Transform (IDCT). Citra hasil proses dekompresi kemudian akan dihitung
waktu prosesnya dengan parameter waktu dekompresi.
3.1.3.2 Analisis Proses Metode Burrows-Wheeler Transform (BWT)
Pada penelitian ini akan dilakukan analisis dan perancangan perangkat lunak untuk kompresi citra bertipe bitmap (*.bmp) dengan menggunakan metode
Burrows-Wheeler Transform (BWT). Penjelasan mengenai metode BWT sudah diberikan pada
bab 2, bahwa metode BWT memiliki beberapa tahapan untuk proses kompresi dan dekompresi.
Langkah-langkah proses kompresi dengan metode BWT adalah:
1. Data citra terlebih dahulu diubah dari bentuk dua dimensi menjadi satu dimensi.
2. Kemudian bentuk sebuah matriks dimana nilai baris matriks sama dengan panjang data citra yang berukuran satu dimensi.
3. Baris pertama matriks diisi dengan data citra asli yang berukuran satu dimensi, lalu untuk baris selanjutnya diisi dengan data citra sebelumnya yang dilakukan perubahan, yaitu perputaran susunan data citra ke arah kiri.
4. Setelah semua baris terisi, urutkan setiap baris pada matriks secara leksikografi atau berdasarkan kamus.
5. Ambil kolom terakhir sebagai output dari BWT. Simpan baris dengan nilai data citra awal dengan simbol I (Indeks) agar dapat melakukan proses inverse
jika ingin dikembalikan ke bentuk semula. Hitung rasio dan waktu kompresi pada output BWT.
Langkah-langkah proses dekompresi dengan metode BWT adalah:
1. Bentuk tabel pemetaan dengan tabel pertama berisi output dari BWT, tabel kedua berisi susunan data yang telah diurutkan secara leksikografi dari tabel pertama, dan tabel ketiga berisi gabungan antara nilai output BWT dengan data tabel kedua.
(45)
2. Lakukan perulangan pada tabel pemetaan sebanyak n data dari output BWT. Hasil data dari tabel ketiga merupakan masukan untuk tabel pertama pada perulangan selanjutnya.
3. Setelah perulangan selesai, ambil baris dengan nilai I (Indeks) sebagai hasil dari proses dekompresi.
4. Hasil proses dekompresi yang masih berbentuk satu dimensi kembali dirubah menjadi dua dimensi agar dapat ditampilkan dalam bentuk citra. Lalu hitung waktu dekompresi.
3.2 Pemodelan
Pada penelitian mengenai analisis perbandingan kompresi citra menggunakan metode
Joint Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform (BWT)
ini digunakan Unified Modeling Languange (UML) sebagai bahasa pemodelan yang berfungsi untuk membantu merancang sistem. Model UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence diagram, dan activity diagram.
3.2.1 Use Case Diagram
Use case diagram menunjukkan hubungan antara pengguna (actor) dengan kasus
yang digunakan dalam sebuah sistem. Sebuah model use case terdiri dari satu atau lebih diagram use case dan dokumen pendukung lainnya seperti spesifikasi use case
dan definisi actor (Ambler, 2005). Use case diagram menggambarkan kebutuhan sistem dari sudut pandang user. Gambar 3.2 berikut ini merupakan use case diagram
(46)
Sistem
Metode Joint Photographic Experts Group (JPEG)
Ambil citra bertipe
bitmap (*.bmp)
Kompresi citra
Simpan file hasil kompresi (*.mat)
Hitung rasio dan waktu
kompresi
Simpan citra hasil dekompresi Pengguna
Metode Burrows-Wheeler Transform (BWT)
Dekompresi citra
Hitung waktu dekompresi
Gambar 3.2 Use Case Diagram Sistem
Pada sistem analisis perbandingan kompresi citra menggunakan metode Joint
Photographic Experts Group (JPEG) dan Burrows-Wheeler Transform (BWT) ini
terdapat pengguna yang dapat memilih metode mana yang akan digunakan untuk melakukan kompresi citra yaitu metode JPEG maupun metode BWT, kemudian sistem akan meminta pengguna untuk memasukkan citra yang selanjutnya akan diproses sistem sehingga pengguna dapat mengetahui hasil kompresi citra dari metode yang telah dipilih berdasarkan parameter yang digunakan sebagai perbandingan dari kedua metode yaitu rasio kompresi, waktu kompresi, dan waktu dekompresi.
(47)
3.2.2 Sequence Diagram
Sequence diagram adalah teknik pemodelan yang dinamis. Sequence diagram
biasanya digunakan untuk (Ambler, 2005):
1. Validasi dan penyempurnaan logika serta kelengkapan dari skenario penggunaan.
2. Menjelajahi desain yang akan dibangun.
3. Mengetahui kompleksitas dari sistem yang akan dibangun.
4. Mendeteksi kerumitan dalam sistem yang memiliki desain berorientasi objek.
Gambar 3.3 dan 3.4 berikut ini merupakan sequence diagram dari sistem yang telah dibangun.
Input Metode JPEG (Kompresi)
Menghitung rasio dan waktu kompresi
Metode JPEG (Dekompresi)
Menghitung waktu dekompresi
Pengguna
Input citra bertipe
bitmap (*.bmp)
Proses kompresi dengan metode
JPEG Menyimpan file hasil
kompresi (*.mat)
Perhitungan rasio dan waktu kompresi Menampilkan nilai
rasio dan waktu kompresi Proses dekompresi dengan metode JPEG Menampilkan dan menyimpan citra hasil dekompresi Perhitungan waktu dekompresi Menampilkan waktu dekompresi
Gambar 3.3 Sequence Diagram Sistem Metode Joint Photographic Experts Group (JPEG)
(48)
Input Metode BWT (Kompresi)
Menghitung rasio dan waktu kompresi
Metode BWT (Dekompresi)
Menghitung waktu dekompresi
Pengguna
Input citra bertipe
bitmap (*.bmp)
Proses kompresi dengan metode
BWT Menyimpan file hasil
kompresi (*.mat)
Perhitungan rasio dan waktu kompresi Menampilkan nilai
rasio dan waktu kompresi Proses dekompresi dengan metode BWT Menampilkan dan menyimpan citra hasil dekompresi Perhitungan waktu dekompresi Menampilkan waktu dekompresi
Gambar 3.4 Sequence Diagram Sistem Metode Burrows-Wheeler Transform (BWT)
Pada kedua sequence diagram yang telah diberikan terdapat actor yaitu pengguna, dimana hal pertama yang dilakukan pengguna kepada sistem adalah melakukan proses input citra ke dalam sistem. Pada saat memproses citra, sistem hanya menerima citra bertipe bitmap (*.bmp) sebagai citra yang akan diproses ke dalam sistem. Selanjutnya hal yang dapat dilakukan pengguna adalah melakukan proses kompresi menggunakan metode JPEG atau metode BWT. Sistem akan memberikan hasil kompresi kepada pengguna berupa file dengan format Microsoft
Access Table (*.mat) ke dalam folder yang telah ditentukan sistem. Kemudian sistem
akan menghitung rasio dan waktu kompresi yang hasilnya akan diberikan kepada pengguna. Setelah itu pengguna dapat melakukan proses dekompresi dengan metode JPEG atau metode BWT. Selanjutnya sistem akan menampilkan citra hasil dekompresi kepada pengguna dan meyimpan citra hasil dekompresi ke dalam folder yang telah ditentukan sistem. Hal terakhir yang dilakukan sistem adalah menghitung
(49)
waktu dekompresi dan sistem akan menampilkan waktu dekompresi kepada pengguna.
3.2.3 Activity Diagram
Activity diagram menggambarkan alir aktivitas dalam sistem, yaitu dimulai dari
bagaimana sistem berawal, decision yang mungkin terjadi, dan bagaimana sistem berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Gambar 3.5 dan 3.6 berikut ini merupakan activity
(50)
Pengguna Sistem
Input Citra Baca Citra
Menampilkan Citra Citra Grayscale &
Biner (*.bmp)
Citra RGB (*.bmp) Ya Tidak Ya Tidak Menekan Button Kompresi
Melakukan Proses Kompresi dengan Metode JPEG
Menghitung Rasio dan Waktu Kompresi
Menekan Button Dekompresi
Menyimpan File Hasil Kompresi (*.mat) ke Direktori Penyimpanan
Melakukan Proses Dekompresi dengan Metode JPEG
Menampilkan Citra Hasil Dekompresi Menampilkan Nilai Rasio
dan Waktu Kompresi
Menghitung Waktu Dekompresi
Menampilkan Waktu Dekompresi
Menyimpan Citra Hasil Dekompresi ke Direktori Penyimpanan Konversi Citra RGB ke YCbCr dan
Mengambil Citra Y (Grayscale)
Gambar 3.5 Activity Diagram Sistem Metode Joint Photographic Experts Group (JPEG)
(51)
Pengguna Sistem
Input Citra Baca Citra
Menampilkan Citra Citra Grayscale &
Biner (*.bmp)
Citra RGB (*.bmp) Ya
Tidak
Ya
Tidak
Menekan Button Kompresi
Melakukan Proses Kompresi dengan Metode BWT
Menghitung Rasio dan Waktu Kompresi
Menekan Button Dekompresi
Menyimpan File Hasil Kompresi (*.mat) ke Direktori Penyimpanan
Melakukan Proses Dekompresi dengan Metode BWT
Menampilkan Citra Hasil Dekompresi Menampilkan Nilai Rasio
dan Waktu Kompresi
Menghitung Waktu Dekompresi
Menampilkan Waktu Dekompresi
Menyimpan Citra Hasil Dekompresi ke Direktori Penyimpanan Konversi Citra RGB ke YCbCr dan
Mengambil Citra Y (Grayscale)
(52)
Pada kedua activity diagram yang telah diberikan, pertama sekali pengguna melakukan proses input citra lalu sistem akan memproses citra. Sistem hanya menerima citra bertipe bitmap (*.bmp) yang terdiri dari tiga jenis yaitu citra
grayscale, citra biner, dan citra RGB. Tetapi citra RGB akan dikonversi menjadi
YCbCr dan mengambil citra Y (grasycale) sebagai citra yang akan diproses ke dalam sistem. Jika citra yang diproses sistem bukan citra bertipe bitmap (*.bmp), sistem akan menghentikan pemrosesan ke tahap selanjutnya. Selanjutnya jika citra telah sesuai dengan batasan sistem, sistem akan menampilkan citra yang telah dimasukkan oleh pengguna. Pengguna dapat merespon dengan menekan button kompresi dan sistem akan memproses yaitu melakukan proses kompresi dengan metode JPEG atau metode BWT sesuai dengan pilihan pengguna. Sistem akan memberikan hasil kompresi kepada pengguna berupa file dengan format Microsoft Access Table (*.mat) ke direktori penyimpanan yang telah ditentukan oleh sistem. Kemudian sistem akan menghitung rasio dan waktu kompresi serta menampilkan hasilnya kepada pengguna. Pengguna dapat merespon kembali dengan menekan button dekompresi dan sistem akan memproses yaitu melakukan proses dekompresi dengan metode JPEG atau metode BWT sesuai dengan pilihan pengguna. Setelah proses dekompresi selesai sistem akan menampilkan citra hasil dekompresi dan sistem akan menghitung waktu dekompresi yang kemudian akan ditampilkan kepada pengguna. Terakhir citra hasil dekompresi akan disimpan ke direktori penyimpanan yang telah ditentukan oleh sistem.
3.3 Pseudocode Program
Pseudocode merupakan bahasa yang digunakan untuk menyederhanakan penulisan
sebuah metode atau algoritma. Pseudocode dibuat agar dapat dimengerti manusia dengan mudah sehingga dapat dipahami secara menyeluruh bagaimana cara algoritma berjalan. Berikut diberikan pseudocode program untuk metode Joint Photographic
(53)
begin
baca citra I
if I == grayscale && biner ambil I sebagai input elseif I == RGB
konversi I dari RGB ke YCbCr
ambil Y sebagai input dan simpan Cb dan Cr else
kembali ke awal endif
lakukan Discrete Cosine Transform y := DCT(input) lakukan Kuantisasi pada y
lakukan Pengkodean Entropi pada y simpan file y sebagai hasil kompresi hitung rasio kompresi dan waktu kompresi end
3.3.1 Pseudocode Proses Kompresi Metode Joint Photographic Experts Group (JPEG)
Berikut ini merupakan pseudocode program untuk proses kompresi menggunakan metode Joint Photographic Experts Group (JPEG).
Pada pseudocode proses kompresi menggunakan metode JPEG, pertama baca citra dengan variabel I kemudian dilanjutkan dengan pemilihan, jika citra I adalah citra grayscale dan citra biner maka citra I akan diambil sebagai input yang akan diolah oleh sistem, jika citra I adalah citra RGB maka citra I akan dikonversi dari bentuk RGB menjadi YCbCr dan ambil Y atau citra grayscale sebagai input yang akan diolah oleh sistem, selain dari kondisi tersebut sistem akan mengembalikan proses ke awal. Selanjutnya proses kompresi akan dimulai dengan melakukan proses
(54)
begin
baca data y sebagai hasil proses kompresi lakukan Dekode Entropi pada y
lakukan Dekuantisasi pada y
lakukan Inverse Discrete Cosine Transform Y := IDCT(y)
if nilai Cb && nilai Cr == 1
baca Y, Cb, Cr lalu konversi dari YCbCr ke RGB output := RGB
else
output := Y endif
hitung waktu dekompresi
simpan output sebagai citra hasil dekompresi end
DCT, kuantisasi, dan pengkodean entropi. Setelah proses kompresi selesai, sistem akan menyimpan file hasil kompresi lalu menghitung rasio dan waktu kompresi.
3.3.2 Pseudocode Proses Dekompresi Metode Joint Photographic Experts Group (JPEG)
Berikut ini merupakan pseudocode program untuk proses dekompresi menggunakan metode Joint Photographic Experts Group (JPEG).
Pada pseudocode proses dekompresi menggunakan metode JPEG, pertama baca data dengan variabel y sebagai hasil proses kompresi, kemudian lakukan proses dekompresi yang dimulai dari proses dekode entropi, dekuantisasi, dan IDCT. Setelah proses dekompresi selesai dengan hasil berupa data Y, proses pemilihan akan berjalan, jika terdapat nilai Cb dan Cr maka baca Y, Cb, dan Cr lalu konversikan ke bentuk RGB sebagai output. Selain dari kondisi tersebut maka ambil data Y sebagai output.
(55)
begin
baca citra A
if A == grayscale && biner ambil A sebagai input elseif A == RGB
konversi A dari RGB ke YCbCr
ambil Y sebagai input dan simpan Cb dan Cr else
kembali ke awal endif
ubah bentuk input dari 2 dimensi menjadi 1 dimensi lakukan perputaran ke kiri setiap baris pada input susun setiap baris secara leksikografi
ambil kolom terakhir sebagai output
simpan lokasi nilai input pada output dengan indeks I simpan output sebagai file hasil kompresi
hitung rasio kompresi dan waktu kompresi end
Sistem akan menghitung waktu dekompresi dan menyimpan output sebagai citra hasil dekompresi.
3.3.3 Pseudocode Proses Kompresi Metode Burrows-Wheeler Transform (BWT)
Berikut ini merupakan pseudocode program untuk proses kompresi menggunakan metode Burrows-Wheeler Transform (BWT).
Pada pseudocode proses kompresi menggunakan metode BWT, pertama baca citra dengan variabel A kemudian dilanjutkan dengan pemilihan, jika citra A adalah citra grayscale dan citra biner maka citra A akan diambil sebagai input yang akan
(56)
begin
baca data hasil proses kompresi � := output kompresi
susun kolom � dan beri nomor tiap baris
For i:=1 to length(�)-1 //buat tabel reverse
Urutkan panjang string � yang dihasilkan secara
leksikografi.
Letakkan list yang terurut di kolom pertama pada tabel.
Endfor
Pilih baris i == indeks I sebagai hasil (Y) if nilai Cb && nilai Cr == 1
baca Y, Cb, Cr
konversi dari YCbCr ke RGB
diolah oleh sistem, jika citra A adalah citra RGB maka citra A akan dikonversi dari bentuk RGB menjadi YCbCr dan ambil Y atau citra grayscale sebagai input yang akan diolah oleh sistem, selain dari kondisi tersebut sistem akan mengembalikan proses ke awal. Selanjutnya proses kompresi akan dimulai dengan melakukan perubahan bentuk input dari bentuk dua dimensi menjadi satu dimensi. Kemudian proses kompresi dengan metode BWT dimulai dengan tahap pertama melakukan perputaran ke kiri pada input sehingga terbentuk matriks. Lalu susun setiap baris pada matriks secara leksikografi. Hasil kompresi adalah nilai yang terdapat pada kolom terakhir. Simpan lokasi nilai input pada matriks dengan indeks I agar dapat dikembalikan nantinya dengan proses dekompresi. Setelah proses kompresi selesai, sistem akan menyimpan file hasil kompresi lalu menghitung rasio dan waktu kompresi.
3.3.4 Pseudocode Proses Dekompresi Metode Burrows-Wheeler Transform (BWT)
Berikut ini merupakan pseudocode program untuk proses dekompresi menggunakan metode Burrows-Wheeler Transform (BWT).
(57)
output := RGB else
output := Y endif
hitung waktu dekompresi
simpan output sebagai citra hasil dekompresi end
Pada pseudocode proses dekompresi menggunakan metode BWT, pertama baca data hasil proses kompresi yang disimbolkan dengan L, kemudian L yang merupakan matriks diberikan nomor tiap barisnya. Selanjutnya adalah proses perulangan untuk membentuk tabel reverse. Tabel reverse dibentuk untuk mengembalikan data yang telah dikompresi sebelumnya sehingga didapatkan nilai asli data pada tabel tersebut. Setelah perulangan selesai, ambil baris dengan indeks I yang kemudian merupakan hasil dari proses dekompresi atau disimbolkan dengan Y. Ketika semua telah selesai diproses, selanjutnya proses pemilihan akan berjalan, jika terdapat nilai Cb dan Cr maka baca Y, Cb, dan Cr lalu konversikan ke bentuk RGB sebagai
output. Selain dari kondisi tersebut maka ambil data Y sebagai output. Sistem akan
menghitung waktu dekompresi dan menyimpan output sebagai citra hasil dekompresi.
3.4 Perancangan Sistem
Hal pertama yang dilakukan dalam perancangan sistem untuk tugas akhir ini adalah membuat flowchart sistem. Tahap berikutnya merupakan perancangan aplikasi.
3.4.1 Perancangan Flowchart Sistem
Dalam sistem ini flowchart digunakan untuk menggambarkan secara grafik urutan proses dari aplikasi kompresi dan dekompresi. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan
(58)
bagian-bagian yang terlupakan dalam analisis masalah (Zarlis, 2008). Gambar 3.7 berikut ini merupakan flowchart dari sistem yang akan dibangun.
Mulai
Tampilkan form awal
Pilih metode yang digunakan
Metode JPEG
Tidak
Ya
Input file citra
Proses Kompresi
Hitung Rasio dan Waktu Kompresi
File Hasil Kompresi
Proses Dekompresi
Citra Hasil Dekompresi
Hitung Waktu Dekompresi
Selesai Metode BWT
Ya Tidak
(1)
*(x + k++) = -*(link + n); }
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *link, *x, xsz; unsigned short *hx; int hxsz;
if(nrhs != 3)
mexErrMsgTxt("Threeinputs required."); else if (nlhs > 1)
mexErrMsgTxt("Too many output arguments.");
if (!mxIsDouble(prhs[2]) || mxIsComplex(prhs[2]) || mxGetN(prhs[2]) *
mxGetM(prhs[2]) != 1)
mexErrMsgTxt("Input XSIZE must be a scalar.");
hx = mxGetPr(prhs[0]); link = mxGetPr(prhs[1]); xsz = mxGetScalar(prhs[2]);
hxsz = mxGetM(prhs[0]);
plhs[0] = mxCreateDoubleMatrix(xsz, 1, mxREAL);
x = mxGetPr(plhs[0]);
unravel(hx,link, x, xsz, hxsz); }
15.
Function bwtcomp
function f = bwtcomp(image) img = image;
[Height,Width,Depth] = size(img); img1 = img(1:Height,1:Width,:); clear img;
img = img1;
if Depth > 1
img = rgb2ycbcr(img); y = img(:,:,1);
cb = img(:,:,2); cr = img(:,:,3); x = uint8(y);
else
x = uint8(img); cb = char; cr = char;
end
(2)
A-15
62 63 56 64]; [xm, xn] = size(x); x = double(x);
y = im2col(x, [8 8],'distinct'); xb = size(y, 2);
y = y(order, :); y = y(:)';
bagi = xb/4;
for i=1:bagi
r{i} = y(floor((end/bagi)*(i-1)+1):ceil((end/bagi)*i)); code{i} = bwtenc(r{i});
end
f = struct;
f.size = uint16([xm xn]); f.numblocks = uint16(xb); f.bwt = code;
f.chromaBlue = cb; f.chromaRed = cr;
%save compressed file
save ('C:\Users\Yudha\Documents\MATLAB\Skripsi\bwt\file kompres\kompresBWT.mat','f');
end
16.
Function bwtenc
function out_data = bwtenc(input) input = input(:)';
R = zeros(1,2*length(input));
for length_sort=1:length(R)
if(length_sort>length(input))
R(length_sort) = input(length_sort-length(input));
else
R(length_sort) = input(length_sort); end
end
table_sort = zeros(length(input),length(input));
for row_sort=1:length(input)
table_sort(row_sort,:) = R(row_sort:length(input)+row_sort-1);
end
[lexi_data,ind] = sortrows(table_sort); encoded_data = lexi_data(:,length(input)); index = find(ind==2,1);
out_data = [encoded_data',index];
(3)
17.
Function bwtdec
function decoded_data = bwtdec(input) encoded_data = input(1:length(input)-1); index = input(length(input));
sorted_data = sort(encoded_data); R = ones(1,length(encoded_data))';
vector = zeros(1,length(encoded_data))';
%preparing vector table
for i=1:length(sorted_data) for j=1:length(sorted_data)
if(encoded_data(j) == sorted_data(i) && R(j)) R(j);
vector(i) = j; R(j) = 0; break end
end end
decoded_data = zeros(1,length(encoded_data));
%getting original data back
for i = 1:length(encoded_data)
decoded_data(i)= encoded_data(index); index = vector(index);
end end
18.
Function ibwtcomp
function output = ibwtcomp
load ('C:\Users\Yudha\Documents\MATLAB\Skripsi\bwt\file kompres\kompresBWT.mat');
bagi = f.numblocks/4;
for m=1:bagi
i{m} = bwtdec(f.bwt{m});
end
y = cell2mat(i);
order = [1 9 2 3 10 17 25 18 11 4 5 12 19 26 33 ...
41 34 27 20 13 6 7 14 21 28 35 42 49 57 50 ...
43 36 29 22 15 8 16 23 30 37 44 51 58 59 52 ...
45 38 31 24 32 39 46 53 60 61 54 47 40 48 55 ...
62 63 56 64];
rev = order;
for k = 1:length(order)
rev(k) = find(order == k);
end
xb = double(f.numblocks); sz = double(f.size);
(4)
A-17
x = col2im(y, [8 8], [xm xn], 'distinct'); x = uint8(x);
cb = f.chromaBlue; cr = f.chromaRed;
if ~ischar(cb) && ~ischar(cr) RGB(:,:,1) = x;
RGB(:,:,2) = uint8(cb); RGB(:,:,3) = uint8(cr); img = ycbcr2rgb(RGB); output = im2uint8(img);
else
output = im2uint8(x);
end end
19.
License.m
%---LICENSE---%Program ini dibuat dengan hak cipta
%yang bertujuan untuk menghindari plagiat
%dan dituliskan dalam daftar pustaka sebagai rujukan.
%Dibuat oleh diri sendiri dengan bantuan buku dan internet: %awal.fig, jpeg.fig, bwt.fig, bantuan.fig, programmer.fig, lihat_citra.fig,
%awal.m, jpeg.m, bwt.m, bantuan.m, programmer.m, lihat_citra.m, imratio.m,
%imratio1.m, bwtcomp.m, ibwtcomp.m
%Dibuat oleh Gonzales, Woods, dan Eddins dengan revisi:
%im2jpeg.m, jpeg2im.m, huff2mat.m, mat2huff, huffman.m, unravel.c
%Dibuat oleh Akhtar dan diambil dari matlab file exchange dengan revisi:
(5)
CURRICULUM VITAE
Data Pribadi
Nama
: Yudha Prayogie S
Tempat/Tanggal Lahir : Binjai / 25 November 1992
Agama
: Islam
Kewarganegaraan
: Indonesia
Alamat Sekarang
: Jl. Pendidikan No.1 Lk. V Binjai Utara Kota Binjai
Alamat Orang Tua
: Jl. Pendidikan No.1 Lk. V Binjai Utara Kota Binjai
Telp/ HP
: 0857 6007 4004
: yudhaprayogie@gmail.com
Riwayat Pendidikan
[1998
–
2004]
: SD Swasta Ahmad Yani Binjai
[2004
–
2007]
: SMP Swasta Ahmad Yani Binjai
[2007
–
2010]
: SMA Negeri 1 Binjai
[2010
–
2015]
: S1 Ilmu Komputer Universitas Sumatera Utara
Keahlian
Keahlian Komputer
:
Pemrograman
: Pascal, C++, Matlab.
Database
: MySQL
(6)