ABSTRAK
PERBANDINGAN ALGORITMA HUFFMAN DANRUN LENGTHPADA KOMPRESI JOINT PHOTOGRAPHIC EXPERTS GROUP(JPEG)
Oleh
ERINDA PUTRI ANDARYANI
Kompresi citra merupakan salah satu teknik pemampatan untuk membantu proses penyimpanan dan pengiriman data citra agar pekerjaan tersebut lebih efektif.Joint Photographic Experts Group (JPEG) merupakan standar kompresi internasional telah secara luas digunakan saat ini.
Kompresi JPEG menggunakan berbagai algoritma dalam proses kompresinya. Dari berbagai algoritma yang ada, Huffman danRun Lengthmerupakan algoritma kompresi yang biasa digunakan untuk kompresi JPEG. Untuk itu, perlu diketahui algoritma mana yang lebih baik penggunaannya dalam kompresi JPEG dari kedua algoritma tersebut.
Penelitian ini menggunakan bahasa pemrograman MATLAB untuk membuat suatu aplikasi kompresi citra JPEG dengan menerapkan dua algoritma, yaitu Huffman dan Run Length. Aplikasi ini menampilkan aspek ukuran file, waktu kompresi, Peak Signal to Noise Ratio (PSNR), dan rasio kompresi, yang dapat digunakan sebagai pembanding kedua algoritma kompresi yang digunakan tersebut.
ABSTRACT
COMPARISON OF HUFFMAN ANDRUN LENGTHALGORITHM ON JOINT PHOTOGRAPHIC EXPERTS GROUP(JPEG) COMPRESSION
By
ERINDA PUTRI ANDARYANI
Image comprasion is one of compression technique to make storage and sending image file more effective. Joint Photographic Experts Group (JPEG) is one of international compression standard which is commonly used.
JPEG compression applies many kinds of algorithm on its compression process. Among many algorithms exists, Huffman and Run Length are compression
algorithms which commonly used for JPEG compression. So it’s necessary to be
informed which algorithm is better for JPEG compression between both algorithm.
This research uses MATLAB programming language to make an application of JPEG compression by applying 2 (two) algorithms, Huffman and Run Length. This application shows file size, compression time, Signal to Noise Ratio(PSNR), and compression ratio aspect that will be used as comparator both compression algorithms.
PERBANDINGAN ALGORITMA HUFFMAN DANRUN LENGTHPADA KOMPRESIJOINT PHOTOGRAPHIC EXPERTS GROUP(JPEG)
(Skripsi)
ERINDA PUTRI ANDARYANI 0 7 1 7 0 3 2 0 4 0
PROGRAM STUDI S1 ILMU KOMPUTER JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG
PERBANDINGAN ALGORITMA HUFFMAN DANRUN LENGTHPADA KOMPRESI JOINT PHOTOGRAPHIC EXPERTS GROUP(JPEG)
Oleh
ERINDA PUTRI ANDARYANI
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar SARJANA KOMPUTER
Pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG
Judul Skripsi : PERBANDINGAN ALGORITMA HUFFMAN
DANRUN LENGTHPADAKOMPRESI JOINT
PHOTOGRAPHIC EXPERTS GROUP(JPEG)
Nama Mahasiswa : Erinda Putri Andaryani
Nomor Pokok Mahasiswa : 0717032040
Jurusan : Ilmu Komputer
Fakultas : Matematika dan Ilmu Pengetahuan Alam
MENYETUJUI
1. Komisi Pembimbing
Pembimbing I Pembimbing II
Machudor Yusman, Ir., M.Kom. NIP. 19570330 198603 2 003
Dwi Sakethi, S.Si., M.Kom. NIP. 19680611 199802 1 001
2. Mengetahui
Ketua Jurusan Ilmu Komputer
MENGESAHKAN
1. Tim Penguji
Ketua :Machudor Yusman, Ir., M.Kom. ______________
Sekretaris :Dwi Sakethi, S.Si., M.Kom. ______________
Penguji
Bukan Pembimbing :Didik Kurniawan, S.Si., M.T. ______________
2. Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Prof. Suharso, Ph.D.
NIP. 19690530 199512 1 001
PERNYATAAN
Saya yang bertanda tangan di bawah ini, menyatakan bahwa skripsi saya yang
berjudul “Perbandingan Algoritma Huffman dan Run LengthPada Kompresi Joint Photographic Experts Group (JPEG)” ini merupakan hasil karya sendiri dan bukan hasil karya orang lain. Semua hasil tulisan yang tertuang dalam skripsi ini telah mengikuti kaidah penulisan karya ilmiah Universitas Lampung. Apabila di kemudian hari terbukti bahwa skripsi ini merupakan hasil salinan atau di buat
oleh orang lain, maka saya bersedia menerima sanksi berupa pencabutan gelar akademik yang telah saya terima.
Bandar Lampung, Juni 2012
PERSEMBAHAN
Skripsi ini aku persembahkan untuk kedua orang tuaku
Hendaya dan Siti Rochmatun
Untuk kakak dan adik-adikku
Paramita Eka Rani, Rizka Rami Sukmawati
dan Muhammad Fiqri Al-Fajri
Dan untuk almamater tercinta
Universitas Lampung
MOTTO
Stay Hungry, Stay Foolish
Steve Jobs ( Apple Founder)
Ing Ngarso Sung Tulodo, Ing Madyo Mangun Karso,
Tut Wuri Handayani
Ki Hajar Dewantara (Bapak Pendidikan Indonesia)
Kalau menyerah maka habislah sudah
Top Ittipat (Snack Tao Kae Noi Founder)
Hidup Sasaran Empuk!!
SANWACANA
Puji syukur penulis ucapkan kehadirat ALLAH SWT, karena atas rahmat dan
hidayah-Nya skripsi ini dapat diselesaikan, serta Nabi Muhammad SAW sebagai panutan hidup dan AL-Qur’an sebagai pedoman.
Skripsi dengan judul “Perbandingan Algoritma Huffman dan Run Length Pada Kompresi Joint Photographic Experts Group (JPEG)” adalah salah satu syarat
untuk memperoleh gelar sarjana Ilmu Komputer di Universitas Lampung.
Dalam kesempatan ini penulis mengucapkan terimakasih kepada berbagai pihak yang secara langsung maupun tidak langsung telah membantu penulis sehingga
skripsi ini dapat terselesaikan. Penulis mengucapkan terimakasih kepada:
1. Bapak Machudor Yusman, Ir., M.Kom., selaku pembimbing pertama, sekaligus sebagai Ketua Jurusan Ilmu Komputer Fakultas Mastematika dan
Ilmu Pengetahuan Alam, yang telah membimbing dan memberikan dorongan ditengah-tengah kesibukannya sehingga penulisan skripsi ini dapat
diselesaikan.
2. Bapak Dwi Sakethi, S.Si., M.Kom., selaku pembimbing kedua, sekaligus sebagai Sekretaris Jurusan Ilmu Komputer Fakultas Mastematika dan Ilmu
ii
3. Bapak Didik Kurniawan, S.Si., M.T., selaku pembahas yang telah
memberikan koreksi dan saran serta membantu penulis dalam memecahkan masalah pada penelitian demi menyelesaikan skripsi ini.
4. Bapak Prof. Suharso, Ph.D., selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam.
5. Ibu Dian Kurniasari, M,Sc., selaku pembimbing akademik selama penulis
menjadi mahasiswa Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.
6. Bapak dan Ibu Dosen semuanya di Fakultas Matematika dan Ilmu Pengetahuan Alam, terima kasih atas bimbingan dan ilmu yang telah diberikan.
7. Seluruh karyawan Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam, khususnya Mas Holis dan Mas Rudi.
8. Papa Mama tersayang, Mbak Eka, Rizka, Fiqri yang selalu memberikan doa
dan dukungan dengan ikhlas dan tak pernah lelah untuk memberikan semangat.
9. Sahabat-sahabat tersayang Kartika Septianingrum, Novi Lusiana Lestari, Citra Marshella, Anggi Desilia, Aziza Yunitasari, Gozalli Achmad Irawan, Hadi
Wijaya, Dede Ali Ma’rifat, Nengah DegusHendro, terima kasih atas motivasi, dukungan dan kebersamaan kalian.
10. Teman-teman tercinta Fitriawan, Andy, Shandy, Liya, Friska, Vita, Sapta,
iii
dan seluruh rekan-rekan yang tidak bisa disebutkan satu per satu, terima kasih
banyak untuk semuanya.
11. Kak Adi,“thanks for the time, reason and lesson of life that you give me, and
be my second parent”.
12. Kak Dedy, Yohanes, Reza dan Dhikadian Aulia, yang telah memberikan semangat dan dukungan kepada penulis.
13. Seluruh pihak yang telah telah membantu yang tidak dapat disebutkan satu persatu, atas peran dan dukungannya dalam penyelesaian skripsi ini.
Akhir kata, Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan,
akan tetapi sedikit harapan semoga skripsi yang sederhana ini dapat berguna dan bermanfaat bagi kita semua. Amin.
Bandar Lampung, 10 Juni 2012 Penulis,
BAB III
METODOLOGI PENELITIAN
3.1 Tempat dan Waktu Penelitian
Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan selama semester ganjil dan semester genap tahun ajaran 2011-2012.
3.2 Algoritma Penelitian
Pada penelitian ini digunakan dua metode kompresi yaitu algoritma
kompresi Huffman danRun Length.
3.2.1 Algoritma Huffman
Tahapan proses kompresi algoritma Huffman :
1) Hitung banyaknya jenis karakter dan jumlah dari masing-masing
karakter yang terdapat dalam sebuah citra.
2) Sorting nilai-nilai grayscale berdasarkan frekuensi
kemunculannya.
25
4) Ulangi langkah (3) sampai tersisa satu pohon biner.
5) Beri label pohon biner tersebut dengan cara sisi kiri pohon diberi label 0 dan sisi kanan pohon diberi label 1.
5) Telusuri pohon biner dari akar ke daun. Barisan label-label sisi dari akar ke daun adalah kode Huffman. (Sutoyo, 2009).
Dari tahapan proses algoritma kompresi di atas, maka algoritma
Huffman dapat digambarkan pada Gambar 3.1 dalam bentuk
26
Gambar 3.1 Tahapan Proses Kompresi Algoritma Huffman Input file
Bacafile
Penghitungan frekuensi kemunculan berdasarkan jenis karakter dan jumlahnya
Sortingnilai-nilaigrayscaleberdasarkan frekuensi kemunculannya
Gabung dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan urutkan
Beri label pohon biner 0 1
Telusuri pohon biner dari akar ke daun
Output file Sisa 1 pohon
biner
Ya Tidak
Start
27
Contoh kasus penyelesaian kompresi dengan menggunakan algoritma
Huffman, objek citra 10 x 10pixel(n) dengan kedalaman warna 3bit:
Tabel 3.1 Tabel Daftar Frekuensi Kemunculan Karakter dan Probabilitasnya
Mengurutkan nilai-nilai berdasarkan frekuensi kemunculannya :
Menggabungkan dua pohon yang memiliki nilai terkecil :
Ulangi hingga tersisa satu pohon biner.
28
Menggabungkan dua pohon yang memiliki nilai terkecil :
Mengurutkan nilai-nilai berdasarkan kemunculan frekuensi :
Menggabungkan dua pohon yang memiliki nilai terkecil :
Mengurutkan nilai-nilai berdasarkan kemunculan frekuensi :
29
Menggabungkan dua pohon yang memiliki nilai terkecil :
Mengurutkan nilai-nilai berdasarkan kemunculan frekuensi :
Menggabungkan dua pohon yang memiliki nilai terkecil :
1,2,3,5 = 0,25 0 = 0,3
1,2,3,5,0 = 0,55
4 = 0,45
1,2,3,5,0, = 0,55 4 = 0,45
1,2,3,5 = 0,25 0 = 0,3
1,2 = 0,08 3 = 0,07
1 = 0,03 2 = 0,05 1,2,3 = 0,15
5 = 0,1
1,2,3,5,0, = 0,55 4 = 0,45
30
Tersisa satu pohon biner, memberi label pohon biner tersebut dengan cara
sisi kiri pohon diberi label 0 dan sisi kanan pohon diberi label 1 :
Telusuri pohon biner dari akar ke daun. Barisan label-label sisi dari akar ke daun adalah kode Huffman :
Tabel 3.2 Tabel Kode Huffman
Ukuran citra sebelum kompresi (kedalaman 3bit) adalah : = 10 x 10 x 3bit
= 300bit
Karakter Banyak Frekuensi Kemunculan (nk)
31
Ukuran citra setelah kompresi menggunakan algoritma Huffman adalah : = (30 x 2bit) + (3 x 5bit) + (5 x 5bit) + (7 x 3bit) + (45 x 1bit) +
(10 x 3bit)
= 60 + 15 + 25 + 21 + 45 + 30 =196bit
3.2.2 AlgoritmaRun Length
Tahapan proses kompresi algoritmaRun Length:
1) Nyatakan seluruh baris citra menjadi sebuah baris run. 2) Telusuri setiappixelcitra.
3) Hitungrun lengthuntuk setiap derajat keabuan yang berurutan. 4) Kompres setiap deret pixel dengan intensitas yang sama menjadi
sepasang nilai yang masing-masing mewakili banyaknya nilai
pixelyang sama dan kemudian diikuti dengan nilaipixel-nya.
Dari tahapan proses algoritma kompresi, maka algoritma Run Length
dapat digambarkan dalam bentuk flowchart, ditunjukkan pada
32
Gambar 3.2 Tahapan Proses Kompresi AlgoritmaRun Length
Contoh kasus penyelesaian kompresi dengan menggunakan algoritma Run Length, objek citra 10 x 10 pixel(n) dengan kedalaman warna 3 bit, berikut
ini adalah contoh citranya :
0 0 0 0 0 2 2 4 4 4
Telusuri setiappixelcitra
Hitungrun lengthuntuk setiap derajat keabuan yang berurutan
Kompres setiap deretpixeldengan intensitas yang sama
33
Kompresi citra denganRun Length:
Hasil pengodean :
0 5 2 2 4 3 5 2 4 4 3 3 0 1 4 2 0 2 4 2 0 2 4 1 1 1 4 7 5 1 3 1 0 1 3 2 1 2 4 4 0 2 5 5 0 1 4 1 0 3 4 3 5 2 0 2 4 3 4 3 0 1 4 3 3 1 4 2 0 3 2 2 4 3 0 2 4 4 0 2 2 1 0 3
Semuanya = 84pixel
Ukuran citra sebelum dikompres : 10 x 10 x 3 = 300bit
Ukuran citra setelah dikompres : 84 x 3 = 252bit
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah dilakukan penelitian maka dapat ditarik kesimpulan bahwa dalam kompresi citra berformat JPEG, algoritma Huffman lebih banyak mereduksi data citra rata-rata sampai 94,5%, sehingga pada citra yang dihasilkan
banyak informasi yang hilang dan jauh dari gambar aslinya. AlgoritmaRun Length mereduksi data citra lebih sedikit, rata-rata sampai 84.5%, tidak banyak informasi yang hilang, sehingga citra yang dihasilkan lebih mirip
dengan gambar aslinya. Jadi, bagi kompresi yang bertujuan untuk penyimpanan dan transmisi data citra, algoritma Huffman lebih baik untuk
digunakan.
5.2 Saran
Berdasarkan penelitian yang telah dilakukan maka didapat saran-saran sebagai berikut :
1. Aplikasi dapat dikembangkan dengan inputan gambar citra RGB.