ANALISIS DAN PERBANDINGAN TEKNIK KOMPRESI MENGGUNAKAN ALGORITMA SHANNON-FANO DAN RUN LENGTH ENCODING PADA CITRA BERFORMAT BMP DAN PNG SKRIPSI ROHANI NASUTION 081401059 PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2012
ANALISIS DAN PERBANDINGAN TEKNIK KOMPRESI MENGGUNAKAN ALGORITMA SHANNON-FANO DAN RUN LENGTH ENCODING PADA CITRA BERFORMAT BMP DAN PNG SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer ROHANI NASUTION 081401059 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2012
PERSETUJUAN Judul : ANALISIS DAN PERBANDINGAN TEKNIK KOMPRESI DENGAN MENGGUNAKAN ALGORITMA SHANNON-FANO DAN RUN LENGTH ENCODING PADA CITRA BERFOMAT BMP DAN PNG Kategori : SKRIPSI Nama : ROHANI NASUTION Nomor Induk Mahasiswa : 081401059 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, Agustus 2012 Pembimbing 2 Pembimbing 1 Ade Candra, ST, M.Kom Marihat Situmorang, M.Kom NIP 197909042009121002 NIP 196312141989031001 Diketahui/Disetujui oleh Departemen Ilmu Komputer FMIPA USU Ketua, Dr. Poltak Sihombing, M.Kom NIP 196203171991021001
PERNYATAAN ANALISIS DAN PERBANDINGAN TEKNIK KOMPRESI DENGAN MENGGUNAKAN ALGORITMA SHANNON-FANO DAN RUN LENGTH ENCODING PADA CITRA BERFORMAT BMP DAN PNG SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, Agustus 2012 ROHANI NASUTION 081401059
PENGHARGAAN Segala dan puji syukur penulis panjatkan hanya bagi Allah SWT, Pemelihara seluruh alam raya, yang atas limpahan rahmat, taufik dan hidayah-nya, penulis mampu menyelesaikan Tugas Akhir ini, serta shalawat dan beriring salam penulis ucapakan kepada Nabi Besar Muhammad SAW. Tugas akhir ini dikerjakan demi memenuhi salah satu syarat guna memperoleh gelar Sarjana Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. Penulis menyadari bahwa tugas akhir ini bukanlah tujuan akhir dari belajar karena belajar adalah sesuatu yang tidak terbatas. Terselesaikannya skripsi ini tentunya tak lepas dari dorongan dan uluran tangan berbagai pihak. Oleh karena itu, dengan segala kerendahan hati penulis mengungkapkan rasa terima kasih dan penghargaan kepada : 1. Bapak Drs. Marihat Situmorang M.Kom, selaku pembimbing I yang telah memberikan masukan, bimbingan, serta saran ayng membangun untuk penulis. 2. Bapak Ade Candra ST,M,Kom, selaku pembimbing II yang telah memberikan masukan, bimbingan, saran dan motivasi kepada penulis, serta meluangkan banyak waktu dan sabar membantu sehingga penulis dapat menyelesaikan skripsi ini dengan baik 3. Bapak Dr. Poltak Sihombing, M, Kom selaku Ketua Departemen Ilmu Komputer dan sebagai dosen penguji I penulis yang telah memberikan kritik dan saran yang berguna bagi penulis 4. Ibu Dian Wirdasari S, Si, M.Kom sebagai penguji II yang telah memberikan kritik dan saran yang membangun bagi penulis. 5. Ibu Maya Silvi Lydia B, Sc., M.Sc selaku Sekretaris Ilmu Komputer dan Teknologi Informasi. 6. Ibu Dian Rahmawati, S.Si, M.Kom selaku Ketua T.A Ilmu Komputer dan Teknologi Informasi. 7. Dekan dan Pembantu Dekan Ilmu Komputer dan Teknologi Informasi. 8. Orang tua tercinta, Ayahanda Ahmad.Z. Nasution dan Ibunda Basiah Selian, atas semua doa, dukungan, dan motivasi yang tak ternilai harganya.
9. Abang tersayang Adi suharjono Nasution, Amarullah Nasution, Dedi Irawan dan adik tersayang Alas syah Putra Doli Nasution,beserta seluruh keluarga besar yang selalu memberikan dukungan, dan spesial untuk Alm.nenek tersayang Baniah Selian yang mempunyai harapan besar kepada penulis. 10. Keluarga besar Ilmu Komputer, khususnya Herna J.Pakpahan, Alvi Syukriati Hasibuan, Rima Lestari dan semua teman, kerabat, dan sahabat angkatan 2008 yang tidak dapat disebutkan satu persatu, terima kasih atas ide, saran, dan kerja samanya selama ini. Semoga Allah SWT membalas semua kebaikan yang telah kalian berikan. Penulis, ( Rohani Nasution)
ABSTRAK File citra digital memiliki ukuran (size) yang lebih besar dibandingkan dengan file teks. Untuk mengurangi ukuran file citra tersebut dilakukan dengan kompresi yang bertujuan meminimalkan kebutuhan tempat pada media penyimpanan serta untuk mempercepat pengiriman melalui media komunikasi. Pada penelitian ini file citra dikompresi dengan teknik lossless menghasilkan file kompresi dengan ukuran yang lebih kecil dari file aslinya. Algoritma yang digunakan pada teknik lossless ini adalah Shannon-Fano dan Run Length Encoding.Dari hasil pengujian file citra yang telah dikompresi dengan Algoritma Shannon-Fano dan Run Length Encoding pada citra format BMP memiliki rasio kompresi: 29.32 % dan waktu: 18 detik.algoritma Shannon-Fano pada citra format PNG memiliki rasio kompresi -7.90 % dan waktu: 12 detik, dan Run Length Encoding pada citra format PNG rasio kompresi -1.00% dan waktu rata-rata: 12 detik. Kata Kunci : Kompresi, Dekompresi, Shannon-Fano, Run Lenght Encoding, Citra BMP dan PNG
ANALYSIS AND COMPARISON OF COMPRESSION TECHNIQUE USING SHANNON-FANO ALGORITHM AND RUN LENGTH ENCODING IN IMAGE FORMATS SUCH AS BMP AND PNG ABSTRACT Digital image Files have a size (size) are larger compared to a text file. To reduce the size of image files is done with the aim to minimize the need for compression places on storage media as well as to expedite delivery through the communication media. In this study an image file compressed with lossless compression techniques produce file sizes smaller than the original file. The algorithms used in lossless techniques this is Shannon-Fano and Run Length Encoding of image file test results that have been compressed with Shannon-Fano Algorithm and Run Length Encoding in image format BMP has a compression ratio: 29.32% and time: 18 seconds.shannon-fano algorithm in image format PNG has a compression ratio-7.90% and time: 12 seconds, and Run Length Encoding in image format PNG compression ratio-1.00% and the average time: 12 seconds. Keywords: compression, Decompression, Shannon-Fano, Run Lenght Encoding, Image BMP and PNG
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv v vi vii xi xii Bab 1 Pendahuluan 1 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 Metode Penelitian 4 1.7 Sistematika Penulisan 5 Bab 2 Tinjauan Pustaka 6 2.1 Citra Digital 7 2.1.1 Representasi Warna Digital 2.1.2 Format Citra Bitmap 8 2.1.3 Citra Format PNG (Portable Network Graphics) 9 2.2 Kompresi Data 9 2.3 Dekompresi Data 11 2.4 Algoritma Shannon-Fano 12 2.5 Run Length Encoding 15 2.6 Pembacaan File Citra 17 2.7 Nilai Grayscale Citra 19 2.8 UML ( Unified Modeling Language) 19 2.8.1 Use Case Diagram 20 2.8.1.1 Actor 20 2.8.1.2 Use-Case 20 2.8.1.3 Interaksi Actor dengan Use-Case 21 2.8.2 Activity Diagram 21 2.8.3 Class Diagram 22 2.8.4 Sequence Diagram 23 2.8.5 Package Diagram 23 2.8.6 Deployment Diagram 24
2.8.7 Analisi Persyaratan dengan UML 25 2.8.8 Desain dengan UML 26 2.9 Flowchart 26 Bab 3 Analisis dan Perancangan Sistem 28 3.1 Analisis 28 3.1.1 Analisis Masalah(Problem Analysis) 28 3.1.1.1 Diagram Konteks 29 3.1.2 Analisis Persyaratan (Requiment Analysis) 29 3.1.2.1 Fungsional sistem 29 3.1.2.2 Non-Fungsional Sistem 30 3.1.3 Pemodelan Sistem dengan Use Case 30 3.1.3.1 Use Case Diagram 30 3.1.3.2 Activity Diagram 35 3.1.3.3 Sequence Diagram 37 3.1.4 Flowchart 37 3.1.4.1 Flowchart Kompresi Algoritma Shannon- Fano 37 3.1.4.2 Flowchart Dekompresi Algoritma Shanno-Fano 39 3.1.4.3 Flowchart Kompresi Algoritma RLE 40 3.1.4.4 Flowchart Dekompresi Algoritma RLE 41 3.2 Rancangan Perangkat Lunak 43 3.2.3 Perancangan Menu Utama 43 3.2.4 Perancangan Kompresi dan Dekompresi 43 3.2.5 Rancangan Help 45 3.2.6 Rancangan About 45 3.2.7 Rancangan Hasil Pengujian Sistem 46 Bab 4 Implementasi dan Pengujian 48 4.1 Implementasi 48 4.1.1 Menghitung Nilai Grayscale 49 4.1.2 Kompresi Citra dengan Algoritma Shannon-Fano 51 4.1.3 Pembentukan Pohon Shannon-Fano 55 4.1.4 Dekompresi Algoritma Shannon-Fano 59 4.1.5 Kompresi Algoritma Run Length Encoding (RLE) 63 4.1.6 Dekompresi Algoritma Run Length Encoding (RLE 65 4.1.7 Tampilan Source Code Kompresi 66 4.1.8 Tampilan Source Code Dekompresi 67 4.2 Pengujian Program 67 4.2.1 Pengujian BlackBox 68 4.2.2 Pengujian Kompresi Citra Format BMP Pada
Algoritma Shannon Fano 68 4.2.3 Pengujian Dekompresi File Citra Format BMP Pada Algoritma Shannon Fano 69 4.2.4 Pengujian Kompresi Citra Format BMP Pada Algoritma RLE 70 4.2.5 Pengujian Dekompresi File Citra Format BMP dengan Algoritma RLE 71 4.2.6 Pengujian Kompresi File Citra Format Png Pada Algoritma Shannon Fano 72 4.2.7 Pengujian Dekompresi File Citra Format PNG pada algoritma Shannon-Fano 73 4.2.8 Pengujian Kompresi File Citra Format PNG pada Algoritma RLE 74 4.2.9 pengujian Dekompresi File Citra Format PNG pada Algoritma RLE 75 Bab 5 Kesimpulan dan Saran 77 5.1 Kesimpulan 77 5.2 Saran 78 Daftar Pustaka 79 Lampiran Hasil Pengujian Sistem A-1 Lampiran A Listing Program B-1
DAFTAR TABEL Tabel Keterangan Halaman 2.1 Hubungan antara bit per piksel dengan jumlah warna maksimum 9 pada bitmap 2.2 Frekuensi Kemunculan 14 2.3 Kode Shannon-Fano 15 2.4 Metode Kompresi RLE 16 2.5 Metode Dekompresi RLE 16 2.6 Simbol-simbol Flowchart Program 26 3.1 Cause-and-Effect Analisis 28 3.2 Dokumentasi Naratif Use-Case Kompresi 32 3.3 Dokumentasi Naratif Use-Case Lanjutan 33 3.4 Dokumentasi Naratif Use-Case Dekompresi 34 4.1 Tabel Frekuensi 51 4.2 Nilai Frekuensi terbesar 52 4.3 Label Bit 52 4.4 Kelompok 3 52 4.5 Nilai Frekuensi terbesar 53 4.6 Nilai Frekuensi terbesar 53 4.7 Nilai Frekuensi terbesar 53 4.8 Nilai Frekuensi terbesar 54 4.9 Nilai Frekuensi terbesar 54 4.10 Nilai Frekuensi terbesar 54 4.11 Nilai Frekuensi terbesar 55 4.12 Hasil Kompresi Shannon-Fano 55 4.13 Hasil Kompresi Shannon-Fano 57 4.14 Bit Hasil Kompresi 58 4.15 Bit Hasil Kompresi 59 4.16. Hasil 61 4.17 Bit Hasil Kompresi 62
DAFTAR GAMBAR Gambar Keterangan halaman 2.1 Kordinat Citra Digital 6 2.2 Alur kompresi Lossless 12 2.3 Pohon Biner Shannon -Fano 13 2.4 Pohon Shannon-Fano 14 2.5 Contoh nilai Piksel Citra Warna 17 2.6 Citra Warna 300 x 200 Piksel 18 2.7 Citra Grayscale 18 2.8 Matriks Nilai Grayscale 19 2.9 Actor 20 2.10 Use-Case 20 2.11 Use-Case Diagram 21 2.12 Activity Diagram 21 2.13 Class Diagram 22 2.14 Sequence Diagram 23 2.15 Packege Diagram 24 2.16 Deployment Diagram 24 3.1 Diagram Konteks 29 3.2 Use Case Diagram 32 3.3 Activity Diagram 35 3.4 Activity Diagram 36 3.5 Sequence Diagram Dekompresi 37 3.6 Flowchart Kompresi Algoritma Shannon Fano 38 3.7 Flowchart Dekompresi Algoritma Shannon Fano 39 3.8 Flowchart Kompresi Algoritma RLE 40 3.9 Flowchart Kompresi Algoritma RLE Lanjutan 41 3.10 Flowchart Dekompresi Algoritma RLE 41 3.11 Flowchart Dekompresi Algoritma RLE Lanjutan 42 3.12 Rancangan Menu Utama 43 3.13 Rancangan Kompresi dan Dekompresi 44 3.14 Rancangan Help 45 3.15 Rancangan About 45 3.16 Rancangan Hasil Pengujian Sistem 46 4.1 Citra Warna 200 x133 piksel 47 4.2 Matriks Nilai RGB Citra Warna 48 4.3 Matriks Nilai Grayscale 50 4.4 Pohon Shannon-Fano Nilai piksel Citra 51 4.5 Matrik Nilai Grayscale Citra Asli 57 4.6 Matrik Citra Asli Kompresi 58 4.7 Pohon Shannon-Fano 59 4.8 Matriks Citra Hasil Dekompresi 62 4.9 Matriks Citra Asli 62 4.10 Proses Kompresi Citra Run Lenght Encoding 63 4.11 Matriks Citra Hasil Kompresi 63 4.12 Matriks Citra Kompresi 64
4.13 Matriks Citra Hasil Sementara 64 4.14 Matriks Citra Hasil Dekompresi 65 4.15 Tampilan Source Code Kompresi 66 4.16 Tampilan Source Code Dekompresi 67 4.17 Tampilan Pengujian Kompresi Citra Format BMP Pada Algoritma Shannon-Fano 68 4.20 Tampilan Pengujian Kompresi Citra Format BMP Pada Algoritma Shannon-Fano 4.21 Tampilan Pengujian Kompresi File Citra Format BMP Pada Algoritma RLE 69 70 4.22 Tampilan Pengujian Dekompresi File Citra Format BMP Pada Algoritma RLE 71 4.23 Tampilan Pengujian Kompresi File Citra Format PNG pada Algoritma Shannon-Fano 4.24 Tampilan Pengujian Dekompresi File Citra Format PNG Shannon-Fano 4.23 Tampilan Pengujian Kompresi File Citra Format PNG pada Algoritma RLE 4.24 Tampilan Pengujian Dekompresi File Citra Format PNG pada Algoritma RLE 72 73 74 75