Analisis Perbandingan Kompresi Citra Menggunakan Metode Joint Photographic Experts Group (Jpeg) Dan Burrows-Wheeler Transform (Bwt)

(1)

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

Email

: 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)

B-2

Pengalaman Organisasi

[2007

2009]

: Bengkel Sastra Bianglala SMA Negeri 1 Binjai

[2008

2009]

: OSIS SMA Negeri 1 Binjai

[2011

2013]

: Anggota Ilmu Komputer Laboratory Center (IKLC)

[2012

2013]

: Anggota Wawasan Kontemporer (Waskom) IMILKOM

Pengalaman Kepanitiaan

[2012]

: Ketua Acara PORSENI IMILKOM 2012

[2012]

: Anggota Acara PMB IMILKOM 2012

[2013]

: Anggota Acara ARTechno 2013

[2014]

: Anggota Acara Seminar Open BTS 2014

Seminar

[2011]

: Seminar Nasional Bidang Komputer 2011 Universitas

Sumatera Utara