Implementasi Metode Kuantisasi Pada Kompresi Dan Dekompresi Citra Bitmap Dan JPEG

(1)

IMPLEMENTASI METODE KUANTISASI PADA

KOMPRESI DAN DEKOMPRESI CITRA

BITMAP DAN JPEG

SKRIPSI

WINDA DIAN LUCA HSB

091401076

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

IMPLEMENTASI METODE KUANTISASI PADA KOMPRESI DAN DEKOMPRESI CITRA BITMAP DAN JPEG

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

WINDA DIAN LUCA HSB 091401076

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Judul : IMPLEMENTASI METODE KUANTISASI PADA

KOMPRESI DAN DEKOMPRESI CITRA BITMAP DAN JPEG

Kategori : SKRIPSI

Nama : WINDA DIAN LUCA HSB

Nomor Induk Mahasiswa : 091401076

Program Studi : S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan,

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Herriyance, S.T, M.Kom Dian Rachmawati, S.Si, M.Kom. NIP. 19801024 2010121002 NIP. 198307232009122004

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001


(4)

PERNYATAAN

IMPLEMENTASI METODE KUANTISASI PADA KOMPRESI DAN DEKOMPRESI CITRA BITMAP DAN JPEG

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, Desember 2013

Winda Dian Luca Hsb 091401076


(5)

PENGHARGAAN

Dengan mengucapkan puji dan syukur kehadirat Allah SWT atas segala rahmat, hidayah serta karunianya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung, teristimewa untuk kedua orangtua tercinta Ayahanda A. Syahroni Hsb dan Ibunda Agustina atas do’a, dukungan, dan kasih sayang yang telah diberikan kepada penulis selama ini. Pada kesempatan ini pula penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–besarnya kepada :

1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. 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 Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing I yang telah banyak meluangkan waktunya dan dengan sabar telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

6. Bapak Herriyance, S.T, M.Kom selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dan dengan sabar telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.

7. Bapak Ade Candra, S.T, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

8. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.


(6)

9. Rizky Baginda Hsb, Riska Dewi Syahputri Hsb, dan Widi Pratiwi Hsb selaku abang, kakak, dan adik penulis yang selalu memberikan dukungan kepada penulis.

10.Teman-teman penulis, terutama Insidini Fawwaz, Nadya Soraya, Laila Manja, Sylvia, Ainun, Ales, Mahadi, dan Fauzana yang selalu memberikan semangat, dorongan, dukungan dan menjadi tempat berbagi pikiran penulis selama pengerjaan skripsi ini sehingga penulis dapat menyelesaikan skripsi ini. Dan teman-teman seangkatan 2009 lainnya yang tidak bisa penulis sebutkan satu-persatu, terima kasih atas dukungan kalian semua dan terima kasih atas kenangan indah yang telah dilalui bersama selama di S1 Ilmu Komputer Universitas Sumatera Utara.

11.Sahabat terbaik penulis ica, fanny, gendys dan silvana yang selalu memberikan semangat kepada penulis.

12.Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu-persatu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.

Medan, Desember 2014

Penulis


(7)

ABSTRAK

Kompresi citra merupakan salah satu proses pengolahan citra yang bisa mengurangi ukuran dari sebuah citra agar lebih mempermudah dalam proses penyimpanan dan pengiriman. Pada penelitian ini digunakan metode kuantisasi untuk melakukan kompresi citra. Metode kuantisasi bekerja dengan mengurangi warna dari sebuah citra dengan cara membagi-bagi intensitas warna. Metode kuantisasi merupakan jenis lossy compression, karena pada saat proses kompresi ada bagian dari citra yang hilang. Dekuantisasi merupakan proses untuk mengembalikan citra ke bentuk awal. Bekerja dengan cara melakukan perkalian terhadap intensitas warna. Proses dari sistem ini adalah melakukan kompresi dan dekompresi citra dengan format .bmp dan .jpeg. Pada proses pengujian kompresi untuk format .jpeg dan .bmp menghasilkan citra yang mempunyai cahaya lebih gelap. Pada pengujian format .jpeg menghasilkan rasio kompresi citra rata-rata 58.9% % dan rata-rata rasio dekompresi citra adalah 39.4%.

Pada pengujian dengan format .bitmap tidak mempunyai rasio citra. Hal ini disebabkan karena ukuran citra .bmp tidak berubah pada saat proses kompresi. Untuk nilai MSE citra kompresi format *.jpeg dan *.bmp memiliki nilai yang lebih tinggi dari nilai MSE citra dekompresi. Dengan nilai rata-rata untuk MSE kompresi 3806.80 dan rata-rata nilai MSE dekompresi 0.4950.


(8)

ABSTRACT

Photo is often a trail ride someone’s life. This time, the storage medium having a large capacity is very easy to find. So, not a big problem if we want to keep our photos. Which becomes a problem, if we want to share the photo to friends by email. Remember, the conection internet in not stable in Indonesia. Make it easier to share photos with friends, we can perform image processing with image compression. Imgae compression is one of the image processing that can reduce the size of an image. This research used quantization method to image compression. Quantization method works by reducing the intensity of the color of an image by dividing the intensity of color. With reduced intensity of color, image size can also be decreased. Because there are missing parts of the image is reduced, there will certainly missing. Because, quantization method is lossy compression. To restore the image to its original shape do dequantization. Dequantization work with multiplication of the intensity of color. This system is the process of compression and decompression image with .bmp format and .jpeg format. In the process of testing the compression .jpeg format produces an image that is smaller than the first image and have average ratio image 58.9%. running time and ratio image depends on the size of the image. The larger image, ratio image and running time too larger. In the process of testing the compression .bmp format, size of image no change. Because, .bmp format is uncompression image.

Keyword: Image Processing, Image Compression, quantization, lossy compression.


(9)

DAFTAR ISI

Hal.

Persetujuan Ii

Pernyataan Iii

Penghargaan Iv

Abstrak Vi

Abstract Vii

Daftar Isi Viii

Daftar Tabel X

Daftar Gambar Daftar Lampiran

xi xiii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.7 Sistematika penulisan 5

Bab 2 Landasan Teori 2.1 Citra

2.2 Jenis-jenis Citra 2.3 Piksel

6 6 8 2.4 Jenis-jenis Citra Digital

2.4.1 Citra Biner (Monokrom)

2.4.2 Citra Grayscale (skala keabuan)

2.4.3 Citra Warna (true color) 2.5 Format File Citra Bitmap 2.6 Format File Citra JPEG

8 8 9 9 11 12 2.7 Pengertian Pengolahan Citra

2.8 Kompresi Citra

2.8.1 Manfaat Kompresi Citra 2.8.2 Jenis Kompresi Citra 2.8.3 Teknik Kompresi Citra 2.8.4 Rasio Kompresi Citra 2.9 Dekompresi Citra

2.10 Metode Kuantisasi

Bab 3 Analisis Dan Perancangan Sistem 3.1 AnalisisSistem

3.1.1 Analisis Masalah

3.1.2 Analisis Kebutuhan Sistem

12 13 13 13 14 16 17 18 20 20 21


(10)

3.1.2.1 Kebutuhan Fungsional Sistem

3.1.2.2 Kebutuhan Fungsional Sistem

21 22

3.1.3 Analisis Proses 22

3.2 Pemodelan 23

3.2.1 Use Case Diagram 23

3.2.2 Sequence Diagram 24

3.2.3 Activity Diagram 26

3.3 Pseudocode Program 28

3.3.1 Pseudocode Proses Implementasi Kompresi dan

Dekompresi Citra dengan menggunakan Metode Kuantisasi 28 3.3.1.1 Pseudocode Kompresi Citra 28 3.3.1.2 Pseudocode Dekompresi Citra 29

3.4 Perancangan Sistem 30

3.4.1 Perancangan Flowchart Sistem 3.4.1.1 Flowchart Gambar Umum 3.4.1.2 Flowchart Kompresi Citra 3.4.1.3 Flowchart Dekompresi Citra 3.4.2 Proses Perhitungan Manual Sistem 3.4.3 Perancangan Antarmuka (Interface) 3.4.3.1 Form Pertama

3.4.3.2 Form Proses 3.4.3.3 Form Bantuan

3.4.3.4 Form Tentang Aplikasi

30 31 31 33 34 35 36 37 40 41 Bab 4 Implementasi dan Pengujian

4.1 Implementasi 43

4.1.1 Form Pertama 43

4.1.2 Form Proses 4.1.3 Form Bantuan

4.1.4 Form Tentang Aplikasi 4.2 Pengujian

4.2.1 Pengujian Kompresi dan Dekompresi CItra

44 45 46 47 47 4.2.1.1 Pengujian Kompresi Citra Format *.jpeg 47 4.2.1.2 Analisa Hasil Pengujian Kompresi Citra *.jpeg

4.2.1.3 Pengujian Kompresi Citra Format *.bmp

4.2.1.4 Analisa Hasil Pengujian Kompresi Citra *.bmp Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 5.2 Saran Daftar Pustaka 55 57 64 66 67 68


(11)

DAFTAR TABEL

Nomor

Tabel Nama Tabel Halaman

2.1 4.1 4.2 4.3 4.4

Kedalaman Piksel

Hasil Kompresi dan Dekompresi Citra .jpeg

Hasil Pengujian Kompresi dan Dekompresi Citra .jpeg Hasil Kompresi dan Dekompresi Citra .bmp

Hasil Pengujian Kompresi dan Dekompresi Citra .bmp

19 52 54 61 63


(12)

DAFTAR GAMBAR

Nomor

Gambar Nama Gambar Halaman

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18

Elemen Sistem Pemrosesan Citra Digital Contoh Citra Biner

Contoh Citra Grayscale

Gradasi Warna Citra True Color Contoh Citra True Color Contoh Citra Bitmap Contoh File Citra JPEG

Alur Kompresi Citra dan Dekompresi Citra Diagram Lossy Compression

Diagram Lossless Compression Contoh Citra Sebelum Kompresi Contoh Citra Sesudah Kompresi

Ishikawa Diagram Proses Analisa Masalah

Use Case Diagram Sistem Kompresi dan Dekompresi Citra Sequence Diagram Proses Kompresi Citra

Sequence Diagram Proses Dekompresi Citra Activity Diagram Kompresi Citra

Activity Diagram Dekompresi Citra Flowchart Umum Sistem

Flowchart Kompresi Citra Flowchart Kompresi Citra

Tampilan Rancamgan form Pertama Tampilan Rancamgan form Proses Tampilan Rancamgan form Bantuan Tampilan Rancamgan form Tentang Form Pertama

Form Proses Form Bantuan

Form Tentang Aplikasi

Tampilan Form saat Pilih Citra .Jpeg Tampilan Form saat Citra telah dipilih Tampilan Form Setelah Kompresi

Tampilan Form saat Proses Penyimpanan Citra Kompresi Tampilan Form setelah Proses Penyimpanan Citra Kompresi Tampilan Form Setelah Proses Dekompresi

Tampilan Form saat Proses Penyimpanan Tampilan Form setelah Proses Penyimpanan Tampilan Form saat Pilih Citra .bmp

Tampilan Form saat Citra telah dipilih Tampilan Form Setelah Kompresi

Tampilan Form saat Proses Penyimpanan Citra Kompresi Tampilan Form setelah Proses Penyimpanan Citra Kompresi Tampilan Form Setelah Proses Dekompresi

7 9 9 10 10 12 12 13 15 16 17 18 21 24 25 26 27 28 30 31 32 35 36 39 40 42 43 44 45 46 47 47 48 49 50 50 51 54 55 55 56 57 58


(13)

4.19 4.20

Tampilan Form saat Proses Penyimpanan Tampilan Form setelah Proses Penyimpanan

58 59


(14)

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1


(15)

ABSTRAK

Kompresi citra merupakan salah satu proses pengolahan citra yang bisa mengurangi ukuran dari sebuah citra agar lebih mempermudah dalam proses penyimpanan dan pengiriman. Pada penelitian ini digunakan metode kuantisasi untuk melakukan kompresi citra. Metode kuantisasi bekerja dengan mengurangi warna dari sebuah citra dengan cara membagi-bagi intensitas warna. Metode kuantisasi merupakan jenis lossy compression, karena pada saat proses kompresi ada bagian dari citra yang hilang. Dekuantisasi merupakan proses untuk mengembalikan citra ke bentuk awal. Bekerja dengan cara melakukan perkalian terhadap intensitas warna. Proses dari sistem ini adalah melakukan kompresi dan dekompresi citra dengan format .bmp dan .jpeg. Pada proses pengujian kompresi untuk format .jpeg dan .bmp menghasilkan citra yang mempunyai cahaya lebih gelap. Pada pengujian format .jpeg menghasilkan rasio kompresi citra rata-rata 58.9% % dan rata-rata rasio dekompresi citra adalah 39.4%.

Pada pengujian dengan format .bitmap tidak mempunyai rasio citra. Hal ini disebabkan karena ukuran citra .bmp tidak berubah pada saat proses kompresi. Untuk nilai MSE citra kompresi format *.jpeg dan *.bmp memiliki nilai yang lebih tinggi dari nilai MSE citra dekompresi. Dengan nilai rata-rata untuk MSE kompresi 3806.80 dan rata-rata nilai MSE dekompresi 0.4950.


(16)

ABSTRACT

Photo is often a trail ride someone’s life. This time, the storage medium having a large capacity is very easy to find. So, not a big problem if we want to keep our photos. Which becomes a problem, if we want to share the photo to friends by email. Remember, the conection internet in not stable in Indonesia. Make it easier to share photos with friends, we can perform image processing with image compression. Imgae compression is one of the image processing that can reduce the size of an image. This research used quantization method to image compression. Quantization method works by reducing the intensity of the color of an image by dividing the intensity of color. With reduced intensity of color, image size can also be decreased. Because there are missing parts of the image is reduced, there will certainly missing. Because, quantization method is lossy compression. To restore the image to its original shape do dequantization. Dequantization work with multiplication of the intensity of color. This system is the process of compression and decompression image with .bmp format and .jpeg format. In the process of testing the compression .jpeg format produces an image that is smaller than the first image and have average ratio image 58.9%. running time and ratio image depends on the size of the image. The larger image, ratio image and running time too larger. In the process of testing the compression .bmp format, size of image no change. Because, .bmp format is uncompression image.

Keyword: Image Processing, Image Compression, quantization, lossy compression.


(17)

BAB 1 PENDAHULUAN

Pada bab ini akan dibahas mengenai hal-hal yang menjadi latar belakang pembuatan tugas akhir, rumusan masalah, tujuan, manfaat, dan metodologi penelitian serta sistematika penulisan dari tugas akhir yang akan dikerjakan.

1.1Latar Belakang

Saat ini banyak orang yang sangat hobi membuat dokumentasi perjalanan hidup mereka. Biasanya dokumentasi tersebut tersimpan dalam bentuk gambar. Saat ini media penyimpanan data yang berkapasitas besar sudah banyak ditemukan, sehingga bukan suatu masalah yang besar lagi jika kita ingin menyimpan file yang berkapasitas besar. Apalagi file gambar dokumentasi yang ingin kita simpan sebagai kenangan. Terkadang masalah bukan berasal dari media penyimpanan tersebut. Tapi, masalah akan muncul ketika kita ingin berbagi file dengan rekan kita secara elektronik. Misalnya dengan berkirim e-mail. Mengingat, masalah koneksi internet yang dimiliki Indonesia tidak begitu baik. Di Indonesia, kita cukup sulit menemukan koneksi internet yang memiliki kecepatan yang baik dan stabil. Hal inilah yang menjadi masalah pokok ketika kita ingin saling berbagi file dengan teman kita. Karena, akan sangat sulit jika kita ingin mengirim file gambar yang berukuran besar mengingat koneksi internet yang kecepatannya kurang baik. Satu-satunya solusi dari masalah tersebut adalah, kita bisa memperkecil ukuran file gambar kita sebelum kita mengirim dengan rekan kita. Ukuran citra yang besar dapat diperkecil dengan operasi pengolahan citra agar mudah diinterpretasi oleh manusia maupun komputer. Salah satu operasi pengolahan citra yaitu kompresi citra. Kompresi citra bertujuan untuk meminimalkan kebutuhan memori untuk merepresentasikan citra digital dan bertujuan untuk mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan


(18)

untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula [2] serta mempercepat proses pengiriman citra pada saluran komunikasi [1]. Kompresi merupakan salah satu cara yang efektif untuk mengatasi masalah dalam penyimpanan data ataupun pengiriman suatu data (dalam hal ini citra). Banyak metode untuk kompresi citra, salah satunya metode kuantisasi.

Pada Penelitian terdahulu, yaitu pada penelitian Ginting, Andrew Menovita [4] yang berjudul Implementasi Algoritma Huffman Pada Kompresi Citra BMP menghasilkan Aplikasi yang dapat mengkompresi citra berformat BMP dengan jenis kompresi lossless yaitu dengan metode huffman. Pada penelitian Lestari, Rima [9], digunakan jenis kompresi lossy dengan menggunakan metode Fast Fourier Transform (FFT) untuk penelitiannya yang berjudul Analisis dan Perancangan Perangkat Lunak Kompresi Citra Menggunakan Algoritma Fast Fourier Transform (FFT). Sedangkan pada penelitian Krisnawati [8]. Penelitian tersebut betujuuan untuk mengetahui kompresi citra RGB (Red Green Blue) dengan metode kuantisasi dan mengethaui rata-rata rasio citra yang dihasilkan dari kompresi citra dengan metode kuantisasi.

Metode kuantisasi merupakan salah satu metode kompresi citra. Metode kuantisasi bekerja dengan mengurangi jumlah intensitas (tingkatan) warna, sehingga jumlah bit yang merepresentasikan (mewakili) citra akan berkurang menyebabkan ukuran file menjadi berkurang [8]. Dengan berkurangnya intensitas warna maka tentu saja akan ada informasi dari citra yang hilang. Karena adanya informasi yang hilang dari citra tersebut maka metode kuantisasi termasuk dalam golongan lossy compression. Karena termasuk dalam lossy compression, citra yang telah dikompresi akan sulit didekompresi kembali karena terdapat informasi yang hilang dari citra tersebut. Meskipun ada informasi yang hilang dari citra tersebut, hal itu tidak akan mempengaruhi kualitas dari citra tersebut. Karena informasi yang hilang dari citra tersebut tidak akan tampak dalam pandangan manusia.


(19)

Berdasarkan hal yang telah diuraikan di atas, maka penulis berniat menulis penelitian dengan judul “Implementasi Metode Kuantisasi pada Kompresi dan Dekompresi Citra Bitmap dan JPEG”.

1.2Rumusan Masalah

Yang menjadi rumusan masalah dalam penelitian ini adalah:

1. Bagaimana efisiensi citra setelah dikompresi dengan metode kuantisasi.

2. Bagaimana implementasi metode kuantisasi pada kompresi citra dapat memperkecil ukuran citra.

1.3Batasan Masalah

Adapun batasan masalah dari penelitian ini adalah sebagai berikut :

1. Parameter perbandingan yang digunakan adalah hasil rasio antara kedua format citra dan lama waktu kompresi.

2. File citra yang digunakan adalah file citra RGB yang berformat *.BMP dan *.JPEG.

3. Tools bahasa pemrograman yang digunakan adalah matlab R2007b.

1.4Tujuan Penelitian

Tujuan penelitian ini adalah :

1. Mengetahui efisiensi sebuah citra setelah dikompresi dengan metode kuantisasi.

2. Membuat aplikasi untuk implementasi metode kuantisasi dalam kompresi dan dekompresi file citra.

3. Mengetahui rasio kompresi dari file citra berformat *.BMP dan *.JPEG dengan menggunakan metode kuantisasi.

4. Mengetahui lama waktu yang dihabiskan untuk mengkompresi dan mendekompresi citra dengan metode kuantisasi.


(20)

1.5Manfaat Penelitian

Manfaat dari penelitian ini diharapkan dapat membantu sebagai bahan untuk refrensi dalam bidang kompresi khususnya metode kuantisasi, mengetahui kelebihan dan kekurangan dari metode kuantisasi dalam kompresi citra dan dapat mempermudah proses pengiriman citra.

1.6Metodologi Penelitian

Penelitian ini dilakukan dengan metodologi sebagai berikut : 1. Studi literatur

Pada tahapan ini dipelajari tentang citra digital, teknik kompresi dan metode kuantisasi.

2. Analisis dan Perancangan Sistem

Pada tahapan ini dilakukan analisis dan proses kerja kompresi file citra menggunakan metode kuantisasi dan perancangan sistem yang meliputi perancangan proses kerja sistem, perancangan interface dan UML (Unified Modelling Language), serta algoritma pemrograman yang meliputi flowchart . 3. Implementasi Sistem

Pada tahapan ini dilakukan implementasi dari perancangan sistem yang telah dilakukan pada tahap sebelumnya ke dalam bahasa pemrograman agar bisa digunakan untuk kompresi file citra (coding).

4. Pengujian Sistem

Pada tahapan ini digunakan untuk menguji coba sistem hasil rasio kompresi yang dibuat untuk mengetahui apakah program sudah berjalan sesuai dengan tujuan penelitian atau tidak, serta kelebihan dan kelemahan dari program tersebut.

5. Dokumentasi

Pada tahapan ini dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem yang telah dilakukan pada tahapan sebelumnya dalam format penulisan penelitian.


(21)

1.7Sistematika Penulisan

Dalam penyusunan skripsi ini penulis menggunakan sistematika yang membagi skripsi menjadi beberapa bagian utama, yaitu :

BAB 1: PENDAHULUAN

Pada bab ini berisi penjelasan mengenai latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodeologi penelitian dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Pada bab ini berisi penjelasan mengenai teori – teori yang terkait dengan penelitian ini diantaranya adalah membahas tentang pengolahan citra, citra digital, kompresi dan dekompresi citra, dan metode kuantisasi.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis terhadap fokus permasalahan penelitian dan perancangan terhadap sistem kompresi citra digital.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini membahas tentang implementasi dan pengujian sistem.

BAB 5: KESIMPULAN DAN SARAN

Bab ini akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.


(22)

BAB 2

LANDASAN TEORI

Pada bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan tugas akhir ini. Teori-teori yang dibahas mengenai pengertian citra, kompresi citra, metode kuantisasi, dan beberapa subpokok pembahasan lainnya yang menjadi landasan dalam penulisan tugas akhir ini.

2.1 Citra

Citra adalah gambar pada bidang dua dimensi. Citra merupakan suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek [9]. Citra sebagai keluaran suatu sistem perekaman data bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan[4].

Citra yang digunakan dalam pengolahan citra oleh komputer adalah citra dalam bentuk digital. Citra digital dapat didefenisikan sebagai suatu larik (array) piksel berukuran dua dimensi.Sedangkan piksel merupakan komponen dari larik sebuah citra digital yang menunjukkan nilai kecerahan tertentu. Misalnya citra yang mempunyai ukuran 512 x 512, berarti jumlah piksel vetikal adalah 512 piksel, sedangkan jumlah piksel horizontal adalah 512 piksel, sehingga jumlah piksel keseluruhan yang terdapat dalam citra tersebut adalah 262144 piksel [9].

2.2Jenis-jenis Citra

Terdapat 2 macam citra yaitu :

1. Citra Kontinu, citra yang dihasilkan dari sistem optik yang menerima sinyal analog.

Contoh : mata manusia, kamera analog.

2. Citra digital, citra yang dihasilkan melalui proses digitalisasi terhadap citra kontinu [4]. Citra dapat dikatakan sebagai citra digital jika citra tersebut disimpan dalam format digital (dalam bentuk file). Seperti halnya proses digitalisasi dalam bentuk data lain, proses digitalisasi pada citra juga


(23)

merupakan proses pengubahan suatu bentuk data citra dari yang bersifat analog ke dalam bentuk data digital. Yang mana proses ini dapat dilakukan dengan menggunakan alat bantu, seperti kamera serta scanner. Hanya citra digital yang dapat diolah menggunakan komputer sedangkan jenis citra yang lain dapat diolah dengan komputer jika citra tersebut diubah terlebih dahulu menjadi citra digital. Berikut ini gambar elemen sistem pemrosesan citra digital.

Gambar 2.1 Elemen Sistem Pemrosesan Citra Digital

Digitizer pada gambar diatas berfungsi untuk menangkap citra yang melakukan penjelajahan citra dan mengkonversi citra tersebut ke representasi numerik sebagai masukan bagi komputer. Hasil dari digitizer ini adalah matriks yang elemen-elemennya menyatakan nilai intensitas cahaya pada satu titik. Komputer digunakan pada sistem pemrosesan citra. Piranti tampilan berfungsi untuk mengkonversi matriks intensitas tinggi kemudian merepresentasikan citra ke tampilan yang dapat dilihat oleh manusia. Sedangkan media penyimpanan berfungsi untuk menyimpan hasil konversi citra menjadi citra digital sehingga dapat disimpan secara permanen agar dapat diproses lagi pada waktu yang lain [4].

Sebuah citra digital terdiri dari titik-titik persegi panjang atau elemen gambar yang diatur dalam m baris n kolom. Jumlah dari m x n disebut resolusi gambar dan titik-titik tersebut disebut piksel [3]. Semakin tinggi resolusi (semakin banyak jumlah piksel untuk tiap inci gambar), semakin halus gambar yang diperoleh. Ini disebabkan jumlah informasi yang hilang semakin sedikit.


(24)

Piksel adalah bagian terkecil dari sebuah citra. Piksel adalah satu titik pada citra yang direpresentasikan dalam bentuk 8 bit informasi. Pada kenyataannya, untuk menggambarkan satu titik pada citra dibutuhkan 2 piksel. Satu piksel digunakan untuk merepresentasikan terang atau gelap, sedangkan satu piksel laindigunakan untuk merepresentasikan warna pada titik yang sama [5]. Semakin banyak jumlah piksel yang mewakili sebuah citra, maka semakin tinggi resolusi citra tersebut. Jika resolusi semakin tinggi maka kualitas citra yang dihasilkan akan lebih baik.

2.4 Jenis-jenis citra digital

2.4.1. Citra biner (Monokrom)

Citra biner adalah citra yang hanya memiliki dua nilai derajat keabuan, yaitu : hitam dan putih. [2].

Banyaknya warna : 2, yaitu hitam dan putih

Dibutuhkan 1 bit di memori untuk menyimpan kedua warna ini. Gradasi warna :

0 1

bit 0 = warna hitam ; bit 1 = warna putih

Gambar 2.2 Contoh citra biner

2.4.2. Citra grayscale (skala keabuan)

Banyaknya warna di citra grayscale tergantung pada jumlah bit yang disediakan untuk menampung kebutuhan warna ini [1].

Citra 2 bit mewakili 4 warna dengan gradasi warna berikut :


(25)

Citra 3 bit mewakili 8 warna dengan gradasi warna berikut :

0 1 2 3 4 5 6 7

Gambar 2.3 Contoh citra Grayscale

2.4.3. Citra warna (true color)

Tiap piksel pada citra warna merupakan kombinasi dari tiga warna dasar yaitu, RGB (Red Green Blue) [4]. Dalam sebuah citra RGB, sebuah piksel memuat nilai dari tiga warna dasar tersebut. Dalam sebuah citra RGB 24-bit, nilai RGB masing-masing berkisar antara 0-255. Sebagai contoh representasi warna pada sebuah piksel antara lain, RGB [255,0,0] menghasilkan warna merah, RGB [0,255,0] menghasilkan warna biru, RGB [0,0,255] menghasilkan warna hijau. [13]. Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi sebanyak 255 warna. Berarti setiap piksel mempunyai kombinasi warna sebanyak 28.28.28 = 16.777.216. Itulah sebabnya format ini dinamakan true color karena mempunyai jumlah warna yang cukup besar sehingga bisa dikatakan hampir mencangkup semua warna di alam. Penyimpanan citra true color di dalam memori berbeda dengan citra grayscale. Setiap piksel dari citra grayscale 256 gradasi warna diwakili oleh 1 byte. Sedangkan 1 piksel citra true color diwakili oleh 3 byte, dimana masing-masing byte mewakili warna merah (red), hijau (green), dan biru (blue) [1].


(26)

Gambar 2.4 Gradasi warna citra true color

Gambar 2.5 Contoh citra true color

2.5 Format File Citra Bitmap

Citra digital bitmap (citra bitmap) secara teknis sering disebut sebagai raster images. Format citra bitmap mendukung citra dengan jumlah bit per piksel sebanyak 1, 4, 8, 16, 24, dan 32 [14]. Gambar bitmap adalah gambar yang terbentuk dari piksel. Format gambar bitmap sering dipakai dalam foto dan gambar. Keunggulan dari gambar bitmap adalah kemudahannya untuk ditampilkan secara rinci dengan pola-pola kompleks, yang tidak dapat dengan mudah direpresentasikan sebagai model matematika (garis, kurva) [9].

Format fileBitmap (BMP) merupakan format standar sistem operasi windows dalam IBM OS/2. Format ini mendukung mode warna dari bitmap mode hingga RGB mode. Bitmap (BMP) mudah dibuka dan disimpan, tetapi ada beberapa aturan khusus yang harus dicermati, diantaranya :

1. Format file ini menyimpan datanya secara terbalik, yaitu dari bawah keatas.


(27)

2. Citra dengan resolusi warna 8 bit, lebar citra harus merupakan kelipatan dari 4 bila tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data hingga merupakan kelipatan dari 4.

3. Citra dengan resolusi warna 24 bit, urutan penyimpanan 3 warna dasar adalah biru, hijau, merah (RGB).

4. Ukuran file bitmap ini bisa sangat besar hingga Megabytes[5].

Gambar 2.6 Contoh citra bitmap

2.6 Format File Citra JPEG

Format file Joint Photographic Exprest Group (JPEG) atau yang biasa disingkat JPG terkenal karena ukurannya yang mini dibandingkan dengan format-format citra lainnya. Mampu menayangkan warna dengan kedalaman 24-bit true color. JPG mendukung mode warna RGB, CMYK (Cyan, Magenta, Yellow, Black) dan Grayscale. Tetapi tidak mampu menampilkan citra dengan latar belakang transparan [4].


(28)

2.7 Pengertian Pengolahan Citra

Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadikan kualitas citra lebih baik dari sebelumnya. Umumnya operasi-operasi pada pengolahan citra diterapkan pada citra apabila :

a. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.

b. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur. c. Sebagian citra perlu digabung dengan bagian citra yang lain [2].

Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah diartikan oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra merubah citra menjadi citra lain, contohnya kompresi citra (image compression). Dalam proses kompresi citra masukkannya adalah citra dan keluarannya juga citra, namun citra keluaran yang dihasilkan mempunyai ukuran yang lebih kecil dari citra masukannya. Salah satu operasi yang dilakukan dalam pengolahan citra adalah kompresi citra (image compression) [2].

2.8 Kompresi Citra

Pemampatan citra atau Kompresi citra (image compression) adalah proses untuk meminimalkan jumlah bit yang mewakili sebuah citra sehingga ukuran citra menjadi lebih kecil dari ukuran yang semula [6]. Secara umum 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 semula [1].

Proses kompresi dan dekompresi citra dapat dilihat pada gambar di bawah ini :

Citra Asli Citra Hasil


(29)

Gambar 2.8 Alur kompresi citra dan dekompresi citra

2.8.1 Manfaat Kompresi Citra

Manfaat kompresi citra antara lain :

1. Meminimalkan waktu pengiriman data pada saluran komunikasi.

Contohnya pengiriman gambar menjadi lebih singkat , download dari internet, pengiriman data medis, dan lain-lain.

2. Membutuhkan ruang memori yang lebih sedikit dibandingkan dengan citra yang tidak dimampatkan [1].

3. Mengurangi redundancy data sebuah citra agar dapat mengurangi ukuran byte dari sebuah citra [13]

2.8.2 Jenis Kompresi Citra

1. Pendekatan Statistik

Bekerja dengan cara mengkodekan suatu simbol atau data yang sering muncul dengan jumlah bit yang lebih kecil dibandingkan dengan simbol yang memiliki intensitas kemunculan yang lebih rendah. [15]

Contoh : metode huffman 2. Pendekatan Ruang

Melihat hubungan antar piksel yang mempunyai derajat keabuan yang sama pada wilayah dalam citra.[2]

Contoh : metode Run-Length Encoding 3. Pendekatan Kuantisasi

Bekerja dengan cara mengurangi intensitas warna yang dimiliki sebuah citra, sehingga menyebabkan ukuran bit yang mewakili citra akan berkurang.

Contoh : metode Kuantisasi 4. Pendekatan Fraktal

Bekerja dengan cara menghilangkan bagian-bagian citra yang memiliki kemiripan. Biasanya citra yang dikompresi dengan metode pendekatan fractal akan kehilangan resolusi citra aslinya. Contoh : Metode Fraktal [13]


(30)

2.8.3 Teknik Kompresi Citra

1. Lossy Compression

Teknik kompresi dimana data hasil dekompresi tidak tepat sama dengan data asli (sebelum dikompresi)[16]. Namun hasilnya sudah “cukup” untuk digunakan [7]. Contoh: metode kuantisasi, fraktal , FFT (Fast Fourier Transform). Pada lossy compression rasio kompresi yang dihasilkan lebih tinggi dari lossless compression[16]. Kelebihan dari lossy compression adalah ukuran file lebih kecil dibanding loseless namun masih tetap memenuhi syarat untuk digunakan. Biasanya teknik ini membuang bagian-bagian data yang sebenarnya tidak begitu berguna, tidak begitu dilihat oleh manusia sehingga manusia masih beranggapan bahwa data tersebut masih bisa digunakan walaupun sudah dikompresi. Diagram lossy compression seperti yang terlihat pada gambar 2.9

Input image Source encoder quantizer

entropy encoder Compressed

image

Gambar 2.9 diagram lossy compression [16]

2. Loseless Compression

Teknik kompresi dimana data hasil kompresi dapat didekompresi lagi dan hasilnya tepat sama seperti data sebelum proses kompresi [7]. Contoh : Arithmetic coding, Shanon fano coding , RLE (Run Length Encoding). Teknik ini digunakan jika dibutuhkan data setelah dikompresi harus dapat diekstrak/dekompresi lagi tepat sama. Kadangkala ada data-data yang setelah dikompresi dengan teknik ini


(31)

ukurannya menjadi lebih besar atau sama. Pada lossless compression citra yang telah dikompresi memiliki kesamaan secara numerik yang identik dengan citra aslinya.

Keuntungan dari metode lossy atas lossless adalah dalam beberapa kasus metode lossy menghasilkan file kompresi yang lebih kecil dibandingkan dengan metode lossless. Metode lossy sering digunakan untuk mengkompresi suara, gambar dan video karena data tersebut dimaksudkan kepada human interpretation dimana pikiran dapat dengan mudah “mengisi bagian-bagian yang kosong” atau melihat kesalahan yang sangat kecil. Sedangkan lossless digunakan untuk mengkompresi data untuk diterima dalam kondisi asli seperti dokumen teks. Lossy akan mengalami generation loss pada data sedangkan pada lossless tidak terjadi karena data yang hasil dekompresi sama dengan data asli [9]. Diagram lossless seperti yang terlihat pada gambar 2.10

Lossless encoder Table specification

Entropy encoder

Compressed image predictor

Source image

Gambar 2.10 diagram lossless compression [16]

2.8.4 Rasio Kompresi Citra

Rasio kompresi citra adalah ukuran presentase citra yang telah berhasil dimampatkan. Secara matematis rasio pemampatan citra dituliskan sebagai berikut :

Rasio = 100%− ������������ℎ������������


(32)

Misalkan hasil rasio adalah 35% , artinya 35% dari citra semula telah dimampatkan [1].

Contoh : dimisalkan ukuran citra asli = 144 bit Ukuran citra hasil kompresi = 72 bit

Rasio = 100%− ������������������ℎ��������������������� × 100%� Rasio = 100%− �72

144× 100%� Rasio = 100%− [50 %] Rasio = 50 %

Hasil rasio = 50%. Artinya, 50% dari citra semula telah berhasil dimampatkan.


(33)

Gambar 2.12 Contoh citra sesudah dikompresi

2.7 Dekompresi Citra

Pada proses dekompresi, citra yang sudah dikompresi harus dapat dikembalikan lagi menjadi representasi citra seperti citra aslinya. Proses ini diperlukan jika citra ingin ditampilkan ke layar atau disimpan ke dalam arsip dengan format yang tidak terkompresi [6].

Pada metode kuantisasi, dekompresi dilakukan melalui proses dekuantisasi. Proses dekuantisasi adalah proses sebaliknya dari kuantisasi, yaitu mengembalikan nilai hasil kuantisasi ke nilai awal sebelum proses kuantisasi. Sesuai prinsip metode kuantisasi yaitu membagi-bagi intensitas warna sebuah citra. Maka, proses dekuantisasi dilakukan dengan cara proses perkalian [11].

2.8 Metode Kuantisasi

Sesuai dengan prinsip kerja dari lossy compression yang menghilangkan beberapa bagian dari sebuah citra yang dianggap tidak begitu penting, maka metode kuantisasi bekerja dengan mengurangi derajat keabuan sehingga jumlah bit yang dibutuhkan untuk merepresentasikan citra berkurang [1]. Metode kuantisasi bekerja dengan mengurangi jumlah intensitas warna sebuah citra, sehingga jumlah bit yang digunakan untuk merepresentasikan citra menjadi berkurang [8]. Oleh karena jumlah bit berkurang maka ukuran file menjadi lebih kecil. Dengan berkurangnya intensitas warna tentu saja ada informasi yang hilang dari citra asal. Oleh karena itu metode ini termasuk dalam lossy compression, sehingga citra yang sudah dikompresi sulit didekompresi kembali karena adanya informasi yang hilang. Proses kompresi tentunya akan berdampak kepada banyak hal. Yang pertama adalah ukuran citra hasil kompresi. Ukuran citra diharapkan lebih kecil dari citra asal. Kedua adalah kualitas citra untuk input terhadap proses berikutnya.


(34)

Proses kuantisasi adalah proses membagi-bagi warna kontinu menjadi G buah warna. Biasanya G diambil dari perpangkatan 2.

G= 2m... (1) [2]. Keterangan :

G = jumlah warna (derajat keabuan) m = bilangan bulat positif

Tabel 1. Kedalaman Piksel

G Rentang Nilai Kedalaman Piksel

21 0 ~ 1 1 bit

28 0 ~ 255 8 bit/1 byte

216 0 ~ 65535 16 bit/ 2 byte

Semakin besar kedalaman piksel yang dipakai untuk merepresentasikan suatu gambar, semakin bagus gambar digital yang akan dihasilkan karena jumlah warna yang dapat direpresentasikan semakin banyak. Pada umumnya, gambar grayscale memiliki 256 level dan membutuhkan kapasitas 8 bit / 1 byte untuk tiap pikselnya [2].

2.9 Mean Square Error ( MSE )

Mean Square Error adalah rata-rata kesalahan yang dikuadratkan. Semakin besar nilai MSE maka semakin besar nilai kesalahan. Sebuah citra yang memiliki nilai MSE yang tinggi, maka kualitas dari citra tersebut semakin rendah.

��� = �(��− ��) 2

� �=1 Keterangan :

MSE = Mean Squared Error N = Jumlah Sampel


(35)

(36)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Analisis dilakukan untuk memberikan gambaran secara umum terhadap implementasi yang akan dibuat. Hasil analisis akan menjadi dasar untuk melakukan perancangan atau desain program sesuai dengan kebutuhan sistem.

3.1. Analisis Sistem

Analisis sistem merupakan tahap awal dari sebuah penelitian yang bertujuan untuk mengetahui masalah yang terkait dalam pembuatan sistem dengan mempelajari dan memahami masalah yang akan diselesaikan dengan menggunakan sistem ini. Setelah mengetahui permasalahan yang ingin diselesaikan maka dilanjutkan dengan proses perancangan model yang nantinya akan memenuhi kebutuhan dan permintaan pengguna. Analisis selanjutnya yang merupakan analisis terakhir yaitu analisis proses yang diimplementasikan dalam sebuah sistem.

3.1.1. Analisis Masalah

Analisis masalah yang akan dilakukan adalah bagaimana mengkompresi citra dengan format *.bmp dan *.jpeg dengan menggunakan metode kuantisasi. Kemudian citra didekompresi kembali dengan metode yang sama. Masalah pada penelitian secara umum ditunjukkan dengan menggunakan diagram ishikawa pada gambar 3.1.

user

Kompresi - Dekompresi citra

Material Sistem

metode

matlab File .bmp dan .jpeg sebagai input awal

kuantisasi

Diuji pada 2 jenis format citra Kecepatan internet yang

tidak begitu baik

Waktu yang lama pada proses pengiriman citra pada saluran komunikasi ukuran citra yang beragam

Gambar 3.1 Diagram Ishikawa Untuk Analisa Masalah 3.1.2. Analisis Kebutuhan Sistem


(37)

Analisis kebutuhan sebuah sistem dibagi menjadi dua kategori, yaitu : analisis kebutuhan fungsional system dan analisis kebutuhan non-fungsional sistem.

3.1.2.1. Kebutuhan Fungsional Sistem

Kebutuhan fungsional sistem merupakan segala sesuatu yang dibutuhkan sistem. Dalam pengimplementasian sistem kompresi dan dekompresi citra dengan menggunakan metode kuantisasi ini memiliki kebutuhan fungsional yang harus dipenuhi, antara lain :

1. Citra digital yang akan dikompresi adalah citra digital dengan format .bmp atau .jpeg.

2. Proses implementasi pada sistem ini dilakukan dengan melakukan kompresi dan dekompresi menggunakan metode kuantisasi

3. Sistem akan menampilkan citra yang telah berhasil dikompresi dan berusaha mengembalikan citra kembali dengan proses dekompresi.

3.1.2.2. Kebutuhan Non-Fungsional Sistem

Agar membantu kinerja sistem agar lebih baik, terdapat kebutuhan non-fungsional sistem, antara lain :

1. Performa

Sistem dan perangkat lunak yang dibangun harus dapat menunjukkan hasil dari proses implementasi metode kuantisasi untuk kompresi citra dan dekompresi citra bitmap dan jpeg.

2. Mudah digunakan ( user friendly)

Sistem dan perangkat lunak yang dibangun harus sederhana agar mudah digunakan oleh user dan memiliki interface yang menarik.

3. Hemat biaya

Sistem atau perangkat lunak yang digunakan tidak memerlukan perangkat tambahan atau perangkat pendukung lainnya yang dapat mengeluarkan biaya. 4. Dokumentasi

Sistem atau perangkat lunak yang dibangun dapat menyimpan hasil citra yang telah dikompresi dan didekompresi.


(38)

3.1.3. Analisis Proses

Dalam sistem ini menggunakan metode kuantisasi untuk mengkompresi dan mendekompresi citra .bitmap dan .jpeg. Setelah dilakukan kompresi, di dalam sistem ini nantinya akan terdapat beberapa keterangan citra setelah dikompresi. Misalnya, ukuran citra setelah dikompresi, waktu yang dibutuhkan untuk proses kompresi, rasio citra diantara citra setelah dikompresi dan sebelum kompresi. Setelah dilakukan proses kompresi, dapat dilakukan proses dekompresi citra, yaitu proses pengembalian citra ke bentuk semula. Di dalam sistem ini nantinya juga akan dapat menampilkan beberapa keterangan citra yang berhasil di dekompresi. Misalnya, ukuran citra setelah didekompresi dan waktu yang dibutuhkan untuk melakukan proses dekompresi citra.

3.2. Pemodelan

Pada pengimplementasian kompresi dan dekompresi citra ini digunakan UML sebagai bahasa pemodelan yang berfungsi untuk membantu merancang sistem kompresi dan dekompresi citra. Model UML yang digunakan dalam penelitian ini yaitu use case, sequence diagram, dan activity diagram.

3.2.1. Use Case Diagram

Use case diagram adalah suatu diagram yang merupakan teknik untuk merekam persyaratan fungsional dan berfungsi untuk menggambarkan interaksi antara pengguna sistem dengan sistem itu sendiri kemudian memberi suatu penjelasan bagaimana sistem tersebut digunakan. Berikut ini merupakan use case diagram dari sistem yang dirancang dan dibangun oleh penulis yang dapat dilihat pada gambar 3.2


(39)

Kuantisasi

Kompresi

actor

<<include>>

Simpan

<<include>>

<<Include>>

Dekompresi <<include>>

Simpan <<include>>

<<include>> Hitung

MSE

Hitung MSE

Gambar 3.2.Use Case Diagram Sistem Kompresi dan Dekompresi Citra

3.2.2 SquenceDiagram

Sequence diagram adalah diagram yang menunjukkan kelompok-kelompok objek yang saling berkolaborasi dalam beberapa kebiasaan (behavior). Sequence diagram menunjukkan sejumlah objek contoh dan pesan-pesan yang lewat objek-objek tersebut dalam use case. Berikut ini merupakan gambaran dari sequence diagram dari sistem yang telah dirancang dan dibangun oleh penulis yang dapat dilihat pada gambar 3.2 dan gambar 3.3.


(40)

Input Citra Kompresi Citra Waktu kompresi Simpan Rasio Citra

Ambil citra actor

Proses kompresi

Perhitungan waktu

Simpan citra

Perhitungan rasio Proses kompresi citra

Hasil kompresi citra

Hasil perhitungan Rasio Citra


(41)

Citra

Kompresi Simpan

Waktu dekompresi Dekompresi

Citra

Citra kompresi actor

Proses kompresi

Perhitungan waktu

Simpan citra

Proses dekompresi citra Hasil dekompresi citra

Gambar 3.4 Sequence Diagram Proses Dekompresi Citra

3.2.3. Activity Diagram

Activity diagram adalah diagram yang berfungsi untuk menggambarkan logika procedural, jalur kerja suatu sistem. Diagram ini hampir memiliki peran yang sama dengan diagram alir yang mana memungkinkan siapapun yang melakukan proses agar dapat memilih urutan dalam melakukan kinerja sistem sesuai yang diinginkan. Berikut ini merupakan activity diagram dari sistem yang telah dirancang dan dibangun oleh penulis yang dapat dilihat pada gambar 3.5 dan 3.6.


(42)

user sistem

Melakukan penyimpanan file citra kompresi

Menampilkan citra yang telah berhasil di kompresi

menekan tombol simpan

Memproses citra Menekan tombol kompresi

Open dialog Menekan tombol open file

Menampilkan keterangan dimensi file citra dan waktu

kompresi

Menampilkan keterangan ukuran file citra Kompresi dan

rasio


(43)

user sistem

Sistem melakukan penyimpanan file citra dekompresi User menekan tombol simpan

Sistem menampilkan citra yang telah berhasil di dekompresi

Sistem memproses citra Menekan tombol dekompresi

Menampilkan keterangan dimensi file citra dan waktu

kompresi

Gambar 3.6 Activity Diagram Dekompresi Citra 3.3. Pseudocode Program

Pseudocode merupakan algoritma yang diterjemahkan dengan bahasa tingkat tinggi, bahasa yang digunakan agar mudah dimengerti manusia dan dapat digambarkan dengan mudah sehingga dapat dipahami oleh manusia itu sendiri.

3.3.1. Pseudocode Proses Implementasi Kompresi dan Dekompresi Citra dengan menggunakan Metode Kuantisasi

3.3.1.1 Pseudocode Kompresi Citra

gbrAwal ← imread(fullfile(nama_path, nama_file))

[a,b,c]← size(citra =RGB)

Array=double(gbrAwal)← array untuk gbrAwal

gbrKompresi=zeros(a,b,c)


(44)

for f←1 to b

for g←1 to c

if (mod(array(e,f,g),2==0)

gbrKompresi(e,f,g) ← (array(e,f,g)/2;

else

gbrKompresi(e,f,g)← (array(e,f,g))+1/2;

end if end for end for end for

Pada proses kompresi citra, citra masukan awal disimpan pada variabel gbrAwal yang memiliki size a,b,c. array yang mewakili citra dari gbrAwal didoublekan agar lebih mudah dilakukan oprerasi matimatika dari citra tersebut. Kemudian, buat variabel baru untuk gambar yang akan dikompresi yang arraynya berisi hasil bagi dari array yang mewakili gbrAwal.

3.3.1.2 Pseudocode Dekompresi Citra

gbrHasil ← imread(fullfile(nama_path, nama_file))

[a,b,c]← size(citra =RGB)

Array=double(gbrHasil)← array untuk gbrHasil

gbrDekomp=zeros(a,b,c)

for e←1 to a

for f←1 to b

for g←1 to c

gbrDekomp(e,f,g)← (array(e,f,g))*2;

end for end for end for

Pada proses dekompresi, hal pertama yang dilakukan adalah membaca citra hasil (citra yang telah dikompresi). Kemudian simpan pada variabel gbrHasil. Array yang mewakili gbrHasil diproses dengan proses perkalian kemudian disimpan pada variabel gbrDekomp. Proses perkalian dilakukan agar array yang mewakili citra kembali ke nilai awal saat sebelum dilakukan proses kompresi,


(45)

3.4. Perancangan Sistem

3.4.1. Perancangan Flowchart Sistem 3.4.1.1 Flowchart Gambar Umum

Secara umum, proses yang dilakukan sistem untuk kompresi dan dekompresi citra dapat dilihat pada flowchart gambaran umum pada gambar 3.7.

Mulai

Ambil Citra (*.bmp,*.jpeg)

Kompresi citra

simpan

selesai Citra hasil

kompresi

Mulai

Citra (*.bmp,*.jpeg)

Dekompresi citra

simpan

selesai Citra hasil Dekompresi kompresi Dekompresi

Gambar 3.7 Flowchart Umum Sistem

Pada flowchart umum kompresi, hal pertama yang dilakukan user adalah memilih citra yang ingin dikompresi. Setelah memilih citra yang ingin dikompresi, sistem melakukan proses kompresi. Kemudian dilakukan proses penyimpanan citra kompresi dan selanjutnya sistem menampilkan citra yang telah dikompresi. Setelah menampilkan citra kompresi maka proses kompresi untuk citra dengan menggunakan metode kuantisasi selesai.


(46)

Pada flowchart umum dekompresi, citra yang telah dikompresi sebelumnya dipilih untuk dilakukan proses dekompresi. Setelah dimasukkan citra kompresi, sistem melakukan proses dekompresi. Selanjutnya menampilkan citra dekompresi, setelah citra dekompresi muncul, maka proses dekompresi selesai.

3.4.1.2 Flowchart Kompresi Citra

Proses kompresi citra dapat dilihat pada gambar 3.8

Mulai

Ambil Citra

Simpan citra dalam variabel

gbrAsli

Baca jenis citra

Rubah matriks yang mewakili citra menjadi tipe data double

Proses pembagian

warna

Matriks citra dengan intensitas warna baru

Finish Citra Kompresi

Gambar 3.8 Flowchart Kompresi Citra

Keterangan :

1. Mulai : Proses kompresi di mulai

2. Input citra .jpeg / .bmp : masukkan citra dengan format .bmp atau .jpeg agar bisa diproses.


(47)

4. Dilakukan proses pembacaan jenis citra.

5. Rubah matriks yang mewakili cita menjadi tipe data double.

6. Dilakukan proses pembagian warna. Diperoleh intensitas warna baru yang mewakili citra.

7. Pembacaan citra kompresi dengan intensitas warna baru.

3.4.1.3 Flowchart Dekompresi Citra

Proses dekompresi citra dapat dilihat pada gambar 3.9.

Mulai

Ambil Citra

Simpan citra dalam variabel

gbrHasil

baca jenis citra

Matriks yang mewakili citra dirubah menjadi tipe data

double

Proses perkalian

warna

Matriks citra dengan intensitas warna baru

Finish Citra dekompresi

Gambar 3.9 Flowchart Dekompresi Citra

Keterangan :


(48)

2. Input citra .jpeg / .bmp : masukkan citra kompresi dengan format .bmp atau .jpeg agar bisa diproses.

3. Simpan citra pada variabel gbrHasil 4. Dilakukan proses pembacaan jenis citra.

5. Rubah matriks yang mewakili cita menjadi tipe data double.

6. Dilakukan proses perkalian warna. Diperoleh intensitas warna baru yang mewakili citra.

7. Pembacaan citra dekompresi dengan intensitas warna baru.

3.4.2. Proses Perhitungan Manual Sistem

Kompresi:

Citra Awal 5 x 5 dengan kedalaman warna 0-255 akan diturunkan menjadi citra yang mempunyai kedalaman warna 0-128.

R=

⎣ ⎢ ⎢ ⎢

14848 20881 00

0 0 0

209 55

96 154

0 0

169 87 0

139 255 37

74 168

255 136⎦

⎥ ⎥ ⎥ ⎤ G = ⎣ ⎢ ⎢ ⎢

⎡104214 255141 1728

35 42 61

236 96

144 209

31 26

207 134 31

61 218 7

135 198

215 27⎦

⎥ ⎥ ⎥ ⎤ B= ⎣ ⎢ ⎢ ⎢

1140 15653 00

0 0 8

181 56

96 178

0 16

130 62 0

0 122 0

94 190

150 6 ⎦

⎥ ⎥ ⎥ ⎤

Dilakukan pembagian untuk masing-masing matriks dengan syarat :

���������������� 2 = 0 maka elemen matriks baru = �����������������

2

���������������� 2 ≠0 maka elememen matriks baru = �����������������+1

2

Setelah dilakukan perhitungan untuk setiap elemen matriks, maka didapat matriks baru yang mewakili citra kompresi yaitu :


(49)

R=

⎣ ⎢ ⎢ ⎢

⎡2474 10442 00

0 0 0

105 28

48 77

0 0

85 44 0

70 128 19

37 84

128 68⎦

⎥ ⎥ ⎥ ⎤ G= ⎣ ⎢ ⎢ ⎢

10752 12871 149

18 21 31

118 48

72 105

16 13

104 67 16

31 109 4

68 99

108 14⎦

⎥ ⎥ ⎥ ⎤ B= ⎣ ⎢ ⎢ ⎢

470 7827 00

0 0 4

91 28

48 89

0 8

65 31 0

0 61 0

87 95

75 3⎦

⎥ ⎥ ⎥ ⎤

Karena terjadi penurunan kedalaman warna dari sebuah citra, maka ukuran citra kompresi mengalami penurunan.

Setelah dilakukan kompresi, selanjutnya dilakukan proses dekompresi dengan cara melakukan perkalian terhadap matriks citra kompresi. Dengan syarat setiap elemen matriks dikalikan dengan dua, agar mampu kembali ke bentuk semula.

Setelah dilakukan proses perkalian, maka hasil matriks citra akan menjadi :

R =

⎣ ⎢ ⎢ ⎢

14848 20881 00

0 0 0

210 56

96 154

0 0

169 87 0

139 255 37

74 168

255 136⎦

⎥ ⎥ ⎥ ⎤ G = ⎣ ⎢ ⎢ ⎢

⎡104214 255141 1728

35 42 61

236 96

144 209

31 26

207 134 31

61 218 7

135 198

215 27⎦

⎥ ⎥ ⎥ ⎤ B = ⎣ ⎢ ⎢ ⎢

1140 15653 00

0 0 8

181 56

96 178

0 16

130 62 0

0 122 0

94 190

150 6 ⎦

⎥ ⎥ ⎥ ⎤

3.4.3. Perancangan Antarmuka (Interface)

Sistem uji deteksi bangun ruang ini dirancang dan dibangun dengan bahasa pemrograan MATLAB R2007b. Perancangan antarmuka atau interface ini bertujuan untuk memudahkan interaksi antara manusia dengan komputer sehingga manusia


(50)

dapat menggunakan sistem yang telah dirancang dan dibangun dapat dipergunakan dengan baik dan mudah digunakan.

3.4.3.1. Form Pertama PROSES BANTUAN

IMPLEMENTASI METODE KUANTISASI PADA KOMPRESI CITRA BITMAP DAN JPEG

Logo Universitas

NAMA NIM

1 2

3

4

5

TENTANG 6 7 Keluar

Gambar 3.10 Tampilan Rancangan form pertama

Keterangan:

1. Tombol Menu Proses

Untuk masuk ke menu proses kompresi dan dekompresi citra dengan metode kuantisasi.

2. Tombol Menu Bantuan

Untuk masuk ke dalam menu bantuan, berisi cara penggunaan sistem. 3. Text1

Berisi judul dari sistem yang dibuat. 4. Axes1

Menampilkan Logo Universitas dari penulis. 5. Text2

Menampilkan info tentang penulis, yaitu: Nama penulis dan NIM penulis. 6. Tombol Menu Tentang

Untuk Masuk ke menu tentang aplikasi. 7. Tombol Menu Keluar

Tombol untuk keluar dari aplikasi.


(51)

IMPLEMENTASI METODE KUANTISASI

PADA KOMPRESI DAN DEKOMPRESI CITRA BITMAP DAN JPEG

PILIH CITRA

NAMA FILE ASLI DIMENSI FILE UKURAN FILE SIMPAN WAKTU KOMPRESI DIMENSI FILE UKURAN FILE RASIO KOMPRESI DEKOMPRESI CITRA KOMPRESI CITRA ASLI BATAL SIMPAN WAKTU KOMPRESI DIMENSI FILE UKURAN FILE CITRA DEKOMPRESI 1 2 3 4 A B C D F G A B C D E F G A B C D E F 5 6 E keluar pertama bantuan 10 8 7 bantuan 9 MSE H MSE G

Gambar 3.11 Tampilan Rancangan form proses

Keterangan: 1.Text

Judul Sistem “Implementasi Metode Kuantisasi Pada Kompresi Citra Bitmap dan JPEG.

2. Panel1

Berisi informasi tentang citra asli. 2.A Text

Judul citra asli. 2.B Axes

Axes untuk menampilkan citra asli yang akan diproses. 2.C Tombol Pilih

Tombol pilih untuk memilih citra yang akan diproses. 2.D Text

Informasi nama file citra asli. 2.E Text

Informasi ukuran dimensi file asli. 2.F Edit Text

Informasi berisi ukuran file asli. 3. Panel2

Berisi informasi tentang citra kompresi. 3.A Text

Citra kompresi. 3.B Axes

Axes untuk menampilkan citra kompresi. 3.C Text


(52)

Informasi ukuran dimensi file kompresi. 3.D Text

Informasi lama dewaktu kompresi . 3.E Edit Text

Informasi berisi ukuran file. 3.F Text

Informasi berisi rasio antara file citra sebelum dan sesudah dikompresi. 3.G Tombol Simpan

Tombol simpan untuk menyimpan citra yang telah berhasil dikompresi. 3. H Tombol MSE

Tombol untuk menghitung nilai MSE. 4. Panel3

Berisi informasi tentang citra dekompresi. 4.A Text

Citra dekompresi. 4.B Axes

Axes untuk menampilkan citra dekompresi. 4.C Text

Informasi ukuran dimensi file dekompresi. 4.D Text

Informasi lama waktu dekompresi . 4.E Edit Text

Informasi berisi ukuran file dekompresi. 4.F Tombol Simpan

Tombol simpan untuk menyimpan citra yang telah berhasil didekompresi. 4. G Tombol MSE

Tombol untuk menghitung nilai MSE.

5. Tombol Kompresi

Tombol untuk melakukan proses Kompresi Citra. 6. Tombol Dekompresi

Tombol untuk melakukan proses Dekompresi Citra. 7. Tombol Pertama

Tombol untuk masuk ke menu awal aplikasi. 8. Tombol Bantuan

Tombol untuk masuk ke menu Bantuan. 9. Tombol Tentang

Tombol untuk masuk ke menu Tentang Aplikasi.


(53)

Pertama Proses Tentang Keluar

Bantuan

Langkah-langkah Pengoperasian Sistem

3 6

2 1 5

4

Gambar 3.12 Tampilan Rancangan form bantuan

Keterangan:

1. Text = Judul Menu Bantuan

2. Text = Berisi langkah-langkah pengoperasian sistem. 3. Tombol pertama = Untuk masuk ke menu awal. 4. Tombol Proses = Untuk masuk ke menu Proses.

5. Tombol Tentang = Untuk masuk ke menu Tentang Aplikasi. 6.Tombol keluar = Untuk keluar dari Sistem.

3.4.3.4. Form Tentang Aplikasi

Pertama Proses Bantuan Keluar

Tentang Aplikasi

Informasi tentang penulis Informasi tentang Aplikasi

1 7

6 5

4 3

2

Gambar 3.13 Tampilan Rancangan form Tentang Aplikasi

Keterangan :

1. Tombol Pertama = Untuk masuk ke menu awal. 2. Tombol Proses = Untuk masuk ke menu Proses. 3. Tombol Bantuan = Untuk masuk ke menu Bantuan. 4. Text = berisi judul Menu Tentang Aplikasi.

5. Text = Berisi informasi tentang Aplikasi. 6. Text = Berisi Informasi penulis.


(54)

(55)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

Setelah tahap analisis dan perancangan sistem selesai pada bab III, selanjutnya akan dilakukan tahap implementasi dan pengujian terhadap sistem yang telah dibangun. Sistem kompresi dan dekompresi citra ini dibangun dengan menggunakan bahasa pemrograman MATLAB R2007a. Pada sistem ini terdapat 4 form yang digunakan yang mana terdiri dari form pertama, form proses, form bantuan, dan form tentang sistem.

4.1.1. Form Pertama

Form pertama merupakan form tampilan awal dari sistem implementasi kompresi dan dekompresi citra. Pada form ini terdapat keterangan judul skripsi, nama penulis, nim penulis dan logo universitas. Selain itu terdapat juga menu proses, menu bantuan, dan menu tentang. Fungsi menu proses disini untuk masuk ke dalam proses kompresi dan dekompresi. Untuk menu bantuang berfungsi untuk masuk ke dalam form yang berisi tentang cara penggunaan dari sistem ini agar membantu pengguna (user). Dan untuk menu tentang aplikasi berisi informasi tentang sistem dan informasi penulis.

Gambar 4.1. Form Pertama


(56)

Form Proses ini merupakan form yang digunakan untuk proses kompresi dan dekompresi citra. Untuk mengambil citra yang akan diproses. Pengguna diharuskan mengambil citra terlebih dahulu dengan menekan button pilih citra. Selanjutnya sistem akan memunculkan citra yang telah dipilih oleh pengguna dan juga memunculkan keterangan dari citra yang telah dipilih. Setelah proses pemilihan citra yang akan diproses selesai. Selanjutnya pengguna menekan button kompresi agar dilakukan proses kompresi citra yang telah dipilih dengan metode kuantisasi. Sistem akan memunculkan citra yang telah berhasil dikompresi. Dan selanjutnya akan dilakukan proses penyimpanan citra saat pengguna menekan button simpan. Setelah proses kompresi selesai, selanjutnya akan dilakukan proses Dekompresi. Pengguna menekan button dekompresi agar sistem dapat melakukan proses dekompresi, setelah dilakukan proses dekompresi citra yang berhasil didekompresi akan dimunculkan di sistem. Selanjutnya dilakukan proses penyimpanan terhadap citra yang telah berhasil di dekompresi.

Dalam form proses juga terdapat button pertama yang berfungsi untuk kembali ke halaman awal sistem, juga terdapat button bantuan untuk masuk ke form bantuan apabila pengguan mengalami kesulitan dalam menggunakan sistem. Button tentang untuk melihat menu tentang sistem. Dan button keluar apabila pengguna ingin keluar dari sistem.


(57)

Gambar 4.2 merupakan tampilan dari form proses.

4.1.3 Form Bantuan

Dalam form bantuan berisi tentang bagaimana cara penggunaan sistem. Terdapat langkah-langkah yang harus dilakuan pengguna untuk menggunakan sistem ini dan fungsi dari button-button.

Gambar 4.3. Form Bantuan

4.1.4 Form Tentang Aplikasi

Form tentang aplikasi berisi tentang kegunaan dari aplikasi yang telah dibuat dan berisi biodata penulis.


(58)

Gambar 4.4. Form Tentang_aplikasi 4.2. Pengujian

Pengujian sistem akan dilakukan untuk mengetahui apakah sistem yang telah dibangun dapat mengkompresi dan mendekompresi citra dengan baik.

4.2.1. Pengujian Kompresi dan Dekompresi Citra

Ada 2 jenis pengujian kompresi dan Dekompresi citra. Yaitu untuk citra berformat *.jpeg dan untuk citra berformat .bmp. langkah pertama sistem akan mengkompresi citra dengan format *.jpeg terlebih dahulu.

4.2.1.1. Pengujian Kompresi Citra Format *.jpeg

Langkah pertama yang dilakukan dalam menu proses untuk mengkompresi citra adalah memilih citra yang akan dikompresi. Proses pemilihan citra terlihat pada gambar 4.5.


(59)

Gambar 4.5. Tampilan Form saat Pilih Citra *.jpeg

Pada gambar 4.5 terlihat proses pemilihan citra. Yang dilakukan adalah memilih citra dengan format *.jpeg. dalam pengujian kompresi ini kita memilih citra dengan nama foto1.jpeg. setelah memilih citra, tampilan selanjutnya dari form proses terlihat pada gambar 4.6.

Gambar 4.6. Tampilan Form saat Citra telah dipilih

Gambar 4.6 merupakan tampilan form setelah dilakukan pemilihan citra. Citra yang telah dipilih tadi akan ditampilkan axes1 pada panel citra asli. Langkah selanjutnya


(60)

yaitu menekan button kompresi agar dilakukan proses kompresi. Tampilan form setelah button kompresi dipilih terlihat pada gambar 4.7.

Gambar 4.7. Tampilan Form setelah Kompresi

Gambar 4.7 merupakan tampilan form setelah dilakuakan kompresi. Terlihat gambar yang telah dikompresi muncul pada axes2 panel citra kompresi. Selain itu muncul juga ukuran dimensi file citra dan waktu yang dihabiskan untu proses kompresi dan terlihat perbedaan pada gambar asli dan gambar kompresi secara kasat mata. Gambar kompresi mempunyai cahaya yang lebih redup dibandingkan gambar asli. Selanjutnya dilakukan proses penyimpanan citra agar citra dapat disimpan dan sistem dapat melakukan perhitungan rasio. Proses penyimpanan terlihat pada gambar 4.8.


(61)

Gambar 4.8. Tampilan Form saat proses penyimpanan citra kompresi

Gambar 4.9. Tampilan Form setelah proses penyimpanan citra kompresi

Gambar 4.8 merupakan gambar saat proses penyimpanan untuk citra foto1.jpeg. dan gambar 4.9 adalah tampilan sesudah proses penyimpanan kompresi. Setelah proses penyimpanan selesai ukuran citra kompresi dan rasio citra kompresi akan muncul. Seperti yang terlihat pada gambar 4.9.


(62)

Selanjutnya dilakukan perhitungan MSE untuk citra kompresi. Tampilan setelah tombol MSE dipilih adalah seperti terlihat pada gambar 4.10.

Gambar 4.10 tampilan setelah perhitungan MSE untuk citra kompresi.

Setelah proses kompresi, penyimpanan gambar dan perhitungan nilai MSE selesai dilakukan langkah selanjutnya melakukan proses dekompresi. Untuk memulai proses dekompresi dimulai dengan menekan button dekompresi dalam form proses. Hasil dekompresi citra terlihat pada gambar 4.11.


(63)

Gambar 4.11 merupakan tampilan form setelah proses dekompresi. Selanjutnya dilakukan proses penyimpanan citra dekompresi. Proses penyimpanan citra terlihat pada gambar 4.12.

Gambar 4.12. Tampilan Form saat proses penyimpanan

Gambar 4.13. Tampilan Form setelah proses penyimpanan

Gambar 4.12 dan 4.13 adalah tampilan saat dan setelah proses penyimpanan untuk citra dekompresi. Setelah proses penyimpanan selesai sistem akan memunculkan ukuran file yang telah berhasil di dekompresi.


(64)

Setelah proses dekompresi, dilakukan perhitungan MSE untuk citra dekompresi. Tampilan setelah perhitungan MSE terlihat pada gambar 4.14.

Gambar 4.14. Tampilan form saat perhitungan MSE.

Dari proses kompresi dan dekompresi citra untuk foto1.jpeg didapatkan hasil ukuran file sebelum dikompresi adalah 2504 kb, setelah dikompresi dengan metode kuantisasi menjadi 284 kb dengan rasio 88.69%, setelah didekompresi kembali didapatkan ukuran citra menjadi 428 kb. Waktu kompresi untuk foto1 adalah 10.8 second dan 6.3 second.

Pengujian untuk citra format *.jpeg dilakukan pada 6 citra. Berikut tabel yang menunjukkan hasil kompresi dan dekompresi citra dengan metode kuantisasi pada citra foto1.jpeg , foto2.jpeg , foto3.jpeg , foto4.jpeg , foto 5.jpeg , dan sekolah.jpeg.

Tabel 4.1 Hasil Kompresi dan Dekompresi Citra *.jpeg


(65)

Foto1.jpeg

Foto2.jpeg

Foto3.jpeg

Foto4.jpeg

Foto5.jpeg

Sekolah.jpeg

Dari Tabel 4.1 terlihat perbedaan kecerahan warna citra asli dan citra kompresi. Untuk citra kompresi memiliki warna yang lebih gelap dari citra asli. Hal ini disebabkan karena intensitas warna dari sebuah citra berkurang. Sesuai dengan prinsip metode kuantisasi, yaitu mengurangi intensitas warna dari citra.


(66)

4.2.1.2. Analisa Hasil Pengujian Kompresi dan Dekompresi Citra *.jpeg

Sesuai dengan enam citra dengan format *.jpeg yang telah di uji pada Tabel 4.1. langkah selanjutnya penulis melakukan pengamatan pada keenam citra uji. Mengacu pada perumusan masalah dalam Bab 1, maka terdapat tiga hal yang penulis amati yaitu :

1. Rasio citra antara citra asli dan citra kompresi. 2. Ukuran citra setelah dikompresi dan dikompresi.

3. Waktu yang dihabiskan untuk mengkompresi dan mendekompresi citra. 4. MSE citra kompresi dan dekompresi.


(67)

Tabel 4.2 Hasil Pengujian Kompresi dan Dekompresi Citra .jpeg Nama Citra Dimensi

Citra

Ukuran Asli (kb)

Kompresi Dekompresi

Dimensi Citra

Ukuran Citra

Rasio (%)

Waktu Kompresi

Dimensi Citra

Ukuran Citra

Rasio (%)

Waktu Dekompresi Foto1.jpeg 2500 x 1667 2.505 kb 2500 x 1667 284 kb 88 % 9.2 detik 2500 x 1667 423 kb 83 % 6.2 detik Foto2.jpeg 640 x 463 51 kb 640 x 463 41 kb 19.3 % 0.6 detik 640 x 463 58 kb -13 % 0.4 detik Foto3.jpeg 640 x 480 43 kb 640 x 480 36 kb 16.2 % 0.7 detik 640 x 480 50 kb -16 % 0.4 detik Foto4.jpeg 5184 x 3456 7.703 kb 5184 x 3456 1.273 kb 83 % 41 detik 5184 x 3456 1.892 kb 75.4 % 28.4 detik Foto5.jpeg 5184 x 3456 6.124 kb 5184 x 3456 872 kb 85 % 43 detik 5184 x 3456 1.352 kb 78.3 % 30 detik Sekolah.jpeg 2048 x 1536 605 kb 2048 x 1536 229 kb 62.2 % 6.7 detik 2048 x 1536 423 kb 28.9 % 4.6 detik

Dari Tabel 4.2 dapat kita lihat bahwa dimensi file tidak mengalami perubahan setelah proses kompresi dan dekompresi. Yang mengalami perubahan yang cukup signifikan adalah ukuran Citra. Ukuran Citra mengalami penurunan yang cukup drastis. Seperti terlihat pada tabel 4.2. selain itu ukuran Citra yang telah dikompresi tidak dapat kembali ke ukuran asli, seperti yang terlihat pada kolom ukuran citra dekompresi. Hal ini dikarenakan metode kuantisasi merupakan metode lossy compression sehingga citra yang telah dikompresi akan sulit untuk didekompresi kembali ke bentuk semula. Untuk rasio citra bergantung pada ukuran citra dan banyaknya variasi warna yang dimiliki sebuah citra. Semakin besar ukuran citra dan banyaknya variasi warna yang dimiliki sebuah citra, maka semakin besar pula rasio citra yang dihasilkan. Begitu pula untuk waktu kompresi dan waktu dekompresi. Semakin besar ukuran citra, maka waktu yang dihabiskan untuk proses kompresi dan dekompresi akan semakin banyak pula.


(68)

Tabel 4.3 Hasil MSE Citra Kompresi dan Dekompresi Citra *.jpeg

Citra asli MSE Citra Kompresi MSE Citra Dekompresi

Foto1.jpg 2471.14 0.4965

Foto2.jpg 3049.18 0.4957

Foto3.jpg 3623.14 0.4947

Foto4.jpg 5094.35 0.4905

Foto5.jpg 4803.36 0.4960

Sekolah.jpg 3799.64 0.4970

Dari tabel 4.3 terlihat hasil MSE untuk citra kompresi lebih tinggi dari citrayang telah didekompresi.

4.2.1.3. Pengujian Kompresi Citra Format *.bmp

Seperti pengujian citra *.jpeg, pada citra *.bmp Langkah pertama yang dilakukan dalam menu proses untuk mengkompresi citra adalah memilih citra yang akan dikompresi. Proses pemilihan citra terlihat pada gambar 4.13.

Gambar 4.15. Tampilan Form saat Pilih Citra *.bmp

Pada gambar 4.15 terlihat proses pemilihan citra. Yang dilakukan adalah memilih citra dengan format *.bmp. dalam pengujian kompresi ini kita memilih citra dengan nama foto4.bmp. setelah memilih citra, tampilan selanjutnya dari form proses terlihat pada gambar 4.16.


(69)

Gambar 4.16. Tampilan Form saat Citra telah dipilih

Gambar 4.16 merupakan tampilan form setelah dilakukan pemilihan citra. Citra yang telah dipilih tadi akan ditampilkan axes1 pada panel citra asli. Langkah selanjutnya yaitu menekan button kompresi agar dilakukan proses kompresi. Tampilan form setelah button kompresi dipilih terlihat pada gambar 4.17.

Gambar 4.17. Tampilan Form setelah Kompresi

Gambar 4.17 merupakan tampilan form setelah dilakuakan kompresi. Terlihat gambar yang telah dikompresi muncul pada axes2 panel citra kompresi. Selain itu


(70)

muncul juga ukuran dimensi file citra dan waktu yang dihabiskan untuk proses kompresi dan terlihat perbedaan pada gambar asli dan gambar kompresi secara kasat mata. Gambar kompresi mempunyai cahaya yang lebih redup dibandingkan gambar asli. Selanjutnya dilakukan proses penyimpanan citra agar citra dapat disimpan dan sistem dapat melakukan perhitungan rasio. Proses penyimpanan terlihat pada gambar 4.18.


(71)

Gambar 4.18. Tampilan Form setelah proses penyimpanan citra kompresi

Gambar 4.17 merupakan gambar saat proses penyimpanan untuk citra foto4.bmp. dan gambar 4.18 adalah tampilan sesudah proses penyimpanan kompresi. Setelah proses penyimpanan selesai ukuran citra kompresi dan rasio citra kompresi akan muncul. Seperti yang terlihat pada gambar 4.18.

Selanjutnya dilakukan perhitungan MSE untuk citra kompresi. Tampilan setelah tombol MSE dipilih adalah seperti terlihat pada gambar 4.19.

Gambar 4.19 tampilan setelah perhitungan MSE untuk citra kompresi.

Setelah proses kompresi dan penyimpanan gambar dan perhitungan MSE selesai dilakukan langkah selanjutnya melakukan proses dekompresi. Untuk memulai proses dekompresi dimulai dengan menekan button dekompresi dalam form proses. Hasil dekompresi citra terlihat pada gambar 4.20.


(72)

Gambar 4.20. Tampilan Form setelah proses dekompresi

Gambar 4.20 merupakan tampilan form setelah proses dekompresi. Selanjutnya dilakukan proses penyimpanan citra dekompresi. Proses penyimpanan citra terlihat pada gambar 4.21.


(73)

Gambar 4.22. Tampilan Form setelah proses penyimpanan

Gambar 4.21 dan 4.22 adalah tampilan saat dan setelah proses penyimpanan untuk citra dekompresi. Setelah proses penyimpanan selesai sistem akan memunculkan ukuran file yang telah berhasil di dekompresi.

Setelah proses dekompresi, dilakukan proses perhitungan MSE yang terliah pada gambar 4.23.


(74)

Dari proses kompresi dan dekompresi citra untuk foto4.bmp tidak terjadi perbedaan untuk ukuran citra dan rasio citra. Artinya, tidak terjadi perubahan pada saat citra *.bmp di kompresi dan didekompresi dengan metode kuantisasi. Hal ini disebabkan karena metode kuantisasi hanya bisa mengkompresi citra ke format citra *.jpeg.

Sesuai Pengujian untuk citra format *.jpeg, pengujian citra *.bmp dilakukan pada 6 citra. Berikut tabel yang menunjukkan hasil kompresi dan dekompresi citra dengan metode kuantisasi pada citra foto1.bmp , foto2.bmp , foto3.bmp , foto4.bmp , foto 5.bmp , dan sekolah.bmp.

Tabel 4.4 Hasil Kompresi dan Dekompresi Citra *.bmp

Nama Citra Citra Asli Citra Kompresi Citra Dekompresi Foto1.bmp

Foto2.bmp


(75)

Foto4.bmp

Foto5.bmp

Sekolah.bmp

Dari Tabel 4.3 terlihat perbedaan kecerahan warna citra asli dan citra kompresi. Untuk citra kompresi memiliki warna yang lebih gelap dari citra asli. Tapi, meskipun terlihat perbedaan kecerahan dari citra sebelum dan sesudah kompresi ukuran citra format *.bmp tidak mengalami perubahan.

4.2.1.4. Analisa Hasil Pengujian Kompresi dan Dekompresi Citra *.bmp

Sesuai dengan enam citra dengan format *.jpeg yang telah di uji pada Tabel 4.3. langkah selanjutnya penulis melakukan pengamatan pada keenam citra uji. Mengacu pada perumusan masalah dalam Bab 1, maka terdapat tiga hal yang penulis amati yaitu :

1. Rasio citra antara citra asli dan citra kompresi. 2. Ukuran citra setelah dikompresi dan dikompresi.


(1)

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes bantuan wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = bantuan_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on selection change in listbox1.

function listbox1_Callback(hObject, eventdata, handles)

% hObject handle to listbox1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns listbox1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from listbox1

% --- Executes during object creation, after setting all properties.

function listbox1_CreateFcn(hObject, eventdata, handles)

% hObject handle to listbox1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: listbox controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

selection=questdlg(['Keluar Aplikasi '

get(handles.figure1,'Name')''],...

['Keluar Aplikasi ' get(handles.figure1,'Name')''],... 'Ya','Tidak','Ya');


(2)

return; end

delete(handles.figure1)

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

pertama

close bantuan;

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

proses

close bantuan;

% --- Executes on button press in button_tentang.

function button_tentang_Callback(hObject, eventdata, handles)

% hObject handle to button_tentang (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

tentang_aplikasi close bantuan;


(3)

FORM TENTANG APLIKASI :

function varargout = tentang_aplikasi(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @tentang_aplikasi_OpeningFcn, ...

'gui_OutputFcn', @tentang_aplikasi_OutputFcn, ... 'gui_LayoutFcn', [] , ...

'gui_Callback', []); if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

% End initialization code - DO NOT EDIT

% --- Executes just before tentang_aplikasi is made visible.

function tentang_aplikasi_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn. % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to tentang_aplikasi (see VARARGIN)


(4)

% Choose default command line output for tentang_aplikasi

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes tentang_aplikasi wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = tentang_aplikasi_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in button_keluar.

function button_keluar_Callback(hObject, eventdata, handles)

% hObject handle to button_keluar (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in button_proses.

function button_proses_Callback(hObject, eventdata, handles)

% hObject handle to button_proses (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

proses

close tentang_aplikasi

% --- Executes on button press in button_pertama.

function button_pertama_Callback(hObject, eventdata, handles)

% hObject handle to button_pertama (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

pertama

close tentang_aplikasi;

% --- Executes on button press in button_bantuan.

function button_bantuan_Callback(hObject, eventdata, handles)

% hObject handle to button_bantuan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

bantuan


(5)

CURRICULUM VITAE

Nama

: Winda Dian Luca Hsb

Tempat/Tanggal Lahir : Medan, 17 Juli 1991

Agama

: Islam

Alamat Sekarang

: Jl. Sei Mencirim gang. Ingat No.4c Kp.lalang 20352

Alamat Orang Tua

: Jl. Sei Mencirim gang. Ingat No.4c Kp.lalang 20352

Telp/ Hp

: 081375200208

Email

: windadianluca@gmail.com

Riwayat Pendidikan

2009 – 2013

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2006 – 2009

: SMA Swasta Al-Azhar Medan

2003 – 2006

: SMP Negeri 1 Medan

1997 – 2003

: SD Swasta Kartika Jaya Medan

Pengalaman Organisasi dan Kegiatan Ilmiah

Anggota Departemen Hubungan Masyarakat Ikatan Mahasiswa S1 Ilmu

Komputer (IMILKOM), 2010-2011


(6)