Implementasi Metode Kuantisasi Pada Kompresi Dan Dekompresi Citra Bitmap Dan JPEG
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 protected]
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)