• Tidak ada hasil yang ditemukan

PERBANDINGAN HASIL KOMPRESI CITRA MENGGUNAKAN METODE RUN LENGTH ENCODING DAN METODE HUFFMAN CODING

N/A
N/A
Protected

Academic year: 2022

Membagikan "PERBANDINGAN HASIL KOMPRESI CITRA MENGGUNAKAN METODE RUN LENGTH ENCODING DAN METODE HUFFMAN CODING"

Copied!
83
0
0

Teks penuh

(1)

PERBANDINGAN HASIL KOMPRESI CITRA MENGGUNAKAN METODE RUN LENGTH ENCODING DAN METODE HUFFMAN CODING

TUGAS AKHIR

Sebagai salah satu syarat untuk memperoleh gelar Sarjana Terapan Teknik dari Politeknik Negeri Padang

WELLA SAWIDWI OKTAVIANI 1311072013

PROGRAM STUDI DIV TEKNIK TELEKOMUNIKASI J U R U S A N T E K N I K E L E K T R O

POLITEKNIK NEGERI PADANG

2017

(2)

PERBANDINGAN HASIL KOMPRESI CITRA MENGGUNAKAN METODE RUN LENGTH

ENCODING DAN HUFFMAN CODING

Wella Sawidwi Oktaviani NO.BP 1311072013

Telah disetujui oleh:

Pembimbing I Pembimbing II

Dr. H.Afrizal Yuhanef,ST,M.Kom NIP. 19640429 199003 1 001

Zurnawita, ST., MT NIP. 19690125 199303 2 011

(3)

HALAMAN PENGESAHAN

Tugas akhir yang berjudul Perbandingan Hasil Kompresi Citra Menggunakan Metode Run Length Encoding dan Metode Huffman Coidng ini telah disidangkan atau dipertanggung jawabkan di depan tim penguji sebagai berikut, pada hari Rabu, 11 Oktober 2017 di Program Studi D4 Teknik Telekomunikasi Jurusan Teknik Elektro Politeknik Negeri Padang.

No Nama Jabatan Tanda Tangan

1 Hadria Octavia,SST.,M.Kom

NIP. 19671005 199403 1 005 Ketua

...

2 Sri Yusnita,ST,MT

NIP.19740612 200312 2 001 Sekretaris

...

3 Ratna Dewi,SST.,M.Kom

NIP.19751029 200312 2 002 Anggota

...

4 Dr.H.Afrizal Yuhanef ,ST,M.Kom

NIP.19640429 199003 1 001 Anggota

...

Mengetahui:

Ketua Jurusan Teknik Elektro

Dr.H.Afrizal Yuhanef, ST.,M.Kom NIP. 19640429 199003 1 001

Ketua Program Studi D4 Teknik Telekomunikasi

Rikki Vitria,SST.,M.Sc, Eng NIP. 19761019 200212 1 002

(4)

HALAMAN PERSEMBAHAN

“Bahwa tiada yang orang dapatkan, kecuali yang ia usahakan, dan bahwa usahanya akan kelihatan nantinya” .

(Q.S. An Najm ayat 39-40)

“Jadilah engkau di dunia laksana orang asing, bila berada di sore hari maka janganlah engkau menunggu datangnya pagi, bila engkau berada di pagi hari, maka janganlah menunggu datangnya sore. Manfaatkanlah waktumu sebelum datangnya sakitmu”

(Ali bin Abi Thalib)

Sembah sujud serta syukur ku kepada Allah SWT, taburan cinta dan kasih sayang-Mu telah memberiku kekuatan. Atas karunia serta kemudahan yang Engkau berikan sehingga Tugas Akhir ini dapat terselesaikan. Sholawat dan salam selalu terlimpahkan kehariban Rasulullah Muhammad SAW.

Ku persembahkan Tugas Akhir ini untuk orang tercinta dan tersayang atas kasihnya yang berlimpah.

Sebagai tanda bakti, hormat dan rasa terima kasih yang tiada terhingga kupersembahkan karya kecil ini kepada Kedua Orang Tua yang telah memberikan kasih sayang, segala dukungan dan cinta kasih yang tiada terhingga yang tiada mungkin dapat kubalas, hanya dengan selembar kertas

yang bertuliskan kata cinta dan persembahan. Semoga ini menjadi langkah awal untuk membuat Ibu dan Ayah bahagia dan merupakan langkah awal

untuk menuju kesuksesan dunia dan akhirat.

Terima kasih Pah.... Terima kasih Mah....

Setiap goresan tinta ini adalah wujud dari keagungan dan kasih sayang yang diberikan Allah SWT kepada umatnya.

Setiap detik waktu menyelesaikan Tugas Akhir ini merupakan hasil getaran doa kedua orang tua, saudara, dan orang-orang terkasih yang mengalir tiada henti.

Setiap pancaran semangat dalam penulisan Tugas Akhir ini merupakan dorongan dan dukungan dari sahabat-sahabatku tercinta. Setiap makna pokok bahasan pada bab-bab dalam Tugas Akhir ini merupakan hempasan

(5)

ABSTRAK

PERBANDINGAN HASIL KOMPRESI CITRA MENGGUNAKAN METODE RUN LENGTH ENCODING DAN HUFFMAN CODING

Wella Sawidwi Oktaviani 1311072013

Kompresi citra merupakan metode yang bermanfaat pada perkembangan citra digital. Dengan kompresi citra digital yang berukuran besar akan menghasilkan ukuran yang lebih kecil dari citra semula. Salah satu teknik kompresi yaitu metode Run Length Encoding dan Huffman Coding. Dimana, pada metode Huffman Coding yang menghasilkan hasil kompresi citra yang lebih baik dibandingkan dengan metode Run Length Encoding yang tidak merubah kualitas citra itu sendiri.

Digunakannya bahasa pemograman GUI Matlab R2014a untuk menampilkan data – data citra yang diproses dalam teknik kompresi dan dekompresi citra. Citra yang dikompresi dalam bentuk warna grayscale, true color, black and white. Dan citra dalam bentuk format jpg, png dan bmp.

Kata Kunci : Kompresi, Dekompresi, Run Length Encoding dan Huffman Coding.

(6)

KATA PENGANTAR

Segala puji dan syukur penulis ucapkan kehadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya, sehingga penulisan tugas akhir ini dapat diselesaikan. Selanjutnya salawat dan salam kepada baginda Rasulullah Muhammad SAW.

Kepada kedua orang tua yang selalu memberikan dorongan dalam bentuk apapun kepada penulis. Orang tua yang tidak pernah lepas doanya untuk penulis dan memberikan dorongan semngat kepada penulis agar penulis dapat menyelesaikan tugas akhir ini

Dalam menyelesaikan tugas akhir dan penulisan laporan ini, penulis telah banyak mendapat bantuan dan petunjuk dari berbagai pihak, baik secara langsung maupun tidak langsung. Untuk itu pada kesempatan ini penulis menyampaikan banyak terima kasih dan penghargaan yang sebesar-besarnya kepada:

1. Bapak Dr.Afrizal Yuhanef, ST.,M.Kom selaku pembimbing I yang telah memberikan saran dan masukan serta arahan dalam menyelesaikan tugas akhir dan laporan ini dan selaku ketua Jurusan Teknik Elektro Politeknik Negeri Padang.

2. Ibu Zurnawita, ST.,MT. selaku pembimbing II yang telah memberikan saran dan masukan serta arahan dalam menyelesaikan tugas akhir dan laporan ini.

(7)

3. Bapak Rikki Vitria, S.ST., M.Sc. Eng selaku Koordinator Program Studi DIV Teknik Telekomunikasi Politeknik Negeri Padang.

4. Bapak Aidil Zamri, ST., MT selaku Direktur Politeknik Negeri Padang.

5. Rekan-rekan seperjuangan angkatan 2013 yang selalu memberi support dalam pembuatan tugas akhir ini.

Berbagai usaha telah dilakukan agar laporan ini dapat diselesaikan sebaik mungkin, namun disadari bahwa laporan ini masih belum sempurna, oleh karena itu penulis mengharapkan saran dan kritik yang bersifat membangun demi kesempurnaan laporan ini.

Akhir kata, semoga laporan ini dapat bermanfaat bagi pembaca dan terutama bagi penulis sendiri.

Wassalamu’alaikum Wr.Wb

Padang, 5 Oktober 2017

Wella Sawidwi Oktaviani

(8)

DAFTAR ISI

Hal

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... ii

HALAMAN PENGESAHAN ... iii

HALAMAN PERSEMBAHAN ... iv

HALAMAN ABSTRAK ... v

KATA PENGANTAR ... vi

DAFTAR ISI ... viii

DAFTAR TABEL ... x

DAFTAR GAMBAR ... xi

DAFTAR LAMPIRAN ... xii

BAB I PENDAHULUAN 1.1 Latar Belakang ...1

1.2 Perumusan Masalah ...2

1.3 Pembatasan Masalah ...2

1.4 Tujuan ...3

1.5 Manfaat ...3

1.6 Sistematika Penulisan ...3

BAB II LANDASAN TEORI 2.1 Pengertian Citra ...5

2.2 Citra Digital ...5

2.2.1 Citra Biner ...6

2.2.2 Citra Grayscale ...7

2.2.3 Citra Warna ...7

2.3 Pengolahan Citra ...8

(9)

2.5 Metode Huffman ...11

2.6 Metode Run Length Encoding ...12

2.7 Dekompresi Citra ...14

2.8 Nilai MSE dan PSNR ...15

2.9 Matlab R2014a ...16

BAB III PERANCANGAN DAN PEMBUATAN 3.1 Gambara Umum Sistem ...19

3.2 Perancangan Diagram Alur ...20

3.2.1 Flowchart Inputan Citra Berformat jpg ...20

3.2.2 Flowchart Inputan Citra Berformat png dan tiff ...24

3.3 Perancangan Aplikasi ...28

BAB IV HASIL DAN PEMBAHASAN 4.1 Implementasi Sistem ...31

4.1.1 Spesifikasi Perangkat Keras dan Lunak ...31

4.1.2 Tampilan Sistem ...32

4.2 Pengujian Sistem ...36

4.2.1 Sistematika Pengujian ...37

4.2.2 Analisis Data Pengujian Sistem ...38

BAB V PENUTUP 5.1 Kesimpulan ...43

5.2 Saran ...44

DAFTAR PUSTAKA ...45

(10)

DAFTAR GAMBAR

Hal

Gambar 2.1 Contoh Citra Biner ... 6

Gambar 2.2 Contoh Grayscale ... 7

Gambar 2.3 Contoh Citra Warna ... ....7

Gambar 2.4 Contoh Citra Gelap dan Terang ... 8

Gambar 2.5 Alur Kompresi-Dekompresi ... 15

Gambar 3.1 Rancangan sistem aplikasi kompresi citra ... 19

Gambar 3.2 Flowchart Kompresi Citra format jpg ... 21

Gambar 3.3 Flowchart Dekompresi Inputan jpg ... 23

Gambar 3.4 Flowchart Kompresi Ctra Inputan png dan tiff ... 25

Gambar 3.5 Flowchart Dekompresi Inputan png,tiff ... 27

Gambar 3.6 Rancangan Aplikasi Pembanding RLE dan Huffman ... 28

Gambar 4.1 Tampilan Sistem ... 32

Gambar 4.2 Tampilan Input Citra ... 32

Gambar 4.3 Proses Pengompresian Citra ... 33

Gambar 4.4 Proses Dekompresi Citra ... 34

Gambar 4.5 Pengompresian Input Citra Lain ... 35

Gambar 4.6 Dampak dari Inputan Citra lain ... 35

(11)

DAFTAR TABEL

Hal

Tabel 2.1 Matriks Citra ... 13

Tabel 4.1 Citra Inputan ... 36

Tabel 4.2 Hasil Kompresi inputan citra kelinci dengan dua metode ... 38

Tabel 4.3 Hasil Kompresi inputan citra BW dengan dua metode ... 38

Tabel 4.4 Hasil Kompresi inputan citra kucing dengan dua metode ... 39

Tabel 4.5 Hasil Kompresi inputan citra lena dengan dua metode ... 40

Tabel 4.6 Hasil Kompresi inputan citra lion dengan dua metode ... 40

Tabel 4.7 Hasil Kompresi inputan citra puppy dengan dua metode ... 41

Tabel 4.8 Hasil Kompresi inputan citra trueclor dengan dua metode ... 42

(12)

DAFTAR LAMPIRAN

Hal Script Program Kompresi ... A-1 Hasil Pengujian Sistem Kompresi ... B-1

(13)

BAB I PENDAHULUAN

1.1 Latar Belakang

Kompresi citra suatu teknik yang diperlukan pada era digital saat sekarang ini, karena data atau informasi disajikan tidak dalam bentuk teks saja, tetapi dapat berbentuk gambar, audio, dan video. Umumnya representasi citra digital membutuhkan memori yang besar. Dan hal lainnya, pada kebanyakan citra mengandung duplikasi data. Tujuan kompresi citra untuk mengurangi kebutuhan memori untuk merepresentasikan citra digital. [1]

Kompresi citra adalah suatu metode yang bermanfaat di zaman multimedia sekarang ini, dengan adanya kompresi citra data citra digital yang berukuran besar kemudian dikompres, agar menghasilkan ukuran yang lebih kecil dari citra semula [3]. Sehingga dalam proses pentransmisian akan lebih cepat dan efisien. Dalam teknik kompresi terdapat beberapa metode diantaranya adalah Metode Huffman Coding dan Metode Run Length Encoding. Metode Huffman adalah metode yang efisien dibandingkan metode yang lainnya, karena hasil Huffman lebih akurat.

Aplikasi kompresi ini dilakukan untuk melihat perbandingan antara dua metode mana yang baik di pakai, dan melihat kualitas gambar berformat manakah yang berkualitas paling baik dalam kedua metode ini, dan dari segi kapasitas memori dan waktu dalam pengkompresiannya. Dan penentuan kualitas dari suatu citra dan rusaknya suatu citra akan dapat dilihat dari nilai Peak Signal Noise Ratio (PSNR) dan Mean Squared Error (MSE).

(14)

Berdasarkan latar belakang ini, diangkat tugas akhir dengan judul

“Perbandingan Hasil Kompresi Citra Menggunakan Metode Run Length Encoding dan Metode Huffman Coding” .

1.2 Perumusan Masalah

Permasalahan yang diangkat dalam menyelesaikan tugas akhir ini adalah sebagai berikut:

1. Bagaimana proses pembuatan aplikasi kompresi citra dengan kedua metode dengan menggunakan Matlab R2014a ?

2. Bagaimana hasil perbandingan citra asli dengan citra hasil setelah dikompresi dengan metode Run Length Encoding dan metode Huffman Coding ?

3. Bagaimana cara mengetahui hasil dari metode kompresi mana yang lebih baik ?

1.3 Pembatasan Masalah

1. Perancangan program kompresi citra ini menggunakan aplikasi Matlab R2014a.

2. Parameter pembanding citra awal (input) dengan citra hasil (output) menggunakan Ukuran Citra, Rasio Kompresi, Waktu Kompresi, MSE dan PSNR.

3. Citra yang dikompresi berformat Jpg, Png dan Bmp, dengan model warna grayscale, black and white, dan true color.

(15)

1.4 Tujuan

Tujuan yang hendak dicapai dari pembuatan tugas akhir ini adalah sebagai berikut:

1. Menampilkan proses dari aplikasi kompresi citra dengan metode Run Length Encoding dan metode Huffmn Coding.

2. Menganalisis hasil citra sebelum melalui proses kompresi dan setelah kompresi.

3. Membandingkan hasil citra yang telah terkompresi dari dua metode untuk melihat hasil metode yang lebih baik.

1.5 Manfaat

Manfaat pembuatan tugas akhir ini adalah:

1. Dapat mengetahui dampak hasil kompresi citra terhadap kapasitas dan kualitas citra.

2. Dapat mengetahui dampak hasil kompresi citra terhadap proses pentransferan.

3. Memberi informasi kepada para pembaca tentang kedua metode mana yang lebih baik dari kedua teknik metode kompresi tersebut.

1.6 Sistematika Penulisan

Penyusunan buku laporan Tugas Akhir ini terdiri atas beberapa bab, yaitu:

BAB I PENDAHULUAN

Bab ini berisi latar belakang, perumusan masalah, pembatasan masalah, tujuan dan manfaat, serta sistematika penyusunan buku tugas akhir.

(16)

BAB II LANDASAN TEORI

Bab ini berisi landasan teori untuk menunjang penyelesaian pada Tugas Akhir ini.

BAB III PERANCANGAN DAN PEMBUATAN

Bab ini membahas mengenai perancangan dan desain perangkat teknologi yang akan digunakan serta prinsip kerja dari sistem secara keseluruhan disertai desain pengujiannya.

BAB IV HASIL DAN PEMBAHASAN

Bab ini berisi tentang penjelasan hasil yang didapatkan dari penelitian yang dilakukan. Dan dalam bab ini akan berisi pembahasan tentang bagaimana hasil penelitian dapat menjawab pertanyaan yang ada pada latar belakang masalah dan tercapainya tujuan masalah.

BAB V PENUTUP

Bab ini berisi kesimpulan yang diambil berdasarkan hasil analisa dan saran untuk perbaikan dan pengembangan lebih lanjut.

(17)

BAB II

LANDASAN TEORI

2.1. Pengertian Citra

Citra ( image ) adalah salah satu komponen dari sebuah multimedia yang berperan penting sebagai bentuk visual. Secara harfiah, citra (image) adalah sebuah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra (dua dimensi). Sumber cahaya menerangi objek, objek yang diterangi memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya tersebut kemudian di tangkap oleh alat – alat optik, misal mata manusia, kamera dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam. Citra ada 2 macam yaitu:[2]

1. Citra Kontinu adalah yang dihasilkan dari sistem optik yang menerima sinyal analog. Contohnya : kamera analog dan mata manusia.

2. Citra Diskrit atau Citra Digital adalah yang dihasilkan melewati proses digitalisasi terhadap citra kontinu. Contohnya : kamera digital.

2.2. Citra Digital

Citra dikatakan sebagai citra digital adalah jika citra tersebut disimpan dalam format digital (dalam bentuk file). Citra digital dihasilkan melalui proses digitalisasi terhadap citra kontinu. Citra digital dapat berupa foto udara, penampang lintang (cross section) dari suatu benda, gambar wajah hasil tomografi

(18)

dan lain sebagainya. Di komputer warna dapat dinyatakan, misalnya sebagai angka dalam bentuk skala RGB.

Karena citra adalah angka, maka citra dapat diproses secara digital. Nilai suatu piksel memiliki nilai dalam rentang tertentu, dari nilai minimum sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis warnanya. Namun secara umum jangkauannya adalah 0 – 255. Berikut ini jenis- jenis citra berdasarkan nilai piksel-nya adalah :

2.2.1. Citra Biner

Citra biner adalah suatu citra digital yang memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Pada citra biner setiap titik bernilai 0 atau 1.

Contohnya, warna hitam bernilai 0 dan warna putih bernilai 1. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra biner. Gambar 2.1 memperlihatkan contoh citra biner.[4]

Gambar 2.1 Contoh Citra Biner 2.2.2. Citra Grayscale

Citra grayscale memberi kemungkinan warna yang lebih banyak dari citra biner, karena ada nilai – nilai lain diantara nilai minimum dan nilai

(19)

pada jumlah bit yang digunakan. Contohnya dalam skala keabuan 4 bit, maka jumlah kemungkinan nilainya adalah 2 = 16, dan nilai maksimumnya adalah 2 – 1= 15. Gambar 2.2 memperlihatkan contoh dari citra grayscale.[5]

Gambar 2.2 Contoh Citra Grayscale 2.2.3. Citra Warna

Pada citra warna setiap pikselnya mewakili warna kombinasi dari tiga warna dasar, yaitu Red, Green, Blue (RGB). Pada citra warna setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 2 = 256.[5]

Pada penyimpanan citra warna di dalam memori berbeda dengan citra grayscale. Setiap piksel citra grayscale 256 gradiasi warna diwakili 1 byte, sedangkan 1 piksel citra warna diwakili 3 byte, di masing – masing byte mempresentasikan warna Red, Green, Blue. Gambar 2.3 merupakan contoh dari citra warna.

Gambar 2.3 Contoh Citra Warna

(20)

2.3. Pengolahan Citra

Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Contoh dari ini adalah, pada Gambar 2.4 citra burung nuri (a) tampak agak gelap dan (b) dengan operasi pengolahan citra kontrasnya diperbaiki sehingga terlihat jelas dan tajam.[2]

(a) (b)

Gambar 2.4 (a) citra burung nuri yang gelap (b) citra yang telah diperbaiki

Pada citra kaya dengan informasi, namun seringkali citra yang mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang.

Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing).

(21)

Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah diinterpetasi oleh manusia atau mesin (komputer). Teknik – teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, input adalah citra dan outputnya juga citra dengan kualitas yang lebih baik [2]. Termasuk dalam bidang ini adalah pemampatan citra (image compression). Pengubahan kontras citra seperti gambar 2.4 adalah salah contoh pengolahan citra. Contoh pengolahan citra lainnya adalah penghilangan derau (noise) pada citra yang mengandung bintik – bintik. Dengan operasi filtering derau pada citra dapat dikurangi sehingga citra kualitasnya lebih baik.

2.4. Kompresi Citra

Kompresi citra adalah sebuah aplikasi kompresi data yang dilakukan untuk citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang terdapat dalam citra atau untuk meminimalkan jumlah bit yang diperlukan untuk mempresentasikan citra, sehingga dapat disimpan atau ditransmisikan secara efisien.[6]

Semakin besar ukuran citra, semakin besar memori yang dibutuhkan, namun kebanyakan citra mengandung duplikasi data, yaitu:

a. Suatu piksel memiliki intensitas yang sama dengan piksel tetangganya, sehingga penyimpanan piksel membutuhkan memori (space) yang lebih besar sehingga sangat memboroskan tempat.

b. Citra banyak mengandung bagian (region) yang sama sehingga bagian yang sama ini tidak perlu dikodekan berulang kali karena mubazir atau redundan.

(22)

2.4.1. Klasifikasi Kompresi Citra

Teknik kompresi citra diklasifikasikan ke dalam dua kelompok besar yaitu :[9]

1. Kompresi tipe lossless

Kompresi tipe lossless tidak menghilangkan informasi setelah proses kompresi terjadi, akibatnya kualitas citra hasil kompresi juga tidak berkurang.

Lossless Compression memiliki derajat kompresi yang lebih rendah tetapi dengan akurasi data yang terjaga antara sebelum dan sesudah proses kompresi. Contoh dari kompresi ini adalah metode Huffman. Rasio kompresi citra dihitung dengan rumus :

Rasio Kompresi = 100% - (Ukuran Citra hasil pemampatan

ukuran citra semula ) x 100%...(1) Keterangan :

a. Rasio Kompresi adalah persentase hasil nilai dari proses kompresi.

b. Ukuran Citra hasil pemampatan adalah ukuran citra setelah melalui proses kompresi.

c. Ukuran Citra Semula adalah ukuran citra awal inputan sebelum di kompresi.

2. Kompresi tipe lossy

Metode kompresi ini menghasilkan citra hasil pemampatan yang sama dengan citra semula, tetapi metode ini terdapat data yang hilang selama proses kompresi. Akibatnya kualitas data yang dihasilkan jauh lebih rendah daripada kualitas data asli. Lossy compression menyebabkan adanya perubahan data dibandingkan sebelum dilakukan proses kompresi. Sebagai gantinya lossy compression memberikan derajat kompresi lebih tinggi.

(23)

2.4.2. Kriteria Kompresi Citra

Pada saat ini sudah ditemukan metode – metode pemampatan citra. Dalam pemampatan citra terdapat kriteria – kriteria untuk mengukur metode pemampatan citra adalah :[10]

1. Waktu Kompresi dan Dekompresi

Dalam perolehan waktu sebaiknya kompresi dan dekompresi waktunya cepat, akan tetapi ada beberapa metode waktu kompresi yang cepat dan saat dekompresi membutuhkan waktu lama. Sebaliknya ada metode yang dimana saat kompresi membutuhkan waktu yang lama, tetapi saat dekompresi mebutuhkan waktu yang cepat. Ada pula metode dimana kedua metode kompresi dan dekompresi membutuhkan waktu yang cepat.

2. Kualitas Pemampatan

Kualitas pemampatan yang bagus pada umumnya dapat dicapai dengan proses pemampatan yang menghasilkan pengurangan memori yang tidak begitu besar dan begitu juga sebaliknya.

3. Format Keluaran

Pada format citra hasil atau citra keluaran seharusnya cocok untuk pengiriman dan penyimpanan data.

2.5. Metode Huffman Coding

Pada ilmu komputer dan teori informasi, kode Huffman adalah algoritma pengkodean untuk kompresi data lossless. Kode Huffman menggunakan metode spesifik untuk mempresentasikan setiap simbol, menghasilkan prefix – free code.

Kompresi Huffman merupakan metode yang sangat efisien dibandingkan metode yang sejenis, karena pemetaan lain simbol dari sumber data menjadi string unik

(24)

menghasilkan file output yang lebih kecil saat frekuensi simbol sesuai dengan frekuensi yang digunkana untuk menghasilkan kodenya.[8]

Kode Huffman dikerjakan dengan membuat simpul pohon biner yang bisa disimpan dalam array yang berukuran sesuai dengan simbol (n). Untuk menyusun pohon Huffman dengan menggunakan dua antrian, yang pertama berisi weight awal dan yang kedua weight gabungan.

Kompresi yang dihasilkan pada algoritma pengkodean Huffman Coding dicapai dengan mengkodekan data berdasarkan frekuensi kemunculannya. Suatu pohon Huffman memilki ciri – ciri sebagai berikut :

1. Pohon Huffman harus dari suatu binary treei.

2. Pada pohon Huffman, elemen yang paling sering muncul berada di puncak pohon sedangkan elemen yang paling jarang muncul berada di dasar pohon.

3. Tiap cabang kiri dari pohon Huffman diberi tanda sebagai nilai nol, dan tiap cabang kanan dari pohon diberi tanda sebagai nilai satu (atau sebaliknya).

2.6. Metode Run Length Encoding

Metode Run Length Encoding merupakan bentuk suatu teknik digunakan untuk mengompresi data yang berisikan karakter yang berulang. Metode Run Length Encoding merupakan tipe kompresi Lossless sederhana [7]. Metode ini cocok digunakan untuk mengompresi citra yang memiliki derajat keabuan yang sama. Metode Run Length Encoding merupakan teknik kompresi yang banyak didukung oleh format citra seperti : Tiff, Bmp, Pcx.

(25)

Contoh kompresi citra menggunakan metode Run Length Encoding adalah sebuah citra 10 x 10 piksel dengan 8 derajat keabuan yang dinyatakan sebagai matriks derajat keabuan yang ditunjukkan pada tabel 2.1 sebagai berikut :

Tabel 2.1 Matriks Citra

0 0 0 0 0 2 2 2 2 2

0 0 0 1 1 1 1 2 2 2

1 1 1 1 1 1 1 1 1 1

4 4 4 4 3 3 3 3 2 2

3 3 3 5 5 7 7 7 7 6

2 2 6 0 0 0 0 1 1 0

3 3 4 4 3 2 2 2 1 1

0 0 0 0 0 0 0 0 1 1

1 1 1 1 0 0 0 2 2 2

3 3 3 2 2 2 1 1 1 1

Dalam tabel di atas ada 100 buah nilai.

Pasangan nilai untuk setiap baris run yang dihasilkan dengan metode pemampatan Run Length Encoding adalah :

(0,5), (2,5) (0,3) (1,4), (2,3) (1,10)

(4,4), (3,4), (2,2) (3,3), (5,2), (7,4), (6,1) (2,2), (6,1), (0,4), (1,2), (0,1)

(26)

(3,2), (4,2), (3,1), (2,2), (1,2) (0,8), (1,2)

(1,4), (0,3), (2,3) (3,3), (2,3), (1,4)

Maksud dari hal di atas adalah angka 0 tampil 5 kali, dan angka 2 tampil sebanyak 5 kali, dan seterusnya. Seperti yang ditunjukkan di atas semuanya terdapat 31 pasangan nilai atau 31 x 2 = 62 nilai.

Ukuran citra sebelum pemampatan (1 derajat keabuan = 3 bit) adalah 100 x 3 = 300 bit, sedangka ukuran citra setelah pemampatan (derajat keabuan = 3 bit, run length = 4 bit):

(31 x 3) + (31 x 4) bit = 217 bit.

Rasio pemampatan = (100% -

×

100%) = 27,67%, yang artinya 27,67% dari citra semula yang telah dimampatkan.

Metode RLE sangat cocok untuk citra biner sedangkan untuk citra grayscale, sering kali pengodean hasil kompresi lebih besar dibanding sebelum terkompres. Metode RLE dapat dikombinasikan dengan metode Huffman untuk meningkatkan rasio kompresi.

2.7. Dekompresi Citra

Sebuah citra yang sudah dikompres tentunya harus dapat dikembalikan lagi kebentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah citra yang terkompres diperlukan cara yang berbeda seperti pada waktu proses kompresi dilaksanakan. Jadi pada saat dekompresi catatan header yang berupa byte-byte tersebut terdapat catatan isi mengenai isi dari file tersebut.

(27)

Catatan header akan menuliskan kembali mengenai isi dari file tersebut, jadi isi dari file sudah tertulis oleh catatan header sehingga hanya tinggal menuliskan kembali pada saat proses dekompresi. Proses dekompresi sempurna (kembali kebentuk aslinya). Secara umum proses kompresi dan dekompresi dapat dilihat pada gambar 2.5 :

Gambar 2.5 Alur Kompresi – Dekompresi Citra

2.8. Nilai MSE dan PSNR

Kualitas citra dalam hasil proses kompresi sangat penting dan harus bagus (fidelity). Informasi yang hilang akibat kompresi seharusnya seminimal mungkin sehingga kualitas hasil kompresi bagus. Tetapi biasanya kualitas kompresi bagus bila proses kompresi menghasilkan pengurangan memori yang tidak begitu besar, demikian sebaliknya. Kompresi citra terdapat standar pengukuran error (galat) kompresi yaitu:

a. MSE (Mean Square Error), yaitu sigma dari jumlah error antara citra hasil kompresi dan citra asli.

MSE = M . N1 ∑ ∑Mx=1 Ny=1 Sxy- Cxy 2...(2) Keterangan :

a. M dan N adalah dimensi dari citra.

b. S adalah sebuah citra tersisipi (stego-image).

c. C adalah citra asli

Citra ASli Citra Hasil

Kompresi

(28)

b. PSNR (Peak Signal to Noise Ratio), yaitu untuk mengukur kualitas hasil kompresi.

PSNR=20 × log 10 b

rms ...(3) Keterangan :

a. b adalah nilai sinyal terbesar (pada citra black and white, nilai b = 255) b. rms adalah akar pangkat dua dari selisih antara citra semula dengan citra

hasil pemampatan.

Nilai MSE yang semakin rendah akan semakin baik, sedangkan semakin besar nilai PSNR, semakin bagus kualitas kompresi. PSNR memiliki satuan decibel (dB).

2.9 Matlab R2014a

MATLAB atau yang disebut dengan (Matrix Laboratory) yaitu sebuah program untuk menganalisis dan mengkomputasi data numerik, dan MATLAB juga merupakan suatu bahasa pemrograman matematika lanjutan, yang dibentuk dengan dasar pemikiran yang menggunakan sifat dan bentuk matriks.[11]

Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan dan grafik-grafik perhitungan.

Dalam perkembangan selanjutnya dikembangkan dengan menggunakan bahasa C++ dan assembler, (utamanya untuk fungsi-fungsi dasar MATLAB).

(29)

canggih yang berisi fungsi-fungsi built in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga menyediakan berbagai fungsi untuk menampilkan data, baik dalam bentuk dua dimensi maupun dalam bentuk tiga dimensi.

MATLAB (Matrix Laboratory) yang juga merupakan bahasa pemrograman tingkat tinggi berbasis pada matriks, sering kita gunakan untuk teknik komputasi numerik, yang digunakan untuk menyelesaikan masalah-masalah yang melibatkan operasi matematika elemen, matrik, optimasi, aproksimasi dll. Sehingga Matlab banyak digunakan pada :

a. Matematika dan komputansi,

b. Pengembangan dan algoritma,

c. Pemrograman modeling, simulasi, dan pembuatan prototipe,

d. Analisa data , eksplorasi dan visualisasi,

e. Analisis numerik dan statistik,

f. Pengembangan aplikasi teknik,

Matlab juga merupakan bahasa pemrograman computer berbasis window dengan orientasi dasarnya adalah matrik, namun pada program ini tidak menutup kemungkinan untuk pengerjaan permasalahan non matrik.

Selain itu matlab juga merupakan bahasa pemrograman yang berbasis pada obyek, namun disisi lain karena matlab bukanlah type compiler, maka program yang dihasilkan pada matlab tidak dapat berdiri sendiri.

Beberapa lingkungan kerja pada matlab yaitu :

(30)

a. Current Directory

Window ini menampilkan isi dari direktori kerja saat menggunakan matlab.

Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang diinginkan. Default dari alamat direktori berada dalam folder works tempat program files Matlab berada.

b. Command History

Window ini berfungsi untuk menyimpan perintah-perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap matlab.

c. Command Window

Window ini adalah window utama dari Matlab. Disini adalah tempat untuk menjalankan fungsi, mendeklarasikan variable, menjalankan proses-proses , serta melihat isi variable.

d. Workspace

Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang sedang aktif pada saat pemakaian matlab. Apabila variabel berupa data matriks berukuran besar maka user dapat melihat isi dari seluruh data dengan melakukan double klik pada variabel tersebut. Matlab secara otomatis akan menampilkan window “array editor” yang berisikan data pada setiap variabel yang dipilih user

e. Getting Help

Matlab menyediakan fungsi help yang tidak berisikan tutorial lengkap mengenai Matlab dan segala keunggulannya. User dapat menjalankan fungsi ini dengan menekan tombol pada toolbar atau menulis perintah

‘helpwin’ pada command window. Matlab juga menyediakan fungsi demos

(31)

yang berisikan video tutorial matlab serta contoh-contoh program yang biasa dibuat dengan matlab.

f. Interupting dan Terminating dalam Matlab

Untuk menghentikan proses yang sedang berjalan pada matlab dapat dilakukan dengan menekan tombol Ctrl-C. Sedangkan untuk keluar dari matlab dapat dilakukan dengan menuliskan perintah exit atau quit pada comamnd window atau dengan menekan menu exit pada bagian menu file dari menu bar.

(32)

BAB III

PERANCANGAN SISTEM DAN PEMBUATAN

3.1 Gambaran Umum Sistem

Sistem ini adalah sebuah aplikasi pembanding kompresi citra yang menggunakan aplikasi GUI Matlab R2014a dalam proses kompresi citra, karena merupakan media yang lebih efisien dan lebih menguntungkan. Aplikasi ini dapat membandingkan citra asli dengan citra hasil terkompresi dengan melihat atribut hasil kompresi. Secara umum konsep perancangan sistem aplikasi pembanding dengan dua metode kompresi Run Length Encoding dan Huffman Coding dapat dilihat dari gambar 3.1 sebagai berikut.

Input Dilakukan

Gambar proses

Menampilkan Atribut Kompresi

Gambar 3.1 Rancangan sistem aplikasi kompresi citra

Berikut penjelasan arsitektur sistem pada aplikasi ini, yaitu :

1. Gambar yang ingin dikompresi, merupakan citra yang nantinya akan di olah Gambar yang

ingin dikompresi (jpg, png, tif)

Citra GUI Matlab R2014a (axis)

Kompresi citra menggunakan

metode yang dipilih Dekompresi

citra sesuai dengan Metode yang ditentukan Citra dan Atribut

yang dihasilkan

(33)

2. Citra GUI Matlab, merupakan tampilan citra yang nantinya akan diproses oleh metode kompresi yang dipilih.

3. Kompresi citra menggunakan citra yang dipilih, proses mengkompresi citra yang telah diinputkan menggunakan metode kompresi Run Length Encoding dan metode Huffman Coding.

4. Citra dan atribut yang dihasilkan, informasi yang didapatkan sebagai hasil proses kompresi yang berfungsi membandingkan hasil citra terkompresi dengan yang aslinya.

Perancangan aplikasi hasil kompresi citra menggunakan metode Run Length Encoding dan metode Huffman dibuat menggunakan software Matlab R2014a dengan metode kompresi Delta Modulation dan metode Huffman. Aplikasi ini berjalan pada sistem operasi Windows yang memiliki software matlab yang mempunyai opsi pembuatan GUI.

3.2 Perancangan Diagram Alur (Flowchart)

Flowchart merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan proses kegiatan menjadi lebih jelas dan penambahan proses dapat dilakukan menjadi lebih mudah.

3.2.1 Flowchart Inputan Citra Berformat jpg

Flowchart inputan citra berkualitas jpg merupakan flowchart yang menjelaskan bagaimana alur kerja dari aplikasi kompresi citra dan dekompresi citra menggunakan metode Run Length Encoding dan metode Huffman Coding seperti gambar 3.2

(34)

Tidak

Ya Mulai

Kompresi Huffman Masukkan file citra

berformat jpg

Membaca piksel citra

Menampilkan atribut,ukuran tinggi dan lebar citra

Menghitung frek kemunculan tiap

piksel

Kompresi RLE

Membuat pohon huffman

Menampilkan rasio,waktu dan ukuran kompresi

Mengurutkan nilai kemunculan piksel yang

sama

Membuat matrik baru sesuai nilai piksel citra

Menampilkan rasio,waktu dan ukuran kompresi

Dekompresi Huffman

Dekompresi RLE

Tidak

Ya

Tidak

Membuat matrik dari encoder pohon huffman dengan decoder

Tidak Ya

1 2 3

Ya

(35)

Gambar 3.2. Flowchart Inputan Citra berformat jpg

Dari gambar 3.2, citra dengan berformat input jpg akan di proses dahulu untuk mengetahui berapa jumlah pikselnya dan nantinya akan dikompresi oleh metode yang dipilih, baik dengan menggunakan metode Run Length Encoding maupun metode Huffman Coding. Setelah melalui proses kompresi citra akan melalui proses dekompresi dengan kedua metode, dan pada proses ini dapat dilihat citra akan di bentuk kembali ke bentuk semula dan akan dilihat cacat atau

1

Merekontruksi gambar sesuai dengan matrik yang didapatkan

Menampilkan gambar dan atribut rasio,waktu dan ukuran citra

Menghitung MSE dan PSNR

Menampilkan Nilai MSE dan PSNR

2

Mengurai matrik baru hasil kompresi sesuai data piksel citra awal

Merekontruksi gambar sesuai dengan matrik yang didapatkan

Menampilkan gambar dan atribut rasio,waktu dan ukuran citra

Menghitung MSE dan PSNR

Menampilkan Nilai MSE dan

3 PSNR

Selesai

(36)

tidaknya citra yang dikompresi dengan menggunakan MSE dan PSNR yang akan menjadi atribut pembanding tambahan untuk melihat hasil citra terkompresi mana yang lebih unggul.

3.2.2. Flowchart Inputan Citra berformat png

Flowchart inputan citra berformat lainnya seperti citra berformat png. Ini merupakan flowchart yang menjelaskan bagaimana alur kerja dari aplikasi kompresi dan dekompresi citra menggunakan metode Run Length Encoding maupun metode Huffman Coding pada citra berformat png seperti pada gambar 3.3.

(37)

Tidak

Ya Mulai

Kompresi Huffman Masukkan file citra

berformat png

Membaca piksel citra

Menampilkan atribut,ukuran tinggi dan lebar citra

Menghitung frek kemunculan tiap

piksel

Kompresi RLE

Membuat pohon huffman

Menampilkan rasio,waktu dan ukuran kompresi

Mengurutkan nilai kemunculan piksel yang

sama

Membuat matrik baru sesuai nilai piksel citra

Menampilkan rasio,waktu dan ukuran kompresi

Dekompresi Huffman

Dekompresi RLE

Tidak

Ya

Tidak

Membuat matrik dari encoder pohon huffman dengan decoder

Tidak Ya

1 2 3

Ya

(38)

Gambar 3.3. Flowchart Inputan Citra berformat png

Dari gambar 3.3 diketahui bahwa citra dengan input citra berformat png akan di proses terlebih dahulu untuk mengetahui berapa jumlah pikselnya dan nantinya akan dikompresi oleh metode yang dipilih, baik dengan menggunakan metode Run Length Encoding maupun metode Huffman Coding.

Proses selanjutnya adalah proses dekompresi citra sama dengan proses awal, 1

Merekontruksi gambar sesuai dengan matrik yang didapatkan

Menampilkan gambar dan atribut rasio,waktu dan ukuran citra

Menghitung MSE dan PSNR

Menampilkan Nilai MSE dan PSNR

2

Mengurai matrik baru hasil kompresi sesuai data piksel citra awal

Merekontruksi gambar sesuai dengan matrik yang didapatkan

Menampilkan gambar dan atribut rasio,waktu dan ukuran citra

Menghitung MSE dan PSNR

Menampilkan Nilai MSE dan

3 PSNR

Selesai

(39)

citra yang dikompresi akan di kembalikan kembali ke bentuk semula dengan menggunakan proses dekompresi. Pada proses ini dapat dilihat citra akan di bentuk kembali ke bentuk semula dan akan dilihat cacat atau tidaknya citra yang dikompresi dengan menggunakan MSE dan PSNR yang akan menjadi atribut pembanding tambahan untuk melihat hasil citra terkompresi mana yang lebih unggul.

3.2.3. Flowchart Inputan Citra berformat lain bmp

Flowchart inputan citra berformat lainnya adalah citra berformat bmp.

Berikut ini merupakan flowchart yang menjelaskan bagaimana alur kerja dari aplikasi kompresi dan dekompresi citra menggunakan metode Run Length Encoding maupun metode Huffman Coding pada citra berformat bmp seperti pada gambar 3.4.

(40)

Tidak

Ya Mulai

Kompresi Huffman Masukkan file citra

berformat bmp

Membaca piksel citra

Menampilkan atribut,ukuran tinggi dan lebar citra

Menghitung frek kemunculan tiap

piksel

Kompresi RLE

Membuat pohon huffman

Menampilkan rasio,waktu dan ukuran kompresi

Mengurutkan nilai kemunculan piksel yang

sama

Membuat matrik baru sesuai nilai piksel citra

Menampilkan rasio,waktu dan ukuran kompresi

Dekompresi Huffman

Dekompresi RLE

Tidak

Ya

Tidak

Membuat matrik dari encoder pohon huffman dengan decoder

Tidak Ya

1 2 3

Ya

(41)

Gambar 3.4. Flowchart Inputan Citra berformat tiff

Dari gambar 3.4 diketahui bahwa citra dengan input citra berformat bmp akan di proses terlebih dahulu untuk mengetahui berapa jumlah pikselnya dan nantinya akan dikompresi oleh metode yang dipilih, baik dengan menggunakan metode Run Length Encoding maupun metode Huffman Coding.

Proses selanjutnya adalah proses dekompresi citra sama dengan proses awal, dimana setelah dapat ditampilkan atribut pembanding saat sedang terkompresi,

1

Merekontruksi gambar sesuai dengan matrik yang didapatkan

Menampilkan gambar dan atribut rasio,waktu dan ukuran citra

Menghitung MSE dan PSNR

Menampilkan Nilai MSE dan PSNR

2

Mengurai matrik baru hasil kompresi sesuai data piksel citra awal

Merekontruksi gambar sesuai dengan matrik yang didapatkan

Menampilkan gambar dan atribut rasio,waktu dan ukuran citra

Menghitung MSE dan PSNR

Menampilkan Nilai MSE dan

3 PSNR

Selesai

(42)

citra yang dikompresi akan di kembalikan kembali ke bentuk semula dengan menggunakan proses dekompresi. Pada proses ini dapat dilihat citra akan di bentuk kembali ke bentuk semula dan akan dilihat cacat atau tidaknya citra yang dikompresi dengan menggunakan MSE dan PSNR yang akan menjadi atribut pembanding tambahan untuk melihat hasil citra terkompresi mana yang lebih unggul.

3.3 Perancangan Aplikasi

Rancangan aplikasi perbandingan hasil kompresi citra menggunakan metode Run Length Encoding dan Huffman Coding dibuat dengan tools bahasa pemrograman Matlab R2014a seperti pada gambar 3.5.

Gambar 3.5. Rancangan Aplikasi Pembanding Run Length Encoding dan Huffman Coding

(43)

Keterangan :

1. Frame Aplikasi untuk membingkai aplikasi

2. Push Button untuk tombol melakukan input citra .jpg atau .jpeg yang akan diproses

3. Push Button untuk tombol melakukan input citra selain ekstensi jpg dan jpeg yang akan diproses

4. Push Button untuk tombol melakukan kompresi RLE citra .jpg atau .jpeg 5. Push Button untuk tombol melakukan kompresi Huffman citra .jpg atau

.jpeg

6. Push Button untuk tombol melakukan kompresi RLE citra non .jpg atau .jpeg

7. Push Button untuk tombol melakukan kompresi Huffman citra non .jpg atau .jpeg

8. Push Button untuk tombol melakukan dekompresi RLE citra .jpg atau .jpeg 9. Push Button untuk tombol melakukan dekompresi Huffman citra .jpg atau

.jpeg

10. Push Button untuk tombol melakukan dekompresi RLE citra non .jpg atau .jpeg

11. Push Button untuk tombol melakukan dekompresi Huffman citra non .jpg atau .jpeg

12. Push Button untuk tombol melakukan penghitungan MSE dan PSNR hasil dekompresi RLE citra .jpg atau .jpeg

(44)

13. Push Button untuk tombol melakukan penghitungan MSE dan PSNR hasil dekompresi Huffman citra .jpg atau .jpeg

14. Push Button untuk tombol melakukan penghitungan MSE dan PSNR hasil dekompresi RLE citra non .jpg atau .jpeg

15. Push Button untuk tombol melakukan penghitungan MSE dan PSNR hasil dekompresi Huffman citra non .jpg atau .jpeg

16. Text untuk menuliskan judul aplikasi yang dibuat 17. Text untuk menuliskan proses ‘kompresi’

18. Text untuk menuliskan proses ‘dekompresi' 19. Axes untuk menampilkan citra asli .jpg atau .jpeg 20. Axes untuk menampilkan citra non .jpg atau .jpeg

21. Axes untuk menampilkan citra rekonstruksi kompresi RLE citra .jpg atau .jpeg

22. Axes untuk menampilkan citra rekonstruksi kompresi Huffman citra .jpg atau .jpeg

23. Axes untuk menampilkan citra rekonstruksi kompresi RLE citra non .jpg atau .jpeg

24. Axes untuk menampilkan citra rekonstruksi kompresi Huffman citra non .jpg atau .jpeg

25. Panel untuk menampilkan ukuran citra lebar dan tinggi pada citra asli .jpg atau.jpeg

26. Panel untuk menampilkan ukuran citra lebar dan tinggi pada citra asli non .jpg atau.jpeg

(45)

27. Panel untuk menampilkan rasio kompresi, waktu kompresi dan ukuran citra pada citra .jpg atau .jpeg hasil kompresi RLE

28. Panel untuk menampilkan rasio kompresi, waktu kompresi dan ukuran citra pada citra .jpg atau .jpeg hasil kompresi Huffman

29. Panel untuk menampilkan rasio kompresi, waktu kompresi dan ukuran citra pada citra non .jpg atau .jpeg hasil kompresi RLE

30. Panel untuk menampilkan rasio kompresi, waktu kompresi dan ukuran citra pada citra non .jpg atau .jpeghasil kompresi Huffman

31. Panel untuk menampilkan rasio kompresi, waktu dekompresi, ukuran citra, lebar dan tinggi pada citra .jpg atau .jpeg hasil dekompresi RLE

32. Panel untuk menampilkan rasio kompresi, waktu dekompresi, ukuran citra, lebar dan tinggi pada citra .jpg atau .jpeg hasil dekompresi Huffman

33. Panel untuk menampilkan rasio kompresi, waktu dekompresi, ukuran citra, lebar dan tinggi pada citra non .jpg atau .jpeg hasil dekompresi RLE

34. Panel untuk menampilkan rasio kompresi, waktu dekompresi, ukuran citra, lebar dan tinggi pada citra non .jpg atau .jpeg hasil dekompresi Huffman 35. Panel untuk menampilkan nilai MSE dan PSNR pada citra hasil .jpg atau

.jpeg dekompresi RLE

36. Panel untuk menampilkan nilai MSE dan PSNR pada citra hasil .jpg atau .jpeg dekompresi Huffman

37. Panel untuk menampilkan nilai MSE dan PSNR pada citra hasil non .jpg atau .jpeg dekompresi RLE

(46)

38. Panel untuk menampilkan nilai MSE dan PSNR pada citra hasil non.jpg atau .jpeg dekompresi Huffman

(47)

BAB IV

HASIL DAN PEMBAHASAN

4.1 Implementasi Sistem

Berdasarkan hasil perancangan sistem yang telah dilakukan, maka dilakukan implementasi ke dalam bentuk program komputer. Implementasi merupakan tahap menerjemahkan hasil perancangan sistem secara rinci kedalam bahasa pemrograman.

Pada bab ini dijelaskan implementasi dari perbandingan hasil kompresi citra menggunakan metode Run Lenght Encoding dan metode Huffman Coding ke dalam bentuk program dengan menggunakan bahasa pemrograman Matlab R2014a.

4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak yang digunakan

Spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk membangun program aplikasi pembanding ini adalah :

1. Processor : Intel Core i3-1.80 GHz

2. Memori : 2 GB

3. Sistem Operasi : Microsoft Windows 7

4. Aplikasi : Matlab R2014a

(48)

4.1.2. Tampilan Sistem

Tampilan sistem dirancang menggunakan standar pemakaian untuk memudahkan pengguna dalam menggunakan proses kompresi dan dekompresi.

Tampilan sistem yang dibuat seperti pada gambar 4.1.

Gambar 4.1 Tampilan Sistem

Pada gambar 4.1 adalah tampilan sistem pengkompresian citra digital.

Untuk mulai mengkompresi dapat dipilih citra dengan format apa yang digunakan, dengan menekan tombol “buka file ” akan keluar tampilan seperti yang ditunjukkan gambar 4.2

(49)

Gambar 4.2 Tampilan Input Citra

Setelah memilih citra input maka akan tampil di layar aplikasi citra inputan yang telah dipilih. Untuk mengkompresi gambar terlebih dahulu dipilih metode yang akan digunakan metode Run Length Encoding atau Huffman Coding, dan klik Push Button yang menyatakan pilihan metode untuk mengompresi citra input dan akan ditampilkan informasi pada panel seperti pada gambar 4.3

Gambar 4.3 Proses Pengompresian Citra Input

(50)

Pada gambar 4.3 merupakan proses menunggu citra inputan dikompresi dengan metode yang dipilih. Pada proses kompresi besarnya resolusi suatu citra akan mempengaruhi waktu kompresi karena resolusi yang besar membutuhkan waktu yang lama untuk kompresi. Setelah selesai dengan pengkompresian, langkah selanjutnya yang dilakukan adalah dekompresi citra, hal ini perlu dilakukan apabila ingin mengembalikan citra yang telah dikompresi ke bentuk semula dan untuk melihat kualitas citra yang terkompresi akan bisa dilihat menurut parameter MSE dan PSNR, klik tombol push button “dekompresi”

selanjutnya klik tombol MSE dan PSNR untuk mengecek kualitas citra yang direkonstruksi seperti pada gambar 4.4

Gambar 4.4 Proses Dekompresi Citra

Untuk mengetahui dampak citra lain bisa dilakukan dengan menginputkan citra lainnya di push button “buka file” dimana pada inputan ini citra berformat

(51)

png dan bmp dengan mengikuti cara yang sama seperti kompresi citra berformat jpg. Hasil ditunjukkan pada gambar 4.5

Gambar 4.5 Pengompresian Input Citra Lain

Setelah penginputan citra lainnya, sama dengan proses inputan citra pertama citra dikompresi dan di dekompresi. Dan setelah proses tersebut, citra akan ditentukan nilai MSE dan PSNR. Hasil ditunjukkan pada gambar 4.6

Gambar 4.6 Dampak dari inputan Citra lainnya

(52)

4.2. Pengujian Sistem

Pada sub bab ini akan dijelaskan mengenai analisis hasil pengujian sistem untuk mengetahui perbedaan dari hasil kompresi citra dengan metode Run lEngth Encoding maupun metode Huffman Coding.

4.2.1. Sistematika Pengujian

File citra yang digunakan untuk pengujian merupakan file citra bertipe RGB ,Grayscale dan Black and White, serta citra yang digunakan berekstensi jpg, png dan lainnya. Inputan Citra disini dalam satu citra akan di format dengan 3 format cittra yaitu jpg, png, bmp. Citra yang digunakan yang ditampilkan pada tabel 4.1.

Tabel 4.1 Citra Inputan

No. Jpg Png Bmp

1.

2.

3.

(53)

4.2.2. Analisis Data Hasil Pengujian Sistem

Berdasarkan pengujian yang dilakukan dan berdasarkan hasil dari pengujian dapat diamati bahwa informasi terkait data perbandingan metode RLE dan Huffman Coding meliputi informasi rasio kompresi, ukuran hasil kompresi, lama proses kompresi, dampak citra rekonstruksi, MSE dan PSNR untuk melihat kualitas citra rekonstruksi dibandingkan citra asli. Informasi yang sesuai dengan hal diatas akan bisa dilihat pada tabel hasil kompresi dan dekompresi pada tabel.

Tabel 4.2 merupakan informasi hasil kompresi dari inputan jpg dengan metode Run Length Encoding dan metode Huffman Coding.

4.

5.

6.

7.

(54)

Tabel 4.2 Hasil Kompresi Inputan Citra Kelinci dengan kedua metode

NO. Nama File Citra Ukuran Citra Asli (bit)

Metode

Huffman Coding (bit)

Metode Run Length Encoding (bit)

1. Kelinci.jpg 14.406 13.033 27.386

2. Kelinci.png 955.200 863.762 182.158

3. Kelinci.png 14.406 13.033 27.386

Tidak hanya inputan satu citra saja yang dikompresi, tetapi citra inputan lainnya juga di data untuk proses kompresi ini. Tabel 4.3 merupakan hasil kompresi citra inputan yang bernama BW yang akan dikompresi dalam format citra jpg, png, dan bmp.

Tabel 4.3 Hasil Kompresi Inputan Citra BW dengan kedua metode

NO. Nama File Citra Ukuran Citra Asli (bit)

Metode Huffman Coding (bit)

Metode Run Length Encoding (bit)

1. BW.jpg 73.728 58.885 114.306

2. BW.png 73.728 58.885 114.306

3. BW.bmp 73.728 58.885 114.306

(55)

Pada proses selanjutnya, citra inputan yang akan dikompresi adalah citra bernama kucing yang akan di proses dengan kedua metode. Tabel 4.4 merupakan hasil kompresi inputan citra kucing dengan kedua metode kompresi yang dipakai.

Tabel 4.4 Hasil Kompresi Inputan Citra Kucing dengan kedua metode

NO. Nama File Citra Ukuran Citra Asli (bit)

Metode Huffman Coding (bit)

Metode Run Length Encoding (bit)

1. kucing.jpg 445.206 422.297 632.344

2. kucing.png 445.206 421.563 616.437

3. kucing.bmp 445.206 422.297 632.344

Selanjutnya inputan citra yang di proses dengan kedua metode yaitu citra bernama lena dengan format yang sama yaitu jpg, png, dan bmp. Tabel 4.5 merupakan hasil kompresi inputan citra menggunakan kedua metode kompresi.

(56)

Tabel 4.5 Hasil Kompresi Inputan Citra Lena dengan kedua metode

NO. Nama File Citra Ukuran Citra Asli (bit)

Metode Huffman Coding (bit)

Metode Run Length Encoding (bit)

1. Lena.jpg 629.146 591.801 113.050

2. Lena.png 629.146 591.801 113.050

3. Lena.bmp 629.146 591.801 113.050

Pada proses selanjutanya citra inputan bernamaa lion, dalam format yang sama dengan citra di atas yaitu jpg, png, bmp. Pada tabel 4.6 merupakan hasil inputan citra lion di kompresi dengan kedua metode.

Tabel 4.6 Hasil Kompresi Inputan Citra Lion dengan kedua metode

NO. Nama File Citra Ukuran Citra Asli (bit)

Metode Huffman Coding (bit)

Metode Run Length Encoding (bit)

1. Lion.jpg 361.418 200.026 334.912

2. Lion.png 361.418 196.935 324.842

3. Lion.bmp 361.418 200.026 334.912

(57)

Citra inputan yang akan diproses dengan metode kompresi yaitu citra bernama puppy yang berforma jpg, png, dan bmp. Pada tabel 4.7 merupakan proses hasil kompresi citra puppy dengan kedua metode kompresi.

Tabel 4.7 Hasil Kompresi Inputan Citra puppy dengan kedua metode

NO. Nama File Citra Ukuran Citra Asli (bit)

Metode Huffman Coding (bit)

Metode Run Length Encoding (bit)

1. puppy.jpg 239.040 223.920 355.315

2. puppy.png 239.040 223.920 355.315

3. puppy.bmp 239.040 223.920 355.315

Citra yang terakhir yang akan di proses dalam metode kompresi yaitu citra bernama trueclor dalam format yang sama dengan citra sebelumnya yaitu jpg, png, bmp. Pada tabel 4.8 merupakan hasil kompresi citra inputan trueclor dengan kedua metode kompresi.

(58)

Tabel 4.8 Hasil Kompresi Inputan Citra trueclor dengan kedua metode

NO. Nama File Citra Ukuran Citra Asli (bit)

Metode Huffman Coding (bit)

Metode Run Length Encoding (bit)

1. trueclor.jpg 469.601 452.537 755.269

2. trueclor.png 469.601 451.436 746.675

3. trueclor.bmp 469.601 452.537 755.269

Dari tabel 4.2, tabel 4.3, tabel 4.4 dan tabel 4.5, 4.6, 4.7, 4.8 dari data – data yang di dapat metode Run Length Encoding rata – rata hasil kompresi citra Run Length Encoding cenderung menghasilkan rasio kompresi yang negatif (-) menyebabkan ukuran citra terkompresi semakin membesar, sedangkan kompresi bertujuan bahwa kompresi seharusnya memberikan kapasitas yang lebih kecil setelah dikompresi, tetapi dalam metode Run Length Encoding ini menghasilkan kapasitas citra yang lebih besar dari pada citra asli, hal ini dapat dilihat dari tabel 4.2, 4.3, 4.4 , 4.5, 4.6, 4.7, dan 4.8.

Dan pada data – data tabel di atas pada metode Huffman Coding menghasilkan rasio kompresi yang tidak satupun hasil kompresi yang cenderung lebih bagus, pada tabel 4.2, tabel 4.3, tabel 4.4 dan tabel 4.5 dilihat bahwa rasio kompresi Huffman Coding tidak satupun yang bernilai negatif (-).

Perbandingan diaspek lain seperti waktu juga dapat diperhatikan bahwa

(59)

mengkompresi sebuah citra dibandingkan Huffman Coding , hal ini dapat dilihat pada tabel 4.4 dan 4.5, dapat dilihat pada puncaknya saat pengkompresian citra BW.jpg metode RLE memerlukan waktu 5945,61 detik setara 99 menit 14 detik , sangat berbeda jauh dengan metode Huffman Coding yang hanya memerlukan 140,074 detik walaupun pada citra BW merupakan citra yang membutuh waktu kompresi terlama diantara citra lainnya , baik dari metode RLE maupun metode Huffman Coding.

Bila dilihat dari segi ukuran citra , hal ini terjadi karena dampak dari rasio kompresi citra, apabila rasio kompresi citra semakin besar dan mendekati 100%

berarti semakin kecil pula ukuran citra dan bila rasio semakin kecil bahkan nilai rasio ( - ) akan menyebabkan besarnya ukuran citra. Hal ini tentu berdampak pada ruang penyimpanan dan tidak sesuai dengan salah satu syarat kompresi yaitu memperkecil ukuran, dari tabel ukuran citra hasil kompresi citra cenderung lebih rendah dari pada ukuran citra asli, tetapi untuk citra puppy.jpg, trueclor.png, kucing.png, , terjadinya pertambahan ukuran pada metode RLE. Metode Huffman coding sendiri tidak menambah ukuran dari citra yang berarti metode huffman coding melakukan kompresi dengan rasio kompresi yang tinggi dan menyebabkan ukuran citra sendiri tidak bertambah melainkan terkompresi sehingga ukuran citra semakin kecil. Diaspek rekonstruski citra, citra terlihat tidak mengalami cacat apabila secara kasat mata, maka dari itu dibutuhkan parameter MSE dan PSNR untuk melihat apakah citra terekonstruksi dengan sempurna apabila dibandingkan dengan citra aslinya, disini dapat dilihat baik dari tabel 4.4 dan 4.5 nilai MSE dari ekstensi gambar png metode RLE lebih unggul dibandingkan dengan metode Huffman Coding , tetapi metode Huffman Coding dikatakan lebih unggul dalam

(60)

kompresi citra berekstensi jpg dan lebih tinggi nilai PSNR dibandingkan nilai yang didapat dari metode RLE.

Berdasarkan hasil pengujian dan analisa diketahui bahwa metode kompresi Huffman lebih baik dari aspek rasio kompresi, waktu, ukuran citra dan lebih baik untuk mengkompresikan citra berekstensi jpg atau jpeg.

(61)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil pengujian dan analisa, dapat diambil beberapa kesimpulan sebagai berikut :

1. Penelitian ini telah menghasilkan suatu sistem aplikasi hasil perbandingan kompresi citra dengan Metode Run Length Encoding dan metode Huffman Coding.

2. Rekonstruksi Citra yang dikompresi menggunakan metode RLE dan Huffman Coding tidak terdapat cacat yang signifikan dan dapat dilihat dari nilai MSE bahwa rata-rata error dalam satu citra tidak terlalu besar.

3. Baik metode RLE dan Huffman Coding dapat dikategorikan didalam teknik kompresi Lossless dimana cacat citra pada rekonstruksi citra, tidak menggangu kualitas citra .

4. Hasil kompresi yang dihasilkan citra bergantung pada metode yang digunakan, variasi dan kombinasi warna, kemunculan warna yang sama pada suatu citra. Hal ini dapat mempengaruhi metode kompresi seperti RLE yang menggunakan sistem perhitungan variasi warna sama yang berdekatan dalam satu kolom, apabila semakin banyak variasi warna maka akan memungkinkan bahwa kompresi dengan metode ini akan memperbesar kualitas citra, berbeda dengan huffman yang

(62)

mengelompokan variasi warna dan mengubah menjadi pohon huffman yang selanjutnya lebih mudah untuk di perkecil ukuran kapasitas citra maupun di rekonstruksi dengan menggunakan citra asli sebagai pembanding.

5.2 Saran

Saran yang dapat diberikan untuk pengembangan lebih lanjut terhadap Tugas Akhir ini :

1. Pengembangan metode kompresi seperti data streaming antara dua matlab atau lebih, serta membuat sebuah sistem streaming data yang berfungsi untuk mengirimkan data secara optimal tanpa menggangu kualitas citra.

2. Menggunakan metode RLE dan Huffman coding sebagai metode pengkompresian data multimedia seperti Video, Suara, dan data multimedia lainnya.

3. Mengkombinasikan kompresi Huffman Coding dengan RLE sehingga memperkecil kemungkinan cacatnya kualitas citra dan memperkecil ukuran citra seminimal mungkin tanpa menganggu kualitas citra.

(63)

DAFTAR PUSTAKA

[1] Sugiarto,Aris. 2006. “Pemrograman GUI dengan MATLAB”. Yogyakarta : ANDI

[2] Munir,Rinaldi.2004.”Pengolahan Citra Digital”. Bandung : Informatika Bandung.

[3] Putra,Darma.2010.”Pengolahan Citra Digital”. Yogyakarta : ANDI.

[4] Yuliana,Melita &Jalaluddin. 2012. “Implementasi Metode Run Length Encoding untuk Kompresi Citra”. Jurnal Teknika. Sekolah Tinggi Teknik Surabaya.

[5] Septriani,Anindita & Kusdianti. 2014. “ Kompresi Pada Citra Digital Menggunakan Algoritma Run Length Encoding”. Universitas Mulawarman.

[6] Munawaroh,Nur & Indah. 2008. “Implementasi Metode Huffman Untuk Kompresi File Citra bitmap 8 bit menggunakan Borland Delphi”. Jurnal Ilmiah Teknologi dan Informasi.

[7] Armanto,Hendrawan & Dewi. 2015. “Analisa Berbagai Jenis Huruf Komputer Mengguakan Algoritma Berbasis Chain Code dengan bentuk Run Length Encoding”. Sekolah Tinggi Teknik Surabaaya.

[8] Budiono,Firmana & Faradisa. 2011. “Implementasi Metode Huffman Sebagai Teknik Kompresi Citra”. Jurnal Elektro. Insitut Teknologi Malang.

[9] Alam,Ibnu. 2015. “Aplikasi Kode Huffman dalam Kompresi Gambar Berformat JPEG”. Institut Teknologi Bandung.

(64)

[10] Melita,Yuliana & Juma’in. 2011. “Kompresi Gambar atau Citra Menggunakan Discretecosine Transform”. Jurnal Teknika. Universitas lamongan.

[11] Yahya,Kurnia. 2011. “Aplikasi Kompresi citra Digital Menggunakan Teknik Kompresi Jpeg dengan Fungsi GUI pada Matlab’. Jurnal Teknika. Universitas Lamongan.

Gambar

Gambar 2.1 Contoh Citra Biner  2.2.2. Citra Grayscale
Gambar 2.3 Contoh Citra Warna
Gambar 2.4  (a) citra burung nuri yang gelap (b) citra yang telah  diperbaiki
Tabel 2.1 Matriks Citra
+7

Referensi

Garis besar

Dokumen terkait

Pendapatan dan Beban Operasional selain Penyaluran Dana. 1 Pendapatan Operasional Lainnya

[r]

URAIAN BARANG POS

Surat Edaran Otorisasi Jasa Keuangan Nomor 18/SEOJK.03/2015 tanggal 08 Juni 2015 Tentang Transparansi dan Publikasi Laporan Bank Umum Syariah dan Unit Usaha Syariah2.

PENDIDIKAN ANAK USIA DINI DAN PENDIDIKAN MASYARAKAT DIREKTORAT PEMBINAAN PENDIDIKAN ANAK USIA DINI.

2009 Novel: Tegar Bengawan Pemenang I Sayembara Penulisan Buku Pengayaan PUSBUK KEMENDIKBUD 2009 2009 Prophetic Learning Pro-U Media (Cetakan ke-2 pd 2010) 2008 Novel:

Di lahan belukar muda berumur 10 tahun telah dijumpai jenis suksesi lanjut (Rinorea anguifera) yang mendominasi tapak, sedangkan di tapak belukar dan agroforest berumur lebih dari

individu dan kepuasan keda mampu menjelaskan variasi pada variabel kepemimpinan transformasional' Kepuasan kerja menjadi variabel yang penting unhrk diperhatikan karena